:root{color-scheme:dark;--ink: #07090a;--rail: rgba(10, 14, 18, .91);--rail-deep: rgba(7, 10, 13, .97);--line: rgba(203, 211, 219, .2);--line-strong: rgba(213, 222, 230, .42);--text: #d8d8d4;--muted: #96999f;--violet: #b4a0ec;--acid: #d5ff25;--acid-soft: rgba(213, 255, 37, .18);font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Consolas,monospace;font-synthesis:none}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--text)}button,input,select{font:inherit}button,summary,select,label{-webkit-tap-highlight-color:transparent}button{color:inherit}.hidden{display:none!important}#game-canvas{display:block;width:100%;height:100%;outline:none;background:#000;touch-action:none;user-select:none;-webkit-user-select:none}.menu-shell{position:absolute;inset:0;z-index:20;overflow:hidden;background:#050708;isolation:isolate;user-select:text;-webkit-user-select:text}.menu-backdrop,.menu-vignette{position:absolute;inset:0;width:100%;height:100%}.menu-backdrop{z-index:-3;object-fit:cover;object-position:54% center;filter:saturate(.78) contrast(1.08) brightness(.82);transform:scale(1.015);animation:backdrop-breathe 24s ease-in-out infinite alternate}.menu-vignette{z-index:-2;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0,transparent 3px,rgba(255,255,255,.012) 4px),linear-gradient(90deg,#000000a3,#0000002e 46%,#0000001f),linear-gradient(180deg,rgba(0,0,0,.18),transparent 32%,rgba(0,0,0,.34))}@keyframes backdrop-breathe{0%{transform:scale(1.015) translate3d(-.2%,0,0)}to{transform:scale(1.04) translate3d(.35%,-.25%,0)}}.menu-brand{position:absolute;z-index:1;top:clamp(48px,11vh,112px);bottom:clamp(42px,8vh,84px);left:clamp(30px,5vw,92px);width:min(42vw,650px);display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}.eyebrow{margin:0 0 18px;color:var(--violet);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase}.menu-brand h1,.pause-rail h2{margin:0;color:#e4e3de;font-family:Arial Narrow,Roboto Condensed,Impact,sans-serif;font-stretch:condensed;font-weight:500;text-transform:uppercase;line-height:.85;letter-spacing:.12em;text-shadow:0 4px 30px rgba(0,0,0,.72)}.menu-brand h1{font-size:clamp(3.2rem,7.2vw,8rem)}.brand-rule{display:block;width:38px;height:1px;margin:clamp(24px,4vh,44px) 0 24px;background:var(--violet);box-shadow:0 0 18px #b4a0ec8c}.tagline{margin:0;color:#aaa5ba;font-size:clamp(.82rem,1.25vw,1.08rem);line-height:1.65;letter-spacing:.025em;text-shadow:0 2px 15px #000}.enter-button{min-height:58px;display:inline-flex;align-items:center;justify-content:flex-start;gap:18px;border:1px solid rgba(213,255,37,.8);border-radius:0;background:#050805c7;box-shadow:inset 4px 0 0 var(--acid),0 0 26px #d5ff2514;color:var(--acid);padding:16px 30px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}.menu-brand .enter-button{min-width:min(320px,100%);margin-top:auto;pointer-events:auto;font-size:clamp(.92rem,1.5vw,1.22rem)}.enter-button>span:first-child{font-size:1.65em;line-height:0}.enter-button:hover{color:#0b0d08;background:var(--acid);box-shadow:inset 4px 0 #fff,0 0 34px #d5ff2547;transform:translate(3px)}.enter-button:active{transform:translate(1px)}.settings-rail{position:absolute;z-index:2;inset:0 0 0 auto;width:clamp(405px,34vw,525px);border-left:1px solid var(--line);background:linear-gradient(180deg,rgba(18,23,29,.92),var(--rail-deep)),#090d10f0;box-shadow:-28px 0 70px #0000003d;backdrop-filter:blur(16px) saturate(.72)}.rail-scroll{width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:24px clamp(25px,3.2vw,48px) 32px;scrollbar-color:rgba(180,160,236,.44) transparent;scrollbar-width:thin}.rail-scroll::-webkit-scrollbar,.menu-shell::-webkit-scrollbar,.pause-rail::-webkit-scrollbar{width:5px}.rail-scroll::-webkit-scrollbar-track,.menu-shell::-webkit-scrollbar-track,.pause-rail::-webkit-scrollbar-track{background:transparent}.rail-scroll::-webkit-scrollbar-thumb,.menu-shell::-webkit-scrollbar-thumb,.pause-rail::-webkit-scrollbar-thumb{background:#b4a0ec57}.rail-section{padding:25px 0 27px;border-top:1px solid var(--line)}.rail-section-first{padding-top:2px;border-top:0}.rail-section h2,.section-title{display:block;margin:0 0 18px;color:var(--violet);font-size:.78rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase}.field{display:grid;gap:7px;margin-bottom:13px}.field-inline{grid-template-columns:104px minmax(0,1fr);align-items:center}.field>span{color:#aaaeb2;font-size:.82rem}.field>.browser-depth-note{color:var(--muted);font-size:.69rem;line-height:1.5}.ai-depth-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.ai-depth-heading output{color:var(--acid);font-size:.7rem;letter-spacing:.04em}.field input[type=range]{min-height:24px;padding:0;border:0;accent-color:var(--acid);cursor:pointer}.field input[type=range]:disabled{cursor:default}.field input,.field select{width:100%;min-width:0;min-height:42px;border:1px solid var(--line-strong);border-radius:0;outline:0;background:#0e1216c7;color:#d0d1cf;padding:9px 12px;color-scheme:dark}.field input::placeholder{color:#666b70}.field select option,.field select optgroup{background:#11161b;color:#e2e3df}.field input:disabled,.field select:disabled{opacity:.48}.field input:focus,.field select:focus,button:focus-visible,summary:focus-visible{outline:1px solid var(--acid);outline-offset:3px}.help{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}.dream-mode-help{margin:2px 0 0 104px}.ai-disclosure{padding:0}.ai-disclosure>summary{min-height:137px;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:22px 0 25px;list-style:none;cursor:pointer}.ai-disclosure>summary::-webkit-details-marker{display:none}.ai-summary-copy{display:grid;gap:4px}.ai-summary-copy .section-title{margin-bottom:8px}.ai-summary-copy strong{color:#c9c9c5;font-size:.9rem;font-weight:500}#ai-model-status{color:#9a9ca0;font-size:.82rem}.ai-settings-label{min-height:48px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line-strong);padding:0 15px;color:#bdc0c2;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;transition:color .15s ease,border-color .15s ease,background .15s ease}.ai-disclosure>summary:hover .ai-settings-label{border-color:#d5ff2594;background:#d5ff2509;color:var(--acid)}.disclosure-arrow{font-size:1.5rem;line-height:1;transition:transform .18s ease}.ai-disclosure[open] .disclosure-arrow{transform:rotate(90deg)}.ai-settings-body{margin-bottom:27px;padding:20px 18px 5px;border-left:1px solid rgba(180,160,236,.45);background:#00000026}.ai-intro{margin-bottom:16px}.text-button,.return-button{border:0;border-radius:0;background:transparent;color:#a9adb0;cursor:pointer;padding:7px 0;font-size:.72rem;letter-spacing:.06em;text-align:left;text-transform:uppercase}.text-button:hover,.return-button:hover{color:var(--acid)}.check{display:flex;gap:11px;align-items:center;min-height:32px;color:#babbb8;font-size:.79rem;cursor:pointer}.check input{width:18px;height:18px;margin:0;border-radius:0;accent-color:var(--acid)}.check+.check{margin-top:3px}.check+.help,.controls-section .help{margin-top:11px}.control-grid{display:grid;grid-template-columns:1fr auto;gap:7px 18px;margin:0;color:#a7aaac;font-size:.75rem}.control-grid dt,.control-grid dd{margin:0}.control-grid dd{color:#c3c4c2;text-align:right}kbd{display:inline-block;min-width:1.45em;margin-left:3px;border:0;background:transparent;color:inherit;font:inherit;text-align:center}.pause-overlay{position:absolute;inset:0;z-index:24;background:linear-gradient(90deg,rgba(2,4,5,.72) 0,rgba(2,4,5,.28) 40%,transparent 74%)}.pause-rail{width:min(430px,100%);height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--line);background:linear-gradient(180deg,#090d10f0,#05080afa);box-shadow:24px 0 70px #0000005c;backdrop-filter:blur(18px) saturate(.7);padding:clamp(34px,7vh,72px) clamp(26px,4vw,54px) 34px}.pause-rail h2{font-size:clamp(3.4rem,6vw,5.2rem);letter-spacing:.08em}.pause-rail .brand-rule{margin:30px 0 36px}.pause-meta{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.pause-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.pause-meta dt,.pause-meta dd{margin:0}.pause-meta dt{color:var(--violet);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.pause-meta dd{min-width:0;overflow-wrap:anywhere;color:#bdbebb;font-size:.78rem}#pause-mood{text-transform:capitalize}.pause-actions{display:grid;gap:13px;margin-top:auto;padding-top:40px}.pause-actions .enter-button{width:100%}.pause-actions .return-button{width:100%;border:1px solid var(--line-strong);padding:15px 18px;text-align:center}.pause-controls{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;color:#757a7d;font-size:.62rem;text-transform:uppercase}.content-warning{width:min(620px,calc(100vw - 36px));max-height:calc(100svh - 36px);margin:auto;padding:0;overflow:auto;border:1px solid rgba(180,160,236,.58);border-radius:0;background:linear-gradient(145deg,#12171dfa,#05080afc),var(--ink);box-shadow:0 30px 110px #000000b8,inset 4px 0 0 var(--violet);color:var(--text)}.content-warning::backdrop{background:#020405c2;backdrop-filter:blur(9px) saturate(.68)}.content-warning-frame{padding:clamp(30px,5vw,56px)}.content-warning h2{margin:0;color:#e4e3de;font-family:Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(2.2rem,6vw,4.3rem);font-stretch:condensed;font-weight:500;letter-spacing:.09em;line-height:.92;text-transform:uppercase}.content-warning .brand-rule{margin:27px 0 25px}.content-warning-copy{display:grid;gap:15px;color:#b9bab7;font-size:.86rem;line-height:1.72}.content-warning-copy p{margin:0}#content-warning-source{color:var(--muted);font-size:.76rem}.content-warning-actions{display:grid;gap:13px;margin-top:32px}.content-warning-actions .enter-button,.content-warning-actions .return-button{width:100%}.content-warning-actions .return-button{border:1px solid var(--line-strong);padding:14px 18px;text-align:center}#hud{position:absolute;z-index:10;top:18px;left:18px;max-width:min(440px,calc(100% - 36px));pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.9)}#hud-theme{color:#f0f0ea;font-size:.9rem;font-weight:600;letter-spacing:.03em}#hud-seed,#hud-ai-status,#hud-hint,#hud-rule{margin-top:5px;color:#e8e6f2c7;font-size:.72rem;line-height:1.45}#hud-ai-status{color:#d5ff25d1}#hud-rule{color:#ffe8a8e0;font-style:italic}#hud-npc-line{position:absolute;z-index:20;top:50%;left:50%;width:min(680px,calc(100vw - 48px));transform:translate(-50%,-50%);border-top:1px solid rgba(180,160,236,.42);border-bottom:1px solid rgba(180,160,236,.42);background:linear-gradient(90deg,transparent,rgba(7,10,12,.84) 14%,rgba(7,10,12,.84) 86%,transparent);color:#f0eafb;padding:12px 42px;pointer-events:none;font-size:clamp(.76rem,1.25vw,.94rem);line-height:1.5;letter-spacing:.025em;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.95)}#hud-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.hud-action{display:flex;width:max-content;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(213,255,37,.38);background:#070a0cb8;color:#f5f8efe6;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.hud-action kbd{border-color:#d5ff258f;color:var(--acid)}#hud-action.is-pending{border-color:#b4a0ec6b;color:#e1daf2a8}#hud-action.is-pending kbd{border-color:#b4a0ec6b;color:#b4a0ec}#hud-action.is-ready{border-color:#d5ff25b8;box-shadow:0 0 18px #d5ff2514}#hud-action.is-failed{border-color:#ff9a58b8;color:#ffd6b7}.ai-recovery{position:absolute;z-index:26;left:50%;bottom:max(28px,env(safe-area-inset-bottom));width:min(620px,calc(100% - 36px));transform:translate(-50%);border:1px solid rgba(255,154,88,.58);background:#0c0a0af2;color:#e8ded7;padding:13px 15px;box-shadow:0 14px 50px #00000073}.ai-recovery>div:first-child{display:grid;gap:4px}.ai-recovery strong{color:#ffd6b7;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.ai-recovery span{color:#aaa5a2;font-size:.7rem;line-height:1.45}.ai-recovery-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.ai-recovery button{min-height:38px;border:1px solid rgba(255,154,88,.38);background:#ffffff09;color:#ddd6d1;padding:8px 11px;cursor:pointer;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.ai-recovery button:hover{border-color:var(--acid);color:var(--acid)}#hud-flashlight.is-active{border-color:#ffeeadb8;background:#483d1ccc;color:#fff5cf}#hud-flashlight.is-active kbd{border-color:#ffeeadcc;color:#fff0a8}#fade-overlay{position:absolute;inset:0;z-index:15;pointer-events:none;background:#fff;opacity:0;transition:opacity .35s ease}#fade-overlay.active{opacity:1}#touch-controls{position:absolute;inset:0;z-index:12;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.stick-zone{position:absolute;bottom:28px;width:42vw;max-width:220px;height:42vw;max-height:220px;pointer-events:auto;touch-action:none}#stick-move{left:18px}#stick-look{right:18px}.stick-base{position:absolute;top:50%;left:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#ffffff14}.stick-knob{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#b4a0ec94;transform:translate(0)}.touch-actions{position:absolute;right:22px;bottom:min(46vw,238px);display:flex;gap:10px;align-items:center}.touch-action{min-width:64px;min-height:54px;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:0;pointer-events:auto;touch-action:none;background:#0c1116d1;color:var(--text);backdrop-filter:blur(8px)}.touch-action.primary,.touch-action.is-active{border-color:#d5ff259e;background:#d5ff25bd;color:#090b08}.touch-action.next{border-color:#d5ff2594;color:var(--acid)}.touch-action:disabled{border-color:#b4a0ec47;color:#e1daf275;cursor:default;opacity:.72}.touch-action.flashlight.is-active{border-color:#ffeeadbd;background:#ffeeadc7;color:#171207}.touch-pause{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-width:52px;font-weight:700}@media(max-width:760px){#hud-npc-line{top:48%;width:calc(100vw - 28px);padding:10px 20px;font-size:.72rem}.menu-shell{overflow-y:auto;overscroll-behavior:contain}.menu-backdrop,.menu-vignette{position:fixed}.menu-backdrop{object-position:66% center}.menu-vignette{background:linear-gradient(180deg,#00000059,#0000001a 50%,#000000a6),linear-gradient(90deg,#00000094,#0000001f)}.menu-brand{position:relative;top:auto;bottom:auto;left:auto;width:100%;min-height:78svh;padding:max(52px,env(safe-area-inset-top)) 24px 34px}.menu-brand h1{max-width:100%;font-size:clamp(2.45rem,11vw,3.3rem);letter-spacing:.07em}.menu-brand .enter-button{min-width:0;width:100%}.settings-rail{position:relative;inset:auto;width:100%;min-height:100svh;border-top:1px solid var(--line);border-left:0}.rail-scroll{height:auto;overflow:visible;padding:31px 24px max(40px,env(safe-area-inset-bottom))}.field-inline{grid-template-columns:78px minmax(0,1fr)}.dream-mode-help{margin-left:78px}.pause-overlay{background:#0204056b}.pause-rail{width:min(92vw,430px);padding-top:max(38px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}.content-warning{width:calc(100vw - 28px);max-height:calc(100svh - 28px)}.content-warning-frame{padding:30px 24px 24px}.content-warning h2{font-size:clamp(2.1rem,11vw,3.2rem)}.ai-recovery{top:max(118px,calc(env(safe-area-inset-top) + 86px));right:16px;bottom:auto;left:16px;width:auto;transform:none}}@media(max-height:650px)and (min-width:761px){.menu-brand{top:36px;bottom:36px}.menu-brand h1{font-size:clamp(3rem,6vw,5.5rem)}.brand-rule{margin:22px 0 18px}.menu-brand .enter-button{min-height:52px;padding-block:13px}}@media(max-height:520px){.touch-actions{right:50%;bottom:14px;transform:translate(50%)}}@media(hover:hover)and (pointer:fine){#touch-controls{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
