:root{--space-0:#03050c;--space-1:#0a1024;--space-2:#131b38;--panel:#0c1228e0;--panel-solid:#0f1631;--panel-border:#a0b4ff38;--text:#f4f1ea;--text-soft:#c7cbe0;--text-dim:#8e95b5;--warm:#ffb347;--warm-2:#ff8a5c;--warm-ink:#2a1600;--cool:#7cc4ff;--ok:#7be0a6;--focus:#ffe066;--seal-bg:#261e04db;--seal-border:#ffe0668c;--radius:18px;--radius-sm:12px;--touch:56px;--font:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--text-scale:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-contrast=alto]{--panel:#000;--panel-solid:#000;--panel-border:#fff;--text:#fff;--text-soft:#fff;--text-dim:#e8e8e8;--warm:#ffd000}*{box-sizing:border-box}html,body,#root{background:var(--space-0);width:100%;height:100%;color:var(--text);font-family:var(--font);font-size:calc(18px * var(--text-scale));-webkit-tap-highlight-color:transparent;margin:0;line-height:1.4;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:4px solid var(--focus);outline-offset:3px;border-radius:10px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.btn{min-height:var(--touch);min-width:var(--touch);color:var(--text);background:#ffffff14;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;transition:background .2s,transform .15s;display:inline-flex}.btn:hover{background:#ffffff29}.btn:active{transform:scale(.97)}.btn[aria-pressed=true]{border-color:var(--warm);background:#ffb3472e}.btn-warm{background:linear-gradient(180deg, var(--warm), var(--warm-2));color:var(--warm-ink)}.btn-warm:hover{background:linear-gradient(#ffc56b,#ff9d76)}.btn-small{min-width:44px;min-height:44px;padding:6px 14px;font-size:.9em}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px)}.seal{background:var(--seal-bg);border:1px solid var(--seal-border);color:#ffe9a8;letter-spacing:.01em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75em;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}:root[data-motion=reduzido] *,:root[data-motion=reduzido] :before,:root[data-motion=reduzido] :after{transition-duration:.001ms!important;animation-duration:.001ms!important}.app{position:fixed;inset:0;overflow:clip}.home{background:radial-gradient(ellipse at 70% 30%, #1a2350 0%, var(--space-1) 45%, var(--space-0) 100%);place-items:center;padding:24px 16px;display:grid;position:absolute;inset:0;overflow:auto}.home-sky{pointer-events:none;position:absolute;inset:0;overflow:hidden}.home-stars{opacity:.8;background-image:radial-gradient(1px 1px at 20% 30%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 70% 80%,#cfe 50%,#0000 51%),radial-gradient(1.5px 1.5px at 40% 60%,#ffe9c4 50%,#0000 51%),radial-gradient(1px 1px at 85% 15%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 10% 85%,#dde6ff 50%,#0000 51%);background-size:180px 180px,240px 240px,310px 310px,150px 150px,270px 270px;animation:240s linear infinite drift;position:absolute;inset:-50%}@keyframes drift{to{transform:translate(60px,30px)}}.home-earth{aspect-ratio:1;opacity:.9;background:radial-gradient(circle at 35% 40%,#6fb36b 0 8%,#0000 9%),radial-gradient(circle at 55% 62%,#7aa85c 0 11%,#0000 12%),radial-gradient(circle at 62% 30%,#c9b27a 0 6%,#0000 7%),radial-gradient(circle at 40% 45%,#2d6dbd,#173e7a 70%);border-radius:50%;width:min(42vmin,360px);position:absolute;bottom:10%;right:8%;box-shadow:0 0 60px #5aa0ff59,inset -30px -20px 60px #0009}.home-earth-shade{background:linear-gradient(110deg,#0000 45%,#03050cd9 75%);border-radius:50%;position:absolute;inset:0}.home-content{text-align:center;max-width:640px;position:relative}.home h1{letter-spacing:.01em;text-shadow:0 2px 20px #0009;margin:0 0 8px;font-size:clamp(2rem,7vw,3.4rem)}.home-sub{color:var(--text-soft);margin:0 0 28px;font-size:clamp(1.1rem,3.5vw,1.4rem)}.home-buttons{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.home-main{grid-column:1/-1;min-height:68px;font-size:1.25em}.home-warn{border:1px solid var(--warm);border-radius:var(--radius-sm);background:#ffb34726;padding:10px 14px}.home-note{color:var(--text-dim);margin-top:18px}@media (height<=520px) and (aspect-ratio>=1){.home h1{font-size:1.8rem}.home-sub{margin-bottom:14px}.home-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-main{min-height:52px}}.stage{background:var(--space-0);position:absolute;inset:0}.stage-canvas{touch-action:none;cursor:grab;transition:opacity .5s;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.stage.is-transitioning .stage-canvas{opacity:.08}.stage-labels{pointer-events:none;position:absolute;inset:0}.stage.labels-off .scene-label{display:none}.scene-label{color:var(--text);white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #000;background:#03050c8c;border-radius:999px;margin-top:-6px;padding:2px 8px;font-size:.8em;font-weight:700}.scene-label.small{opacity:.85;font-size:.68em}.scene-label.warm{color:#ffe0a3}.scene-label.note{border:1px solid var(--seal-border);color:#ffe9a8;background:#ffe0662e;font-size:.7em}.stage-loading,.stage-2d-missing{color:var(--text-soft);place-items:center;display:grid;position:absolute;inset:0}.hud{--side-w:min(420px, 38vw);z-index:20;padding:max(8px, env(safe-area-inset-top)) 10px max(8px, env(safe-area-inset-bottom));grid-template-columns:fit-content(var(--side-w)) minmax(0, 1fr);pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top""side main""bar bar";gap:8px;display:grid;position:absolute;inset:0}.hud>*{min-width:0;min-height:0}.topbar{grid-area:top}.hud-side{grid-area:side}.hud-main{grid-area:main}.kidbar{grid-area:bar}@media (aspect-ratio<=1),(width<=620px){.hud{grid-template:"top""main"minmax(0,1fr)"side""bar"/minmax(0,1fr)}.hud-side{width:100%;max-height:36vh}}.topbar{pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 8px;display:flex}.topbar>*{pointer-events:auto}.crumbs{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex;position:relative}.crumbs ol{background:var(--panel);border:1px solid var(--panel-border);scrollbar-width:none;border-radius:999px;align-items:center;gap:2px;max-width:calc(100vw - 90px);margin:0;padding:4px 8px;list-style:none;display:flex;overflow-x:auto}.crumbs ol::-webkit-scrollbar{display:none}.crumbs li{flex:none;align-items:center;display:flex}.crumb{min-height:44px;color:var(--text-soft);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 10px;font-weight:700}.crumb:hover{color:var(--text);background:#ffffff1a}.crumb.is-here{background:var(--warm);color:var(--warm-ink)}.crumb-more{min-width:44px;padding:8px 6px}.crumb-sep{color:var(--text-dim);padding:0 1px}.planet-picker{z-index:40;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;width:min(460px,100vw - 24px);margin-top:8px;padding:10px;display:grid;position:absolute;top:100%;left:0}.topbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.topbar-right .btn,.crumb-home,.speech-reopen{background:var(--panel-solid);border-color:var(--panel-border)}.topbar-right .btn:hover,.crumb-home:hover{background:#1c2650}.journey-dots{background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;gap:2px;margin:0;padding:0 8px;list-style:none;display:flex}.dot{background:0 0;border:0;width:28px;height:44px;padding:0;position:relative}.dot:after{content:"";background:#ffffff40;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dot.is-done:after{background:var(--ok)}.dot.is-here:after{background:var(--warm);width:14px;height:14px;box-shadow:0 0 0 3px #ffb3474d}.seals{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;display:flex;position:relative}.seal-btn{cursor:pointer;flex-wrap:wrap;min-height:44px}.seal-btn>span+span:before{content:"·";margin:0 4px}.seal-time{color:#cfe8ff;white-space:nowrap;text-overflow:ellipsis;background:#08162cdb;border-color:#7cc4ff80;max-width:min(560px,100%);display:block;overflow:hidden}.seal-pop{z-index:45;max-width:min(440px,100vw - 24px);margin-top:6px;padding:12px 14px;font-size:.9em;position:absolute;top:100%;left:0}.seal-pop p{margin:4px 0}.objlist{z-index:42;position:relative}.objlist ul{gap:4px;width:min(280px,100vw - 24px);max-height:min(60vh,520px);margin:0;padding:8px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.objlist ul .btn{border-radius:12px;justify-content:space-between;width:100%}.objlist-kind{color:var(--text-dim);font-size:.75em;font-weight:600}.is-on{border-color:var(--warm)!important}.hud-side{overscroll-behavior:contain;pointer-events:none;border-radius:var(--radius);flex-direction:column;justify-content:flex-start;gap:8px;display:flex;overflow-y:auto}.hud-side>*{pointer-events:auto;flex:none}.hud-side>:first-child{margin-top:auto}.speech{width:var(--side-w);max-width:100%;padding:14px 16px}.speech-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.speech h2{color:var(--warm);margin:0;font-size:1em}.speech-line{margin:8px 0 12px;font-size:1.12em}.speech-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.speech-reopen{box-shadow:0 4px 20px #0006}.speech .scene-controls{flex-basis:100%}.scene-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scene-controls.level-adult{flex-direction:column;align-items:stretch;margin-top:8px}@media (aspect-ratio<=1),(width<=620px){.speech{width:100%;padding:10px 12px}.speech-line{margin:6px 0 8px;font-size:1em}}.hud-main{pointer-events:none;position:relative}.hud-main>*{pointer-events:auto}.transition-note{border-radius:var(--radius);border:1px solid var(--seal-border);color:#ffe9a8;text-align:center;z-index:3;background:#0a0e20d9;width:max-content;max-width:min(520px,100%);padding:14px 20px;font-size:1.05em;font-weight:700;animation:.4s ease-out fadein;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);pointer-events:none!important}@keyframes fadein{0%{opacity:0}to{opacity:1}}.infocard{z-index:4;width:min(380px,100%);max-height:100%;padding:16px;position:absolute;top:0;right:0;overflow:auto}@media (aspect-ratio<=1),(width<=620px){.infocard{width:auto;inset:auto 0 0}}.infocard header{flex-wrap:wrap;align-items:baseline;gap:8px;padding-right:48px;display:flex;position:relative}.infocard h2{margin:0;font-size:1.3em}.infocard-kind{color:var(--text-dim);font-size:.85em;font-weight:700}.infocard-close{position:absolute;top:-6px;right:-6px}.infocard-text{font-size:1.05em}.infocard-q{color:#ffe0a3}.infocard-actions{flex-wrap:wrap;gap:8px;display:flex}.infocard-more{border-top:1px solid var(--panel-border);color:var(--text-soft);margin-top:12px;padding-top:10px;font-size:.92em}.infocard-seal{color:#ffe9a8;font-size:.85em}.facts{grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;display:grid}.facts dt{color:var(--text-dim)}.facts dd{color:var(--text);margin:0;font-weight:700}.hud.is-2d .hud-main .stage-2d{background:0 0;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.stage-2d-body{flex:1;min-height:0;position:relative}.hud.is-2d .hud-main .stage-2d .s2d{background:0 0;padding:4px 4px 16px;position:absolute;inset:0}.app:has(.hud.is-2d){background:radial-gradient(ellipse at 50% 0%, var(--space-1), var(--space-0) 75%)}.hud.is-2d .s2d-svg,.hud.is-2d .s2d-square{max-height:max(220px,100vh - 330px)}.stage-2d-wrap{background:radial-gradient(ellipse at 50% 0%, var(--space-1), var(--space-0) 75%);position:absolute;inset:0}.retry-3d{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:min(520px,100%);margin:0 auto 8px;padding:8px 12px;font-size:.9em;display:flex;position:relative}.kidbar{scrollbar-width:none;pointer-events:auto;justify-self:center;gap:6px;max-width:100%;padding:6px;display:flex;overflow-x:auto}.kidbar::-webkit-scrollbar{display:none}.kidbar .btn{flex-direction:column;flex:none;gap:0;min-width:64px;padding:6px 10px;font-size:1.1em;line-height:1.1}.kid-label{color:var(--text-soft);font-size:.62em;font-weight:700}@media (width<=620px){.kidbar{grid-template-columns:repeat(auto-fit,minmax(62px,1fr));justify-self:stretch;gap:4px;display:grid;overflow:visible}.kidbar .btn{width:100%;min-width:0;padding:4px 2px}}.homestack{width:var(--side-w);justify-items:stretch;gap:8px;max-width:100%;display:grid}.homestack ol{gap:6px;width:100%;margin:0;padding:0;list-style:none;display:grid}.homestack li{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--panel-border);opacity:0;align-items:center;gap:12px;padding:8px 14px;font-size:1.05em;font-weight:700;transition:opacity .6s,transform .6s;display:flex;transform:translateY(8px)}.homestack li.is-in{opacity:1;transform:none}.homestack li:nth-child(2){margin-left:10px}.homestack li:nth-child(3){margin-left:20px}.homestack li:nth-child(4){margin-left:30px}.homestack li:nth-child(5){margin-left:40px}.homestack-icon{font-size:1.3em}.homestack-arrow{color:var(--text-dim);margin-left:auto;transform:rotate(90deg)}.homestack-final{border-radius:var(--radius-sm);border:1px solid var(--warm);text-align:center;background:#ffb34729;margin:0;padding:10px 14px;font-weight:800}.homestack-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@media (aspect-ratio<=1),(width<=620px){.homestack{width:100%}.homestack li:nth-child(n){margin-left:0}}.hovertip{z-index:26;pointer-events:none;max-width:280px;padding:10px 12px;font-size:.85em;position:absolute;transform:translate(16px,16px)}.hovertip p{margin:4px 0 0}.hovertip-kind{color:var(--text-dim)}.hovertip-hint{color:#ffe0a3}.dialog-backdrop{z-index:60;background:#00000080;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog-backdrop.is-side{place-items:stretch end;padding:0}.dialog{background:var(--panel-solid);width:min(620px,100%);max-height:calc(100vh - 32px);padding:0;overflow:auto}.is-side .dialog{border-radius:var(--radius) 0 0 var(--radius);width:min(480px,100vw);height:100%;max-height:100vh}.dialog-head{background:var(--panel-solid);border-bottom:1px solid var(--panel-border);z-index:1;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.dialog-head h2{margin:0;font-size:1.2em}.dialog-body{padding:8px 16px 24px}.dialog-body section{border-bottom:1px solid #ffffff12;padding:10px 0 14px}.dialog-body h3{color:var(--warm);margin:6px 0 8px;font-size:1em}.three-q dt{margin-top:8px;font-weight:800}.three-q dd{color:var(--text-soft);margin:2px 0 0}.notes{color:var(--text-soft);padding-left:18px}.notes li{margin:4px 0}.preset-row{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.ctl-toggle{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;display:flex}.ctl-toggle input{width:24px;height:24px;accent-color:var(--warm);flex:none;margin-top:1px}.ctl-slider,.ctl-select{flex-direction:column;gap:4px;padding:6px 0;display:flex}.ctl-slider input[type=range]{width:100%;height:44px;accent-color:var(--warm)}.ctl-select select,.city-custom input{border:1px solid var(--panel-border);background:var(--space-2);border-radius:10px;min-height:44px;padding:6px 10px}.city-custom{gap:8px;margin:8px 0;display:grid}.city-custom label{flex-direction:column;gap:4px;font-size:.9em;display:flex}.help-list{padding-left:4px;list-style:none}.help-list li{margin:8px 0}kbd{background:var(--space-2);border:1px solid var(--panel-border);border-radius:6px;padding:1px 6px;font-size:.85em}.dim{color:var(--text-dim)}.small{font-size:.85em}a{color:var(--cool)}.overlay-full{z-index:50;background:var(--space-0);position:fixed;inset:0;overflow:auto}@media (width<=720px){.hide-narrow,.journey-dots{display:none}}@media (height<=640px){.hud{gap:6px}.speech{padding:8px 10px;position:relative}.speech-head h2{display:none}.speech.has-subject .speech-head h2{margin-right:46px;display:block}.speech-head .btn{min-width:44px;min-height:44px;padding:2px 8px;position:absolute;top:2px;right:2px}.speech-line{margin:0 46px 8px 0;font-size:.95em}.speech .btn-small{min-height:44px;padding:4px 10px}.speech-actions,.scene-controls{gap:6px}.seal-time{display:none}.homestack li{padding:4px 10px;font-size:.85em}.homestack-icon{font-size:1.05em}.homestack-final{padding:6px 10px;font-size:.9em}.homestack-actions .btn{min-height:44px;padding:4px 10px;font-size:.85em}}@media (height<=640px) and (aspect-ratio>=1){.hud{--side-w:min(330px, 42vw)}.kidbar{padding:4px}.kidbar .btn{min-width:48px;min-height:48px;padding:4px 8px}.kid-label{display:none}}@media (height<=640px){.journey-dots,.topbar-right .hide-narrow{display:none}.crumb{padding:6px 8px;font-size:.9em}.homestack ol{flex-wrap:wrap;gap:4px;display:flex}.homestack li{gap:6px;padding:3px 8px}.homestack li:nth-child(n){margin-left:0}.homestack-arrow{display:none}.homestack li:not(:last-child):after{content:"→";color:var(--text-dim);margin-left:2px}.topbar .crumbs{order:0}.topbar .seals{flex:auto;order:1}.topbar .topbar-right{order:2}.crumb-sep{display:none}}@media (width<=620px){.kidbar{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:2px;padding:4px}.kidbar .btn{min-height:48px;font-size:1.15em}.kid-label,.seal-time{display:none}.hud-side{max-height:30vh}.kidbar{gap:1px;padding:2px}.kidbar .btn{padding:2px 0}}@media (width>=900px) and (height>=641px){.seal-time{white-space:normal;text-overflow:clip;max-width:min(640px,100%);overflow:visible}}.dot{width:44px}.journey-count{background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:999px;align-items:center;min-height:44px;padding:0 10px;font-size:.85em;font-weight:800;display:none}@media (width<=720px),(height<=640px){.journey-count{display:inline-flex}}@media (width<=1000px){.journey-dots{display:none}.journey-count{display:inline-flex}}.transition-note{padding:10px 16px;font-size:.95em;top:6px;transform:translate(-50%)}.homestack li{padding:6px 12px}.homestack ol{gap:4px}@media (height<=650px){.home-earth{display:none}}.hud-main{container:livre/size}@container livre (width<=760px){.infocard{width:auto;max-height:55%;inset:auto 0 0}}.overlay-full li a,.dialog li a,.infocard li a{align-items:center;min-height:44px;display:inline-flex}
