:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff8da;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--panel:#1d2d26bd;--panel-strong:#15201ce6;--stroke:#fff8da3d;--gold:#f0cf5c;--coral:#e77768;background:#9bd4e6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button{color:inherit;font:inherit;border:0}.game-shell{background:#9bd4e6;width:100%;height:100%;position:relative}#world{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{top:max(10px, env(safe-area-inset-top));right:max(54px, calc(env(safe-area-inset-right) + 54px));pointer-events:none;grid-template-columns:1fr;place-items:stretch end;gap:8px;display:grid;position:absolute;left:auto}.panel,.toast,.prompt,.dialogue{border:1px solid var(--stroke);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 38px #29483738}.panel{border-radius:8px;padding:clamp(6px,1.1vmin,12px) clamp(8px,1.4vmin,14px)}.mission-panel{max-width:clamp(220px,38vw,460px)}.panel__top{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.title{font-size:clamp(12px,1.7vmin,17px);font-weight:800;line-height:1.2}.mission-title{color:#fff2a6;margin:0 0 2px;font-size:clamp(11px,1.4vmin,14px);font-weight:750;line-height:1.3}.mood{color:#fff8dadb;margin:0;font-size:clamp(10px,1.25vmin,13px);line-height:1.4}.pill{color:#fff4c6;background:#00000029;border:1px solid #fff8da33;border-radius:999px;align-items:center;min-height:20px;padding:2px 7px;font-size:clamp(10px,1.15vmin,12px);display:inline-flex}#state-label{white-space:normal;max-width:100%;line-height:1.25}.bag{min-width:clamp(120px,18vw,200px);max-width:clamp(140px,22vw,240px)}.bag__title{color:#fff8dab8;letter-spacing:0;margin:0 0 4px;font-size:clamp(10px,1.15vmin,12px);font-weight:800}.bag__items{flex-wrap:wrap;gap:4px;display:flex}.empty{color:#fff8da9e;margin:0;font-size:clamp(10px,1.25vmin,13px)}.prompt{left:50%;bottom:max(92px, env(safe-area-inset-bottom));color:#fff7be;opacity:0;pointer-events:none;border-radius:999px;max-width:min(460px,100% - 28px);padding:10px 16px;font-size:14px;transition:opacity .18s,transform .18s;position:absolute;transform:translate(-50%,10px)}.prompt.is-visible{opacity:1;transform:translate(-50%)}.dialogue{left:50%;bottom:max(26px, env(safe-area-inset-bottom));color:#fff8da;opacity:0;pointer-events:none;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;width:min(620px,100% - 28px);padding:12px 14px;transition:opacity .18s,transform .18s;display:grid;position:absolute;transform:translate(-50%,12px)}.dialogue.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.dialogue__name{color:#fff2a6;font-size:13px;font-weight:850}.dialogue__text{color:#fff8daeb;grid-column:1;max-height:4.4em;font-size:14px;line-height:1.45;overflow:auto}.dialogue__close{color:#fff8da;cursor:pointer;background:#e77768eb;border:1px solid #fff8da3d;border-radius:8px;grid-area:1/2/span 2;min-width:64px;min-height:36px}.map-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;z-index:9;background:#00000080;transition:opacity .28s;position:absolute;inset:0}.map-overlay.is-visible{opacity:1;pointer-events:auto}.minimap{left:max(14px, env(safe-area-inset-left));top:max(14px, env(safe-area-inset-top));border:1px solid var(--stroke);pointer-events:none;z-index:3;background:radial-gradient(#78bf66f2 0 58%,#0000 60%),#1d2d26b8;border-radius:8px;width:220px;height:155px;transition:all .35s cubic-bezier(.4,0,.2,1);position:absolute;bottom:auto;right:auto;overflow:hidden;box-shadow:0 16px 38px #29483738}.minimap--expanded{pointer-events:auto;z-index:10;border-radius:12px;width:min(85vw,600px);height:min(60vh,420px);position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0006}.minimap--expanded .map-label{font-size:11px}.minimap--expanded .map-dot{width:14px;height:14px}.minimap--expanded .map-dot--quest{width:16px;height:16px}.map-route{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-route__line{stroke:var(--gold);stroke-width:1.2px;stroke-dasharray:3 2;stroke-linecap:round;opacity:.85}.minimap--expanded .map-route__line{stroke-width:.8px}.fullscreen-button{top:max(10px, env(safe-area-inset-top));left:calc(max(14px, env(safe-area-inset-left)) + 230px);background:var(--panel-strong);color:#fff5bc;cursor:pointer;pointer-events:auto;z-index:5;border:1px solid #fff8da52;border-radius:8px;width:34px;height:34px;font-size:18px;line-height:1;display:block;position:absolute;right:auto;box-shadow:0 10px 24px #00000038}.fullscreen-button:hover,.fullscreen-button:focus-visible{background:#f0cf5c47;outline:none}.pause-button{top:max(10px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));background:var(--panel-strong);color:#fff5bc;cursor:pointer;pointer-events:auto;z-index:5;border:1px solid #fff8da52;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;line-height:1;display:flex;position:absolute;box-shadow:0 10px 24px #00000038}.pause-button:hover,.pause-button:focus-visible{background:#f0cf5c47;outline:none}.pause-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;pointer-events:auto;background:#0f19149e;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.pause-modal.is-visible{display:flex}.pause-modal__card{color:#fff5bc;background:#23322af5;border:1px solid #fff8da2e;border-radius:16px;width:min(420px,100vw - 36px);max-height:calc(100vh - 60px);padding:18px 20px;overflow-y:auto;box-shadow:0 28px 60px #0006}.pause-modal__header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.pause-modal__title{letter-spacing:.04em;color:#fff7c8;font-size:16px;font-weight:700}.pause-modal__close{color:#fff5bc;cursor:pointer;pointer-events:auto;background:#0f191480;border:1px solid #fff8da38;border-radius:6px;width:28px;height:28px;font-size:14px}.pause-modal__close:hover{background:#e7776866}.pause-modal__body{flex-direction:column;gap:14px;display:flex}.pause-section{flex-direction:column;gap:8px;display:flex}.pause-section__label{letter-spacing:.06em;color:#fff8dab3;text-transform:uppercase;font-size:11px;font-weight:700}.pause-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pause-options button{color:#fff5bc;cursor:pointer;background:#0f191480;border:1px solid #fff8da38;border-radius:8px;padding:8px 6px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.pause-options button:hover{background:#f0cf5c2e}.pause-options button.is-active{color:#fff8da;background:#f0cf5c52;border-color:#f0cf5cb3}.pause-help summary{cursor:pointer;color:#fff8dac7;padding:4px 0;font-size:12px;font-weight:700;list-style:none}.pause-help summary::-webkit-details-marker{display:none}.pause-help summary:before{content:"▸ ";transition:transform .16s;display:inline-block}.pause-help[open] summary:before{content:"▾ "}.pause-help__list{color:#fff8dac7;margin:0;padding:6px 0 0;font-size:11px;line-height:1.6;list-style:none}.pause-help__list li+li{margin-top:4px}.pause-modal__actions{gap:8px;margin-top:18px;display:flex}.pause-action{cursor:pointer;border:1px solid #fff8da38;border-radius:10px;flex:1;padding:11px 10px;font-size:13px;font-weight:700;transition:background .12s,transform 80ms}.pause-action:active{transform:scale(.97)}.pause-action--primary{color:#25312a;background:#f0cf5cd9;border-color:#f0cf5c99}.pause-action--primary:hover{background:#f0cf5c}.pause-action--danger{color:#ffb1a4;background:#e777682e;border-color:#e7776873}.pause-action--danger:hover{background:#e7776852}.pause-modal__footer{color:#fff8da85;text-align:center;margin:12px 0 0;font-size:10px}.music-panel{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));border:1px solid var(--stroke);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;z-index:4;border-radius:8px;gap:4px;width:clamp(150px,20vw,200px);padding:clamp(6px,1.1vmin,10px) clamp(8px,1.4vmin,12px);display:grid;position:absolute;top:auto;left:auto;transform:none;box-shadow:0 16px 38px #29483738}.music-panel__label{color:#fff8da9e;letter-spacing:.04em;font-size:clamp(9px,1vmin,11px);font-weight:800}.music-panel__title{color:#fff2a6;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(10px,1.25vmin,13px);font-weight:750;line-height:1.25;overflow:hidden}.music-panel__controls{justify-content:space-between;gap:4px;margin-top:2px;display:flex}.music-panel__controls button{color:#fff5bc;cursor:pointer;background:#0000002e;border:1px solid #fff8da38;border-radius:6px;flex:1;min-height:26px;font-size:clamp(11px,1.4vmin,14px);transition:background .12s}.music-panel__controls button:hover,.music-panel__controls button:focus-visible{background:#f0cf5c47;outline:none}.music-panel.is-playing .music-panel__title{color:#fff7c8}.map-river{background:#4eb6cfd1;border-radius:999px;height:18px;position:absolute;top:43%;left:4%;right:4%;transform:rotate(6deg)}.map-dot{z-index:2;border:2px solid #00000040;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}.map-dot--player{background:#fff3d0}.map-dot--target{background:var(--coral);width:12px;height:12px;display:none;box-shadow:0 0 0 4px #e7776838}.map-dot--target.is-visible{display:block}.map-dot--quest{background:var(--gold);width:12px;height:12px;animation:1.5s ease-in-out infinite quest-pulse;display:none;box-shadow:0 0 0 4px #f0cf5c40}.map-dot--quest.is-visible{display:block}@keyframes quest-pulse{0%,to{box-shadow:0 0 0 3px #f0cf5c40}50%{box-shadow:0 0 0 6px #f0cf5c26}}.map-labels{z-index:1;pointer-events:none;position:absolute;inset:0}.map-label{z-index:1;color:#fff8dae0;white-space:nowrap;text-shadow:0 1px 3px #0000008c;pointer-events:none;font-size:8px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.map-label--p4{display:none}.map-label--scenic{color:#fff1a8}.map-label--route{color:#cfefff}.map-label--danger{color:#ffc3b9}.map-label--hub{color:#fff8da}.minimap--expanded .map-label--p4{opacity:.72;display:block}.toast{left:50%;bottom:max(32px, env(safe-area-inset-bottom));color:#fff7c6;opacity:0;pointer-events:none;border-radius:8px;max-width:min(460px,100% - 28px);padding:10px 14px;font-size:14px;transition:opacity .18s,transform .18s;position:absolute;transform:translate(-50%)}.toast.is-visible{opacity:1;transform:translate(-50%,-8px)}.fold-btn{color:#fff8dab3;cursor:pointer;pointer-events:auto;background:#0000002e;border:1px solid #fff8da38;border-radius:6px;width:24px;height:24px;margin-left:auto;font-size:12px;line-height:1;display:none}.panel__body{transition:none}.joystick{left:max(20px, env(safe-area-inset-left));bottom:max(20px, env(safe-area-inset-bottom));pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;background:#1d2d2673;border:2px solid #fff8da33;border-radius:50%;width:120px;height:120px;display:none;position:absolute}.joystick__knob{pointer-events:none;background:#fff8da99;border:2px solid #fff8da66;border-radius:50%;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000040}.touch-actions{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;flex-direction:column;gap:10px;display:none;position:absolute}.touch-actions button{border:1px solid #fff8da47;border-radius:50%;width:64px;height:64px;font-size:20px;font-weight:850;line-height:1;box-shadow:0 8px 18px #00000038}.touch-actions button:active{transform:scale(.92)}.touch-actions [data-action=jump]{color:#25312a;background:#f0cf5ce6}.touch-actions [data-action=interact]{color:#fff8da;background:#e77768eb}.mobile-toolbar{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:21;pointer-events:auto;flex-direction:row;gap:6px;display:none;position:absolute}.mtb-btn{color:#fff5bc;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#1d2d26bf;border:1px solid #fff8da4d;border-radius:8px;width:36px;height:36px;font-size:16px;line-height:1;transition:background .12s,border-color .12s;box-shadow:0 4px 12px #0003}.mtb-btn.is-active{border-color:var(--gold);background:#f0cf5c4d}@media (pointer:coarse){.joystick{display:block}.touch-actions{display:flex}.game-shell,.game-shell *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.game-shell{touch-action:manipulation}.hud{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0;overflow:visible}.hud .mission-panel,.hud .bag{display:none}.music-panel,.quest-panel{display:none!important}.mission-panel.is-mobile-open,.bag.is-mobile-open{top:calc(max(8px, env(safe-area-inset-top)) + 44px);right:max(8px, env(safe-area-inset-right));z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--stroke);pointer-events:auto;background:#1d2d26e0;border-radius:8px;width:clamp(200px,50vw,300px);max-height:50vh;font-size:12px;position:fixed;bottom:auto;left:auto;overflow-y:auto;box-shadow:0 8px 24px #0000004d;display:block!important}.music-panel.is-mobile-open{top:calc(max(8px, env(safe-area-inset-top)) + 44px);right:max(8px, env(safe-area-inset-right));z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto;background:#1d2d26e0;width:clamp(160px,40vw,220px);position:fixed;bottom:auto;left:auto;transform:none;box-shadow:0 8px 24px #0000004d;display:grid!important}.quest-panel.is-mobile-open{top:calc(max(8px, env(safe-area-inset-top)) + 44px);right:max(8px, env(safe-area-inset-right));z-index:20;pointer-events:auto;background:#1d2d26e0;width:clamp(180px,45vw,260px);max-height:50vh;position:fixed;bottom:auto;left:auto;overflow-y:auto;box-shadow:0 8px 24px #0000004d;display:block!important}.mobile-toolbar{display:flex!important}.pause-button{top:max(8px, env(safe-area-inset-top));right:calc(max(8px, env(safe-area-inset-right)) + 176px);width:36px;height:36px;font-size:18px}.fold-btn{display:none}.prompt{bottom:max(72px, env(safe-area-inset-bottom));border-radius:999px;max-width:min(220px,100% - 180px);padding:5px 11px;font-size:11px;line-height:1.2}.dialogue{bottom:max(100px, env(safe-area-inset-bottom));grid-template-columns:1fr;width:min(560px,100% - 28px);left:50%}.dialogue__close{grid-area:auto/1;justify-self:end}.toast{bottom:max(110px, env(safe-area-inset-bottom));max-width:min(220px,100% - 180px);padding:5px 10px;font-size:11px;line-height:1.2}.minimap:not(.minimap--expanded){top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));width:100px;height:70px;bottom:auto;right:auto}.fullscreen-button{top:max(8px, env(safe-area-inset-top));left:calc(max(8px, env(safe-area-inset-left)) + 108px);right:auto}}.quest-panel{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));border:1px solid var(--stroke);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;z-index:4;border-radius:8px;width:clamp(180px,26vw,260px);position:absolute;box-shadow:0 16px 38px #29483738}.quest-panel__toggle{cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;width:100%;padding:8px 10px;transition:background .12s;display:flex}.quest-panel__toggle:hover{background:#fff8da0f}.quest-panel__icon{font-size:14px}.quest-panel__title{text-align:left;color:#fff2a6;flex:1;font-size:clamp(11px,1.3vmin,14px);font-weight:800}.quest-panel__arrow{color:#fff8da99;font-size:12px}.quest-panel__list{flex-direction:column;gap:2px;padding:0 6px 8px;display:flex}.quest-item{color:#fff8dae6;text-align:left;cursor:pointer;background:#0000001a;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:6px;width:100%;padding:6px 8px;font-size:clamp(10px,1.2vmin,13px);line-height:1.35;transition:background .12s,border-color .12s;display:flex}.quest-item:hover{background:#f0cf5c1f}.quest-item--selected{border-color:var(--gold);background:#f0cf5c29}.quest-item--done{color:#fff8da80;cursor:default}.quest-item--done .quest-item__text{text-decoration:line-through}.quest-phase-header{letter-spacing:.06em;color:var(--gold);text-transform:uppercase;border-bottom:1px solid #f0cf5c2e;padding:6px 10px 4px;font-size:10px;font-weight:700}.quest-phase-advance{border:1px solid var(--gold);width:calc(100% - 16px);color:var(--gold);cursor:pointer;pointer-events:auto;background:#f0cf5c24;border-radius:6px;margin:8px auto;padding:9px 12px;font-size:13px;font-weight:600;transition:background .16s,transform .1s;display:block}.quest-phase-advance:hover{background:#f0cf5c47;transform:scale(1.02)}.quest-phase-advance:active{transform:scale(.98)}.quest-item__icon{flex-shrink:0;font-size:12px;line-height:1.35}.quest-item__text{flex:1}@media (width<=360px){.fullscreen-button{width:30px;height:30px;font-size:16px}}.game-shell.is-intro .hud,.game-shell.is-intro .minimap,.game-shell.is-intro .map-overlay,.game-shell.is-intro .music-panel,.game-shell.is-intro .quest-panel,.game-shell.is-intro .mobile-toolbar,.game-shell.is-intro .pause-button,.game-shell.is-intro .fullscreen-button,.game-shell.is-intro .prompt,.game-shell.is-intro .dialogue,.game-shell.is-intro .joystick,.game-shell.is-intro .touch-actions,.game-shell.is-intro .toast{display:none!important}.intro-screen{z-index:60;text-align:center;pointer-events:auto;justify-content:center;align-items:center;transition:opacity 1.1s;display:flex;position:absolute;inset:0}.intro-screen.is-hidden{display:none}.intro-screen.is-leaving{opacity:0;pointer-events:none}.intro-screen__vignette{pointer-events:none;background:radial-gradient(at 50% 38%,#08121e00 36%,#08121e8c 100%),linear-gradient(#08121e47 0%,#08121e00 30%,#08121e6b 100%);position:absolute;inset:0}.intro-screen__inner{flex-direction:column;align-items:center;gap:10px;padding:24px;animation:1.4s cubic-bezier(.16,.84,.3,1) both introRise;display:flex;position:relative}@keyframes introRise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.intro-screen__eyebrow{letter-spacing:.42em;text-indent:.42em;color:#fff8dabd;text-shadow:0 2px 10px #0006;margin:0;font-size:clamp(11px,1.5vmin,14px);font-weight:700}.intro-screen__title{letter-spacing:.04em;color:#fff8da;text-shadow:0 2px #6e502859,0 10px 36px #00000080,0 0 28px #ffe29659;margin:0;font-size:clamp(34px,7.6vmin,78px);font-weight:900}.intro-screen__subtitle{color:#fff8dae0;text-shadow:0 2px 12px #00000080;margin:2px 0 18px;font-size:clamp(12px,1.9vmin,18px)}.intro-screen__menu{flex-direction:column;gap:12px;width:min(280px,72vw);display:flex}.intro-btn{letter-spacing:.06em;color:#fff8da;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#15201c99;border:1px solid #fff8da52;border-radius:14px;padding:14px 22px;font-size:clamp(15px,2.1vmin,19px);font-weight:800;transition:transform .11s,background .14s,border-color .14s;box-shadow:0 14px 34px #0006}.intro-btn:hover,.intro-btn:focus-visible{background:#f0cf5c38;border-color:#f0cf5cb3}.intro-btn:active{transform:scale(.97)}.intro-btn--primary{color:#2a2014;text-shadow:0 1px #fff6;background:linear-gradient(#f5d66ef5,#e7aa46f5);border-color:#ffecaacc}.intro-btn--primary:hover,.intro-btn--primary:focus-visible{background:linear-gradient(#fae082,#f0b654)}
