:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7efe0;background:#1d1a17;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel: rgba(36, 30, 24, .82);--panel-solid: #2c241d;--border: rgba(255, 238, 203, .22);--accent: #e3b45f;--accent-strong: #f4c978;--text-muted: #d4c0a0}*{box-sizing:border-box}html,body,#root{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;overscroll-behavior:none}button{border:1px solid var(--border);border-radius:6px;background:#ffffff14;color:#fff7e8;cursor:pointer;font:inherit;padding:.65rem .85rem}button:hover{border-color:#ffeecb80;background:#ffffff24}.primary-action{background:#9d642f;border-color:#c78a4c;color:#fff8ec;font-weight:700}.game-shell,.game-canvas{width:100vw;height:100vh}.game-shell{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}.game-canvas{display:block;outline:none;touch-action:none;user-select:none;-webkit-user-select:none}.system-message{display:grid;min-height:100vh;place-items:center;background:#251e19;color:#fff4df;padding:2rem}.eyebrow{margin:0 0 .35rem;color:var(--accent-strong);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.hud{display:grid;gap:.8rem;left:1rem;max-width:min(33rem,calc(100vw - 2rem));position:absolute;top:1rem}.hud-panel,.quest-tracker,.dialogue-panel,.reflection-content,.menu-content{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 45px #00000042}.hud h1,.quest-tracker h2,.dialogue-panel h2,.reflection-screen h1,.main-menu h1{margin:0;letter-spacing:0}.hud p,.quest-tracker p,.dialogue-panel p,.reflection-screen p,.main-menu p{color:var(--text-muted);margin:.35rem 0 0}.hud-panel{padding:.9rem 1rem}.hud-expand-button{color:inherit;font:inherit;text-align:inherit}.stats-strip{display:flex;flex-wrap:wrap;gap:.45rem}.inventory-strip{align-items:center;display:flex;gap:.6rem}.inventory-strip span{color:var(--text-muted)}.hud-panel-indicator,.hud-detail-panel{display:none}.objective-compass{align-items:center;display:grid;gap:.75rem;grid-template-columns:2.5rem minmax(0,1fr)}.objective-compass span{color:var(--text-muted);display:block;margin-top:.1rem;overflow-wrap:anywhere}.objective-arrow{align-items:center;aspect-ratio:1;background:#e3b45f29;border:1px solid rgba(244,201,120,.45);border-radius:50%;color:#fff0c9;display:grid;font-size:1.35rem;font-weight:900;justify-items:center;line-height:1;transition:transform .12s ease-out}.objective-arrow.is-arrived{background:#6aa65d38;border-color:#b1e89394;color:#efffdd}.objective-arrow svg{display:block;fill:none;height:1.15rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.8;width:1.15rem}.stats-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#e8d9bd;padding:.35rem .55rem;text-transform:capitalize}.stats-strip strong{color:#fff}.stats-strip.is-large span{border-radius:6px;font-size:1rem}.reflection-content .stats-strip.is-large{margin-top:1rem}.reflection-content .stats-strip.is-large{display:flex;flex-wrap:wrap;gap:.45rem}.reflection-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.reflection-actions button{min-height:2.75rem;padding:.75rem 1rem}.interaction-prompt{opacity:.76}.interaction-prompt.is-visible{color:#fff4ce;opacity:1}.mobile-controls{display:none}.toast-stack{display:grid;gap:.55rem;left:50%;position:absolute;top:1rem;transform:translate(-50%);width:min(22rem,calc(100vw - 2rem));z-index:8}.toast{background:#202f24e6;border:1px solid rgba(167,218,151,.42);border-radius:8px;box-shadow:0 12px 30px #0000003d;color:#eefbe8;font-weight:700;padding:.75rem .9rem;text-align:center}.quest-tracker{bottom:1rem;max-width:min(28rem,calc(100vw - 2rem));padding:1rem;position:absolute;right:1rem}.quest-tracker ol{display:grid;gap:.45rem;margin:.8rem 0 0;padding-left:1.2rem}.quest-summary,.quest-close,.quest-current-step{display:none}.quest-tracker li{color:#d9c5a4;padding-left:.25rem}.quest-tracker li.is-current{color:#fff0c9;font-weight:700}.quest-tracker li.is-complete{color:#9fca9c;text-decoration:line-through}.dialogue-panel{bottom:1rem;left:50%;max-width:min(42rem,calc(100vw - 2rem));padding:1rem;position:absolute;transform:translate(-50%);width:100%;z-index:9}.dialogue-header{align-items:center;display:flex;justify-content:space-between}.dialogue-header button{height:2.1rem;padding:0;width:2.1rem}.choice-list,.menu-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.chapter-select{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-top:1.2rem}.chapter-select button{align-items:start;display:grid;gap:.25rem;justify-items:start;min-height:4.4rem;text-align:left}.chapter-select button.is-selected{background:#9d642f7a;border-color:#e3b45f}.chapter-select button:disabled{cursor:not-allowed;opacity:.45}.chapter-select span{color:var(--text-muted)}.dialogue-panel .primary-action{margin-top:1rem}.main-menu,.reflection-screen{align-items:center;background:linear-gradient(#18120c40,#18120cb8),radial-gradient(circle at 70% 20%,rgba(245,198,108,.28),transparent 34%);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:absolute;z-index:10}.menu-content,.reflection-content{max-width:54rem;padding:clamp(1.2rem,3vw,2rem)}.menu-content h1,.reflection-content h1{font-size:clamp(2rem,6vw,4.5rem);line-height:1}.menu-content p,.reflection-content>p{font-size:clamp(1rem,2vw,1.2rem);max-width:44rem}.reflection-grid{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.3rem 0}.reflection-grid article{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:1rem}.reflection-grid h2{font-size:1rem;margin:0}.reference-list{border-top:1px solid var(--border);display:grid;gap:.35rem;margin-top:1rem;padding-top:1rem}@media(max-width:760px){.hud{gap:.45rem;right:1rem;top:max(.65rem,env(safe-area-inset-top))}.quest-tracker{left:1rem;right:1rem}.reflection-grid{grid-template-columns:1fr}}@media(pointer:coarse),(hover:none),(max-width:760px){button{min-height:2.65rem}.reflection-screen{align-items:stretch;justify-content:stretch;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));z-index:20}.reflection-content{max-height:100%;overflow:auto;padding:1rem;width:100%}.reflection-content h1{font-size:clamp(1.8rem,9vw,2.7rem)}.reflection-content>p{font-size:1rem}.reflection-content .stats-strip.is-large{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:none;display:flex;gap:.35rem;left:auto;margin:1rem 0 0;max-width:none;padding:.65rem;position:static;top:auto}.reflection-content .stats-chip{aspect-ratio:auto;background:#ffffff14;border-color:#ffffff1f;display:inline-flex;flex:0 1 auto;font-size:.78rem;height:auto;min-width:0;padding:.32rem .45rem}.reflection-content .stat-name{font-size:.78rem}.reflection-content .stat-icon{display:none}.reflection-content .stats-strip strong{background:transparent;bottom:auto;font-size:.78rem;margin-left:.16rem;min-width:0;padding:0;position:static;right:auto}.reflection-actions{gap:.6rem}.hud{display:block;top:0;right:0;bottom:0;left:0;max-width:none;pointer-events:none;z-index:4}.hud-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#241e189e;border-radius:7px;box-shadow:0 10px 24px #00000029;pointer-events:auto}.hud-expand-button{min-height:0}.hud-panel--chapter{left:max(.55rem,env(safe-area-inset-left));max-width:min(9.25rem,35vw);padding:.42rem .55rem;position:absolute;top:max(.55rem,env(safe-area-inset-top))}.hud h1{font-size:.9rem;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud p{font-size:.68rem;margin-top:.08rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{font-size:.58rem;margin-bottom:.12rem}.stats-strip{background:transparent;border:0;box-shadow:none;gap:.25rem;justify-content:flex-start;left:max(.55rem,env(safe-area-inset-left));max-width:min(11.25rem,48vw);padding:0;position:absolute;top:calc(max(.55rem,env(safe-area-inset-top)) + 7.15rem)}.stats-chip{align-items:center;aspect-ratio:1;background:#241e1894;border-color:#ffeecb3d;display:inline-flex;font-size:0;height:1.5rem;flex:0 0 1.5rem;justify-content:center;min-width:0;padding:0;position:relative}.stats-strip .stat-name{font-size:0}.stat-icon{color:#fff0c9;font-size:.72rem;line-height:1}.stats-strip strong{background:#00000057;border-radius:999px;bottom:-.16rem;color:#fff;font-size:.54rem;line-height:1;min-width:.82rem;padding:.1rem .18rem;position:absolute;right:-.18rem;text-align:center}.hud-panel-indicator{align-items:center;aspect-ratio:1;background:#f4c97829;border:1px solid rgba(244,201,120,.34);border-radius:50%;color:#fff4ce;display:flex;justify-content:center}.hud-panel-indicator svg,.quest-summary-indicator svg{display:block;fill:none;height:.78rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6;width:.78rem}.stats-strip .hud-panel-indicator{flex:0 0 1.5rem;height:1.5rem}.inventory-strip{align-items:center;display:flex;gap:.3rem;left:max(.55rem,env(safe-area-inset-left));max-width:min(10.75rem,42vw);padding:.34rem .5rem;position:absolute;top:calc(max(.55rem,env(safe-area-inset-top)) + 4.25rem)}.inventory-strip .hud-panel-indicator{flex:0 0 1.25rem;height:1.25rem;margin-left:auto}.inventory-strip strong,.inventory-strip span,.interaction-prompt{font-size:.68rem}.inventory-strip span,.interaction-prompt{overflow-wrap:anywhere}.hud-detail-panel{display:block;left:max(.55rem,env(safe-area-inset-left));max-height:min(34vh,15rem);max-width:min(14rem,52vw);overflow:auto;padding:.7rem .75rem;position:absolute;top:calc(max(.55rem,env(safe-area-inset-top)) + 9.4rem);z-index:7}.hud-detail-panel>strong{display:block;font-size:.82rem;padding-right:2rem}.hud-detail-close{align-items:center;border-radius:999px;display:grid;font-size:.68rem;font-weight:900;height:1.65rem;justify-items:center;min-height:0;padding:0;position:absolute;right:.5rem;top:.5rem;width:1.65rem}.hud-detail-panel dl{display:grid;gap:.38rem;margin:.6rem 0 0}.hud-detail-panel dl div{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.hud-detail-panel dt{align-items:center;color:#e8d9bd;display:inline-flex;font-size:.78rem;gap:.4rem;text-transform:capitalize}.hud-detail-panel dd{color:#fff;font-size:.82rem;font-weight:800;margin:0}.hud-detail-panel ul{display:grid;gap:.35rem;margin:.6rem 0 0;padding-left:1rem}.hud-detail-panel li,.hud-detail-panel p{color:#e8d9bd;font-size:.78rem;margin:.6rem 0 0}.objective-compass{background:transparent;border:0;box-shadow:none;gap:.38rem;grid-template-columns:1.9rem auto;max-width:none;padding:0;position:absolute;right:max(.55rem,env(safe-area-inset-right));top:max(.55rem,env(safe-area-inset-top))}.objective-arrow{background:#241e1894;font-size:.9rem}.objective-compass strong{align-self:center;background:#241e1894;border:1px solid rgba(255,238,203,.18);border-radius:999px;color:#fff0c9;font-size:.68rem;line-height:1.1;padding:.2rem .35rem}.objective-compass span{display:none}.interaction-prompt{bottom:calc(15.85rem + env(safe-area-inset-bottom));left:50%;max-width:min(15rem,calc(100vw - 9rem));padding:.4rem .55rem;position:absolute;text-align:center;transform:translate(-50%)}.interaction-prompt:not(.is-visible){display:none}.quest-tracker{background:#241e18a8;bottom:calc(12.45rem + env(safe-area-inset-bottom));left:50%;max-width:min(15rem,calc(100vw - 9rem));overflow:hidden;padding:.42rem .58rem;right:auto;transform:translate(-50%);z-index:4}.quest-summary{align-items:center;background:transparent;border:0;color:#fff0c9;display:grid;font-size:.72rem;font-weight:700;gap:.35rem;grid-template-columns:minmax(0,1fr) 1.25rem;line-height:1.2;min-height:0;padding:0;text-align:left;width:100%}.quest-summary span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-summary-indicator{align-items:center;aspect-ratio:1;background:#f4c97829;border:1px solid rgba(244,201,120,.34);border-radius:50%;color:#fff4ce;display:grid;justify-items:center}.quest-tracker .eyebrow,.quest-tracker h2{display:none}.quest-tracker>p:not(.quest-current-step),.quest-tracker ol,.quest-current-step{display:none}.quest-tracker.is-expanded{background:#241e18e6;bottom:calc(12.45rem + env(safe-area-inset-bottom));left:max(.75rem,env(safe-area-inset-left));max-height:min(48vh,21rem);max-width:none;overflow:auto;padding:.8rem .9rem;right:max(.75rem,env(safe-area-inset-right));transform:none;z-index:7}.quest-tracker.is-expanded .quest-summary{display:none}.quest-close{align-items:center;border-radius:999px;display:grid;font-size:.72rem;font-weight:900;height:1.85rem;justify-items:center;min-height:0;padding:0;position:absolute;right:.55rem;top:.55rem;width:1.85rem}.quest-tracker:not(.is-expanded) .quest-close{display:none}.quest-tracker.is-expanded .eyebrow,.quest-tracker.is-expanded h2,.quest-tracker.is-expanded>p,.quest-tracker.is-expanded ol{display:block}.quest-tracker.is-expanded h2{font-size:1.05rem;line-height:1.12;padding-right:2.2rem}.quest-tracker.is-expanded>p{font-size:.78rem;line-height:1.35;margin-top:.35rem}.quest-tracker.is-expanded ol{display:grid;gap:.35rem;margin-top:.7rem;padding-left:1rem}.quest-tracker.is-expanded li{font-size:.78rem;line-height:1.3}.quest-tracker.is-expanded .quest-current-step{color:#fff0c9;display:block;font-size:.78rem;font-weight:700;margin-top:.55rem;overflow:visible;text-align:left;white-space:normal}.toast-stack{top:max(.65rem,env(safe-area-inset-top));width:min(18rem,calc(100vw - 1.3rem));z-index:8}.toast{font-size:.82rem;padding:.55rem .7rem}.mobile-controls{display:block;top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:6}.mobile-joystick{align-items:center;bottom:calc(4.25rem + env(safe-area-inset-bottom));color:#fff7e8c7;display:grid;gap:.35rem;justify-items:center;pointer-events:auto;position:absolute;touch-action:none;-webkit-user-select:none;user-select:none;width:7.25rem}.mobile-joystick--move{left:max(.9rem,env(safe-area-inset-left))}.mobile-joystick--turn{right:max(.9rem,env(safe-area-inset-right))}.mobile-joystick__base{align-items:center;aspect-ratio:1;background:#12121257;border:1px solid rgba(255,238,203,.28);border-radius:50%;box-shadow:inset 0 0 0 1px #0000003d,0 14px 32px #0000003d;display:grid;justify-items:center;width:5.8rem}.mobile-joystick__thumb{aspect-ratio:1;background:#f4c978cc;border:1px solid rgba(255,248,230,.76);border-radius:50%;box-shadow:0 6px 16px #00000047;width:2.15rem}.mobile-joystick span{font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.mobile-interact{align-items:center;aspect-ratio:1;background:#9d642fd6;border-color:#f4c978c2;border-radius:50%;bottom:calc(11.95rem + env(safe-area-inset-bottom));box-shadow:0 14px 32px #00000047;display:grid;font-weight:900;justify-items:center;min-height:0;padding:0;pointer-events:auto;position:absolute;right:max(1rem,env(safe-area-inset-right));touch-action:manipulation;width:4.3rem}.mobile-interact.is-available{animation:interactPulse 1.15s ease-in-out infinite;background:#cd802ef0;border-color:#ffe8a6f2;box-shadow:0 0 #ffd7788f,0 14px 32px #00000047;color:#fff8df}.mobile-interact.is-available:after{border:2px solid rgba(255,232,166,.72);border-radius:50%;content:"";top:-.42rem;right:-.42rem;bottom:-.42rem;left:-.42rem;position:absolute}.mobile-interact__icon{height:1.75rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1.75rem}@keyframes interactPulse{0%,to{transform:scale(1);box-shadow:0 0 #ffd77885,0 14px 32px #00000047}55%{transform:scale(1.08);box-shadow:0 0 0 .62rem #ffd77800,0 16px 36px #0000004d}}.dialogue-panel{bottom:calc(1.9rem + env(safe-area-inset-bottom));max-height:min(72vh,28rem);overflow:auto}}@media(pointer:coarse)and (orientation:landscape),(hover:none)and (orientation:landscape){.hud{max-width:min(22rem,42vw)}.hud-panel--chapter,.inventory-strip,.objective-compass,.interaction-prompt{max-width:min(18rem,38vw)}.quest-tracker{bottom:max(.65rem,env(safe-area-inset-bottom));left:50%;max-width:min(16rem,34vw);transform:translate(-50%)}.interaction-prompt{bottom:calc(5.85rem + env(safe-area-inset-bottom));max-width:min(16rem,34vw)}.mobile-joystick{bottom:calc(2.75rem + env(safe-area-inset-bottom))}.mobile-interact{bottom:calc(8.8rem + env(safe-area-inset-bottom))}}
