.placeholder-art{position:absolute;inset:0}.planet-viewport.is-ready{pointer-events:auto}.is-ready .placeholder-art{display:none}.scene-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.scene-canvas:focus-visible{outline:1px solid #d8a56966;outline-offset:-3px}.world-ready .hero-bottom{display:none}.world-ready .hero-copy{width:37%;pointer-events:auto}.world-ready .hero-copy h1{font-size:clamp(40px,4.1vw,66px)}.scene-close .hero-copy{opacity:.15;pointer-events:none;transition:opacity .3s}.hero-land{margin-top:5px}.free-exploration{font-size:10px;color:var(--muted);margin:10px 0 8px}.land-button,.world-button{font:inherit;cursor:pointer;border-radius:3px;min-height:42px;padding:10px 16px;line-height:1.45;transition:background .15s;color:var(--text);border:1px solid #66717d55;background:#101b28ed;font-size:12px}.land-button{background:#d8a569;color:#10141b;border-color:#e7b983;font-weight:600;box-shadow:0 5px 24px #d89a4020}.land-button:hover{background:#ebba80}.world-button:hover{background:#243548}.world-button:disabled,.land-button:disabled{cursor:default;opacity:.4}.world-ui button:focus-visible,.hero-land:focus-visible,.world-ui select:focus-visible{outline:2px solid #f4bd79;outline-offset:4px}.world-ui{position:absolute;inset:0;z-index:3;pointer-events:none}.world-ui button,.world-ui select,.plot-panel,.joystick{pointer-events:auto}.world-heading{position:absolute;right:var(--gutter);top:34px;text-align:right}.world-eyebrow{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#d8a569;margin:0 0 5px}.world-heading h2{font-size:24px;letter-spacing:-.03em}.world-heading>p:last-child{font-size:11px;color:#9eb1c1;margin:4px 0}.world-top-actions{position:absolute;right:var(--gutter);top:128px;display:flex;gap:8px}.world-top-actions .world-button{font-size:10px;min-height:36px;padding:8px 10px}.orbit-tools{position:absolute;right:var(--gutter);top:181px;display:flex;gap:6px}.icon-button{font-size:21px;padding:3px;width:40px}.orbit-tools .world-button:last-child{font-size:10px}.landing-marker{position:absolute;left:60%;top:60%;transform:translate(-50%,-50%);padding:6px 9px;background:#0a1625d9;color:#ffcc83;border:1px solid #ddb16b66;font:11px var(--font);border-radius:3px;cursor:pointer;white-space:nowrap}.landing-marker>span{margin-left:7px;font-size:16px}.world-controls{position:absolute;bottom:35px;right:var(--gutter);width:min(540px,54%);display:flex;flex-direction:column;align-items:flex-end;gap:10px}.control-hint{color:#afbdc9;background:#080d1580;padding:4px 8px;margin:0;font-size:10px;line-height:1.7;text-align:right}.orbit-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.world-select{display:flex;flex-direction:column;gap:4px;font-size:9px;color:#9eafbf;pointer-events:auto}.world-select select{appearance:auto;border:1px solid #68798a66;border-radius:3px;color:#d8e0e9;background:#101b28;padding:9px 8px;min-height:40px;max-width:220px;font:11px var(--font)}.plot-selector{flex-direction:row;align-items:center;gap:10px}.plot-selector select{max-width:245px;min-height:34px;font-size:10px}.scene-status{position:absolute;bottom:6px;left:var(--gutter);right:var(--gutter);text-align:center;font-size:10px;color:#ddc5a8;margin:0;pointer-events:none}.plot-panel{position:absolute;top:34px;right:var(--gutter);width:310px;max-height:calc(100% - 80px);overflow:auto;background:#0d1929f5;border:1px solid #d8a56966;border-radius:5px;box-shadow:0 15px 80px #0008;padding:24px;z-index:10;backdrop-filter:blur(12px)}.plot-panel h2{font-size:25px;line-height:1.3;margin:7px 20px 12px 0}.plot-panel p{font-size:12px;line-height:1.8;color:#adb9c8}.plot-panel .world-eyebrow{font-size:10px;color:var(--amber)}.plot-panel .plot-status{color:#9cd1cc;font-size:11px}.plot-panel .plot-area{padding-top:14px;border-top:1px solid var(--line);color:#f1d9b8}.plot-panel .plot-price{font-size:11px}.plot-panel .plot-demo-note{font-size:10px;color:#91a2b6}.plot-close{position:absolute;right:8px;top:8px;font-size:21px;width:34px;min-height:34px;padding:0}.plot-panel #share-status{font-size:10px;overflow-wrap:anywhere;margin-bottom:0}.travel-veil{position:absolute;inset:0;background:#101722;opacity:0;pointer-events:none;z-index:8}.world-walking{overflow:hidden}.world-walking .hero{position:fixed;inset:0;height:100dvh;max-height:none;min-height:0;z-index:60;padding:0;background:#122235}.world-walking .hero-copy,.world-walking .hero-edge{display:none}.world-walking .world-heading{left:24px;right:auto;top:22px;text-align:left}.world-walking .world-top-actions{top:24px;right:24px}.world-walking .world-top-actions .world-button{min-height:42px;font-size:12px;background:#0b1525ed}.world-walking .world-controls{bottom:25px;right:24px;left:24px;width:auto;align-items:center}.world-walking .control-hint{text-align:center}.world-walking .world-heading h2{font-size:25px;text-shadow:0 2px 10px #000}.world-walking .scene-status{bottom:4px;color:#e9c99d}.walk-progress{position:absolute;top:119px;left:24px;display:flex;flex-direction:column;gap:5px;color:#f5ddbc;background:#0d192bcc;padding:10px 14px;border:1px solid #ffffff1b;border-radius:3px;font-size:10px;width:180px}.walk-progress progress{width:100%;height:3px;accent-color:var(--amber)}.walk-progress>span:last-child{color:#a2b6c8;font-size:9px}.touch-pad{position:absolute;left:25px;right:25px;bottom:125px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.joystick{width:106px;height:106px;border:1px solid #d8a56999;background:#0c192a88;border-radius:50%;position:relative;touch-action:none;user-select:none}.joystick-knob{position:absolute;left:31px;top:31px;width:42px;height:42px;border-radius:50%;background:#d8a56999;border:1px solid #f1ca91;pointer-events:none}.joystick-label{position:absolute;bottom:-25px;left:0;right:0;text-align:center;color:#e8d9c7;font-size:10px}.touch-look-hint{color:#bacee0;font-size:10px;padding:10px;background:#0d192b88;border-radius:3px;transition:opacity .6s}
.touch-look-hint.is-done{opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}body:not(.world-walking) .scene-paused .scene-canvas{touch-action:pan-y}.scene-paused .landing-marker{display:none}[hidden]{display:none!important}
@media(max-width:1000px){.world-controls{width:56%}.orbit-actions{gap:6px}.world-select select{max-width:180px}.world-walking .world-controls{gap:7px}}
@media(max-width:760px){.world-ready .hero{height:850px;min-height:calc(100svh - 118px)}.world-ready .hero-copy,html:not([lang='en']) .world-ready .hero-copy{width:100%;padding-top:30px;max-width:380px}.world-ready .hero-copy h1{font-size:40px;line-height:1.15;margin-bottom:14px}.world-ready .hero-description{max-width:280px;font-size:12px;margin-bottom:12px}.world-ready .hero-copy .eyebrow{margin-bottom:14px}.world-ready .hero-copy .text-link{display:none}.world-ready .hero-land{font-size:11px;min-height:40px}.world-ready .free-exploration{font-size:9px}.world-heading{top:320px;left:22px;right:auto;text-align:left}.world-heading h2{font-size:20px}.world-heading .world-eyebrow{font-size:8px}.world-top-actions{top:322px;right:22px}.orbit-tools{top:380px;right:22px}.orbit-tools .world-button{min-height:34px}.orbit-tools .icon-button{width:34px}.world-controls{left:22px;right:22px;bottom:30px;width:auto;align-items:stretch;gap:8px}.control-hint{text-align:left;font-size:9px}.orbit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.orbit-actions .land-button{font-size:10px;padding:8px}.world-select select{width:100%;max-width:none;font-size:10px}.plot-selector{justify-content:space-between}.plot-selector select{max-width:210px}.world-heading>p:last-child{font-size:10px}.plot-panel{top:320px;right:22px;left:22px;width:auto;max-height:490px;padding:20px}.landing-marker{font-size:9px}.world-walking .hero{height:100dvh!important;min-height:0}.world-walking .world-heading{left:16px;top:18px}.world-walking .world-heading h2{font-size:20px}.world-walking .world-top-actions{right:12px;top:18px;max-width:45%}.world-walking .world-top-actions .world-button{font-size:10px;padding:8px 10px}.world-walking .walk-progress{left:16px;top:102px;width:150px;padding:8px 10px}.world-walking .world-controls{bottom:24px;left:16px;right:16px}.world-walking .control-hint{font-size:9px}.world-walking .plot-panel{top:95px;left:16px;right:16px;max-height:calc(100dvh - 120px)}.touch-pad{bottom:120px;left:20px;right:20px}.world-walking .scene-status{font-size:9px}.scene-close .hero-copy{opacity:.1}}
@media(max-width:350px){.world-ready .hero-copy h1{font-size:34px}.world-ready .hero{height:850px}.world-heading{top:375px}.world-top-actions{top:376px}.orbit-tools{top:435px}.world-controls{left:18px;right:18px}.plot-selector>span{max-width:65px}.plot-selector select{max-width:190px}.world-walking .world-heading h2{font-size:17px}.joystick{width:92px;height:92px}.joystick-knob{left:24px;top:24px}.touch-look-hint{max-width:110px}}
@media(prefers-reduced-motion:reduce){.scene-close .hero-copy{transition:none}}
.is-ready .scene-canvas{background-image:url('/assets/stars.svg');background-position:center;background-size:1200px 800px}
html .world-ready .hero-copy{width:37%}
.place-marker{background:#0a1625b3;color:#d7e0e9;border-color:#68798a66}
.place-select{flex:1 0 100%}
.place-select select{max-width:none}
@media(max-width:760px){html .world-ready .hero-copy{width:100%}.place-select{grid-column:1/-1}}

/* Rotate-to-play: phones held upright see this prompt instead of the world (explorer.js also pauses input). */
.rotate-gate{display:none}
.rotate-icon{width:72px;height:72px;color:#d8a569}
.rotate-title{margin:0;font-size:20px;line-height:1.3;color:#fff}
.rotate-text{margin:0;max-width:270px;font-size:12px;line-height:1.75;color:#aebccb}
@media(prefers-reduced-motion:no-preference){.rotate-phone{transform-box:fill-box;transform-origin:center;animation:rotate-phone 2.8s ease-in-out infinite}}
@keyframes rotate-phone{0%,15%{transform:rotate(0)}55%,100%{transform:rotate(-90deg)}}
@media(pointer:coarse) and (orientation:portrait) and (max-width:760px){
.world-ready .world-ui>:not(.rotate-gate){display:none!important}
.world-ready .hero-land,.world-ready .free-exploration{display:none}
.world-ready .scene-canvas{pointer-events:none}
.world-ready .rotate-gate{display:flex;position:absolute;left:22px;right:22px;top:320px;bottom:30px;z-index:20;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#080d15c7;border:1px solid #d8a56944;border-radius:5px;backdrop-filter:blur(3px);pointer-events:auto;touch-action:pan-y}
.world-walking .rotate-gate{inset:0;border:0;border-radius:0;background:#0b1422;touch-action:none}
}
@media(pointer:coarse) and (orientation:portrait) and (max-width:350px){.world-ready .rotate-gate{top:375px}}

/* Phones held sideways: the whole screen is the game, with a compact set of controls. */
@media(pointer:coarse) and (orientation:landscape) and (max-height:520px){
html .world-ready .hero{height:100svh;min-height:0;max-height:none}
html .world-ready .hero-copy{width:34%!important;max-width:none;padding-top:18px}
html .world-ready .hero-copy h1{font-size:26px;line-height:1.15;margin-bottom:10px}
.world-ready .hero-copy .eyebrow,.world-ready .hero-description,.world-ready .free-exploration,.world-ready .hero-copy .text-link{display:none}
.world-ready .hero-land{margin-top:0;min-height:38px;font-size:11px}
.world-heading{top:12px;right:16px;left:auto;text-align:right}
.world-heading h2{font-size:18px}
.world-heading .world-eyebrow{display:none}
.world-heading>p:last-child{margin:2px 0 0}
.world-top-actions{top:56px;right:16px}
.orbit-tools{top:98px;right:16px}
.world-controls{left:auto;right:16px;bottom:10px;width:min(560px,62%);align-items:stretch;gap:6px}
.control-hint{display:none}
.orbit-actions{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:6px}
.orbit-actions .world-select{flex:1 1 0;min-width:0}
.world-select select{width:100%;max-width:none;min-height:34px;padding:6px;font-size:10px}
.orbit-actions .land-button{flex:0 0 auto;min-height:34px;padding:6px 12px;font-size:10px}
.plot-selector{justify-content:flex-end}
.plot-selector select{min-height:30px;max-width:230px}
.plot-panel{top:12px;right:16px;left:auto;width:min(300px,46%);max-height:calc(100% - 24px);padding:16px}
.scene-status{bottom:1px}
.world-walking .world-heading{top:12px;left:16px;right:auto;text-align:left}
.world-walking .world-heading h2{font-size:18px}
.world-walking .world-top-actions{top:12px;right:16px;max-width:none}
.world-walking .world-top-actions .world-button{min-height:36px;font-size:11px}
.world-walking .walk-progress{top:12px;left:50%;transform:translateX(-50%);width:200px;padding:8px 10px}
.world-walking .scene-status{top:14px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:46%;padding:4px 10px;border-radius:3px;background:#0d192bb8}
.world-walking .scene-status:empty{display:none}
.world-walking .touch-pad{bottom:56px;left:20px;right:20px}
.world-walking .world-controls{left:16px;right:16px;bottom:10px;width:auto;align-items:flex-end}

.world-walking .plot-panel{top:12px;left:auto;right:16px;width:min(300px,46%);max-height:calc(100dvh - 24px)}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:330px){
.world-walking .joystick{width:88px;height:88px}
.world-walking .joystick-knob{left:22px;top:22px}
.world-walking .touch-pad{bottom:44px}
}

/* Real controls always win over the floating place labels on the globe. */
.world-top-actions,.orbit-tools,.world-controls{z-index:2}

.music-toggle svg{display:block;margin:auto}
.music-toggle .music-slash{display:none}
.music-toggle[aria-pressed="false"] .music-waves{display:none}
.music-toggle[aria-pressed="false"] .music-slash{display:inline}

/* Quest and claiming. Everything below stays hidden until it is relevant; nothing is permanently on screen. */
.plot-card{position:absolute;left:24px;top:112px;width:min(240px,40%);padding:10px 12px;background:#0b1525db;border:1px solid #ffffff1c;border-left:3px solid #d8a569;border-radius:3px;pointer-events:none;z-index:2}
.plot-card p,.plot-card h3{margin:0}
.plot-card-id{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#d8a569;margin-bottom:2px!important}
.plot-card h3{font-size:15px;line-height:1.3;margin-bottom:4px!important}
.plot-card-state{font-size:11px;color:#9cd1cc}
.plot-card-owner{font-size:10px;color:#aebccb;margin-top:3px!important}
.plot-card-owner strong{color:#e8eef5;font-weight:600}
.plot-card-owner:empty{display:none}
.plot-panel .plot-owner{font-size:11px;color:#c9d4e0;margin-top:-8px}
.plot-panel .plot-owner:empty{display:none}

.objectives-panel{position:absolute;top:76px;right:24px;width:min(320px,calc(100% - 48px));max-height:calc(100% - 150px);overflow:auto;padding:16px 18px;background:#0d1929f5;border:1px solid #d8a56955;border-radius:5px;box-shadow:0 15px 60px #0008;backdrop-filter:blur(10px);pointer-events:auto;z-index:11}
.objectives-panel h3{font-size:15px;margin:0 0 4px}
.objectives-player{font-size:10px;color:#9eb1c1;margin:0 0 12px}
.objectives-player strong{color:#f1d9b8;font-weight:600}
.objectives-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.objectives-list li{display:grid;grid-template-columns:16px 1fr;gap:8px;font-size:12px;line-height:1.5;color:#6f8194}
.objectives-list li.is-done{color:#8fa3b4}
.objectives-list li.is-done .objective-mark{color:#7fd6a0}
.objectives-list li.is-current{color:#fff}
.objectives-list li.is-current .objective-mark{color:#f4bd79}
.objectives-toggle[aria-expanded="true"]{background:#243548;border-color:#d8a56988}

.walk-actions{position:absolute;right:24px;bottom:78px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:2}
.walk-actions .world-button,.walk-actions .land-button{pointer-events:auto}
.action-button{min-width:150px;font-size:13px}
.action-button[data-key]::after,.laser-toggle[data-key]::after{content:attr(data-key);margin-left:10px;padding:0 6px;border:1px solid currentColor;border-radius:3px;font-size:10px;line-height:1.6;opacity:.7}
.laser-toggle[aria-pressed="true"]{background:#123a26;border-color:#58ff86;color:#c9ffd9}

@media(max-width:760px){.plot-card{top:88px;left:16px}.objectives-panel{top:70px;right:12px}.walk-actions{right:16px;bottom:70px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:520px){
.plot-card{left:16px;top:62px;width:min(210px,36%);padding:8px 10px}
.plot-card h3{font-size:13px}
.objectives-panel{top:56px;right:16px;width:min(300px,46%);max-height:calc(100% - 70px);padding:14px}
.walk-actions{right:20px;bottom:12px}
.action-button{min-width:130px;min-height:44px}
.world-walking .touch-look-hint{margin-right:150px}
.objectives-list{gap:6px}
.objectives-list li{font-size:11px}
}
@media(pointer:coarse){.action-button[data-key]::after,.laser-toggle[data-key]::after{display:none}}

/* Wide screens, orbit view: headline left, planet centred, one tidy control panel on the right.
   Everything is scoped to "not walking", so the on-foot layout is untouched. */
@media(min-width:1100px){
.world-ready .hero-copy{width:min(340px,26%)}
.world-ready .hero-copy h1{font-size:clamp(34px,3vw,50px)}
.world-ready .hero-description{font-size:14px;line-height:1.7}
body:not(.world-walking) .world-heading{top:26px}
body:not(.world-walking) .world-top-actions{top:104px}
body:not(.world-walking) .orbit-tools{top:152px}
body:not(.world-walking) .world-controls{bottom:28px;width:272px;padding:14px;gap:10px;align-items:stretch;background:#0a1220d9;border:1px solid #ffffff17;border-radius:6px;backdrop-filter:blur(8px)}
body:not(.world-walking) .control-hint{text-align:left;background:none;padding:0;font-size:10px;color:#9fb0c0}
body:not(.world-walking) .orbit-actions{display:grid;grid-template-columns:1fr;gap:10px}
body:not(.world-walking) .world-select{width:100%}
body:not(.world-walking) .world-select select,body:not(.world-walking) .plot-selector select{max-width:none;width:100%}
body:not(.world-walking) .plot-selector{flex-direction:column;align-items:stretch;gap:4px}
body:not(.world-walking) .plot-selector select{min-height:40px;font-size:11px}
body:not(.world-walking) .orbit-actions .land-button{width:100%}
}

/* Plain-language "what can I do here, and why" notes on the plot card and the orbit plot panel. */
.plot-card{width:min(290px,44%)}
.plot-card-note{font-size:10.5px;line-height:1.55;color:#c4cfda;margin-top:8px!important;padding-top:8px;border-top:1px solid #ffffff14}
.plot-card-note:empty,.plot-note:empty{display:none}
.plot-panel .plot-note{font-size:12px;color:#c9d3de;padding-top:12px;border-top:1px solid var(--line)}

/* Thirst and energy: two slim bars under the place name. Tapping them opens the bag. */
.vitals{position:absolute;left:24px;top:104px;display:flex;flex-direction:column;gap:6px;padding:7px 10px;min-height:44px;justify-content:center;background:#0b1525b8;border:1px solid #ffffff17;border-radius:4px;cursor:pointer;color:#dbe4ec;font:inherit;z-index:2}
.vitals:hover{background:#13213399}
.vital{display:flex;align-items:center;gap:7px}
.vital .item-icon{flex:none}
.vital[data-vital="thirst"]{color:#6cc8f2}
.vital[data-vital="energy"]{color:#f4bd79}
.vital-bar{width:112px;height:6px;border-radius:3px;background:#ffffff1f;overflow:hidden}
.vital-fill{display:block;height:100%;width:100%;border-radius:3px;background:currentColor;transition:width .4s linear}
.vital.is-low,.vital.is-empty{color:#ff9a7a}
@media(prefers-reduced-motion:no-preference){.vital.is-low .vital-bar,.vital.is-empty .vital-bar{animation:vital-pulse 1.6s ease-in-out infinite}}
@keyframes vital-pulse{50%{box-shadow:0 0 0 2px #ff9a7a55}}
.world-walking .plot-card{top:164px}

/* The bag button gets a small dot when something new goes in, until the bag is opened. */
.inventory-toggle{position:relative}
.inventory-toggle svg{display:block;margin:auto}
.inventory-toggle.has-new::after{content:'';position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:#f4bd79;box-shadow:0 0 0 2px #0b1525}
.inventory-toggle[aria-expanded="true"]{background:#243548;border-color:#d8a56988}

/* The bag: key items and supplies as tap-sized tiles, with details and a Use button underneath. */
.inventory-panel{position:absolute;top:76px;right:24px;width:min(340px,calc(100% - 48px));max-height:calc(100% - 150px);overflow:auto;padding:14px 16px 16px;background:#0d1929f5;border:1px solid #d8a56955;border-radius:5px;box-shadow:0 15px 60px #0008;backdrop-filter:blur(10px);pointer-events:auto;z-index:11}
.inventory-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.inventory-head h3{font-size:15px;margin:0}
.inventory-close{font-size:20px;width:36px;min-height:36px;padding:0}
.inventory-section{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#d8a569;font-weight:600;margin:12px 0 7px}
.inventory-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.inventory-empty{grid-column:1/-1;font-size:11px;color:#8193a5}
.inventory-item{position:relative;width:100%;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px 8px;font:inherit;font-size:10.5px;line-height:1.3;text-align:center;color:#dbe4ec;background:#13223599;border:1px solid #ffffff1a;border-radius:4px;cursor:pointer}
.inventory-item:hover{background:#1c2e44}
.inventory-item[aria-pressed="true"]{border-color:#f4bd79;background:#243548;box-shadow:inset 0 0 0 1px #f4bd7966}
.inventory-item.is-empty{opacity:.45}
.inventory-count{position:absolute;top:5px;right:6px;font-size:10px;color:#c9d4e0}
.inventory-item[data-key]::before{content:attr(data-key);position:absolute;top:5px;left:6px;padding:0 4px;border:1px solid currentColor;border-radius:3px;font-size:9px;line-height:1.5;opacity:.6}
.item-icon-spade{color:#c9b59a}
.item-icon-key{color:#f2c75c}
.item-icon-laser{color:#a9b6c2}
.item-icon-laser .icon-beam{stroke:#58ff86}
.item-icon-water{color:#6cc8f2}
.item-icon-snack{color:#e9ad5b}
.inventory-detail{margin-top:14px;padding-top:12px;border-top:1px solid #ffffff17}
.inventory-detail p{margin:0}
.inventory-detail-name{font-size:13px;font-weight:600;color:#fff;margin-bottom:3px!important}
.inventory-detail-name:empty{display:none}
.inventory-detail-text{font-size:11.5px;line-height:1.6;color:#aebccb}
.inventory-use{width:100%;margin-top:10px;min-height:44px;font-size:13px}

@media(max-width:760px){.world-walking .vitals{left:16px;top:76px}.world-walking .plot-card{top:132px}.inventory-panel{top:70px;right:12px;width:calc(100% - 24px)}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:520px){
.world-walking .vitals{top:50px;left:16px;padding:5px 8px;gap:5px;min-height:40px}
.vital-bar{width:88px;height:5px}
.world-walking .plot-card{top:100px}
.inventory-panel{top:56px;right:16px;width:min(340px,52%);max-height:calc(100% - 66px);padding:12px 14px}
.inventory-head h3{font-size:14px}
.inventory-grid{grid-template-columns:1fr 1fr;gap:6px}
.inventory-item{flex-direction:row;justify-content:flex-start;min-height:44px;padding:6px 30px 6px 8px;gap:8px;text-align:left}
.inventory-item .item-icon{width:22px;height:22px;flex:none}
.inventory-count{top:50%;transform:translateY(-50%)}
.inventory-use{min-height:40px;margin-top:8px}
.inventory-section{margin:8px 0 5px}
.inventory-detail{margin-top:10px;padding-top:8px}
}
@media(pointer:coarse){.inventory-item[data-key]::before{display:none}}

/* While walking, hints sit top-left under the thirst/energy bars, larger and on a calm grey panel, with the plot card
   stacked underneath. Both join the stack's flow, so they never overlap. In orbit the hint keeps its old spot. */
.world-walking .walk-stack{position:absolute;left:24px;top:164px;width:min(400px,40%);display:flex;flex-direction:column;align-items:flex-start;gap:10px;z-index:3;pointer-events:none}
.world-walking .walk-stack .scene-status{position:static;transform:none;width:auto;max-width:100%;margin:0;padding:10px 14px;font-size:16px;line-height:1.45;text-align:left;color:#eceff2;background:#2b3038e6;border:1px solid #ffffff1f;border-left:3px solid #a9b1bb;border-radius:4px;box-shadow:0 6px 24px #0006;backdrop-filter:blur(6px)}
.world-walking .walk-stack .scene-status:empty{display:none}
@media(prefers-reduced-motion:no-preference){.world-walking .walk-stack .scene-status:not(:empty){animation:hint-in .25s ease-out}}
@keyframes hint-in{from{opacity:0;transform:translateY(-4px)}}
.world-walking .walk-stack .plot-card{position:static;width:min(290px,100%)}
@media(max-width:760px){.world-walking .walk-stack{left:16px;top:132px;width:min(360px,60%)}.world-walking .walk-stack .scene-status{font-size:14px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:520px){
.world-walking .walk-stack{left:16px;top:98px;width:min(320px,calc(50vw - min(140px,17vw) - 28px));gap:6px}
.world-walking .walk-stack .scene-status{font-size:13.5px;padding:7px 11px}
/* No room for both above the joystick, so the plot card takes the free space at the top centre. */
.world-walking .walk-stack .plot-card{position:fixed;left:50%;top:12px;transform:translateX(-50%);width:min(280px,34vw)}
}

/* The objectives icon gets the same small dot as the bag when the quest moves on, until the list is opened. */
.objectives-toggle{position:relative}
.objectives-toggle.has-new::after{content:'';position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:#f4bd79;box-shadow:0 0 0 2px #0b1525}

/* The story on the dark screen after boarding the boat for the first time. Lines fade in one by one. */
.story{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px 24px;text-align:center;pointer-events:auto;cursor:pointer}
.story-lines{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:720px}
.story-line{margin:0;font-size:22px;line-height:1.5;color:#dde3ea}
.story-goal{margin-top:10px;font-size:28px;font-weight:600;color:#f4bd79;letter-spacing:-.01em}
@media(prefers-reduced-motion:no-preference){.story-line{animation:story-in 1.4s ease-out both}}
@keyframes story-in{from{opacity:0;transform:translateY(8px)}}
.story-continue{min-width:180px;min-height:46px;font-size:14px;cursor:pointer}
@media(max-width:760px){.story-line{font-size:17px}.story-goal{font-size:21px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:520px){.story{gap:14px;padding:16px 24px}.story-lines{gap:8px}.story-line{font-size:15px}.story-goal{font-size:19px;margin-top:4px}.story-continue{min-height:40px}}

/* Places not discovered yet stay on the globe, quieter, and can't be landed on. */
.place-marker.is-undiscovered{color:#8796a6;border-style:dashed;background:#0a162599}
.world-select select:disabled{opacity:.6;cursor:default}
