:root{--ocean-deep: #050a0f;--ocean-mid: #0a1520;--ocean-surface: #0f1c2a;--ocean-shallow: #142434;--amber: #c8a96e;--amber-bright: #dfc080;--amber-dim: #a08848;--amber-glow: rgba(200,169,110,.1);--teal: #4a9e8a;--teal-dim: #2e6e5e;--crimson: #7a3030;--crimson-dim: #4e1e1e;--bruise: #2e2444;--bile: #4a7040;--text: #a8bcd0;--text-bright: #ccd8e8;--text-dim: #7e96b0;--text-gone: #526474;--border: #2a3c50;--border-soft: #1a2a3a;--border-faint: rgba(42,60,80,.3);--font-display: "IM Fell English","Georgia",serif;--font-body: "Crimson Pro","Georgia",serif;--font-data: "JetBrains Mono","Consolas",monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button,[data-action]{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-nav{position:absolute;top:-9999px;left:8px;z-index:9999;padding:8px 16px;background:var(--ocean-mid);color:var(--amber);border:1px solid var(--amber-dim);font-family:var(--font-data);font-size:13px;text-decoration:none;white-space:nowrap}.skip-nav:focus{top:8px}html,body{width:100%;height:100%;background:var(--ocean-deep);overflow:hidden;-webkit-tap-highlight-color:transparent;font-family:var(--font-body);font-size:17px;font-weight:400;color:var(--text)}body{overscroll-behavior:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.03;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}:focus-visible{outline:1px solid var(--amber);outline-offset:2px}input[type=range]{accent-color:var(--amber)}#app{width:100%;height:100%;position:relative}#loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--ocean-deep);z-index:1000;transition:opacity .6s}#loading.hidden{opacity:0;pointer-events:none}#loading-inner{text-align:center}#loading-title{color:var(--amber);font-family:var(--font-display);font-size:18px;letter-spacing:2px;margin-bottom:24px}#loading-bar{width:200px;height:4px;background:var(--ocean-surface);border-radius:0;margin:0 auto 12px}#loading-bar-fill{height:100%;background:var(--amber-dim);border-radius:0;width:0;transition:width .3s}#loading-status{color:var(--text-dim);font-family:var(--font-data);font-size:12px}#game-container{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}#phase-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;pointer-events:none}#game-ui{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;pointer-events:auto;z-index:10}#hud{flex:0 0 auto;display:flex;align-items:center;gap:2px 12px;padding:6px 10px;background:#050a0fe6;border-bottom:1px solid var(--border-soft);pointer-events:auto;font-size:12px;min-height:40px;flex-wrap:wrap}#hud .hud-cell{display:flex;align-items:baseline;gap:4px}#hud .hud-cell .lbl{font-family:var(--font-data);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}#hud .hud-cell .val{font-family:var(--font-data);font-size:14px;color:var(--text-bright)}#hud .hud-cell .val.hearts{color:var(--crimson)}#hud .hud-cell .val.insight{color:var(--amber)}#hud .hud-cell .val.location{font-family:var(--font-body);font-size:15px;color:var(--text-bright)}#hud .hud-cell .bar-track{width:60px;height:4px;background:var(--ocean-surface);display:inline-block;vertical-align:middle;overflow:hidden}#hud .hud-cell .bar-track.timer{width:80px}#hud .hud-cell .bar-fill{height:100%;transition:width .3s}#hud .hud-cell .bar-fill.stamina{background:var(--teal-dim)}#hud .hud-cell .bar-fill.light{background:var(--amber-dim)}#hud .hud-cell .bar-fill.time{background:var(--bruise)}#hud .hud-cell .bar-fill.time.warn{background:var(--amber-dim)}#hud .hud-cell .bar-fill.time.crit{background:var(--crimson)}#hud .hud-warn{color:var(--crimson);font-family:var(--font-data);font-size:11px}#hud .hud-mute{cursor:pointer;color:var(--text-dim);font-size:14px;padding:4px;background:none;border:none;font-family:var(--font-data)}#hud .hud-mute:hover{color:var(--text-bright)}#hud .hud-version{color:var(--text-gone);font-family:var(--font-data);font-size:10px}#main-area{flex:1 1 0;display:flex;overflow:hidden}#content-panel{flex:1 1 0;display:flex;flex-direction:column;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:auto;color:var(--text-bright);line-height:1.6;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent;background:var(--ocean-mid);position:relative}#content-panel.content-leaving{opacity:0;transition:opacity .2s ease-in}#content-panel.content-entering{animation:content-fade-in .2s ease-out forwards}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}#content-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,rgba(138,155,176,.015) 0px,rgba(138,155,176,.015) 1px,transparent 1px,transparent 3px)}#content-panel>*{position:relative;z-index:1}#content-panel h2{font-family:var(--font-display);color:var(--text-bright);font-size:20px;margin:0 0 6px;font-weight:400;letter-spacing:.02em}#content-panel h3{font-family:var(--font-data);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);font-weight:400;margin-bottom:6px}#content-panel .location-rule{height:1px;background:linear-gradient(90deg,var(--amber-dim) 0%,rgba(138,112,64,.15) 60%,transparent 100%);margin-bottom:10px}#content-panel .location-desc{font-family:var(--font-body);font-size:17px;color:var(--text-bright);margin-bottom:12px;line-height:1.65}#content-panel .examine-result{border-left:3px solid var(--amber-dim);padding:8px 12px;background:#c8a96e0f;margin-bottom:12px}#content-panel .examine-result .examine-label{font-family:var(--font-data);font-size:11px;text-transform:uppercase;color:var(--amber-dim);letter-spacing:.1em;margin-bottom:4px}#content-panel .examine-result p{font-family:var(--font-body);font-size:16px;color:var(--text-bright)}#content-panel .examine-continue{font-family:var(--font-data);font-size:14px;color:var(--text-dim);margin-top:4px}#content-panel .npc-list{margin-bottom:12px}#content-panel .npc-card{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border:1px solid var(--border-soft);background:linear-gradient(135deg,rgba(200,169,110,.04),transparent);margin-bottom:2px;cursor:pointer;min-height:44px;width:100%;text-align:left;transition:border-color .1s;border-radius:0}#content-panel .npc-card:hover{border-color:var(--border)}#content-panel .npc-card .npc-name{font-family:var(--font-body);font-size:16px;color:var(--text-bright)}#content-panel .npc-card .npc-sub{font-family:var(--font-data);font-size:13px;color:var(--text-dim)}#content-panel .npc-card .npc-meta{display:flex;align-items:center;gap:6px}#content-panel .npc-card .relationship-indicator{font-size:11px}#content-panel .npc-card .relationship-indicator.ready{color:var(--amber)}#content-panel .npc-card .relationship-indicator.dim{color:var(--text-gone)}#content-panel .npc-card .npc-dots{color:var(--amber-dim);font-size:10px;letter-spacing:2px;font-family:var(--font-data)}#content-panel .examine-list{margin-bottom:12px}#content-panel .examine-btn{display:block;width:100%;max-width:320px;text-align:left;padding:7px 12px;min-height:44px;border:1px solid var(--border-soft);border-left:3px solid var(--border-soft);background:none;color:var(--text-dim);font-family:var(--font-body);font-size:16px;transition:color .1s,border-color .1s;border-radius:0;margin-bottom:2px;cursor:pointer}#content-panel .examine-btn:hover{color:var(--text);border-left-color:var(--border)}#content-panel .examine-btn.done{color:var(--text-gone);border-color:var(--border-faint);cursor:default}#content-panel .dialogue-speaker{font-family:var(--font-display);font-style:italic;color:var(--amber);font-size:15px;margin-bottom:4px}#content-panel .dialogue-rule{height:1px;background:var(--border-soft);margin-bottom:10px}#content-panel .dialogue-text{font-family:var(--font-body);font-size:17px;color:var(--text-bright);margin-bottom:14px;line-height:1.65}#content-panel .dialogue-choices{display:flex;flex-direction:column;gap:4px}#content-panel .dialogue-choice{display:block;width:100%;text-align:left;padding:7px 12px;min-height:44px;border:1px solid var(--border-faint);border-left:3px solid var(--amber-dim);background:linear-gradient(135deg,#c8a96e1a,#c8a96e05);color:var(--text-bright);font-family:var(--font-body);font-size:16px;line-height:1.3;cursor:pointer;transition:background .1s,border-color .1s,color .1s;border-radius:0}#content-panel .dialogue-choice:hover{background:linear-gradient(135deg,#c8a96e2e,#c8a96e0d);border-color:var(--border);border-left-color:var(--amber);color:var(--amber-bright)}#content-panel .dialogue-choice:disabled{color:var(--text-dim);border-left-color:var(--border-soft);cursor:not-allowed;background:none}#content-panel .dialogue-leave{margin-top:8px;padding:7px 12px;min-height:44px;font-family:var(--font-body);font-size:16px;background:none;border:1px solid var(--border-soft);border-left:3px solid var(--border-soft);color:var(--text-dim);cursor:pointer;transition:border-color .1s,color .1s;border-radius:0}#content-panel .dialogue-leave:hover{border-left-color:var(--border);color:var(--text)}#content-panel .archive-desk{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:12px}#content-panel .archive-desk h3{color:var(--amber-dim)}#content-panel .archive-stats{font-family:var(--font-data);font-size:15px;color:var(--text-bright);margin-bottom:8px}#content-panel .archive-btn{display:block;width:100%;text-align:left;padding:7px 12px;min-height:34px;border:1px solid var(--border-faint);border-left:3px solid var(--amber-dim);background:linear-gradient(135deg,#c8a96e1a,#c8a96e05);color:var(--text-bright);font-family:var(--font-body);font-size:12px;cursor:pointer;transition:background .1s;border-radius:0;margin-bottom:12px}#content-panel .archive-btn:hover{background:linear-gradient(135deg,#c8a96e2e,#c8a96e0d)}#content-panel .archive-btn:disabled{opacity:.3;pointer-events:none}#content-panel .seal-card{padding:7px 10px;margin-bottom:3px;background:var(--ocean-surface);border:1px solid var(--border-soft);display:flex;justify-content:space-between;align-items:center;min-height:34px;border-radius:0}#content-panel .seal-card.available{border-color:var(--border);cursor:pointer}#content-panel .seal-card.available:hover{background:var(--ocean-shallow)}#content-panel .seal-card .seal-title{font-family:var(--font-body);font-size:15px;color:var(--text-bright)}#content-panel .seal-card.sealed .seal-title{color:var(--text-dim)}#content-panel .seal-card .seal-cost{font-family:var(--font-data);font-size:13px;color:var(--amber-dim)}#content-panel .seal-card .seal-cost.done{color:var(--text-dim)}#content-panel .seal-note{font-family:var(--font-data);font-size:13px;color:var(--text-dim);margin-top:2px}#content-panel .night-safe,#content-panel .night-dark{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;gap:16px}#content-panel .night-label{font-family:var(--font-display);font-size:24px}#content-panel .night-safe .night-label{color:var(--teal)}#content-panel .night-dark .night-label{color:var(--amber)}#content-panel .night-desc{font-family:var(--font-body);font-size:17px;color:var(--text-bright);max-width:480px;line-height:1.65}#content-panel .night-btn{padding:7px 24px;min-height:34px;font-family:var(--font-body);font-size:13px;cursor:pointer;border:1px solid;transition:background .1s;border-radius:0}#content-panel .night-btn.safe-btn{background:#2e6e5e1f;border-color:var(--teal-dim);color:var(--teal)}#content-panel .night-btn.safe-btn:hover{background:#4a9e8a2e}#content-panel .night-btn.dark-btn{background:#8a70401f;border-color:var(--amber-dim);color:var(--amber)}#content-panel .night-btn.dark-btn:hover{background:#c8a96e2e}#content-panel .death-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}#content-panel .ending-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:12px;overflow-y:auto;padding:28px 16px 24px;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent}#content-panel .death-title{font-family:var(--font-display);font-size:22px;color:var(--crimson);letter-spacing:2px}#content-panel .death-cause{font-family:var(--font-body);font-size:17px;color:var(--text-bright);max-width:480px;line-height:1.65}#content-panel .death-btn{padding:7px 24px;min-height:34px;font-family:var(--font-body);font-size:13px;cursor:pointer;background:#7a30301f;border:1px solid var(--crimson-dim);color:var(--crimson);margin-top:8px;transition:background .1s;border-radius:0}#content-panel .death-btn:hover{background:#7a303038}#content-panel .ending-title{font-family:var(--font-display);font-size:20px;color:var(--amber)}#content-panel .ending-text{font-family:var(--font-body);font-size:17px;color:var(--text-bright);max-width:520px;line-height:1.7;white-space:pre-wrap}#content-panel .ending-btn{padding:7px 24px;min-height:34px;font-family:var(--font-body);font-size:13px;cursor:pointer;background:#8a70401f;border:1px solid var(--amber-dim);color:var(--amber);margin-top:8px;transition:background .1s;border-radius:0}#content-panel .ending-btn:hover{background:#c8a96e2e}#content-panel .ending-subtitle{font-family:var(--font-display);font-style:italic;font-size:17px;color:var(--text);max-width:480px;line-height:1.6}#content-panel .ending-rule{width:240px;height:1px;background:linear-gradient(90deg,transparent 0%,var(--amber-dim) 40%,var(--amber-dim) 60%,transparent 100%);margin:4px 0;flex-shrink:0}#content-panel .ending-epilogue-heading{font-family:var(--font-data);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);margin-top:4px}#content-panel .ending-epilogue{display:flex;flex-direction:column;gap:10px;max-width:480px;text-align:left}#content-panel .ending-epilogue-entry{border-left:2px solid var(--amber-dim);padding:4px 10px}#content-panel .ending-epilogue-name{font-family:var(--font-data);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--amber-dim);margin-bottom:2px}#content-panel .ending-epilogue-text{font-family:var(--font-body);font-size:16px;color:var(--text-bright);line-height:1.6}#content-panel .ending-closing{font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--text-dim);max-width:480px;line-height:1.65}#content-panel .tutorial-hints{margin-top:auto;padding-top:12px}#content-panel .tutorial-hints p{font-family:var(--font-data);font-size:13px;color:var(--text-gone)}#action-panel{flex:0 0 240px;display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--ocean-deep);border-left:1px solid var(--border-soft);overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent}#action-panel .action-label{font-family:var(--font-data);font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:2px}#action-panel button{display:block;width:100%;text-align:left;padding:7px 12px;min-height:44px;border:1px solid var(--border-faint);border-left:3px solid var(--amber-dim);background:linear-gradient(135deg,#c8a96e1a,#c8a96e05);color:var(--text-bright);font-family:var(--font-body);font-size:15px;line-height:1.3;transition:background .1s,border-color .1s,color .1s;border-radius:0}#action-panel button:hover{background:linear-gradient(135deg,#c8a96e2e,#c8a96e0d);border-color:var(--border);border-left-color:var(--amber);color:var(--amber-bright)}#action-panel button.safe-action{border-left-color:var(--teal-dim);background:linear-gradient(135deg,rgba(74,158,138,.08) 0%,transparent 100%)}#action-panel button.safe-action:hover{border-left-color:var(--teal);color:var(--teal)}#action-panel button.danger-action{border-left-color:var(--crimson-dim);background:linear-gradient(135deg,rgba(122,48,48,.08) 0%,transparent 100%)}#action-panel button.danger-action:hover{border-left-color:var(--crimson);color:#c06060}#action-panel button.dim-action{background:none;border-color:var(--border-soft);border-left-color:var(--border-soft);color:var(--text-dim)}#action-panel button.dim-action:hover{color:var(--text);border-left-color:var(--border)}#action-panel button.move-btn{border-left-color:var(--border);color:var(--text-dim);background:none;border-color:var(--border-soft)}#action-panel button.move-btn.discovered{border-left-color:var(--amber-dim);color:var(--text-bright)}#action-panel button.move-btn .move-warn{font-family:var(--font-data);font-size:12px;color:var(--crimson);display:block}#action-panel button:disabled{opacity:.3;pointer-events:none}#action-panel .action-nav{display:flex;gap:6px;margin-top:auto;padding-top:8px}#action-panel .nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:1px solid var(--border-soft);border-radius:0;color:var(--text-dim);background:transparent;font-family:var(--font-data);font-size:12px;letter-spacing:.08em;cursor:pointer;touch-action:manipulation;transition:color .1s,border-color .1s}#action-panel .nav-btn:hover,#action-panel .nav-btn:active{color:var(--amber);border-color:var(--amber-dim)}#action-panel .nav-icon{width:20px;height:20px}#overlay-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:#050a0ff5;border:1px solid var(--border-soft);border-radius:0;pointer-events:auto;overflow-y:auto;padding:0;z-index:50}#overlay-panel.hidden{display:none}#overlay-panel .overlay-header{position:sticky;top:0;background:#050a0ffa;border-bottom:1px solid var(--border-soft);padding:12px 20px;display:flex;align-items:center;justify-content:space-between}#overlay-panel .overlay-title{font-family:var(--font-display);color:var(--amber);font-size:19px;letter-spacing:.02em}#overlay-panel .overlay-close{padding:6px 12px;min-height:34px;min-width:44px;font-family:var(--font-data);font-size:13px;letter-spacing:.06em;cursor:pointer;background:none;border:1px solid var(--border-soft);color:var(--text-dim);transition:border-color .1s,color .1s;border-radius:0}#overlay-panel .overlay-close:hover{border-color:var(--amber-dim);color:var(--amber)}#overlay-panel .overlay-body{padding:20px}.journal-thread{margin-bottom:16px}.journal-thread h3{font-family:var(--font-data);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--amber-dim);margin-bottom:6px;font-weight:400}.journal-entry{border-left:2px solid var(--border-soft);padding:4px 10px;margin-bottom:4px}.journal-entry .entry-loc{font-family:var(--font-data);font-size:13px;color:var(--text-dim)}.journal-entry .entry-text{font-family:var(--font-body);font-size:15px;color:var(--text-bright)}.sealed-insight{padding:8px 12px;margin-bottom:4px;border-left:3px solid var(--amber-dim);background:#c8a96e0d}.sealed-insight .insight-title{font-family:var(--font-body);font-size:15px;color:var(--amber)}.sealed-insight .insight-desc{font-family:var(--font-body);font-size:14px;color:var(--text-bright)}.codex-domain{margin-bottom:16px}.codex-domain h3{font-family:var(--font-data);font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--amber-dim);margin-bottom:6px;font-weight:400}.codex-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.codex-bar-label{font-family:var(--font-data);font-size:12px;color:var(--text-dim);width:80px}.codex-bar-track{flex:1;height:4px;background:var(--ocean-surface);border-radius:0}.codex-bar-fill{height:100%;background:var(--amber-dim);border-radius:0;transition:width .3s}.codex-page{padding:6px 10px;margin-bottom:3px;border-left:2px solid var(--border-soft)}.codex-page.unlocked{border-left-color:var(--amber-dim)}.codex-page .page-title{font-family:var(--font-body);font-size:15px;color:var(--text)}.codex-page.unlocked .page-title{color:var(--text-bright)}.codex-page .page-text{font-family:var(--font-body);font-size:14px;color:var(--text-dim)}.codex-page.unlocked .page-text{color:var(--text)}.codex-empty{font-family:var(--font-data);font-size:15px;color:var(--text-dim);margin-top:8px}.codex-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.codex-tab{padding:4px 10px;font-family:var(--font-data);font-size:13px;letter-spacing:.06em;background:var(--ocean-surface);border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;transition:background .1s,color .1s,border-color .1s;border-radius:0}.codex-tab:hover{background:var(--ocean-shallow);color:var(--text-bright);border-color:var(--border)}.codex-tab.active{background:#8a704026;border-color:var(--amber-dim);color:var(--amber)}.codex-search{width:100%;box-sizing:border-box;padding:6px 10px;margin-bottom:6px;background:var(--ocean-surface);border:1px solid var(--border-soft);color:var(--text-bright);font-family:var(--font-data);font-size:14px;outline:none;border-radius:0;transition:border-color .1s}.codex-search:focus{border-color:var(--amber-dim)}.codex-search::placeholder{color:var(--text-gone)}.codex-count{font-family:var(--font-data);font-size:12px;color:var(--text-dim);margin-bottom:10px;letter-spacing:.06em}.achievement-progress{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.achievement-progress-label{font-family:var(--font-data);font-size:13px;color:var(--amber);min-width:100px}.achievement-progress .codex-bar-track{flex:1}.achievement-progress-count{font-family:var(--font-data);font-size:13px;color:var(--text-dim);min-width:40px;text-align:right}.achievement-row{border-left:2px solid var(--border-soft)}.achievement-row.unlocked{border-left-color:var(--amber-dim)}.achievement-row.locked .page-title{color:var(--text-gone);font-style:italic}.map-canvas-wrapper{width:100%}.map-canvas-wrapper canvas{display:block;width:100%}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-soft)}.settings-label{font-family:var(--font-body);font-size:15px;color:var(--text-bright)}.settings-input{accent-color:var(--amber-dim)}.settings-btn{padding:6px 16px;font-family:var(--font-data);font-size:14px;cursor:pointer;background:none;border:1px solid var(--crimson-dim);color:var(--crimson);transition:background .1s;border-radius:0}.settings-btn:hover{background:#7a30301f}#notifications{position:absolute;top:56px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:100;min-width:300px;max-width:500px}.notif-hint{background:#050a0feb;border:1px solid var(--border-soft);border-left:3px solid var(--amber-dim);padding:8px 16px 8px 12px;font-family:var(--font-body);font-size:16px;color:var(--text-bright);pointer-events:auto;cursor:pointer;animation:notif-in .3s ease;display:flex;align-items:center;gap:10px;border-radius:0}.notif-hint:hover{background:#050a0ffa;border-color:var(--border)}.notif-hint .hint-close{margin-left:auto;flex-shrink:0;color:var(--text-dim);font-size:14px;line-height:1;background:none;border:none;cursor:pointer;font-family:var(--font-data);padding:0 0 0 8px}.notif-hint .hint-close:hover{color:var(--amber)}.notif-toast{background:#050a0feb;border:1px solid var(--border-soft);border-left:3px solid var(--amber);padding:10px 16px;text-align:center;animation:notif-in .3s ease;border-radius:0;pointer-events:none;transition:opacity .35s ease}.notif-toast.notif-toast--fade{opacity:0}.notif-toast .toast-title{font-family:var(--font-body);font-size:13px;color:var(--amber);font-weight:700}.notif-toast .toast-sub{font-family:var(--font-body);font-size:12px;color:var(--text-bright);margin-top:2px}.notif-toast .toast-name{font-style:italic}.notif-milestone{background:#050a0feb;border:1px solid var(--border-soft);border-left:3px solid var(--amber-dim);padding:8px 20px;text-align:center;font-family:var(--font-body);font-size:13px;color:var(--amber);animation:notif-in .3s ease;border-radius:0}@keyframes notif-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px) and (orientation: portrait){#main-area{flex-direction:column}#action-panel{flex:0 0 auto;flex-direction:column;border-left:none;border-top:1px solid var(--border-soft);overflow-y:auto;overflow-x:hidden;max-height:45vh;padding:8px;gap:4px}#action-panel button{min-width:unset;width:100%;flex-shrink:0;text-align:left}#content-panel{flex:1 1 0;overflow-y:auto}input,select,textarea{font-size:16px!important}}@media (max-width: 480px){#hud{padding:4px 8px;font-size:10px;gap:6px}#hud .hud-cell .lbl{font-size:8px}#hud .hud-cell .val{font-size:11px}#hud .hud-cell .bar-track{width:44px}#hud .hud-cell .bar-track.timer{width:56px}.action-btn{font-size:13px;padding:12px 16px;min-height:44px}.title-prompt{bottom:10%;width:90%}.title-lore{font-size:11px;max-width:90%}.title-endings{font-size:10px}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 480px){#action-panel{flex:0 0 140px;border-left:1px solid var(--border-soft);border-top:none;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:4px;padding:6px}#action-panel button{font-size:11px;padding:6px 10px}#content-panel{overflow-y:auto}input,select,textarea{font-size:16px!important}#hud{padding:3px 8px;min-height:36px;font-size:10px;gap:6px}}@media (min-width: 481px) and (max-width: 768px) and (orientation: portrait){#action-panel{max-height:40vh}}@media (max-width: 768px){#action-panel button{font-size:13px;padding:10px 14px;min-height:44px}input,select,textarea{font-size:16px!important}.codex-search{font-size:16px}.codex-tab{padding:8px 10px;min-height:36px}}#game-ui.title-screen #hud,#game-ui.title-screen #main-area{display:none}#game-ui.title-screen{pointer-events:auto}.title-prompt{position:absolute;bottom:10%;left:50%;transform:translate(-50%);text-align:center;pointer-events:auto;min-width:300px;max-width:500px;width:90%}.title-prompt .start-btn{display:block;width:100%;text-align:left;padding:7px 12px;min-height:34px;border:1px solid var(--border-faint);border-left:3px solid var(--amber-dim);background:linear-gradient(135deg,#c8a96e1a,#c8a96e05);color:var(--amber);font-family:var(--font-body);font-size:15px;cursor:pointer;animation:pulse 1.1s ease-in-out infinite;border-radius:0;text-align:center}.title-prompt .new-game-btn{display:block;background:none;border:none;color:var(--text-dim);font-family:var(--font-data);font-size:12px;cursor:pointer;margin-top:6px;padding:4px 16px}.title-prompt .new-game-btn:hover{color:var(--text-bright)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.title-endings{font-family:var(--font-data);font-size:11px;color:var(--text-dim);letter-spacing:.04em;margin-bottom:10px}.title-loop-hint{font-family:var(--font-data);font-size:11px;color:var(--text);margin-top:4px;letter-spacing:.06em}.title-key-hint{font-family:var(--font-data);font-size:11px;color:var(--text-gone);margin-top:10px;letter-spacing:.04em}.title-lore{margin-bottom:16px;padding:10px 16px;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.title-lore-quote{font-family:var(--font-display);font-size:12px;color:var(--text);font-style:italic;line-height:1.5;margin:0 0 4px}.title-lore-source{font-family:var(--font-data);font-size:10px;color:var(--text-dim);margin:0;letter-spacing:.05em}@keyframes title-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.title-screen-fade{animation:title-fade-in .7s ease-out both}.title-game-title{font-family:var(--font-display);font-size:clamp(22px,4vw,36px);color:var(--amber);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 18px rgba(200,169,110,.45),0 0 4px rgba(200,169,110,.25);margin-bottom:8px;line-height:1.1}.title-tagline{font-family:var(--font-display);font-style:italic;font-size:clamp(12px,2vw,15px);color:var(--text-dim);letter-spacing:.06em;margin-bottom:28px}.title-menu{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;width:100%}.title-menu-btn{display:block;width:100%;text-align:left;padding:10px 16px;min-height:44px;border:1px solid var(--border-soft);border-left:3px solid var(--amber-dim);background:linear-gradient(135deg,#c8a96e17,#c8a96e05);color:var(--amber);font-family:var(--font-body);font-size:16px;cursor:pointer;border-radius:0;transition:border-left-color .12s,background .12s,color .12s;letter-spacing:.03em}.title-menu-btn:hover{border-left-color:var(--amber);background:linear-gradient(135deg,#c8a96e29,#c8a96e0d);color:var(--amber-bright)}.title-menu-btn:focus-visible{outline:1px solid var(--amber);outline-offset:2px}.title-menu-btn.continue-btn{border-left-color:var(--teal-dim);color:var(--teal);background:linear-gradient(135deg,rgba(74,158,138,.08) 0%,transparent 100%)}.title-menu-btn.continue-btn:hover{border-left-color:var(--teal);background:linear-gradient(135deg,rgba(74,158,138,.15) 0%,transparent 100%);color:#6fcfbb}.title-menu-btn.settings-btn{border-left-color:var(--border);color:var(--text-dim);background:none;font-size:14px}.title-menu-btn.settings-btn:hover{border-left-color:var(--text-dim);color:var(--text)}.title-settings{width:100%;margin-bottom:20px}.title-settings-heading{font-family:var(--font-data);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:12px;border-bottom:1px solid var(--border-soft);padding-bottom:6px}.title-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:6px 0}.title-settings-label{font-family:var(--font-data);font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.title-setting-toggle{background:none;border:1px solid var(--border-soft);border-left:3px solid var(--border);color:var(--text);font-family:var(--font-data);font-size:12px;padding:5px 10px;cursor:pointer;border-radius:0;transition:border-left-color .12s,color .12s;min-width:100px;text-align:left}.title-setting-toggle.on{border-left-color:var(--teal-dim);color:var(--teal)}.title-setting-toggle.off{border-left-color:var(--crimson);color:var(--text-dim)}.title-setting-toggle:hover{border-left-color:var(--text-dim);color:var(--text-bright)}.title-difficulty-group{display:flex;gap:4px}.title-diff-btn{background:none;border:1px solid var(--border-soft);color:var(--text-dim);font-family:var(--font-data);font-size:11px;padding:4px 10px;cursor:pointer;border-radius:0;transition:border-color .1s,color .1s,background .1s;text-transform:uppercase;letter-spacing:.06em}.title-diff-btn:hover{color:var(--text);border-color:var(--border)}.title-diff-btn.active{border-color:var(--amber-dim);color:var(--amber);background:#c8a96e14}.title-version{position:absolute;bottom:12px;right:16px;font-family:var(--font-data);font-size:10px;color:var(--text-gone);pointer-events:none}@media (max-width: 480px){.title-game-title{letter-spacing:.08em}.title-tagline{margin-bottom:20px}.title-menu-btn{font-size:15px;padding:9px 14px}}.puzzle-panel{margin-top:1rem;padding:1rem;border:1px solid var(--border-soft)}.puzzle-hint{font-family:var(--font-data);font-size:11px;color:var(--text-dim);margin-bottom:.75rem;text-align:center}.puzzle-dials{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.dial-group{display:flex;flex-direction:column;align-items:center;gap:4px}.dial-btn{background:none;border:1px solid var(--border-soft);color:var(--text);font-family:var(--font-data);font-size:14px;padding:2px 10px;cursor:pointer;border-radius:0}.dial-btn:hover{border-color:var(--amber-dim);color:var(--amber)}.dial-value{font-family:var(--font-data);font-size:1.5rem;color:var(--amber);min-width:2ch;text-align:center}.puzzle-submit{width:100%;margin-top:.5rem}.puzzle-solved{font-family:var(--font-body);color:var(--amber);text-align:center;font-size:13px;margin-top:1rem}
