:root{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#e7eee4;background:#111d1e;font-synthesis:none;--mint:#b7ddbf;--dim:#80978e;--line:rgba(188,218,191,.2);--ink:#e7eee4;--bg:#111d1e;--panel:#132323f2;--pale:#f3e7c2;--gold:#d9c8a0;--hazard:#f3a51c;--guide:#55e8b0;--hp-a:#805648;--hp-b:#c5ac89;--st-a:#68907a;--st-b:#b2cf9b;--trail:#f1dfb8;--meter-unit:150px;--hud-k:1;--shadow-text:0 1px 2px #000c,0 0 8px #0009;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}*{box-sizing:border-box}html,body,*{touch-action:manipulation}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;overflow:hidden;background:#111d1e;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c6e9bd;outline-offset:5px}button:disabled{opacity:.28;cursor:default}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#viewport,canvas#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.screen-grain,.screen-vignette{position:fixed;inset:0;pointer-events:none;z-index:2}.screen-vignette{background:radial-gradient(ellipse at 50% 45%,transparent 35%,#050e134d 100%)}.screen-grain{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.65' filter='url(%23n)'/%3E%3C/svg%3E")}.title-screen{position:fixed;inset:0;height:100vh;height:100dvh;z-index:10;overflow:hidden;background:#0a1314;container:title / size;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,544px) minmax(0,1fr) 100px;gap:clamp(8px,2vh,24px);padding:max(clamp(12px,3vh,34px),var(--sat) + 12px) max(4.5vw,var(--sar) + 12px) max(clamp(12px,3vh,28px),var(--sab) + 12px) max(4.5vw,var(--sal) + 12px)}.title-art{position:absolute;inset:-3%;background:url(/assets/images/title-1280.webp) 62% 42%/cover;animation:drift 38s ease-in-out infinite alternate;filter:saturate(.82) contrast(1.04)}.title-haze{position:absolute;inset:-10%;pointer-events:none;opacity:.55;mix-blend-mode:screen;background:radial-gradient(ellipse 40% 18% at 30% 72%,#9fb7ae22,transparent 70%),radial-gradient(ellipse 50% 20% at 75% 80%,#b9cfc51c,transparent 70%),radial-gradient(ellipse 30% 14% at 60% 60%,#8aa39a18,transparent 70%);animation:haze 26s ease-in-out infinite alternate}.title-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050c0ef2,#060f11cc 30%,#08151833 62%,#0815180d 80%),linear-gradient(0deg,#060f11d9,transparent 38%,#0714175e)}.title-header{position:relative;grid-area:1/1/2/-1;min-width:0;display:flex;align-items:center;justify-content:space-between}.brand-mark{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:3px;font-weight:600;line-height:1.6}.brand-mark svg{width:33px;height:37px;color:#b5c8b3}.brand-mark small{color:#8a9e96;font-size:9px;letter-spacing:1.6px;font-weight:400}.header-coordinate{font:10px monospace;letter-spacing:1.4px;color:#a0b5aa;display:flex;align-items:center;gap:12px}.header-coordinate i{width:4px;height:4px;background:#b4d4a7;border-radius:50%;box-shadow:0 0 9px #b4d4a7}.title-content{position:relative;grid-area:2/1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;justify-content:safe center;padding-left:clamp(0px,4.5cqw,84px);padding-block:1px}.eyebrow{display:flex;align-items:center;gap:13px;font:10px monospace;letter-spacing:3px;color:#adbea7;margin:0 0 22px}.eyebrow span{display:block;width:24px;height:1px;background:#b4c8ad}h1{font:500 clamp(38px,min(8.8cqw,11.5cqh),112px)/.86 Georgia,"Times New Roman",serif;letter-spacing:-4px;margin:0;color:#eef0e4;text-shadow:0 3px 40px #0009}h1 span{display:block;font:400 clamp(16px,min(3.2cqw,4.5cqh),40px)/1 Georgia,"Times New Roman",serif;letter-spacing:.62em;margin:clamp(8px,2cqh,20px) 0 0 4px;color:var(--gold);text-shadow:0 0 24px #d9c8a033,0 2px 12px #000a}.title-rule{display:flex;align-items:center;gap:15px;border-top:1px solid #a4ae8a55;padding-top:clamp(8px,1.7cqh,18px);margin-top:clamp(10px,2.6cqh,28px);width:100%;font-size:12px;letter-spacing:3px;color:#d4dccb}.title-rule b{font:400 14px Georgia,serif;color:var(--gold)}.title-rule em{font:10px monospace;letter-spacing:2px;font-style:normal;color:#8ea397;margin-left:auto}.title-story{font-size:13px;font-weight:300;color:#aebcaf;line-height:2.1;letter-spacing:2px;margin:clamp(8px,2cqh,24px) 0 clamp(12px,2.6cqh,30px);text-shadow:0 1px 8px #000}.title-nav{max-width:340px;display:flex;flex-direction:column;gap:9px}.title-nav>button{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:clamp(44px,4.7cqh,50px);padding:0 clamp(8px,1.6cqw,20px);margin:0;text-align:left;transition:background .2s,transform .2s,border-color .2s}.btn-label{display:flex;flex-direction:column;gap:3px;letter-spacing:2px}.save-summary{font:10px/1.3 sans-serif;letter-spacing:.5px;color:inherit;opacity:.72}.save-summary:empty{display:none}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;background:#c6d7b8;color:#142222;border:1px solid #d8e7c7;min-height:53px;padding:0 22px;font-size:13px;letter-spacing:2px;transition:background .2s,transform .2s}.primary:hover{background:#e2ead4;transform:translateY(-1px)}.button-end{font:10px monospace;letter-spacing:1px;display:flex;align-items:center;gap:18px;white-space:nowrap;opacity:.85}.button-end b,.primary>b{font:22px serif;font-weight:400}.secondary{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #8da38666;min-height:46px;padding:0 23px;font-size:12px;letter-spacing:1.5px;background:#0d1b1999;color:#dfe7d8}.secondary .button-end{color:#8fa597}.secondary:hover:not(:disabled){background:#59756344;border-color:#a9bfa1aa}.title-links{display:flex;gap:22px;margin-top:14px}.title-links button{min-height:44px;font-size:11px;letter-spacing:1px;color:#9fb2a4;padding:6px 0;white-space:nowrap}.title-links button:hover{color:#edf3e6}.title-links span{margin-left:6px;color:#5f7a6e}.title-side{position:relative;grid-area:2/3;align-self:center;width:100px;text-align:center;color:#b6c2a8}.title-side>span{font:9px monospace;letter-spacing:1.4px}.title-side strong{display:block;font:400 49px Georgia,serif;margin:10px 0 5px}.title-side small{font:9px/2 monospace;letter-spacing:1.4px;color:#809084}.signal-wave{height:32px;display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:13px}.signal-wave i{width:1px;height:10px;background:#a1b797;animation:signal 1.9s ease-in-out infinite}.signal-wave i:nth-child(3n){height:23px;animation-delay:.4s}.signal-wave i:nth-child(2n){height:5px;animation-delay:.8s}.title-footer{position:relative;grid-area:3/1/4/-1;display:flex;justify-content:space-between;border-top:1px solid #a2b19d2b;padding-top:16px;font-size:10px;letter-spacing:1.2px;color:#8a9e90;pointer-events:none}.title-footer b{font-weight:400;color:#5e776d;margin:0 13px}.title-footer i{font:10px monospace;color:var(--gold);margin-left:30px;letter-spacing:2px;font-style:normal}@keyframes drift{to{transform:scale(1.04) translate(-.6%)}}@keyframes haze{to{transform:translate3d(4%,-2%,0) scale(1.08)}}@keyframes signal{50%{transform:scaleY(1.8);opacity:.5}}.hud{position:fixed;inset:0;z-index:3;pointer-events:none;text-shadow:var(--shadow-text);--hud-scale:1}.hud button{pointer-events:auto}#debug-launch-badge,#launch-grace-chip{display:inline;margin-left:8px;background:#231c08e8;color:#ffe08a;border:1px solid #d5b456;border-radius:3px;padding:0 4px;font:600 9px/1 sans-serif;letter-spacing:.6px;white-space:nowrap;pointer-events:none}#launch-grace-chip{background:#08231fe8;color:#8ae0d5;border-color:#56b4a5;letter-spacing:0}.debug-launch-frame{position:fixed;inset:0;pointer-events:none;z-index:80;box-shadow:inset 0 0 0 2px #d5b456}.status{position:absolute;top:calc(24px + var(--sat));left:calc(30px + var(--sal));min-width:230px;transform:scale(calc(var(--hud-scale) * var(--hud-k)));transform-origin:0 0}.unit-id{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:13px Georgia,serif;letter-spacing:2px}.unit-id small{display:block;font:9px/2 monospace;color:#a9bdb0;letter-spacing:1.3px}.unit-id small em{font-style:normal;color:var(--pale);margin-left:8px;letter-spacing:1px}.unit-icon svg{width:30px;height:34px;color:#c6dbb7}.meter-line{display:flex;align-items:center;gap:8px;margin:6px 0;font:10px monospace;--len:1}.meter-line>span{width:18px;color:#b4c6b2}.meter-line>b{font:11px monospace;min-width:28px;text-align:left;color:#e3ecdc}.meter{position:relative;height:7px;width:calc(var(--meter-unit) * var(--len));max-width:44vw;background:#0b1614d9;border:1px solid #bfd0aa38;box-shadow:inset 0 1px 3px #000a,0 1px 4px #0008;overflow:hidden;transition:width .6s cubic-bezier(.2,.8,.2,1)}.meter i{position:absolute;inset:0;display:block;transform-origin:0 50%;will-change:transform}.meter .meter-trail{background:linear-gradient(90deg,#d9b98a,var(--trail));opacity:.85}.meter .meter-fill{background:linear-gradient(90deg,var(--hp-a),var(--hp-b));box-shadow:0 0 8px #c5ac8933}.meter .meter-fill:after{content:"";position:absolute;inset:0 0 50%;background:linear-gradient(#ffffff26,transparent)}.stamina .meter{height:5px}.stamina .meter .meter-fill{background:linear-gradient(90deg,var(--st-a),var(--st-b));box-shadow:0 0 8px #b2cf9b33}.stamina .meter .meter-trail{background:#e7f2cf;opacity:.55}.stamina.dash .meter{border-color:#ffd98a88;box-shadow:inset 0 1px 3px #000a,0 0 8px #ffc86a55}.stamina.dash .meter .meter-fill{background:linear-gradient(90deg,#d8a24a,#ffe2a0);animation:st-drain .5s ease-in-out infinite alternate}.stamina.dash>b{color:#ffe2a0}.stamina .meter .meter-mark{display:none;inset:-1px auto -1px 20%;width:2px;background:#ffe2a0;box-shadow:0 0 4px #ffd98a;transform:none}.stamina.recover .meter .meter-mark{display:block}.stamina.recover .meter .meter-fill{background:linear-gradient(90deg,#8a5a4a,#c0806a)}@keyframes st-drain{0%{filter:brightness(1)}to{filter:brightness(1.35)}}@media(prefers-reduced-motion:reduce){.stamina.dash .meter .meter-fill{animation:none}}.en .meter .meter-fill{background:linear-gradient(90deg,#3f7f86,#8fd6e0)}.meter-line.low .meter{border-color:#e0806066;animation:hp-low 1.1s ease-in-out infinite}.meter-line.low>b{color:#f0a386}.meter-line.empty>b{color:#9aa79b}@keyframes hp-low{50%{box-shadow:0 0 0 1px #e0806055,0 0 16px #e0603a55}}.status-gauges{display:flex;gap:10px;margin:8px 0 2px 26px}.status-gauge{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:1px;color:#d2ddca}.status-gauge>div{position:relative;width:54px;height:3px;background:#0b1614c7;border:1px solid #ffffff1c;overflow:hidden}.status-gauge i{position:absolute;inset:0;transform-origin:0 50%}.status-gauge.contam i{background:linear-gradient(90deg,#6f7e2f,#c9d35a)}.status-gauge.frost i{background:linear-gradient(90deg,#5b8fb0,#cfeaff)}.status-gauge b{font:10px monospace;color:#bccbb9;min-width:20px}.status-gauge.active>span{color:var(--hazard)}.status-gauge.active>div{border-color:#f3a51c66;animation:hp-low 1.4s ease-in-out infinite}.resource-count{position:relative;color:#dfe8c6;font:20px Georgia,serif;margin:10px 0}.resource-count span{margin-left:7px;font-variant-numeric:tabular-nums}.resource-count small{font:11px sans-serif;color:#a4b8a8;letter-spacing:1px;margin-left:12px}.fragment-gain{position:absolute;left:100%;top:2px;margin-left:12px;font:italic 14px Georgia,serif;color:var(--pale);opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s;white-space:nowrap}.fragment-gain.shown{opacity:1;transform:none}.location{position:absolute;top:calc(26px + var(--sat));right:calc(28px + var(--sar));text-align:right;transform:scale(calc(var(--hud-scale) * var(--hud-k)));transform-origin:100% 0;padding:6px 12px 4px 48px;background:linear-gradient(90deg,transparent,#07131499 38%,#071314b3);transition:opacity .8s}.location>p{font-size:11px;letter-spacing:2px;color:#b8cabb;margin:0}.location>p span#room-id{font:11px monospace;margin-left:10px;color:#e0dfb4}.location h2{font-size:18px;font-weight:400;letter-spacing:4px;margin:6px 0 9px;color:#f0f3e8}.objective{font-size:13px;letter-spacing:1px;color:#e3dcc6;max-width:360px;margin-left:auto;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.objective:before{content:"◆";color:var(--hazard);margin-right:8px;font-size:9px;vertical-align:1px}.location.quiet{opacity:.62}.location.quiet .objective{opacity:.8}.map-button{font-size:11px;color:#b8c9b1;padding:8px 0 4px}.map-button span,.map-button kbd{border:1px solid #9eaf9877;font:10px monospace;padding:2px 4px;margin-right:7px;background:none}.compass{position:absolute;top:calc(8px + var(--sat));left:50%;width:min(480px,40vw);transform:translate(-50%) scale(var(--hud-k));transform-origin:50% 0;height:58px}.compass-window{position:relative;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);border-bottom:1px solid #b6c9ae44;background:linear-gradient(#0713148c,#07131440)}.compass-strip{position:absolute;left:0;top:0;height:100%;width:400%;will-change:transform}.compass-tick{position:absolute;bottom:0;width:1px;height:5px;background:#b6c9ae66}.compass-label{position:absolute;bottom:5px;transform:translate(-50%);font-size:10px;letter-spacing:1px;color:#b3c4b8;white-space:nowrap}.compass-label.major{font-size:13px;color:#eef3e6;bottom:4px}.compass-caret{position:absolute;left:50%;bottom:-1px;width:7px;height:7px;border-left:1px solid #f3e7c2;border-top:1px solid #f3e7c2;transform:translate(-50%,50%) rotate(45deg);background:#0b1614}.compass-marker{position:absolute;left:0;top:0;height:100%;will-change:transform}.compass-marker i{position:absolute;left:0;top:16px;width:8px;height:8px;transform:translate(-50%) rotate(45deg);background:#84dfb7;box-shadow:0 0 8px #55e8b088}.compass-marker b{position:absolute;left:0;top:27px;transform:translate(-50%);font:600 11px monospace;color:#dcebdf;white-space:nowrap;text-shadow:0 0 4px #000,0 1px 2px #000}.compass-marker[data-kind=objective] i{background:var(--hazard);box-shadow:0 0 10px #f3a51caa;width:10px;height:10px}.compass-marker[data-kind=objective] b{color:#f8ddaa}.compass-marker[data-kind=drop] i{background:transparent;border:1px solid #f08a5d;box-shadow:0 0 8px #f08a5d88}.compass-marker[data-kind=drop] b{color:#f3c3a8}.compass.drop-flash .compass-marker[data-kind=drop] i{animation:drop-flash .5s ease-in-out infinite alternate}@keyframes drop-flash{to{box-shadow:0 0 18px 4px #f08a5dcc;background:#f08a5d88}}.compass-marker[data-kind=terminal] i{border-radius:50%;transform:translate(-50%);width:6px;height:6px;top:17px}.compass-marker[data-kind=terminal] b{color:#a9d2bd;font-size:9px}.compass-marker[data-kind=npc] i{background:#e6b979;width:6px;height:6px;top:17px;box-shadow:none}.compass-marker[data-kind=boss] i{background:transparent;border:1px solid var(--hazard);border-radius:50%;transform:translate(-50%);width:9px;height:9px}.compass-marker[data-kind=lockdown] i{background:repeating-linear-gradient(45deg,var(--hazard) 0 3px,#1a1a14 3px 6px);width:9px;height:9px;box-shadow:0 0 8px #f3a51c66}.compass-marker[data-kind=lockdown] b{color:#f3d9a4;font-size:9px}.compass-marker[data-kind=named] i{background:#d8c24a;width:8px;height:8px;transform:translate(-50%) rotate(45deg);box-shadow:0 0 10px #d8c24a99}.compass-marker[data-kind=named] b{color:#efe2a8;font-size:9px}.compass-marker[data-kind=region] i{--accent:#b7ddbf;background:transparent;border:1px solid var(--accent);box-shadow:0 0 10px var(--accent);width:9px;height:9px}.compass-marker[data-kind=region] b{top:1px;color:var(--accent,#dfe8d6);font:600 11px Hiragino Kaku Gothic ProN,sans-serif;letter-spacing:1px}.compass-marker.edge i{opacity:.7}.equipment{position:absolute;bottom:calc(62px + var(--sab));left:calc(30px + var(--sal));display:flex;align-items:center;gap:13px;transform:scale(calc(var(--hud-scale) * var(--hud-k)));transform-origin:0 100%}.equip-icon{width:53px;height:59px;border:1px solid #b6c5a24d;background:#0c1d1a88;display:grid;place-items:center;font-size:28px;color:#cad6a5;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.equipment>div:nth-child(2){display:grid;grid-template-columns:auto auto;gap:7px 12px}.equipment small{grid-column:1/3;font-size:11px;color:#c3d3bb;letter-spacing:1px}.equipment strong{font:25px Georgia,serif}.equipment span{font-size:11px;align-self:center;color:#a8bda9}.weapon-info{position:absolute;top:72px;left:0;white-space:nowrap;font-size:11px;letter-spacing:1px;color:#b0c1a9}.weapon-info .sep{margin:0 12px;color:#677f6d}.quick-slots{position:absolute;left:calc(30px + var(--sal));bottom:calc(158px + var(--sab));width:132px;height:108px;transform:scale(calc(var(--hud-scale) * var(--hud-k)));transform-origin:0 100%;pointer-events:none;animation:quick-in .4s ease-out}@keyframes quick-in{0%{opacity:0;transform:translateY(6px) scale(calc(var(--hud-scale) * var(--hud-k)))}}.quick-slot{position:absolute;width:52px;height:34px;padding:0;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #b6c5a22e;background:linear-gradient(#0c1d1aaa,#071211aa);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);transition:border-color .2s,background .2s}.quick-slot.up{left:40px;top:0}.quick-slot.right{left:80px;top:37px}.quick-slot.down{left:40px;top:74px}.quick-slot.left{left:0;top:37px}.quick-slot strong{font-size:10px;font-weight:400;letter-spacing:.5px;color:#dfe9d6;white-space:nowrap;max-width:48px;overflow:hidden}.quick-slot small{font:10px monospace;color:#b3c6b1}.quick-slot kbd{position:absolute;top:-6px;left:-4px;font-size:8px;padding:1px 3px;background:#0b1614}.quick-slot.filled{border-color:#b6c5a266}.quick-slot.selected{border-color:#f3e7c2cc;background:linear-gradient(#2a3a2fcc,#11201bcc);box-shadow:0 0 14px #f3e7c233}.quick-slot.spent strong{color:#76857a}.quick-hint{position:absolute;left:92px;top:2px;font-size:10px;color:#a4b8a6;white-space:nowrap}.quick-slots.empty{opacity:.32}kbd{font:10px monospace;white-space:nowrap;border:1px solid #b2c3a64d;color:#d0dcc5;background:#07151488;border-radius:2px;display:inline-block;padding:3px 5px;margin-right:5px}.k-pad{display:none}.pad-glyph b{font-weight:inherit}.pad-glyph .gp{display:none}:root[data-pad=ps] .pad-glyph .gx{display:none}:root[data-pad=ps] .pad-glyph .gp{display:inline}:root[data-input=gamepad] .k-key{display:none}:root[data-input=gamepad] .k-pad{display:inline-block}.k-touch{display:none;font-style:normal;color:#84dfb7;font-size:15px}:root[data-input=touch] .k-touch{display:inline}:root[data-input=touch] .context-prompt kbd,:root[data-input=touch] .quick-slot kbd,:root[data-input=touch] .quick-hint,:root[data-input=touch] .equipment kbd,:root[data-input=touch] .map-button span,:root[data-input=touch] .map-button kbd{display:none}.controls-strip{position:absolute;bottom:calc(22px + var(--sab));right:calc(28px + var(--sar));display:flex;align-items:center;gap:12px;font-size:11px;color:#b7c7b1;transform:scale(var(--hud-k));transform-origin:100% 100%;padding:5px 10px 5px 40px;background:linear-gradient(90deg,transparent,#07131480 30%)}.controls-strip button{font-size:11px;padding:0}.pad-strip{display:none}:root[data-input=gamepad] .controls-strip{display:none}:root[data-input=gamepad] .pad-strip{display:flex}.mouse-hint{position:absolute;left:50%;bottom:calc(64px + var(--sab));transform:translate(-50%) scale(var(--hud-k));transform-origin:50% 100%;display:flex;align-items:center;gap:8px;padding:7px 16px;font-size:12px;letter-spacing:1px;color:#dbe6d4;background:#0b1a18b3;border:1px solid #b6c9ae33;animation:hint-in .6s ease-out}.mouse-hint i{width:10px;height:15px;border:1px solid #cfe0c5;border-radius:6px;position:relative}.mouse-hint i:after{content:"";position:absolute;left:3.5px;top:3px;width:1px;height:4px;background:#cfe0c5}.mouse-hint kbd{margin:0 4px}@keyframes hint-in{0%{opacity:0}}.context-prompt{position:absolute;bottom:18%;left:50%;transform:translate(-50%) scale(var(--hud-k));transform-origin:50% 100%;display:flex;align-items:center;gap:10px;padding:12px 34px;background:linear-gradient(90deg,transparent,#0b1b1bee 22%,#0b1b1bee 78%,transparent);font-size:14px;letter-spacing:1px;color:#eef3e6;animation:prompt-in .25s ease-out}.context-prompt kbd{font-size:12px;padding:5px 8px;margin-right:0}@keyframes prompt-in{0%{opacity:0}}.lock-reticle{position:absolute;width:26px;height:26px;border:1px solid #fae4b799;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px #fdd18422}.lock-reticle i{position:absolute;left:10px;top:10px;width:4px;height:4px;background:#fff0c9;border-radius:50%}.lock-reticle:before,.lock-reticle:after{content:"";position:absolute;inset:-6px;border:1px solid transparent;border-top-color:#fae4b766;border-bottom-color:#fae4b766;border-radius:50%}.lock-reticle.pulse{animation:lock-pulse .35s ease-out}.guard-meter{position:absolute;left:50%;top:32px;width:38px;height:4px;transform:translate(-50%);background:#1b221f99;border:1px solid #cfeaff55;border-radius:2px;overflow:hidden}.guard-meter u{display:block;height:100%;width:100%;background:#cfeaff;text-decoration:none}@keyframes lock-pulse{0%{transform:translate(-50%,-50%) scale(1.7);opacity:.2}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.boss-bar{position:absolute;width:min(760px,56%);left:50%;transform:translate(-50%);bottom:calc(74px + var(--sab))}.boss-head{display:flex;align-items:flex-end;gap:15px;margin-bottom:9px}.boss-bar small{font:calc(9px * var(--hud-k)) monospace;letter-spacing:2px;color:#c4c1a4}.boss-bar span{font-size:calc(18px * var(--hud-k));letter-spacing:4px}.boss-damage{font:italic calc(14px * var(--hud-k)) Georgia,serif;color:var(--pale);min-width:30px}.boss-bar b{font:calc(10px * var(--hud-k)) monospace;margin-left:auto;color:#dcc49b;letter-spacing:2px}.boss-bar.phase-two b{color:#f0a070}.boss-track{position:relative;height:calc(8px * var(--hud-k));border:1px solid #cab18866;background:#0f1514;box-shadow:0 0 18px #0009,inset 0 1px 3px #000c;overflow:hidden}.boss-track i{position:absolute;inset:0;transform-origin:0 50%;will-change:transform}.boss-trail{background:linear-gradient(90deg,#e7cda1,#f5e3c0);opacity:.85}.boss-fill{background:linear-gradient(90deg,#6e4d3c,#b39164 70%,#c9a877);box-shadow:0 0 10px #b3916444}.boss-bar.phase-two .boss-fill{background:linear-gradient(90deg,#7b3f2e,#c07a4c 70%,#dca06a)}.boss-phase-mark{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:#f3e7c266}.boss-parts{display:flex;gap:10px;margin-top:8px}.boss-part{display:flex;align-items:center;gap:6px;font-size:10px;color:#cfcab1}.boss-part>div{position:relative;width:48px;height:3px;background:#0f1514;border:1px solid #cab18844;overflow:hidden}.boss-part i{position:absolute;inset:0;transform-origin:0 50%;background:#b39164}.boss-part.broken{color:#7f8a82;text-decoration:line-through}.boss-warning{margin:10px 0 0;text-align:center;font-size:calc(18px * var(--hud-k));letter-spacing:.3em;color:var(--hazard);text-shadow:0 0 14px #f3a51c66,0 1px 3px #000;background:linear-gradient(90deg,transparent,#140b06cc 25%,#140b06cc 75%,transparent);padding:4px 0}.boss-warning.play{animation:boss-warn 2.4s ease-out both}@keyframes boss-warn{0%{opacity:0;letter-spacing:.6em}12%{opacity:1;letter-spacing:.3em}80%{opacity:1}to{opacity:0}}.boss-halt{position:fixed;left:50%;top:34%;transform:translate(-50%,-50%);text-align:center;z-index:6;pointer-events:none}.boss-halt p{font:10px monospace;letter-spacing:8px;color:#c4a288;margin:0}.boss-halt small{display:block;margin-top:14px;font-size:11px;letter-spacing:6px;color:#b4c3b1}.boss-halt h3{font:300 clamp(30px,5vw,54px)/1.2 Georgia,"Hiragino Mincho ProN",serif;letter-spacing:10px;color:#e7dcc2;margin:10px 0;text-shadow:0 0 30px #0009}.boss-halt span{font:10px monospace;letter-spacing:3px;color:#9fb3a3}.boss-halt.play{animation:halt 5s ease-out both}@keyframes halt{0%{opacity:0;filter:blur(6px)}10%{opacity:1;filter:none}82%{opacity:1}to{opacity:0}}.zone-banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;--accent:#b7ddbf;pointer-events:none}.zone-banner p{font:calc(11px * var(--hud-k)) monospace;letter-spacing:7px;color:#c4d0bd;margin:10px 0 6px}.zone-banner h2{font:400 clamp(26px,calc(3.6vw * var(--hud-k)),64px)/1.15 Georgia,"Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:.34em;margin:0 0 8px .34em;white-space:nowrap;color:#f2f4ea;text-shadow:0 0 28px #000c,0 0 60px color-mix(in srgb,var(--accent) 30%,transparent)}.zone-banner span{font-size:calc(12px * var(--hud-k));letter-spacing:3px;color:var(--accent)}.zone-rule{display:block;width:min(420px,60vw);height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7}.zone-banner.play{animation:zone 4.2s ease-in-out both}.zone-banner.play .zone-rule{animation:zone-rule 4.2s ease-out both}.zone-banner.compact{left:auto;right:calc(28px + var(--sar));top:calc(150px * var(--hud-k) + var(--sat));transform:none;align-items:flex-end;text-align:right;padding:6px 14px 8px 60px;background:linear-gradient(90deg,transparent,#071314cc 40%)}.zone-banner.compact h2{font-size:calc(20px * var(--hud-k));letter-spacing:.2em;margin:0}.zone-banner.compact p{margin:0 0 3px;letter-spacing:3px}.zone-banner.compact .zone-rule{width:160px}.zone-banner.compact.play{animation:zone 3.2s ease-in-out both}@keyframes zone{0%{opacity:0}14%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes zone-rule{0%{transform:scaleX(0)}30%{transform:scaleX(1)}}.terminal-wake{position:fixed;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(ellipse at 50% 55%,#55e8b022,transparent 60%);text-align:center}.terminal-wake p{font:calc(11px * var(--hud-k)) monospace;letter-spacing:6px;color:#a9dcc6;margin:0}.terminal-wake p b{color:#dfffee;font-weight:400}.terminal-wake h3{font:400 calc(30px * var(--hud-k))/1.3 Georgia,serif;letter-spacing:8px;margin:12px 0 6px;color:#effff5;text-shadow:0 0 24px #55e8b0aa}.terminal-wake span{font-size:calc(12px * var(--hud-k));letter-spacing:3px;color:#b3cfbf}.wake-sweep{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#dfffee,transparent);box-shadow:0 0 22px #55e8b0}.terminal-wake.play{animation:wake 1.6s ease-in-out both}.terminal-wake.play .wake-sweep{animation:sweep 1.6s ease-out both}@keyframes wake{0%{opacity:0}18%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes sweep{0%{transform:scaleX(0);opacity:1}45%{transform:scaleX(1);opacity:1}to{transform:scaleX(1) translateY(60px);opacity:0}}.warp-veil{position:fixed;inset:0;z-index:28;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#020708;color:#cfe3d4;text-align:center;animation:veil .35s ease-in both}.warp-veil.debug-pending{animation:none;pointer-events:none}.warp-veil p{font:11px monospace;letter-spacing:6px;color:#79a08c;margin:0}.warp-veil h3{font:400 26px Georgia,serif;letter-spacing:10px;margin:14px 0 8px}.warp-veil span{font:12px monospace;letter-spacing:3px;color:#a9c6b6}.warp-line{width:min(320px,60vw);height:1px;margin-top:26px;background:linear-gradient(90deg,transparent,#55e8b0,transparent);animation:warp-line 1.2s linear infinite}@keyframes veil{0%{opacity:0}}@keyframes warp-line{0%{transform:scaleX(.1)}50%{transform:scaleX(1)}to{transform:scaleX(.1)}}.notice{position:fixed;z-index:21;left:50%;top:calc(76px * var(--hud-k) + var(--sat));transform:translate(-50%) scale(var(--hud-k));transform-origin:50% 0;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:min(640px,80vw)}.notice-line{margin:0;padding:8px 22px;font-size:13px;letter-spacing:1.5px;line-height:1.6;color:#e6eedb;text-align:center;background:#0a0e0cb8;border:1px solid #b6c9ae2e;box-shadow:0 6px 24px #0006;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s;text-shadow:0 1px 2px #000}.notice-line.shown{opacity:1;transform:none}.notice-line:not(.shown){position:absolute;visibility:hidden}.notice-line[data-kind=combat]{color:#f6e4bd;border-color:#f3e7c244;font-size:12px;padding:6px 18px}.notice-line[data-kind=system]{border-color:#84dfb744}.notice.held{opacity:0}@media(pointer:fine){.hud.boss-active .context-prompt{bottom:30%}}.modal{--modal-edge:clamp(6px,2vh,28px);position:fixed;inset:0;z-index:30;background:#051112b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;container:modal / size;padding:calc(var(--modal-edge) + var(--sat)) calc(var(--modal-edge) + var(--sar)) calc(var(--modal-edge) + var(--sab)) calc(var(--modal-edge) + var(--sal))}.modal-card{--card-pad:clamp(12px,3vh,38px);position:relative;background:var(--panel);border:1px solid #799d813d;max-width:680px;width:100%;padding:var(--card-pad) clamp(12px,3vw,44px);max-height:calc(100dvh - 2 * var(--modal-edge) - var(--sat) - var(--sab));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 100px #0006;container:card / inline-size}#modal-content{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;gap:clamp(6px,1.2cqh,14px);max-height:calc(100dvh - 2 * var(--modal-edge) - var(--sat) - var(--sab) - 2 * var(--card-pad) - 2px)}.modal-head,.modal-body,.modal-foot{min-width:0}.modal-head{padding-right:44px}.modal-body{overflow:auto;min-height:0;overscroll-behavior:contain}.modal-foot{overflow:auto;max-height:55cqh;overscroll-behavior:contain}.modal-card:before{content:"";position:absolute;left:0;top:0;width:44px;height:1px;background:var(--gold);opacity:.7}.modal.wide .modal-card{max-width:920px}.modal-close{position:absolute;right:12px;top:6px;font-size:26px;color:#9fb39f;padding:4px 9px;min-width:44px;min-height:44px;z-index:2}.modal h2{font-size:24px;letter-spacing:3px;font-weight:400;margin:0 0 22px}.modal h2 small{font-size:12px;letter-spacing:2px;color:#9eb2a1;margin-left:16px}.modal .eyebrow{font-size:10px;margin-bottom:14px}.modal-desc{font-size:13px;line-height:2;color:#c1cdb9;margin:16px 0}.menu-stack{display:grid;gap:6px}.menu-stack>button:not(.primary){text-align:left;padding:14px 3px;border-bottom:1px solid #6c8c7033;font-size:13px;color:#c2d0b9}.menu-stack button:hover,.menu-stack button:focus-visible{color:#fff}.save-note{display:block;font-size:11px;line-height:1.9;color:#8ea796;margin:20px 0}.text-button{font-size:12px;letter-spacing:1px;color:#a9bca5;padding:10px 4px;min-height:44px;border-bottom:1px solid transparent}.text-button:hover{color:#fff;border-color:#a9bca555}.pause-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;margin:0 0 12px;background:#6c8c7033;border:1px solid #6c8c7033}.pause-summary>div{background:#0f1f1e;padding:9px 12px}.pause-summary dt{font:10px monospace;letter-spacing:1px;color:#8aa393}.pause-summary dd{margin:4px 0 0;font:15px Georgia,serif;color:#e8eedd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pause-summary dd small{display:block;font:10px sans-serif;color:#8ea291;margin-top:2px}.pause-objective{margin:0 0 16px;font-size:13px;color:#e3dcc6;letter-spacing:1px;line-height:1.6}.pause-objective i{font-style:normal;color:var(--hazard);font-size:9px;margin-right:9px;vertical-align:1px}.pause-menu{grid-template-columns:1fr 1fr;gap:8px}.pause-menu .primary{grid-column:1/-1}.pause-menu>button:not(.primary){display:flex;align-items:center;min-height:48px;padding:0 16px;border:1px solid #6c8c7044;background:#0d1b1966;border-bottom-color:#6c8c7044}.pause-menu>button:not(.primary):hover{background:#1f3a3266}.pause-menu #pause-title.armed{border-color:#f3a51c88;color:#f6d9a3;background:#2a1c0c66}.confirm-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:8px}.confirm-actions .secondary{min-height:50px}.confirm-summary{display:inline-block;margin-top:8px;padding:6px 10px;border-left:2px solid var(--gold);color:#e3dcc6;font-size:12px}.primary.danger{background:#d9c8a0;border-color:#eadcb8}.primary.danger:hover{background:#efe2c2}.panel-tabs{display:flex;gap:4px;border-bottom:1px solid #6c8c7044;margin:18px 0 8px}.panel-tab{font-size:12px;letter-spacing:2px;color:#9fb3a3;padding:10px 14px;min-height:44px;border-bottom:2px solid transparent;margin-bottom:-1px}.panel-tab.active{color:#f0f3e8;border-bottom-color:var(--gold)}.panel-tab:hover{color:#fff}.panel-section{display:none}.panel-section.active{display:block}.help-tabs{margin-top:18px}.help-tab{font:10px monospace;letter-spacing:2px;color:#d2dcc5}.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin:16px 0 20px;font-size:12px;color:#c3d1bb}.key-grid kbd{min-width:54px;text-align:center;padding:5px;font-size:10px}.help-note{font-size:11px}.modal[data-panel=help] .key-grid{grid-template-columns:repeat(3,1fr)}.settings-tabs{margin:0}.settings-layout .setting-section{display:block}.setting-section+.setting-section{margin-top:10px;border-top:1px solid #6c8c7033}.setting-section:before{display:block;font:10px monospace;letter-spacing:3px;color:#9fb6a3;margin:18px 0 2px}.setting-section[data-section=display]:before{content:"DISPLAY / 表示"}.setting-section[data-section=sound]:before{content:"SOUND / 音"}.setting-section[data-section=control]:before{content:"CONTROL / 操作"}.setting-section[data-section=keys]:before{content:"KEYS / キー割り当て"}.setting-section[data-section=touch]:before{content:"TOUCH / タッチ"}.settings-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.settings-foot .primary{width:auto;min-width:220px}.setting-group{font:10px monospace;letter-spacing:3px;font-weight:400;color:#a9bfad;margin:24px 0 2px;text-transform:uppercase}.setting-group small{color:#7f9a89;margin-left:8px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #55715e55;padding:13px 0;font-size:13px;color:#cfdbc4;min-height:48px}.setting-row select{background:#0c1b1b;border:1px solid #577460;color:#c1d4b6;padding:9px;font-size:12px;max-width:62%}.setting-row input{accent-color:#b6d49f}.setting-row input[type=checkbox]{width:22px;height:22px}.setting-row input[type=range]{width:min(220px,34vw)}.setting-control{display:flex;align-items:center;gap:12px}.setting-control output{font:11px monospace;color:#e1e9d8;min-width:42px;text-align:right}.reload-note{font-size:11px;color:var(--hazard);letter-spacing:1px;margin:8px 0 0}.key-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.key-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:8px 0;border-bottom:1px solid #55715e44;font-size:12px;color:#cfdbc4}.key-row small{grid-column:1/-1;font-size:10px;color:#7f9a89;min-height:0}.key-row small:empty{display:none}.key-cap{min-width:72px;min-height:36px;padding:4px 10px;border:1px solid #9db39466;background:#0b1614;font:12px monospace;color:#eef3e6}.key-cap.unbound{color:var(--hazard);border-style:dashed}.key-row.capturing .key-cap{border-color:var(--gold);color:var(--gold);animation:hint-in .8s ease-in-out infinite alternate}.setting-actions{display:flex;justify-content:flex-end;margin-top:6px}.pad-cap{font:12px monospace;margin-right:3px;padding:2px 5px}.key-cap .pad-cap{border:0;background:none;padding:0 2px;margin:0}.touch-editor{position:fixed;inset:0;z-index:70;background:#030a0bcc;touch-action:none;-webkit-user-select:none;user-select:none;--te-opacity:.85}.te-safe{position:absolute;left:var(--sal);right:var(--sar);top:var(--sat);bottom:var(--sab);pointer-events:none;border:1px dashed #b7ddbf22}.te-safe:before{content:"";position:absolute;left:0;right:0;top:0;height:56px;background:repeating-linear-gradient(135deg,#b7ddbf0a 0 6px,transparent 6px 12px)}.te-item{position:absolute;border-radius:50%;border:1px solid #d2e2bfaa;background:radial-gradient(circle at 50% 35%,#2d4a42,#0c1d1a);color:#e3ecd9;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:var(--te-opacity);touch-action:none;cursor:grab;box-shadow:0 4px 14px #0008}.te-item span{pointer-events:none;white-space:nowrap}.te-item.te-stick{border-style:dashed;background:radial-gradient(circle,#071c1a55,#071c1aaa)}.te-item.selected{outline:2px solid var(--gold);outline-offset:3px}.te-item.dragging{cursor:grabbing;opacity:1;box-shadow:0 0 0 2px var(--gold),0 8px 22px #000a;z-index:2}.te-bar{position:absolute;top:calc(6px + var(--sat));left:calc(8px + var(--sal));right:calc(8px + var(--sar));display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#d3e0c8}.te-bar button{min-height:38px;min-width:38px;padding:0 10px;border:1px solid #bdd1ac55;background:#0b1a18e6;color:#d3e0c8;font-size:12px}.te-bar button.primary{width:auto;min-width:56px;max-width:none;flex:none;margin:0;height:auto;min-height:38px;padding:0 14px;justify-content:center;font-size:12px;letter-spacing:0;border-color:var(--gold);background:#2a3a2fe6;color:var(--pale)}.te-bar button[aria-pressed=true],.te-sizes button.active{border-color:var(--gold);background:#2a3a2fe6;color:var(--pale)}.te-sizes{display:flex;gap:2px}.te-selected{min-width:60px;text-align:center;font-weight:400;color:var(--pale)}.te-opacity{display:flex;align-items:center;gap:6px}.te-opacity input{width:84px}.te-hint{position:absolute;left:50%;bottom:calc(8px + var(--sab));transform:translate(-50%);margin:0;padding:4px 12px;font-size:11px;color:#b7c7b1;background:#07131499;pointer-events:none;white-space:nowrap}.te-hint.warn{color:var(--hazard)}.terminal-eyebrow .terminal-id{font:10px monospace;font-weight:400;letter-spacing:2px;margin-left:12px;padding:2px 6px;border:1px solid #d3d8b055;color:#e6e9c8}.terminal-sub{font-size:12px;color:#a9bcaa;letter-spacing:1px;margin:-12px 0 16px}.terminal-vitals{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin:0 0 18px;background:#6c8c7033;border:1px solid #6c8c7033}.terminal-vitals>div{background:#0f1f1e;padding:9px 12px}.terminal-vitals dt{font:10px monospace;letter-spacing:1px;color:#8aa393}.terminal-vitals dd{margin:5px 0 0;font:15px Georgia,serif;color:#e3ead9;white-space:nowrap}.terminal-tiles{grid-template-columns:repeat(3,1fr);gap:8px}.terminal-tiles>button:not(.primary){display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;min-height:72px;padding:12px 14px;border:1px solid #6c8c7044;background:linear-gradient(#10211fcc,#0b1716cc)}.terminal-tiles>button:not(.primary):hover,.terminal-tiles>button:not(.primary):focus-visible{border-color:#b7ddbf88;background:#1b3530cc}.tile-glyph{grid-row:1/3;font-style:normal;font-size:22px;color:var(--gold);width:28px;text-align:center}.terminal-tiles>button span{font-size:15px;letter-spacing:3px;color:#eef3e6}.terminal-tiles>button small{font-size:11px;color:#98ad9c;line-height:1.4}.terminal-tiles>button.locked span,.terminal-tiles>button.locked .tile-glyph{color:#7e8f84}.terminal-tiles .primary{min-height:72px}.terminal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.terminal-back{display:inline-block;margin:0;font-size:12px;letter-spacing:2px;color:#b3c5af;padding:10px 0;min-height:44px}.stat-table{display:grid;gap:4px}.stat-row{display:grid;grid-template-columns:1.2fr .4fr 1.6fr auto;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #6c8c7033}.stat-row strong{font-size:15px;letter-spacing:3px;font-weight:400;display:block}.stat-row small{font:10px monospace;color:#8aa393;letter-spacing:1px}.stat-row>b{font:20px Georgia,serif;color:#e8eedd}.stat-row>span{font-size:12px;color:#c3d1bb}.stat-row>span i{font-style:normal;color:var(--pale);margin-left:10px}.stat-row button,.equip-actions button,.item-row button,.chip-slot .mini{border:1px solid #9db39455;padding:8px 12px;font-size:12px;color:#d7e4cc;background:#16302a88;min-height:40px}.stat-row button:hover:not(:disabled),.equip-actions button:hover:not(:disabled),.item-row button:hover:not(:disabled){background:#3a5e4c88}.equip-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #6c8c7026}.equip-row strong{font-size:14px;font-weight:400;letter-spacing:2px;display:block}.equip-row small{font-size:11px;color:#98ad9c}.equip-row.equipped strong{color:var(--pale)}.wbars{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px}.wbar{display:inline-flex;align-items:center;gap:5px;font-style:normal}.wbar em{font-style:normal;font-size:10px;letter-spacing:1px;color:#98ad9c;min-width:3em}.wbar i{display:inline-block;width:52px;height:4px;background:linear-gradient(90deg,#55e8b0 calc(var(--v)*100%),#6c8c7033 calc(var(--v)*100%));border-radius:2px}.equip-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.equip-mark{font:10px monospace;letter-spacing:2px;color:var(--pale)}.chip-slots{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip-slot{font-size:11px;color:#98ad9c;border:1px dashed #6c8c7055;padding:6px 10px}.chip-slot.filled{border-style:solid;color:#dfe8d6}.chip-slot .mini{min-height:0;padding:2px 6px;margin-left:6px;font-size:10px}.item-list{display:grid;gap:2px}.item-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid #6c8c7026}.item-row.shop{grid-template-columns:1fr auto auto}.item-row strong{font-size:14px;font-weight:400;letter-spacing:2px;display:block}.item-row small{font-size:11px;color:#98ad9c;line-height:1.7}.item-row>b{font:15px Georgia,serif;color:#e3ead9;white-space:nowrap}.item-row.key strong{color:var(--pale)}.warp-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}.warp-list{padding-right:6px}.warp-group .setting-group{margin-top:10px}.warp-target{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 6px;border-bottom:1px solid #6c8c7026;font-size:13px;color:#d0ddc8;min-height:44px}.warp-target span{font:10px monospace;color:#84dfb7}.warp-target small{margin-left:auto;font-size:10px;color:var(--pale)}.warp-target.selected{background:#1f3a3288;color:#fff}.warp-confirm{display:flex;align-items:center;gap:18px;margin-top:16px}.warp-confirm span{flex:1;font-size:13px;color:#d0ddc8;letter-spacing:1px}.warp-confirm .primary{width:auto;min-width:220px}.journal-section{margin:0 0 6px}.journal-section .setting-group small{margin-left:12px;font:10px sans-serif;letter-spacing:0;color:#8aa393}.journal-list{list-style:none;margin:0;padding:0;display:grid}.journal-entry{display:grid;grid-template-columns:18px 1fr auto;gap:0 10px;align-items:start;padding:10px 4px;border-bottom:1px solid #6c8c7026}.journal-entry>i{font-style:normal;color:var(--hazard);font-size:10px;line-height:22px}.journal-entry strong{font-size:14px;font-weight:400;letter-spacing:1px;color:#e8eedd}.journal-entry small{margin-left:10px;font-size:10px;color:#8aa393}.journal-entry p{margin:3px 0 0;font-size:12px;line-height:1.6;color:#cbd7c3}.journal-entry>b{font:10px monospace;letter-spacing:1px;color:#84dfb7;padding-top:4px}.journal-entry:focus-visible{outline:1px solid #84dfb7;outline-offset:-1px;background:#1f3a3255}.journal-entry.done>i{color:#84dfb7}.journal-entry.done strong,.journal-entry.done p{color:#8ea291}.journal-entry.done>b{color:#6c8c70}.journal-actions{display:flex;gap:14px;align-items:center;margin-top:14px}.journal-actions>button:not(.primary){font-size:13px;color:#c2d0b9;padding:12px 4px;min-height:44px}.journal-actions .primary{width:auto;min-width:200px;margin-left:auto}.record-list{display:grid}.record-row{text-align:left;padding:12px 4px;border-bottom:1px solid #6c8c7026;font-size:13px;color:#d0ddc8;min-height:44px}.record-row span{font:10px monospace;color:#8aa393;margin-right:12px}.record-text{border-left:2px solid #6c8c7055;padding:4px 0 4px 20px;margin:10px 0}.record-text h3{font-size:15px;font-weight:400;letter-spacing:3px;margin:0 0 14px}.record-text p{font-size:13px;line-height:2;color:#cbd7c3;margin:0}.map-frame{position:relative}#district-map,#warp-map{width:100%;height:min(56vh,540px);height:min(56dvh,540px);min-height:220px;display:block;border:1px solid #516d5844;background:#0d1a1a;touch-action:none;cursor:grab}.descent-map{display:flex;flex-direction:column;gap:8px;height:100%}.descent-schematic{flex:1 1 0;min-height:0;width:100%;display:block;border:1px solid #516d5844;background:#0d1a1a}.descent-zone{fill:#84dfb722;stroke:#84dfb7;stroke-width:1.5}.descent-label{fill:#d7e4cc;font-size:14px}.descent-label path{fill:none;stroke:#9db39466}.descent-equipment{fill:currentColor;font-size:12px}.descent-equipment rect{stroke:#0d1a1a;stroke-width:1.5}.descent-player{fill:#edfff2;stroke:#0d1a1a;stroke-width:1.5}.descent-north{fill:#9db394;font:14px monospace}.descent-map .map-objective{position:static;order:-1;margin:0;max-width:none;align-self:start}@media(max-height:460px){.descent-label{font-size:22px}.descent-equipment{font-size:18px}}#district-map:active,#warp-map:active{cursor:grabbing}.map-tools{position:absolute;right:10px;top:10px;display:grid;gap:6px}.map-tools button{width:44px;height:44px;border:1px solid #9db39455;background:#0b1614cc;color:#d7e4cc;font-size:18px}.map-legend{position:absolute;left:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 20px);padding:6px 10px;font-size:11px;color:#c3d4c3;background:#081113cc;border:1px solid #516d5844;pointer-events:none}.map-legend i{font-style:normal;margin-right:4px}.lg-me{color:#edfff2}.lg-goal{color:#f3a51c}.lg-term{color:#84dfb7}.lg-npc{color:#e6b979}.lg-drop{color:#f08a5d}.lg-gate{color:#c8743f}.map-objective{position:absolute;left:10px;top:10px;margin:0;padding:6px 12px;max-width:calc(100% - 80px);background:#081113d9;border:1px solid #516d5844;font-size:13px;color:#e3dcc6;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.map-objective i{font-style:normal;color:var(--hazard);font-size:9px;margin-right:8px;vertical-align:1px}.lg-unknown{color:#f0dfa0}.lg-quest{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#f3a51c;color:#081113;font:700 9px/1 monospace}.map-tip{position:absolute;z-index:3;left:0;top:0;max-width:270px;padding:8px 11px;overflow:auto;overscroll-behavior:contain;background:#081113f2;border:1px solid #9db39466;color:#dfe8d8;font-size:12px;line-height:1.5;pointer-events:none;box-shadow:0 6px 18px #0008}.map-tip.pinned{pointer-events:auto;touch-action:pan-y}.map-tip.quest-row{width:calc(100% - 8px);max-width:none;padding:3px 6px}.map-tip.frame-row{position:static;width:100%;height:48px;max-height:48px;min-height:0;box-shadow:none}.map-tip strong{display:block;font-size:13px;letter-spacing:1px;color:#f2eedf}.map-tip small{display:block;font-size:10px;letter-spacing:1px;color:#9fb8a8;margin:1px 0 4px}.map-tip ul{margin:0;padding:0;list-style:none}.map-tip li{position:relative;padding-left:10px}.map-tip li:before{content:"·";position:absolute;left:1px;color:#8aa393}.map-tip[data-tip=unknown],.map-tip[data-tip=region-unknown]{border-color:#e8cf8099}.map-tip[data-tip=unknown] strong{color:#f0dfa0;letter-spacing:3px}.map-tip[data-tip=quest]{border-color:#f3a51c88}.map-quests{position:absolute;z-index:2;left:10px;top:10px;width:min(256px,calc(100% - 90px));background:#081113e0;border:1px solid #516d5844;color:#d7e2d0}.map-frame.with-objective .map-quests{top:48px}.map-quests summary{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 10px;cursor:pointer;list-style:none;font-size:12px;letter-spacing:1px;color:#e3dcc6}.map-quests summary::-webkit-details-marker{display:none}.map-quests summary:after{content:"▾";margin-left:auto;color:#8aa393}.map-quests:not([open]) summary:after{content:"▸"}.map-quests summary b{font:11px monospace;color:#f3a51c;border:1px solid #f3a51c66;padding:0 5px}.map-quests ol{max-height:max(80px,min(34vh,250px,calc(100vh - 440px)));max-height:max(80px,min(34dvh,250px,calc(100dvh - 440px)));margin:0;padding:0 4px 4px;list-style:none;overflow:auto;overscroll-behavior:contain}.map-quest{display:flex;gap:8px;align-items:flex-start;width:100%;min-height:40px;padding:5px 6px;border:0;border-top:1px solid #516d5833;background:none;color:inherit;font:inherit;text-align:left}button.map-quest{cursor:pointer}button.map-quest:hover,button.map-quest:focus-visible{background:#1f3a3266}.map-quest i{flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border-radius:50%;background:#f3a51c;color:#081113;font:700 10px/1 monospace;font-style:normal}.map-quest[data-kind=side] i{background:#7fd0f0}.map-quest[data-kind=hunt] i{background:#ff7a5c}.map-quest strong{display:block;font-size:12px;font-weight:600;color:#ece6d3}.map-quest em{margin-left:6px;font-size:9px;font-style:normal;letter-spacing:1px;color:#8aa393}.map-quest small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.4;color:#b9c9b8}.map-quest.no-place{opacity:.78}.voice-subtitle{position:fixed;z-index:19;left:calc(24px + var(--sal));bottom:calc(132px + var(--sab));width:min(420px,calc(100vw - 48px - var(--sal) - var(--sar)));padding:10px 14px;background:var(--panel);border-left:2px solid var(--mint);color:var(--ink);pointer-events:none;text-shadow:var(--shadow-text)}.voice-subtitle p{margin:0 0 4px;color:var(--mint);font-size:12px;letter-spacing:1px}#voice-text{white-space:pre-line;font-size:14px;line-height:1.7}body:has(#context-prompt:not(.hidden)) .voice-subtitle{bottom:max(calc(132px + var(--sab)),calc(18vh + 64px * var(--hud-k) + var(--sab)))}body:has(#dialogue:not(.hidden)) .voice-subtitle{display:none}@media(pointer:fine)and (max-width:899px){body:has(#tutorial:not(.hidden)) .voice-subtitle{left:50%;transform:translate(-50%);top:calc(74px * var(--hud-k) + var(--sat));bottom:auto;padding:8px 14px}body:has(#tutorial:not(.hidden)) .voice-subtitle p{line-height:14px}body:has(#tutorial:not(.hidden)) .voice-subtitle #voice-text{font-size:12px;line-height:1.5}body:has(#tutorial:not(.hidden)):has(.voice-subtitle:not(.hidden)) .notice{top:auto;bottom:calc(64px + var(--sab))}}@media(pointer:coarse){.voice-subtitle,body:has(#context-prompt:not(.hidden)) .voice-subtitle{left:50%;transform:translate(-50%);right:auto;top:calc(62px + var(--sat));bottom:auto;width:282px;padding:3px 12px}.voice-subtitle p{line-height:14px;margin-bottom:2px}.voice-subtitle #voice-text{font-size:11px;line-height:1.4}}@media(pointer:coarse)and (max-width:600px){.voice-subtitle{left:calc(50% - 178px);transform:none;width:264px;padding:3px 10px}}@media(pointer:coarse)and (max-height:460px){.voice-subtitle,body:has(#context-prompt:not(.hidden)) .voice-subtitle{left:calc(26px + min(330px,42vw) + var(--sal));transform:none;top:calc(98px + var(--sat));bottom:auto;width:min(264px,calc(100vw - min(330px,42vw) - 42px - var(--sal) - var(--sar)))}}.dialogue{position:fixed;z-index:20;left:18%;right:18%;bottom:calc(9% + var(--sab));padding:26px 34px;background:linear-gradient(100deg,#0a1b1bf5,#122724ed);border-top:1px solid #a6b99166;border-bottom:1px solid #a6b99144;display:flex;gap:23px;align-items:start;box-shadow:0 15px 50px #0006;cursor:pointer}.dialogue-mark{font-size:28px;color:#abcca1}.dialogue-mark:before{content:"◇"}.dialogue.is-player .dialogue-mark{color:var(--mint)}.dialogue.is-player .dialogue-mark:before{content:"◆"}.dialogue.is-system #dialogue-lines{color:#9fb4a0;text-align:center;font-style:normal}#dialogue-progress{position:absolute;right:12px;bottom:7px;color:#8aa093;font:10px monospace;letter-spacing:.14em}.dialogue p{color:#e0e9cc;font-size:13px;letter-spacing:2px;margin:0 0 12px}.dialogue #dialogue-lines{font-size:calc(14px * var(--hud-k));line-height:2;color:#d7e2d2;white-space:pre-line}.dialogue button{align-self:end;white-space:nowrap;margin-left:auto;font-size:12px;color:#c5d5b9;min-height:40px}.dialogue button.nudge{animation:nudge 1.3s 1.5s ease-in-out infinite}@keyframes nudge{0%,to{opacity:1}50%{opacity:.45;transform:translateY(2px)}}.outcome{position:fixed;inset:0;z-index:25;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#071314bd;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);text-align:center;padding:24px}.outcome>p{font:11px monospace;letter-spacing:6px;color:#c09f86}.outcome h2{font:300 44px Georgia,Hiragino Mincho ProN,serif;letter-spacing:8px;color:#d7baa2;margin:14px 0 22px}.outcome>span{font-size:13px;line-height:2;letter-spacing:2px;color:#b3c0b1;margin-bottom:12px}.death-detail{display:block;font-style:normal;font-size:13px;letter-spacing:1.5px;color:#f3d9b4;margin:0 0 30px;padding:8px 18px;border-top:1px solid #c09f8644;border-bottom:1px solid #c09f8644}.death-detail:empty{display:none}.outcome button{width:320px;max-width:86vw}.victory{background:#112522a6}.victory h2,.victory>p{color:#d2dfb5}.resume-countdown{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#050e10a8;color:#e3ecd9;text-align:center;cursor:pointer}.resume-countdown p{font:11px monospace;letter-spacing:6px;color:#9fd8bf;margin:0}.resume-countdown b{font:300 72px Georgia,serif}.resume-countdown small{font-size:12px;color:#9fb3a3;letter-spacing:1px}.demo-badge{position:fixed;bottom:calc(75px + var(--sab));left:50%;transform:translate(-50%);z-index:20;background:#14211dd9;border:1px solid #8ba88e;padding:9px 18px;color:#c7dccc;font-size:12px;letter-spacing:.12em;white-space:nowrap}#damage-flash{position:fixed;inset:0;pointer-events:none;z-index:4}#damage-flash.hit{animation:damage .5s ease-out}.save-note a{color:#c8d9b6}.save-note.setting-note{margin:-2px 0 10px;line-height:1.6}@keyframes damage{0%{box-shadow:inset 0 0 130px 45px #a3311b99}to{box-shadow:inset 0 0 0 0 transparent}}.target-health{position:fixed;z-index:12;transform:translate(-50%,-100%);width:86px;pointer-events:none}.target-health>div{height:4px;background:#182421e6;border:1px solid #a49a8170;box-shadow:0 2px 6px #0008}.target-health i{display:block;height:100%;background:#b98b63;transition:width .12s}.target-health b{display:block;margin-top:5px;text-align:right;color:#f1d9aa;font:500 15px Georgia,serif;text-shadow:0 2px 3px #000}.target-health.hidden{display:none}.elite-hud{position:fixed;inset:0;pointer-events:none;z-index:12}.elite-plate{--accent:#d8c24a;position:absolute;left:0;top:0;min-width:112px;text-align:center;will-change:transform;text-shadow:var(--shadow-text)}.elite-plate.hidden{display:none}.elite-plate small{display:block;font-size:10px;letter-spacing:1px;color:var(--accent);opacity:.9}.elite-plate strong{display:block;font:600 15px/1.2 Hiragino Mincho ProN,Yu Mincho,Georgia,serif;color:#f7f0dc;letter-spacing:2px}.elite-plate>div{height:4px;margin:3px auto 0;width:104px;background:#182421e6;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 35%,transparent)}.elite-plate i{display:block;height:100%;background:var(--accent);transition:width .12s}.elite-plate em{display:none;margin-top:2px;font:600 10px sans-serif;letter-spacing:2px;color:#ffd7a0}.elite-plate.enraged em{display:block;animation:elite-enrage .6s ease-in-out infinite alternate}.elite-plate.sentry small{color:var(--hazard)}@keyframes elite-enrage{0%{opacity:.55}to{opacity:1}}.lockdown-banner{position:absolute;top:calc(172px + var(--sat));left:calc(24px + var(--sal));padding:6px 16px 7px 12px;background:linear-gradient(90deg,#2a1f0ce6,#1a150bb0);border-left:3px solid var(--hazard);border-bottom:1px solid #f3a51c55;text-align:left;text-shadow:var(--shadow-text);min-width:200px}.lockdown-banner.hidden{display:none}@media(max-height:500px){.lockdown-banner{top:calc(150px + var(--sat));left:calc(12px + var(--sal));padding:3px 10px 4px 8px;min-width:0}.lockdown-banner strong{font-size:12px}.lockdown-banner small{font-size:8px;letter-spacing:2px}}.lockdown-banner small{display:block;font:600 9px monospace;letter-spacing:3px;color:var(--hazard)}.lockdown-banner strong{display:block;font-size:14px;letter-spacing:2px;color:#f7ecd0}.lockdown-banner span{display:block;font-size:11px;color:#f3d9a4}.touch-controls{display:none}.touch-top{position:absolute;top:calc(8px + var(--sat));right:calc(12px + var(--sar));display:flex;gap:8px;pointer-events:auto}.touch-top button{min-width:44px;height:44px;padding:0 12px;border:1px solid #bdd1ac44;background:#0b1a18b8;font-size:12px;letter-spacing:1px;color:#d3e0c8;display:flex;align-items:center;justify-content:center;gap:4px;opacity:var(--touch-opacity,.8)}.touch-pause i{display:block;width:4px;height:14px;background:#d3e0c8;border-radius:1px}.touch-stick-zone{position:absolute;left:0;top:calc(64px + var(--sat));bottom:0;width:50%;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}#joystick{position:absolute;left:var(--sx,var(--hx,calc(40px + var(--sal) + 56px * var(--touch-scale,1))));top:var(--sy,var(--hy,calc(100% - var(--sab) - 36px - 56px * var(--touch-scale,1))));width:calc(112px * var(--touch-scale,1) * var(--stick-k,1));height:calc(112px * var(--touch-scale,1) * var(--stick-k,1));transform:translate(-50%,-50%);border:1px solid #b4c5a540;border-radius:50%;background:radial-gradient(circle,#071c1a33,#071c1a77);touch-action:none;display:grid;place-items:center;opacity:calc(var(--touch-opacity,.8) * .6);transition:opacity .15s;pointer-events:none}#joystick.active{opacity:var(--touch-opacity,.8);border-color:#c9dcbc70}#joystick i{width:calc(46px * var(--touch-scale,1) * var(--stick-k,1));height:calc(46px * var(--touch-scale,1) * var(--stick-k,1));border-radius:50%;border:1px solid #c9dcbc88;background:radial-gradient(circle at 40% 35%,#d7ebc955,#a1be9322);transform:translate(var(--jx,0px),var(--jz,0px));box-shadow:0 0 16px #55e8b022}#joystick .stick-sprint{position:absolute;top:-22px;font-size:12px;font-weight:400;letter-spacing:2px;color:var(--pale);opacity:0;transition:opacity .15s;white-space:nowrap}#joystick.sprint{border-color:#f3e7c2aa}#joystick.sprint .stick-sprint{opacity:1;color:#ffe2a0}#joystick .stick-rim{position:absolute;inset:-6px;border-radius:50%;border:2px dashed #f3e7c200;pointer-events:none;transition:border-color .15s,box-shadow .15s;text-decoration:none}#joystick.active .stick-rim{border-color:#f3e7c240}#joystick.active .stick-sprint{opacity:.5}#joystick.rim .stick-rim{border-style:solid;border-color:#f3e7c2aa}#joystick.sprint .stick-rim{border-style:solid;border-color:#ffd98a;box-shadow:0 0 14px #ffd98a55}.touch-actions{position:absolute;right:calc(14px + var(--sar));bottom:calc(10px + var(--sab));width:0;height:0}.touch-actions button{position:absolute;right:calc(var(--x) - var(--size) / 2);bottom:calc(var(--y) - var(--size) / 2);width:var(--size);height:var(--size);border-radius:50%;border:1px solid #bdd1ac5c;background:radial-gradient(circle at 50% 35%,#1f3b35cc,#0c1d1ad0);color:#e3ecd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;touch-action:none;pointer-events:auto;opacity:var(--touch-opacity,.8);box-shadow:0 4px 14px #0007;transition:transform .06s,background .1s,box-shadow .15s,opacity .2s;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:0;text-shadow:0 1px 2px #000}.touch-actions button i{font-style:normal;font-size:calc(var(--size) * .3);line-height:1;color:#cfe3c4}.touch-actions button span{font-size:12px;letter-spacing:0;line-height:1.1;white-space:nowrap}.touch-actions button.pressed{transform:scale(.92);background:radial-gradient(circle at 50% 35%,#476b5dee,#1a332ce6);box-shadow:0 0 18px #55e8b044}.touch-actions .touch-attack{border-color:#d2e2bfaa;background:radial-gradient(circle at 50% 35%,#5c7a5bcc,#1b3129d9)}.touch-actions .touch-attack i{font-size:calc(var(--size) * .36)}.touch-actions .touch-dodge{border-color:#c9dcbc88}.touch-actions .touch-guard{border-color:#b8c9d288}.touch-actions .touch-heavy span,.touch-actions .touch-guard span{font-size:11px}.touch-actions .touch-interact{opacity:calc(var(--touch-opacity,.8) * .3);border-style:dashed}.touch-actions.prompt .touch-interact{opacity:var(--touch-opacity,.8);border:1px solid #84dfb7;background:radial-gradient(circle at 50% 35%,#2d5a4bdd,#0f2a24e0);box-shadow:0 0 0 1px #84dfb755,0 0 22px #55e8b066;animation:interact-glow 1.2s ease-in-out infinite;transform:scale(1.08)}@keyframes interact-glow{50%{box-shadow:0 0 0 1px #84dfb7aa,0 0 30px #55e8b099}}.touch-actions.locked .touch-lock{border-color:#fae4b7cc;box-shadow:0 0 16px #fdd18455}.touch-actions.locked .touch-lock i{color:#fae4b7}.touch-actions.no-item .touch-item{display:none}.touch-controls.stick-right .touch-stick-zone{left:auto;right:0}.touch-controls.stick-right #joystick{left:var(--sx,var(--hx,calc(100% - 40px - var(--sar) - 56px * var(--touch-scale,1))))}.touch-safe{position:absolute;left:var(--sal);right:var(--sar);top:var(--sat);bottom:var(--sab);pointer-events:none;visibility:hidden}.touch-pause{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.touch-controls.mirrored .touch-actions{right:auto;left:calc(14px + var(--sal))}.touch-controls.mirrored .touch-actions button{right:auto;left:calc(var(--x) - var(--size) / 2)}.rotate-overlay{display:none;position:fixed;inset:0;z-index:60;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;background:radial-gradient(ellipse at 50% 45%,#0d1d1d,#040b0c 70%);text-align:center;color:#d8e5cf}.rotate-overlay p{font-size:16px;letter-spacing:3px;margin:0}.rotate-overlay small{font-size:13px;line-height:1.9;color:#9fb3a3;max-width:300px}.rotate-icon{width:46px;height:74px;border:2px solid #b7ddbf;border-radius:8px;position:relative;animation:rotate-hint 2.4s ease-in-out infinite}.rotate-icon i{position:absolute;left:50%;bottom:6px;width:8px;height:2px;background:#b7ddbf;transform:translate(-50%)}@keyframes rotate-hint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media(max-width:800px){.boss-bar{width:64%}.dialogue{left:5%;right:5%;padding:20px}.outcome h2{font-size:32px}}@media(pointer:coarse){:root{--meter-unit:118px;--hud-k:1}.touch-controls{display:block}.controls-strip,.mouse-hint{display:none!important}.status{top:calc(10px + var(--sat));left:calc(16px + var(--sal));min-width:0;transform:scale(calc(var(--hud-scale) * .94))}.unit-id{display:none}.meter-line{font-size:12px;margin:3px 0}.meter-line>span{width:22px}.meter-line>b{font-size:12px}.resource-count{font-size:17px;margin:5px 0 0}.resource-count small,.status-gauge,.status-gauge b{font-size:12px}.location{top:calc(64px + var(--sat));right:auto;left:50%;transform:translate(-50%) scale(var(--hud-scale));transform-origin:50% 0;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:10px;padding:3px 26px 4px;background:linear-gradient(90deg,transparent,#071314a6 22%,#071314a6 78%,transparent);max-width:56vw}.location>p{font-size:12px;letter-spacing:1px}.location>p span#room-id{font-size:12px;margin-left:6px}.location h2{font-size:14px;letter-spacing:2px;margin:0}.objective{flex-basis:100%;font-size:12px;color:#eef0e0;max-width:52vw;margin:2px auto 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location.quiet{opacity:0}@media(orientation:landscape){.location{flex-wrap:nowrap;max-width:74vw;column-gap:12px}.location>p,.location h2{white-space:nowrap;flex-shrink:0}.objective{flex-basis:auto;flex-shrink:1;min-width:0;max-width:34vw;margin:0}}.map-button{display:none}.compass{top:calc(2px + var(--sat));width:min(320px,38vw);height:60px;transform:translate(-50%)}.compass-label{font-size:12px;bottom:2px;color:#dfe8d6}.compass-label.major{font-size:13px}.compass-marker b{font-size:12px;top:26px}.compass-marker[data-kind=region] b{top:0;font-size:12px}.equipment{bottom:auto;top:calc(84px + var(--sat));left:calc(16px + var(--sal));gap:0;transform:scale(var(--hud-scale));transform-origin:0 0}.hud:has(.status-gauge:not(.hidden)) .equipment{top:calc(108px + var(--sat))}.equip-icon{width:38px;height:42px;font-size:19px}.equipment>div:nth-child(2){position:absolute;left:24px;top:24px;display:block}.equipment small,.equipment span,.weapon-info{display:none}.equipment strong{display:block;font:600 12px/1 monospace;padding:3px 5px;background:#0b1614ee;border:1px solid #b6c5a266;color:#f3e7c2}.quick-slots{left:auto;right:calc(300px * var(--touch-scale,1) + var(--sar));bottom:calc(8px + var(--sab));transform:scale(.92);transform-origin:100% 100%;pointer-events:auto;animation:none}.quick-slot{width:56px;height:36px;opacity:var(--touch-opacity,.8)}.quick-slot strong{font-size:12px;max-width:54px}.quick-slot small{font-size:12px}.quick-slots.empty,.hud.boss-active .compass,.hud.boss-active .location{display:none}.boss-bar{bottom:auto;top:calc(8px + var(--sat));width:min(520px,calc(100vw - 470px - var(--sal) - var(--sar)))}.boss-head{margin-bottom:5px}.boss-bar small{display:none}.boss-bar span{font-size:13px;letter-spacing:2px}.boss-bar b{font-size:12px}.boss-damage{font-size:13px}.boss-part{font-size:12px}.boss-warning{font-size:14px;margin-top:6px}.hud.boss-active .status{transform:scale(calc(var(--hud-scale) * .86))}.context-prompt{bottom:calc(12px + var(--sab));top:auto;font-size:14px;padding:9px 26px;max-width:40vw}.notice{left:calc(16px + var(--sal));top:calc(158px + var(--sat));bottom:auto;flex-direction:column;align-items:flex-start;max-width:min(320px,36vw);transform:none;transform-origin:0 0;transition:opacity .25s}.hud.boss-active~.notice,:root:has(.hud.boss-active) .notice{top:calc(150px + var(--sat))}.notice.held{opacity:0}.notice .notice-line{text-align:left;width:auto}.hud:has(#touch-actions.prompt) .quick-slots{opacity:0;pointer-events:none}body:has(#dialogue:not(.hidden)) .touch-actions,body:has(#dialogue:not(.hidden)) .touch-stick-zone,body:has(#dialogue:not(.hidden)) .quick-slots{opacity:0;pointer-events:none}.notice-line{font-size:12px;padding:6px 16px 6px 12px;letter-spacing:1px;line-height:1.5;background:linear-gradient(90deg,#080c0bcc,#080c0bcc 82%,#080c0b4d);border-left:2px solid #b6c9ae55;transform:translateY(-6px)}.notice-line.shown{transform:none}.zone-banner{top:42%}.zone-banner h2{font-size:28px}.zone-banner p{font-size:12px;letter-spacing:4px;margin:6px 0 4px}.zone-banner span{font-size:12px}.zone-banner.compact{right:auto;left:50%;top:calc(100px + var(--sat));transform:translate(-50%);align-items:center;text-align:center;padding:4px 24px;background:linear-gradient(90deg,transparent,#071314cc 25%,#071314cc 75%,transparent)}.zone-banner.compact h2{font-size:16px}.terminal-wake h3{font-size:24px}.terminal-wake p,.terminal-wake span{font-size:12px}.dialogue{bottom:calc(6% + var(--sab));left:calc(6% + var(--sal));right:calc(6% + var(--sar));padding:16px 22px;gap:14px}.dialogue #dialogue-lines{font-size:14px;line-height:1.8}.dialogue button{font-size:13px;min-height:44px}.dialogue p{font-size:13px}.demo-badge{bottom:auto;top:calc(56px + var(--sat))}}@media(max-height:460px){.outcome h2{font-size:28px;margin:8px 0 12px}.outcome>span{margin-bottom:8px;font-size:12px}.death-detail{margin-bottom:16px}}@media(max-height:380px){.touch-top button{height:40px}}:root[data-input=touch] .touch-controls{display:block}:root[data-input=touch] .controls-strip,:root[data-input=touch] .mouse-hint{display:none!important}@media(orientation:portrait)and (any-pointer:coarse){.rotate-overlay{display:flex}}@media(prefers-reduced-motion:reduce){.title-art,.title-haze,.signal-wave i,.meter-line.low .meter,.touch-actions.prompt .touch-interact,.rotate-icon,.warp-line,.dialogue button.nudge,.compass.drop-flash .compass-marker[data-kind=drop] i{animation:none}.zone-banner.play,.terminal-wake.play,.boss-halt.play,.boss-warning.play{animation-duration:.01s}}.lifecycle-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#0b1413d9;color:#c7dccc;font-size:15px;letter-spacing:.16em;pointer-events:auto;text-align:center;padding:24px}.lifecycle-overlay.hidden{display:none}@media(min-width:1281px){.title-art{background-image:url(/assets/images/title-1920.webp)}}.lock-reticle.crit-ready{border-color:#fff1d6;box-shadow:0 0 18px #ffd38a88;animation:crit-pulse .42s ease-in-out infinite alternate}.lock-reticle.crit-ready i{background:#fff1d6}@keyframes crit-pulse{0%{transform:translate(-50%,-50%) scale(1.25)}to{transform:translate(-50%,-50%) scale(1.45)}}.meter-line.st-broken .meter{animation:st-broken .2s steps(1) 3}@keyframes st-broken{0%{background:#b8322a;box-shadow:0 0 10px #ff4a3a88}50%{background:transparent;box-shadow:none}}.touch-actions.crit-ready .touch-attack{box-shadow:0 0 0 2px #fff1d6aa,0 0 22px #ffd38a88}.boss-intro{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%);text-align:center;z-index:6;pointer-events:none;color:#f0e6d2;text-shadow:0 2px 12px #000c}.boss-intro h3{margin:.1em 0 .2em;font-size:34px;letter-spacing:.18em;font-weight:600}.boss-intro small{display:block;font-size:11px;letter-spacing:.42em;opacity:.8}.boss-intro i{display:block;height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,#f0e6d2cc,transparent);width:0}.boss-intro.play{animation:boss-intro 1.8s ease-out both}.boss-intro.play i{animation:boss-rule 1.2s .2s ease-out forwards}@keyframes boss-intro{0%{opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes boss-rule{to{width:min(520px,70vw)}}@media(pointer:coarse){#hud.boss-active .compass{display:none}}@media(prefers-reduced-motion:reduce){.boss-intro.play,.lock-reticle.crit-ready,.meter-line.st-broken .meter{animation-duration:.01s}}#hud.boss-active .mouse-hint,.via{display:none}.via-kb{display:inline}:root[data-input=gamepad] .via-kb,:root[data-input=touch] .via-kb{display:none}:root[data-input=gamepad] .via-pad,:root[data-input=touch] .via-touch{display:inline}.action-input kbd{font-size:11px;padding:3px 6px;margin:0 3px 0 0}.action-input .pad-cap{margin-right:3px}kbd.touch-cap{font-family:inherit;color:#bdf1d7;border-color:#84dfb766;background:#0b2a2288}.action-preview{position:relative;background:#0b1718;border:1px solid #799d8133;overflow:hidden}.action-preview canvas{display:block;width:100%;height:100%}.preview-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:2px;color:#7f968c;pointer-events:none}.action-preview:has(canvas[data-preview-frames]) .preview-wait{display:none}.action-guide{display:grid;grid-template-columns:150px 1fr;gap:18px;margin:16px 0 8px}.action-list{display:flex;flex-direction:column;gap:2px;max-height:min(420px,var(--action-height,420px));overflow:auto;overscroll-behavior:contain;align-self:start;border-right:1px solid #6c8c7044;padding-right:8px}.action-item{flex-shrink:0;text-align:left;font-size:12px;letter-spacing:1px;white-space:nowrap;color:#a9bca5;padding:8px 10px;min-height:36px;border-left:2px solid transparent}.action-item:hover{color:#fff}.action-item.active{color:#f0f3e8;border-left-color:var(--gold);background:#1f3a3244}.action-detail{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:18px;align-items:start}.action-stage{aspect-ratio:5/4;width:100%}.action-copy h3{font-size:20px;font-weight:400;letter-spacing:3px;margin:0 0 10px}.action-copy .eyebrow{margin-bottom:6px}.action-copy .action-input{font-size:12px;line-height:2;color:#d4dfcc;margin:0 0 10px}.action-summary{font-size:13px;line-height:1.8;color:#c1cdb9;margin:0 0 8px}.action-points{margin:0;padding-left:18px;font-size:12px;line-height:1.8;color:#a9bca5}.help-tutorial{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.help-tutorial small{font-size:11px;color:#89a094}.tutorial{position:fixed;z-index:22;right:calc(24px + var(--sar));top:calc(168px * var(--hud-k) + var(--sat));width:368px;transform:scale(var(--hud-k));transform-origin:100% 0;background:linear-gradient(180deg,#091413e6,#091413d1);border:1px solid #84dfb744;box-shadow:0 12px 40px #0007;padding:10px 12px 12px;pointer-events:none;color:#e6eedb}.tutorial.hidden{display:none}.tutorial-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tutorial-eyebrow{font:10px monospace;letter-spacing:3px;color:#84dfb7}.tutorial-eyebrow b{color:#e6eedb;margin-left:6px;font-weight:400}.tutorial-actions{display:flex;gap:4px}.tutorial-actions button{pointer-events:auto;font-size:11px;letter-spacing:1px;color:#a9bca5;border:1px solid #a9bca533;padding:4px 10px;min-height:30px}.tutorial-actions button:hover{color:#fff;border-color:#a9bca588}.tutorial-body{display:grid;grid-template-columns:132px 1fr;gap:12px}.tutorial-preview{width:132px;height:116px}.tutorial-text h3{font-size:17px;font-weight:400;letter-spacing:3px;margin:0 0 4px}.tutorial-task{font-size:12.5px;line-height:1.6;margin:0 0 4px;color:#e6eedb}.tutorial-progress{color:var(--gold);font-weight:400;margin-left:4px}.tutorial-input{font-size:12px;line-height:1.9;margin:0 0 6px;color:#d4dfcc}.tutorial-meter{height:3px;background:#ffffff1a;margin:2px 0 6px}.tutorial-meter i{display:block;height:100%;width:0;background:var(--guide);transition:width .15s}.tutorial-note{font-size:11px;line-height:1.6;margin:0;color:#9db3a6}.tutorial.cleared{border-color:#55e8b0aa}.tutorial.cleared .tutorial-text h3:after{content:"  ✓ 達成";color:var(--guide);font-size:13px;letter-spacing:2px}.tutorial-done,.tutorial.finished .tutorial-head,.tutorial.finished .tutorial-body{display:none}.tutorial.finished .tutorial-done{display:flex;flex-direction:column;gap:4px}.tutorial-done b{font-size:15px;font-weight:400;letter-spacing:3px;color:var(--guide)}.tutorial-done span{font-size:11px;color:#a9bca5;line-height:1.6}@media(pointer:coarse){.tutorial{left:calc(14px + var(--sal));right:auto;top:calc(132px + var(--sat));width:min(330px,42vw);transform:none;padding:6px 8px 8px}.tutorial-head{margin-bottom:4px}.tutorial-actions button{min-height:32px;padding:4px 8px}.tutorial-body{grid-template-columns:84px 1fr;gap:8px}.tutorial-preview{width:84px;height:84px}.tutorial-text h3{font-size:13px;letter-spacing:2px;margin-bottom:2px}.tutorial-task{font-size:11px;line-height:1.45;margin-bottom:2px}.tutorial-input{font-size:10.5px;line-height:1.7;margin-bottom:3px}.tutorial-input kbd{font-size:10px;padding:2px 4px}.tutorial-note{display:none}:root[data-tutorial] .notice{left:50%;top:calc(96px + var(--sat));transform:translate(-50%);align-items:center;max-width:min(420px,50vw)}:root[data-tutorial] .notice .notice-line{text-align:center}body:has(.voice-subtitle:not(.hidden)) .notice{left:calc(50% + 149px);top:calc(62px + var(--sat));bottom:auto;transform:none;max-width:calc(50vw - 165px - var(--sar));align-items:flex-start}body:has(.voice-subtitle:not(.hidden)) .notice .notice-line{max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;padding:0 8px;border-block:7px solid transparent;font-size:11px;letter-spacing:0;text-align:left}}@media(pointer:coarse)and (max-width:600px){body:has(.voice-subtitle:not(.hidden)) .notice{left:calc(50% + 94px);max-width:calc(50vw - 110px - var(--sar))}body:has(.voice-subtitle:not(.hidden)) .notice .notice-line{-webkit-line-clamp:1}}@media(pointer:coarse){body:has(#tutorial:not(.hidden)):not(:has(.voice-subtitle:not(.hidden))) .notice{left:calc(26px + min(330px,42vw) + var(--sal));transform:none;align-items:flex-start;max-width:min(420px,calc(100vw - min(330px,42vw) - 42px - var(--sal) - var(--sar)))}}@media(prefers-reduced-motion:reduce){.tutorial-meter i{transition:none}}.tutorial-keys{margin:4px 0 0;font-size:10.5px;color:#7f968c}.tutorial-keys kbd{font-size:9px;padding:1px 4px}:root[data-input=touch] .tutorial-keys{display:none}.title-lockup>.eyebrow{margin-bottom:clamp(8px,2cqh,22px)}.title-nav{min-width:0;flex-shrink:0;gap:clamp(5px,.85cqh,9px)}.title-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1.8cqw,22px);margin-top:clamp(0px,1cqh,14px);justify-content:space-between}.title-footer{gap:12px;padding-top:clamp(6px,1.5cqh,16px)}@container title (height <= 575px){:where(.title-content:has(#continue-button:not(.hidden))) .title-story{display:none}.title-content{justify-content:safe center}.title-rule{margin-bottom:14px}}@container title (height <= 540px){.title-story{display:none}.title-lockup>.eyebrow{display:none}.title-rule em{display:none}}@container title (height <= 470px){.title-rule{display:none}.title-lockup{margin-bottom:12px}.title-content h1{font-size:clamp(38px,10cqh,64px)}.title-content h1 span{font-size:clamp(16px,4cqh,26px)}}@container title (height <= 390px){.brand-mark small{display:none}.title-header .brand-mark svg{width:24px;height:27px}}@container title (height <= 350px){.title-footer{display:none}.title-content{grid-row:2/4}.title-header,.brand-mark{font-size:10px}}@container title (width <= 800px){.title-side,.header-coordinate,.title-footer>span:last-child{display:none}.title-content{grid-column:1/-1;padding-left:0}.title-rule em{display:none}.title-rule{letter-spacing:1px}.title-content h1{letter-spacing:-2px}.title-content h1 span{letter-spacing:.45em}}@container title ((width <= 800px) and (height <= 440px)) or ((width <= 400px) and (height <= 620px)) or (height <= 390px){.title-content{grid-column:1/-1;padding-left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(8px,2cqw,24px);align-content:stretch}.title-lockup{align-self:start;margin:0}.title-nav{align-self:end;max-width:none}.title-side{display:none}.title-content h1{font-size:clamp(28px,min(7.2cqw,12cqh),64px)}.title-content h1 span{font-size:clamp(12px,2.8cqw,26px);letter-spacing:.35em}.title-nav>button{gap:4px;font-size:11px;letter-spacing:0}.button-end{gap:4px;font-size:8px}.title-links{gap:4px}.title-links button{font-size:10px;min-width:0;white-space:normal}.title-links span{margin-left:2px}.title-nav .btn-label{overflow-wrap:anywhere;letter-spacing:0}.title-nav .save-summary{font-size:9px;line-height:1.1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.title-story{display:block;font-size:11px;letter-spacing:1px;line-height:1.8}.title-rule{display:flex;margin-bottom:0;font-size:11px;gap:8px}}@media(pointer:coarse){@container title (height <= 470px) and (aspect-ratio > 1){.title-content{grid-column:1/-1;padding-left:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(12px,4cqw,40px);align-content:stretch}.title-lockup{align-self:start;margin:0}.title-nav{align-self:end;max-width:340px;width:100%;justify-self:end}.title-content{grid-row:2/4}.title-side{display:none}.title-story{display:block;font-size:12px;line-height:1.9;letter-spacing:1px;margin:10px 0 0}.title-rule{display:flex;font-size:12px;gap:8px;margin-bottom:0}.title-rule em{display:none}.title-lockup>.eyebrow{display:flex;font-size:10px;margin-bottom:10px}.title-footer{display:none}}.modal button{min-height:44px}.modal .map-tools button{height:44px;min-width:44px}.modal .setting-row,.title-links button{min-height:44px}}.modal-head h2{margin:0;font-size:clamp(18px,3cqh,24px);overflow-wrap:anywhere}.modal-head .eyebrow{margin:0 0 10px}.modal-head .modal-desc,.modal-head .terminal-sub{margin:10px 0 0}.modal-head .panel-tabs{margin:12px 0 0;overflow-x:auto;gap:4px;position:relative}.panel-tab{flex-shrink:0;white-space:nowrap}.settings-layout{position:relative}.settings-layout:before,.settings-layout:after{position:absolute;top:12px;z-index:1;font-size:16px;color:var(--gold);pointer-events:none;background:var(--panel)}.settings-layout:has(.more-above):before{content:"‹";left:0}.settings-layout:has(.more-below):after{content:"›";right:0}.setting-section{display:block}.settings-layout{min-width:0}.setting-section.active{display:block}.modal-foot :is(.settings-foot,.journal-actions,.confirm-actions,.warp-confirm){margin:0}.modal-foot .save-note{margin:8px 0 0}.help-foot,.settings-foot,.journal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.help-foot>.primary,.settings-foot>.primary,.journal-actions>.primary{width:auto;min-width:0;flex-shrink:0;padding:0 clamp(8px,2cqw,22px)}.help-tutorial{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.help-tutorial small{font-size:11px;color:#8ea796}.help-tutorial .text-button{font-size:clamp(10px,1.5cqw,12px);letter-spacing:0}.terminal-vitals{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.terminal-vitals>div,.pause-summary>div{min-width:0}.terminal-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.terminal-foot>.primary{width:auto;min-width:min(220px,100%);margin-left:auto}.terminal-foot>.terminal-back{order:-1}@container modal (height <= 460px){@container card (width > 460px){.pause-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.terminal-vitals:has(>div:nth-child(6)){grid-template-columns:repeat(6,minmax(0,1fr))}}}@container card (width <= 560px){.terminal-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.key-list,.key-grid,.modal[data-panel=help] .key-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.warp-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.warp-list{overflow:visible;max-height:none}#warp-map{height:clamp(180px,50cqh,540px);min-height:0;width:100%}.modal[data-panel=map] #modal-content{height:min(680px,calc(100dvh - 2 * var(--modal-edge) - var(--sat) - var(--sab) - 2 * var(--card-pad) - 2px))}.modal[data-panel=map] .modal-body{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.modal[data-panel=map] .modal-body:has(>.map-tip.frame-row:not(.hidden)){grid-template-rows:minmax(0,1fr) auto auto}.modal[data-panel=map] .map-frame{container:map / size;min-height:0}#district-map{position:absolute;inset:0;width:100%;height:100%;min-height:0}.map-frame:has(#district-map) .map-objective{justify-self:start;max-width:100%;min-width:0;position:static;grid-area:objective;margin:0}.map-frame:has(#district-map) .map-quests{position:static;grid-area:quests;width:min(256px,100%);min-height:0;max-height:100%;display:flex;flex-direction:column;align-self:start}.map-quest-slot{grid-area:quests;min-width:0;min-height:0;container:quests / size}.map-frame:has(#district-map) .map-quests ol{min-height:0;max-height:max(0px,calc(100cqh - 36px));overflow:auto}.map-frame:has(#district-map) .map-quests summary{flex-shrink:0}.map-frame:has(#district-map) .map-tools{position:static;grid-area:tools;align-self:start}.map-frame:has(#district-map) .map-legend{justify-self:start;position:static;grid-area:legend;max-width:100%;align-self:end}.map-overlays{position:absolute;inset:10px;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"objective tools" "quests tools" "legend legend";gap:6px;pointer-events:none}.map-overlays :is(.map-tools,.map-quests){pointer-events:auto}@container map (height <= 260px){.map-overlays{grid-template-columns:minmax(0,1fr) 94px}.map-tools{grid-template-columns:repeat(2,44px)}.map-objective{font-size:11px}.map-legend{gap:3px 8px;padding:4px 6px}}.modal .setting-row{gap:10px}.setting-control{min-width:0;gap:6px}.setting-row input[type=range]{max-width:100%}.setting-row select{min-width:0}.stat-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:6px}.stat-row button{padding:8px}.item-row>div,.equip-row>div{min-width:0;overflow-wrap:anywhere}.equip-actions{flex-wrap:wrap}.warp-confirm{min-width:0;flex:1}.warp-confirm .primary{min-width:0}.warp-confirm>span{min-width:0;overflow-wrap:anywhere}@container modal (height <= 615px){.modal-head .modal-desc,.modal-head .terminal-sub{display:none}.modal-head .eyebrow{margin-bottom:6px}.pause-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pause-menu.with-journal{grid-template-columns:repeat(4,minmax(0,1fr))}.pause-menu .primary{grid-column:1;grid-row:1/3;min-height:100px;flex-direction:column;justify-content:center;gap:4px}.pause-menu>button:not(.primary){min-height:47px;padding:6px;justify-content:center}.help-tutorial small{display:none}.terminal-vitals{margin-bottom:8px}.save-note{margin:8px 0}.modal-head .panel-tabs{margin-top:8px}}@container modal (height <= 460px){.setting-section{display:none}.setting-section.active{display:block}.setting-section:before{display:none}.modal-head>.eyebrow{display:none}.modal-head h2 small{display:block;margin:4px 0 0;font-size:10px}.modal-foot>.save-note{display:none}.pause-summary>div{padding:5px}.pause-summary dd{font-size:13px}.setting-row{padding:6px 0}.modal .primary{min-height:44px}.terminal-tiles>button:not(.primary){min-height:44px;padding:4px 8px;column-gap:8px}.terminal-tiles>button span{font-size:13px;letter-spacing:2px}.terminal-vitals>div{padding:5px}.terminal-vitals dd{font-size:13px}.terminal-vitals dt,.pause-summary dt{letter-spacing:0}.help-note,.map-note{display:none}}@container modal (height <= 350px){.modal-head h2 small{display:none}.modal-head .panel-tabs{margin-top:4px}.modal-head .panel-tab{padding:8px}.modal-foot .save-note{display:none}}@container card (width <= 460px){.pause-menu,.pause-menu.with-journal{grid-template-columns:repeat(3,minmax(0,1fr))}.pause-menu .primary{grid-column:1/-1;grid-row:auto;min-height:44px;flex-direction:row;justify-content:space-between}.pause-menu>button:not(.primary){padding:4px;font-size:11px;letter-spacing:0}.help-foot,.settings-foot,.journal-actions{gap:6px}.settings-foot .text-button,.journal-actions>button:not(.primary){font-size:11px;letter-spacing:0}.help-tutorial{gap:0}.confirm-actions{gap:6px}.confirm-actions button{padding:6px;font-size:11px;letter-spacing:0}.stat-row>span{font-size:10px}.stat-row strong{font-size:12px}.stat-row button{font-size:10px}.item-row.shop{gap:6px}.help-tabs .panel-tab{letter-spacing:0;padding:8px}}.action-guide{grid-template-columns:minmax(80px,112px) minmax(0,1fr)}.action-detail{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.action-item{min-height:44px}.btn-label{min-width:0}.title-art,.title-haze,.title-shade{pointer-events:none}.title-screen .button-end{flex-shrink:0}@container modal (height <= 615px){.action-guide{gap:10px;margin:6px 0 4px}.action-item{padding:5px 6px;font-size:11px;letter-spacing:0}.action-detail{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10px}.action-stage{width:min(100%,200px,calc(var(--action-height,200px) * 1.25));min-height:0}.action-stage canvas{position:absolute;inset:0}.action-copy h3{font-size:16px;letter-spacing:1px;margin-bottom:4px}.action-copy .eyebrow{display:none}.action-copy .action-input{font-size:11px;line-height:1.8;margin-bottom:4px}}@container title (width <= 400px) and (height <= 620px){.title-nav>button{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:1px;padding:2px 8px}.title-nav .btn-label{gap:0}.title-nav .save-summary{-webkit-line-clamp:1}.title-nav .button-end{justify-content:space-between;font-size:7px;line-height:12px}.title-nav .button-end b{font-size:16px;line-height:12px}}:root[data-input=touch] .modal button{min-height:44px}:root[data-input=touch] .modal .map-tools button{height:44px;min-width:44px}@container modal (height <= 460px){.modal[data-panel=settings] #modal-content{grid-template-columns:minmax(80px,132px) minmax(0,1fr);column-gap:18px}.modal[data-panel=settings] .modal-head{display:contents}.modal[data-panel=settings] .modal-head h2{grid-column:1/-1;grid-row:1;padding-right:44px}.modal[data-panel=settings] .settings-layout{grid-column:1;grid-row:2;min-height:0}.modal[data-panel=settings] .modal-body{grid-column:2;grid-row:2}.modal[data-panel=settings] .modal-foot{grid-column:1/-1;grid-row:3}.modal-head .settings-tabs{height:100%;min-height:0;flex-direction:column;overflow-x:hidden;overflow-y:auto;border-bottom:0;border-right:1px solid #6c8c7044;margin:0;padding-right:8px;gap:2px}.modal-head .settings-tabs .panel-tab{text-align:left;border-bottom:0;border-left:2px solid transparent;margin:0;padding:8px 12px;min-height:44px}.modal-head .settings-tabs .panel-tab.active{border-left-color:var(--gold);background:#1f3a3244}.settings-layout:before,.settings-layout:after{left:0;right:8px;text-align:center;font-size:14px;line-height:16px}.settings-layout:has(.more-above):before{content:"▴";top:0}.settings-layout:has(.more-below):after{content:"▾";top:auto;bottom:0}.settings-tabs.more-above{--tab-fade-top:transparent;--tab-fade-bottom:#000}.settings-tabs.more-below{--tab-fade-top:#000;--tab-fade-bottom:transparent}.settings-tabs.more-above.more-below{--tab-fade-top:transparent;--tab-fade-bottom:transparent}.settings-tabs.more-above,.settings-tabs.more-below{mask-image:linear-gradient(to bottom,var(--tab-fade-top),#000 24px,#000 calc(100% - 24px),var(--tab-fade-bottom))}.modal-head>.terminal-eyebrow{display:block}.modal[data-panel^=terminal] .modal-head h2 small{display:inline;margin:0 0 0 16px;font-size:12px}}@container modal (height <= 350px){.modal-head>.terminal-eyebrow{display:none}}@container card (width <= 380px){.modal-head>.terminal-eyebrow{display:none}}@container modal (height <= 460px){@container card (width <= 380px){.modal[data-panel=settings] #modal-content{grid-template-columns:80px minmax(0,1fr);column-gap:8px}.modal-head .settings-tabs .panel-tab{padding:8px 6px;letter-spacing:0}}}:root:lang(en){font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}:root:lang(en) .record-row{white-space:normal;overflow-wrap:break-word}:root:lang(en) .quick-slot strong{width:calc(100% - 4px);max-width:calc(100% - 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}:root:lang(en) .setting-section[data-section=display]:before{content:"DISPLAY"}:root:lang(en) .setting-section[data-section=sound]:before{content:"SOUND"}:root:lang(en) .setting-section[data-section=control]:before{content:"CONTROLS"}:root:lang(en) .setting-section[data-section=keys]:before{content:"KEYS"}:root:lang(en) .setting-section[data-section=touch]:before{content:"TOUCH"}:root:lang(en) .tutorial.cleared .tutorial-text h3:after{content:"  ✓ Complete"}:root:lang(en) .title-rule em,:root:lang(en) .zone-banner>p,:root:lang(en) .confirm-actions small,:root:lang(en) .modal[data-panel=journal] .modal-head>.eyebrow{display:none}:root:lang(en) .button-end{font-size:0;letter-spacing:0}:root:lang(en) .button-end b{font-size:16px}:root:lang(en) .btn-label{overflow-wrap:normal;word-break:normal}:root:lang(en) .title-story,:root:lang(en) .modal-desc,:root:lang(en) .save-note,:root:lang(en) .setting-note{white-space:normal;overflow-wrap:break-word;letter-spacing:0}:root:lang(en) .pause-summary dd,:root:lang(en) .map-objective{white-space:normal;overflow:visible;text-overflow:clip}:root:lang(en) .setting-row{gap:12px;letter-spacing:0}:root:lang(en) .setting-row select{min-width:0;max-width:65%}:root:lang(en) .key-row{gap:8px;letter-spacing:0}:root:lang(en) .zone-banner h2{white-space:normal;letter-spacing:.1em;max-width:90vw}:root:lang(en) .stat-row>div>small{display:none}:root:lang(en) .action-copy>.eyebrow{display:none}:root:lang(en) .map-quests summary{letter-spacing:0;gap:4px;padding-inline:6px}:root:lang(en) .map-quest strong{letter-spacing:0;line-height:1.2}
