@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2)format("woff2");font-weight:200 800;font-display:swap}:root{--bg:#0e1630;--bg-2:#0a1127;--panel:#1a2550;--panel-2:#222f66;--panel-edge:#101a3d;--line:#ffffff1a;--text:#f4f7ff;--muted:#a3b1e0;--accent:#ffc23d;--accent-edge:#d49408;--accent-ink:#2b1b00;--go:#5bc236;--go-edge:#3a8f1d;--stop:#ff6a45;--stop-edge:#c93e1c;--danger:#ff4d6d;--sky:#59c8f5;--sky-edge:#2b8dbd;--coral:#ff6a45;--coral-edge:#c4421f;--leaf:#5bc236;--leaf-edge:#3a8f1d;--violet:#a78bfa;--violet-edge:#6d52c9;--yellow:#ffc23d;--yellow-edge:#d49408;--tint:#b7b3e6;--tint-d:#6f6ba8;--tint-edge:#4b4880;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-ui:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--ease-spring:cubic-bezier(.34, 1.56, .5, 1);--btn:var(--panel-2);--btn-edge:var(--panel-edge);--btn-ink:#fff;--touch:56px;--pad:clamp(10px, 2vmin, 18px);--radius:22px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.world-moon{--tint:#c4c0f0;--tint-d:#6f6ba8;--tint-edge:#4b4880}.world-mars{--tint:#f08a5d;--tint-d:#b8502c;--tint-edge:#7e3317}.world-europa{--tint:#9bdcf5;--tint-d:#3f86b3;--tint-edge:#265a80}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;font-weight:600;overflow:hidden}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit}img{-webkit-user-drag:none}.sr-only{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}:focus-visible{outline-offset:3px;outline:3px solid #fff}.app{position:fixed;inset:0;overflow:hidden}.screen-wrap{animation:.38s cubic-bezier(.2,.8,.3,1) both screen-in;position:absolute;inset:0}.screen{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.sw-mission,.sw-title{animation-name:fade-in}.btn{min-block-size:var(--touch);min-inline-size:var(--touch);background:var(--btn);color:var(--btn-ink);cursor:pointer;box-shadow:0 5px 0 var(--btn-edge), 0 9px 16px #00000047, inset 0 2px 0 #ffffff2e;touch-action:manipulation;border:0;border-radius:18px;justify-content:center;align-items:center;gap:.5em;padding-inline:18px;font-size:1.05rem;font-weight:800;transition:transform 90ms ease-out,box-shadow 90ms ease-out,filter .15s;display:inline-flex;position:relative}.btn svg{flex:none;font-size:1.5em}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled),.btn.pressed{box-shadow:0 1px 0 var(--btn-edge), 0 2px 6px #0000004d, inset 0 2px 0 #ffffff1f;transform:translateY(4px)scale(1.03,.95)}.btn:disabled{opacity:.45;cursor:default;box-shadow:0 3px 0 var(--btn-edge)}.btn-primary{--btn:var(--accent);--btn-edge:var(--accent-edge);--btn-ink:var(--accent-ink)}.btn-icon{inline-size:var(--touch);padding-inline:0;font-size:1.1rem}.btn-ghost{--btn:#ffffff1a;--btn-edge:#00000040}.btn-danger{--btn:var(--danger);--btn-edge:#a8213f}.badge{background:var(--danger);color:#fff;letter-spacing:.02em;pointer-events:none;border-radius:12px;place-items:center;block-size:24px;min-inline-size:24px;padding-inline:7px;font-size:.72rem;font-weight:800;display:grid;position:absolute;inset-block-start:-8px;inset-inline-end:-6px;box-shadow:0 2px #9a1f3a}.badge.pop{animation:2.2s ease-in-out infinite badge-bounce}.space-bg,.backdrop-fallback{background:radial-gradient(1.4px 1.4px at 12% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 27% 68%, #fff 50%, transparent 51%), radial-gradient(1.6px 1.6px at 41% 14%, #cfe 50%, transparent 51%), radial-gradient(1px 1px at 58% 82%, #fff 50%, transparent 51%), radial-gradient(1.4px 1.4px at 73% 36%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 88% 72%, #fde 50%, transparent 51%), radial-gradient(1.2px 1.2px at 94% 12%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 6% 90%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 64% 52%, #fff 50%, transparent 51%), radial-gradient(ellipse 80% 60% at 80% 0%, #24347a 0%, transparent 60%), radial-gradient(ellipse 70% 50% at 10% 100%, #1a2a66 0%, transparent 60%), var(--bg);animation:6s ease-in-out infinite alternate twinkle-bg;position:absolute;inset:0}.backdrop,.backdrop>*{position:absolute;inset:0}.plain-head{z-index:3;padding:var(--pad) calc(var(--pad) + 4px) 8px;flex:none;align-items:center;gap:14px;display:flex;position:relative}.screen-title{font-family:var(--font-display);letter-spacing:-.01em;flex:1;min-inline-size:0;font-size:clamp(1.4rem,4vmin,2.2rem);font-weight:800}.head-count{white-space:nowrap;background:#ffffff17;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:800;display:inline-flex}.head-count svg{color:var(--accent)}.scroll-body{z-index:2;min-block-size:0;padding:6px calc(var(--pad) + 4px) 28px;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:1;position:relative;overflow:hidden auto}.starrow{gap:2px;line-height:0;display:inline-flex}.starrow-md{font-size:24px}.starrow-sm{font-size:17px}.star{color:#ffffff2e}.star.lit{color:var(--yellow);filter:drop-shadow(0 0 4px #ffc23da6)}.star.twinkle{animation:2.4s ease-in-out infinite twinkle}.title-screen{justify-content:center;align-items:center}.title-shade{pointer-events:none;background:radial-gradient(70% 55% at 50% 45%,#0e16308c,#0000 70%),linear-gradient(#0000 65%,#0e1630d9);position:absolute;inset:0}.corner-end{z-index:5;position:absolute;inset-block-start:var(--pad);inset-inline-end:var(--pad)}.title-main{z-index:4;padding:0 var(--pad);text-align:center;flex-direction:column;align-items:center;gap:clamp(14px,4vmin,40px);display:flex;position:relative}.logo{margin:0}.logo-img{object-fit:contain;filter:drop-shadow(0 10px 24px #00000080);max-block-size:42dvh;inline-size:min(620px,82vw);animation:logo-in .9s var(--ease-spring) both}.logo-text{line-height:.95;font-family:var(--font-display);text-shadow:0 6px #00000040,0 14px 30px #00000073;animation:logo-in .9s var(--ease-spring) both;flex-direction:column;align-items:center;font-weight:900;display:flex}.logo-small{color:var(--accent);font-size:clamp(1.4rem,6vmin,3rem);font-style:italic}.logo-big{background:linear-gradient(#fff 40%,#bfe9ff);color:#0000;paint-order:stroke;letter-spacing:-.02em;filter:drop-shadow(0 5px #2b8dbd);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.8rem,13vmin,7rem)}.play-btn{--touch:84px;min-inline-size:min(300px,70vw);font-size:clamp(1.6rem,5vmin,2.2rem);font-family:var(--font-display);box-shadow:0 8px 0 var(--accent-edge), 0 16px 34px #ffc23d59;border-radius:28px;font-weight:900;animation:2.6s ease-in-out infinite bob,2.6s ease-in-out infinite glow-pulse}.play-btn svg{font-size:1.1em}.title-foot{z-index:4;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex;position:absolute;inset-block-end:max(12px, env(safe-area-inset-bottom));inset-inline:0}.title-foot img{border-radius:8px}.puff{--puff-size:96px;align-items:flex-end;gap:8px;display:flex}.puff-sm{--puff-size:64px}.puff-md{--puff-size:96px}.puff-lg{--puff-size:clamp(110px, 24vmin, 190px)}.puff-portrait{inline-size:var(--puff-size);block-size:var(--puff-size);cursor:pointer;--mouth:0;touch-action:manipulation;background:0 0;border:0;flex:none;padding:0}.puff-img{object-fit:contain;transform-origin:50% 100%;block-size:100%;inline-size:100%;transform:scale(calc(1 + var(--mouth) * .05), calc(1 - var(--mouth) * .06));filter:drop-shadow(0 6px 10px #0006);display:block}.puff.speaking .puff-img{animation:1.4s ease-in-out infinite puff-bob}.puff-bubble{max-inline-size:min(400px,60vw);border-radius:18px;color:#1a2550;text-align:start;cursor:pointer;animation:bubble-in .35s var(--ease-spring) both;transform-origin:0 100%;background:#fff;border:0;border-end-start-radius:6px;margin-block-end:calc(var(--puff-size) * .25);padding:10px 14px;font-size:clamp(.88rem,2.2vmin,1.08rem);font-weight:700;line-height:1.32;display:grid;position:relative;box-shadow:0 4px #00000038,0 10px 22px #00000059}.puff-bubble:before{content:"";clip-path:polygon(100% 0,100% 100%,0 100%);background:#fff;block-size:14px;inline-size:14px;position:absolute;inset-block-end:6px;inset-inline-start:-9px}.puff-text-ghost{visibility:hidden;grid-area:1/1}.puff-text{grid-area:1/1}.screen-puff{z-index:3;position:absolute;inset-block-end:var(--pad);inset-inline-start:calc(var(--pad) + 8px)}.callsign-main{z-index:2;min-block-size:0;padding:0 var(--pad);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(12px,3vmin,28px);display:flex;position:relative}.reels{justify-content:center;gap:clamp(10px,3vw,28px);display:flex}.reel{--item:clamp(46px, 9vmin, 76px);grid-template-rows:1fr 1fr;grid-template-columns:auto auto;align-items:center;gap:8px;display:grid}.reel-window{inline-size:clamp(150px,30vw,300px);block-size:calc(var(--item) * 3);background:var(--panel);box-shadow:0 6px 0 var(--panel-edge), inset 0 4px 18px #00000080;border-radius:24px;grid-area:1/1/3;position:relative;overflow:hidden}.reel-strip{will-change:transform}.reel-item{block-size:var(--item);font-family:var(--font-display);font-weight:800;font-size:calc(var(--item) * .5);opacity:.4;white-space:nowrap;place-items:center;transition:opacity .2s;display:grid}.reel-item.mid{opacity:1;color:var(--accent)}.reel-glass{pointer-events:none;background:linear-gradient(var(--panel) 0%, transparent 32%, transparent 68%, var(--panel) 100%);position:absolute;inset:0}.reel-glass:after{content:"";block-size:var(--item);border-block:3px solid #ffc23d8c;border-radius:14px;position:absolute;inset-block-start:calc(var(--item) - 2px);inset-inline:8px}.reel-arrow{--touch:52px;grid-column:2}.reel-arrow:first-of-type{grid-row:1;align-self:end}.callsign-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.callsign-actions .btn{min-inline-size:150px;font-size:1.2rem}.topbar{z-index:4;padding:var(--pad) calc(var(--pad) + 4px) 8px;flex:none;align-items:center;gap:10px;display:flex;position:relative}.topbar .spacer{flex:1}.callsign-badge{min-block-size:var(--touch);border-radius:999px;align-items:center;gap:10px;max-inline-size:46vw;padding-inline:8px 18px;font-weight:800;display:inline-flex}.callsign-avatar{background:var(--accent);block-size:40px;inline-size:40px;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1.2rem;font-weight:900;display:grid;box-shadow:inset 0 -3px #00000026}.callsign-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.star-total{background:#ffffff17;border-radius:999px;align-items:center;gap:6px;min-block-size:46px;padding:0 16px;font-size:1.25rem;font-weight:800;display:inline-flex}.star-total svg{color:var(--yellow);filter:drop-shadow(0 0 5px #ffc23d99);font-size:1.3em}.star-total .of{color:var(--muted);font-size:.85rem}.top-btn .top-label{font-weight:800}.grown-btn{--touch:48px;opacity:.75;min-block-size:48px;min-inline-size:48px}.map-main{z-index:2;min-block-size:0;padding:0 calc(var(--pad) + 4px) calc(var(--pad) + 2px);flex:1;grid-template-columns:minmax(190px,30%) 1fr;gap:clamp(8px,2vmin,20px);display:grid;position:relative}.orbits{--planet:clamp(44px, 17vh, 150px);flex-direction:column;justify-content:space-around;align-items:center;min-block-size:0;display:flex;position:relative}.orbit-svg{pointer-events:none;block-size:100%;inline-size:100%;position:absolute;inset:0;overflow:visible}.orbit-line{fill:none;stroke:#ffffff47;stroke-width:3px;stroke-dasharray:1 11;stroke-linecap:round}.planet{z-index:2;cursor:pointer;animation:6s ease-in-out infinite float;animation-delay:var(--float-delay,0s);transition:scale .25s var(--ease-spring);touch-action:manipulation;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;display:flex;position:relative}.planet-slot-0{translate:-10%}.planet-slot-1{translate:12%}.planet-slot-2{translate:-10%}.planet:active{scale:.94}.planet.selected{scale:1.08}.planet-body{inline-size:var(--planet);block-size:var(--planet);place-items:center;display:grid;position:relative}.planet-art{object-fit:contain;filter:drop-shadow(0 10px 16px #00000080);block-size:100%;inline-size:100%}.planet.locked .planet-art{filter:grayscale(.75)brightness(.55)drop-shadow(0 10px 16px #00000080)}.planet.selected .planet-body:before{content:"";border:3px dashed var(--accent);border-radius:50%;animation:18s linear infinite spin-slow;position:absolute;inset:-9px}.planet-lock{background:#0e1630d1;border-radius:50%;place-items:center;block-size:44px;inline-size:44px;font-size:1.4rem;display:grid;position:absolute;box-shadow:0 3px #0000004d}.planet-name{font-family:var(--font-display);text-shadow:0 2px 6px #0009;font-size:clamp(.95rem,2.4vmin,1.25rem);font-weight:800}.planet-count{color:var(--muted);background:#0000004d;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:800}.planet-ball{border-radius:50%;block-size:100%;inline-size:100%;display:block;position:relative;overflow:hidden;box-shadow:inset -14px -16px 28px #00000073,inset 8px 8px 20px #ffffff40,0 10px 16px #0006}.planet-ball i{background:#0000002e;border-radius:50%;position:absolute;box-shadow:inset 2px 2px 3px #00000040}.planet-ball i:first-child{block-size:24%;inline-size:24%;inset-block-start:22%;inset-inline-start:18%}.planet-ball i:nth-child(2){block-size:16%;inline-size:16%;inset-block-start:52%;inset-inline-start:58%}.planet-ball i:nth-child(3){block-size:11%;inline-size:11%;inset-block-start:68%;inset-inline-start:36%}.planet-ball.planet-moon{background:radial-gradient(circle at 32% 28%,#f1efff,#b6b3dc 50%,#6c6a98)}.planet-ball.planet-mars{background:radial-gradient(circle at 32% 28%,#ffb48a,#d9633a 50%,#8a3118)}.planet-ball.planet-mars:after{content:"";background:radial-gradient(at 50% 0,#fff7ee,#0000 70%);block-size:14%;position:absolute;inset-block-start:6%;inset-inline:0}.planet-ball.planet-europa{background:radial-gradient(circle at 32% 28%,#fff,#a9dff5 45%,#3f86b3)}.planet-ball.planet-europa i{box-shadow:none;background:0 0;border-block-start:2px solid #285a8c66;border-radius:0;transform:rotate(-24deg)}.rocket{z-index:4;pointer-events:none;block-size:0;inline-size:0;transition:transform 1.15s cubic-bezier(.55,0,.2,1);position:absolute;inset-block-start:0;inset-inline-start:0}.rocket-body{color:#fff;filter:drop-shadow(0 4px 6px #00000073);block-size:44px;inline-size:44px;font-size:44px;line-height:0;transition:transform .4s;position:absolute;inset-block-start:-22px;inset-inline-start:-22px}.rocket-body svg{color:#fff;stroke:#1a2550;stroke-width:1.4px}.rocket .flame{opacity:0;transform-origin:50% 0;background:linear-gradient(#ffe27a,#ff6a45 70%,#0000);border-radius:50% 50% 60% 60%;block-size:26px;inline-size:14px;margin-inline-start:-7px;position:absolute;inset-block-start:88%;inset-inline-start:50%}.rocket.flying .flame{opacity:1;animation:.14s ease-in-out infinite alternate flame}.world-panel{min-block-size:0;box-shadow:0 6px 0 var(--panel-edge), inset 0 2px 0 #ffffff14;background:linear-gradient(#222f66c7,#1a2550c7);border-radius:28px;flex-direction:column;padding:14px clamp(14px,2.5vmin,26px) 12px;animation:.45s cubic-bezier(.2,.9,.3,1) both panel-in;display:flex;position:relative}.world-head{flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.world-name{font-family:var(--font-display);color:var(--tint);font-size:clamp(1.4rem,4vmin,2.3rem);font-weight:900;line-height:1}.world-idea{color:var(--muted);background:#ffffff1a;border-radius:999px;margin-block-start:4px;padding:2px 12px;font-size:.82rem;font-weight:800;display:inline-block}.world-stars{align-items:center;gap:6px;font-size:1.1rem;font-weight:800;display:inline-flex}.world-stars svg{color:var(--yellow)}.path{flex:1;min-block-size:0;margin-block-start:8px;position:relative}.path-svg{pointer-events:none;block-size:100%;inline-size:100%;position:absolute;inset:0;overflow:visible}.path-line{fill:none;stroke:#fff3;stroke-width:9px;stroke-linecap:round;stroke-dasharray:2 16}.node{--d:64px;cursor:pointer;animation:node-in .5s var(--ease-spring) both;animation-delay:calc(var(--i) * 70ms + .12s);touch-action:manipulation;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:absolute;translate:-50% -50%}.node-disc{inline-size:var(--d);block-size:var(--d);font-family:var(--font-display);font-weight:900;font-size:calc(var(--d) * .42);color:var(--text);background:var(--panel-2);box-shadow:0 5px 0 var(--panel-edge), 0 8px 14px #0000004d;border:3px solid #ffffff2e;border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:relative}.node:active .node-disc{box-shadow:0 1px 0 var(--panel-edge);transform:translateY(4px)scale(.96)}.node.done .node-disc{background:var(--tint-d);border-color:var(--tint);box-shadow:0 5px 0 var(--tint-edge), 0 8px 14px #0000004d}.node.current .node-disc{background:var(--accent);color:var(--accent-ink);box-shadow:0 5px 0 var(--accent-edge), 0 0 0 0 #ffc23d99;border-color:#fff;animation:1.6s ease-out infinite node-pulse}.node.locked .node-disc{color:#fff6;background:#1b2452;border-color:#ffffff14}.node-meta{display:contents}.node-stars{margin-block-end:3px;position:absolute;inset-block-end:100%}.node-title{white-space:nowrap;color:var(--text);text-shadow:0 2px 4px #000000b3;text-overflow:ellipsis;max-inline-size:9em;margin-block-start:7px;font-size:.8rem;font-weight:800;position:absolute;inset-block-start:100%;overflow:hidden}.node.locked .node-title{color:var(--muted)}.world-lock{z-index:3;text-align:center;pointer-events:none;animation:pop-up .4s var(--ease-spring) both;background:#0e1630e6;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:18px 20px;font-size:1.1rem;display:flex;position:absolute;inset-block-start:50%;inset-inline:8%;translate:0 -50%;box-shadow:0 6px #0000004d}.world-lock>svg{color:var(--accent);font-size:2.2rem}.lock-meter{gap:6px;display:flex}.lock-meter i{background:#ffffff26;border-radius:5px;block-size:10px;inline-size:22px}.lock-meter i.on{background:var(--accent)}.map-puff{z-index:6;position:absolute;inset-block-end:calc(var(--pad) + 4px);inset-inline-start:calc(var(--pad) + 8px)}.mission{background:var(--bg-2);--blk:56px;--tool:68px;grid-template-columns:58% 42%;display:grid;position:absolute;inset:0}.m-stage{background:#0a1230;min-block-size:0;min-inline-size:0;position:relative;overflow:hidden}.stage-slot{position:absolute;inset:0}.stage-slot>*{block-size:100%;inline-size:100%}.stage-fallback{background:radial-gradient(circle at 60% 30%,#2a3a7c,#0b1230)}.m-top{z-index:5;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;inset-block-start:10px;inset-inline:10px}.m-top>*{pointer-events:auto}.m-back,.m-sound{--touch:52px;background:#0e1630c7}.m-title{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e1630c7;border-radius:16px;flex-direction:column;min-inline-size:0;padding:6px 14px;display:flex}.m-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--tint);font-size:.7rem;font-weight:800}.m-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1rem,2.4vmin,1.4rem);font-weight:800;line-height:1.1;overflow:hidden}.m-fix{background:var(--coral);box-shadow:0 3px 0 var(--coral-edge);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:800}.m-top .m-sound{margin-inline-start:auto}.m-puff{z-index:4;pointer-events:none;max-inline-size:calc(100% - 80px);position:absolute;inset-block-end:10px;inset-inline-start:10px}.m-puff>*{pointer-events:auto}.m-reset{--touch:52px;z-index:5;animation:pop-up .3s var(--ease-spring) both;background:#0e1630d1;position:absolute;inset-block-end:10px;inset-inline-end:10px}.m-editor{background:linear-gradient(#131d44,#0e1636);border-inline-start:4px solid #0a1127;flex-direction:column;gap:10px;min-block-size:0;min-inline-size:0;padding:10px 12px 12px;display:flex;position:relative}.m-toolbox{background:#ffffff0d;border-radius:20px;flex-wrap:wrap;flex:none;justify-content:center;gap:10px;padding:8px 10px 12px;display:flex}.tool{inline-size:var(--tool);block-size:var(--tool);background:var(--c);color:#fff;cursor:grab;box-shadow:0 6px 0 var(--c-edge), 0 10px 14px #0000004d, inset 0 3px 0 #ffffff59;touch-action:none;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;transition:transform .1s,box-shadow .1s;display:flex;position:relative}.tool .blk-icon{font-size:calc(var(--tool) * .5)}.tool-label{letter-spacing:.01em;margin-block-start:2px;font-size:.66rem;font-weight:800;line-height:1}.tool:active:not(:disabled){box-shadow:0 2px 0 var(--c-edge);transform:translateY(4px)}.tool:disabled{opacity:.4;cursor:default}.blk-fwd{--c:var(--sky);--c-edge:var(--sky-edge)}.blk-left,.blk-right{--c:var(--yellow);--c-edge:var(--yellow-edge);color:var(--accent-ink)!important}.blk-drill{--c:var(--coral);--c-edge:var(--coral-edge)}.blk-repeat{--c:var(--leaf);--c-edge:var(--leaf-edge)}.blk-call{--c:var(--violet);--c-edge:var(--violet-edge)}.m-areas{flex-direction:column;flex:1 1 0;gap:10px;min-block-size:0;display:flex}.area{background:var(--panel);min-block-size:0;box-shadow:0 5px 0 var(--panel-edge), inset 0 2px 0 #ffffff0f;border-radius:22px;flex-direction:column;flex:1 1 0;transition:box-shadow .2s;display:flex;position:relative}.area-fn{--area-c:var(--violet);flex-grow:.8}.area.is-root-target{box-shadow:0 5px 0 var(--panel-edge), 0 0 0 3px #ffc23d8c}.area-fn.is-root-target{box-shadow:0 5px 0 var(--panel-edge), 0 0 0 3px #a78bfab3}.area.is-glow{box-shadow:0 5px 0 var(--panel-edge), 0 0 0 4px var(--violet), 0 0 28px 6px #a78bfaa6}.area.is-drop{background:#202e69}.area-head{flex-wrap:wrap;flex:none;align-items:center;gap:8px 12px;padding:8px 10px 4px 14px;display:flex}.area-title{font-family:var(--font-display);font-size:1.05rem;font-weight:800}.area-chip{background:var(--violet);block-size:30px;inline-size:30px;box-shadow:0 3px 0 var(--violet-edge);border-radius:9px;place-items:center;font-size:18px;display:grid}.area-actions{gap:6px;margin-inline-start:auto;display:flex}.mini{--touch:44px;border-radius:14px;min-block-size:44px;font-size:1rem}.area-body{touch-action:pan-y;overscroll-behavior:contain;flex-direction:column;flex:1;min-block-size:0;padding:16px 14px 12px;display:flex;position:relative;overflow:hidden auto}.area-empty{text-align:center;color:var(--muted);pointer-events:none;place-items:center;padding:0 16px;padding-block-start:30px;font-weight:700;display:grid;position:absolute;inset:0}.memory{flex:140px;align-items:center;gap:8px;min-inline-size:0;display:flex}.memory-label{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:800}.memory-bar{flex:1;gap:3px;min-inline-size:60px;max-inline-size:220px;display:flex}.seg{block-size:12px;max-inline-size:22px;transition:background .25s, transform .4s var(--ease-spring);background:#ffffff24;border-radius:4px;flex:1}.seg.on{background:var(--accent);transform:scaleY(1.25);box-shadow:0 0 8px #ffc23d8c}.memory.full .seg.on{background:var(--coral);box-shadow:0 0 8px #ff6a458c}.memory.full .memory-label{color:#ffd0c2}.memory.shake{animation:.5s shake}.memory.shake .seg.on{background:var(--danger)}.list{min-block-size:var(--blk);flex-wrap:wrap;flex:1 0 auto;align-content:flex-start;align-items:flex-start;gap:10px;display:flex}.rep-body{flex:1 0 auto;gap:8px}.area-body>.list{flex:1 0 auto}.blk{inline-size:var(--blk);block-size:var(--blk);background:var(--c);color:#fff;box-shadow:0 5px 0 var(--c-edge), 0 8px 12px #00000040, inset 0 3px 0 #ffffff59;touch-action:none;cursor:grab;animation:block-in .32s var(--ease-spring) both;border-radius:16px;flex:none;place-items:center;transition:box-shadow .15s;display:grid;position:relative}.blk .blk-icon{font-size:calc(var(--blk) * .58)}.blk-num{opacity:.7;pointer-events:none;font-size:.66rem;font-weight:800;line-height:1;position:absolute;inset-block-start:3px;inset-inline-start:6px}.is-src{display:none!important}.gap{inline-size:var(--blk);block-size:var(--blk);animation:gap-in .2s var(--ease-spring) both;background:#ffffff1a;border:3px dashed #fff9;border-radius:16px;flex:none}.cap{inline-size:calc(var(--blk) * .62);block-size:var(--blk);opacity:.9;border:3px dashed #ffffff47;border-radius:16px;flex:none;place-items:center;display:grid}.cap:after{content:"+";color:#ffffff73;font-size:1.5rem;font-weight:800}.list.is-target>.cap{border-color:#ffc23de6;animation:1.4s ease-in-out infinite cap-pulse}.list.is-target>.cap:after{color:var(--accent)}.area-fn .list.is-target>.cap{border-color:#a78bfaf2}.area-fn .list.is-target>.cap:after{color:var(--violet)}.is-selected{outline-offset:3px;outline:3px solid #fff}.blk.is-active,.rep.is-active>.rep-head{z-index:2}.blk.is-active{box-shadow:0 0 0 4px #fff, 0 0 26px 8px var(--c), 0 5px 0 var(--c-edge);filter:brightness(1.18)}.blk.is-leaf{animation:none;transform:scale(1.14)}.blk.is-culprit,.rep.is-culprit>.rep-head{animation:.6s ease-in-out 3 wobble}.blk.is-culprit{box-shadow:0 0 0 4px var(--danger), 0 5px 0 var(--c-edge)}.blk-bang{z-index:3;background:var(--danger);color:#fff;block-size:28px;inline-size:28px;animation:badge-pop .5s var(--ease-spring) both;border-radius:50%;place-items:center;font-size:17px;font-weight:900;display:grid;position:absolute;inset-block-start:-11px;inset-inline-end:-11px;box-shadow:0 3px #9a1f3a}.blk-x{z-index:4;background:var(--danger);color:#fff;cursor:pointer;block-size:30px;inline-size:30px;animation:badge-pop .3s var(--ease-spring) both;border:0;border-radius:50%;place-items:center;padding:0;font-size:15px;display:grid;position:absolute;inset-block-start:-13px;inset-inline-start:-13px;box-shadow:0 3px #9a1f3a}.blk-x:before{content:"";position:absolute;inset:-12px}.rep{background:var(--leaf);max-inline-size:100%;box-shadow:0 5px 0 var(--leaf-edge), 0 8px 12px #00000040, inset 0 3px 0 #ffffff4d;touch-action:none;cursor:grab;animation:block-in .32s var(--ease-spring) both;color:#fff;border-radius:20px;flex-direction:column;flex:0 auto;gap:6px;padding:6px 8px 8px;display:flex;position:relative}.rep.is-target{outline:3px solid var(--accent);outline-offset:3px}.rep.is-active{box-shadow:0 0 0 4px #fff, 0 0 26px 8px var(--leaf), 0 5px 0 var(--leaf-edge)}.rep.is-culprit{box-shadow:0 0 0 4px var(--danger), 0 5px 0 var(--leaf-edge)}.rep-head{align-items:center;gap:8px;min-block-size:40px;padding-inline:2px;display:flex;position:relative}.rep-head .blk-icon{flex:none;font-size:30px}.rep-head .blk-num{inset-block-start:-4px;inset-inline-start:0}.stepper{background:#00000040;border-radius:999px;align-items:center;gap:2px;margin-inline-start:auto;padding:3px;display:inline-flex}.step-btn{color:#2d6b17;cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;place-items:center;block-size:36px;inline-size:36px;padding:0;font-size:15px;transition:transform 80ms;display:grid;position:relative;box-shadow:0 3px #00000038}.step-btn:before{content:"";position:absolute;inset:-6px}.step-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #00000038}.step-btn:disabled{opacity:.35}.step-n{text-align:center;min-inline-size:30px;font-family:var(--font-display);animation:num-pop .25s var(--ease-spring);font-size:1.35rem;font-weight:900}.rep-count{color:#2d6b17;animation:badge-pop .3s var(--ease-spring) both;z-index:3;background:#fff;border-radius:999px;padding:2px 9px;font-size:.85rem;font-weight:900;position:absolute;inset-block-start:-12px;inset-inline-start:14px;box-shadow:0 3px #0003}.rep .rep-body{min-block-size:calc(var(--blk) + 16px);min-inline-size:calc(var(--blk) * 1.9);background:#00000042;border-radius:14px;padding:8px;box-shadow:inset 0 3px 8px #0000004d}.rep .rep-body.is-target{background:#00000057}.rep .blk-bang{inset-block-start:-14px}.m-controls{flex:none;align-items:center;gap:8px;min-inline-size:0;display:flex;position:relative}.m-controls>*{flex-shrink:0}.m-controls>.go{flex-shrink:1}.ctl{--touch:56px}.step-btn-ctl{flex-direction:column;gap:0;min-block-size:56px;inline-size:56px;padding-inline:8px;font-size:.7rem}.step-btn-ctl svg{font-size:1.7em}.ctl-label{line-height:1}.speed{background:#0000004d;border-radius:18px;gap:2px;padding:4px;display:flex}.speed-opt{block-size:48px;inline-size:42px;color:var(--muted);cursor:pointer;transition:background .15s, transform .12s var(--ease-spring);background:0 0;border:0;border-radius:14px;place-items:center;font-size:1.5rem;display:grid}.speed-opt.on{background:var(--accent);color:var(--accent-ink);box-shadow:0 3px 0 var(--accent-edge);transform:translateY(-1px)}.speed-opt:active{transform:scale(.92)}.go{--btn:var(--go);--btn-edge:var(--go-edge);--btn-ink:#fff;min-block-size:68px;min-inline-size:0;font-family:var(--font-display);border-radius:22px;flex:90px;font-size:1.7rem;font-weight:900}.go svg{font-size:1.15em}.go.is-stop{--btn:var(--stop);--btn-edge:var(--stop-edge)}.hint-wrap{position:relative}.hint-btn.ready{--btn:var(--accent);--btn-edge:var(--accent-edge);--btn-ink:var(--accent-ink);animation:2s ease-in-out infinite bulb}.hint-pip{background:var(--coral);border:2px solid var(--bg);border-radius:50%;block-size:14px;inline-size:14px;position:absolute;inset-block-start:-4px;inset-inline-end:-4px}.hint-pop{z-index:40;background:var(--panel-2);inline-size:min(330px,76vw);box-shadow:0 6px 0 var(--panel-edge), 0 16px 36px #00000080;animation:pop-up .25s var(--ease-spring) both;transform-origin:0 100%;border-radius:20px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;inset-block-end:calc(100% + 12px);inset-inline-start:0}.hint-row{color:#fff;text-align:start;cursor:pointer;background:#ffffff17;border:0;border-radius:14px;align-items:center;gap:10px;min-block-size:52px;padding:6px 14px;font-size:.95rem;font-weight:800;display:flex}.hint-row svg{color:var(--accent);flex:none;font-size:1.4rem}.hint-row:disabled{opacity:.55;cursor:default;font-size:.85rem}.hint-row:disabled svg{color:var(--muted)}.hint-row:active:not(:disabled){background:#ffffff2e}.hint-free{color:var(--muted);padding:2px 8px 4px;font-size:.75rem;font-weight:700}.drag-ghost{z-index:90;pointer-events:none;will-change:transform;position:fixed;inset-block-start:0;inset-inline-start:0}.drag-ghost .blk,.drag-ghost .ghost-rep{opacity:.95;box-shadow:0 14px 22px #00000073, 0 5px 0 var(--c-edge);animation:none}.drag-ghost .ghost-rep{inline-size:calc(var(--blk) * 1.5);block-size:var(--blk);background:var(--leaf);color:#fff;border-radius:18px;place-items:center;font-size:36px;display:grid}.drag-ghost.is-trash .blk,.drag-ghost.is-trash .ghost-rep{opacity:.55;filter:saturate(.4);outline:3px dashed var(--danger)}.mission.is-dragging,.mission.is-dragging *{cursor:grabbing!important}.results{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c1ebd;place-items:center;padding:12px;animation:.3s both fade-in;display:grid;position:fixed;inset:0}.confetti{pointer-events:none;z-index:2;block-size:100%;inline-size:100%;position:absolute;inset:0}.res-panel{z-index:1;background:linear-gradient(var(--panel-2), var(--panel));max-block-size:100%;inline-size:min(640px,100%);box-shadow:0 8px 0 var(--panel-edge), 0 24px 60px #0000008c, inset 0 2px 0 #ffffff1a;animation:pop-up .55s var(--ease-spring) both;border-radius:30px;flex-direction:column;gap:10px;padding:14px 22px 22px;display:flex;position:relative;overflow-y:auto}.res-head{justify-content:flex-start;min-block-size:70px;display:flex}.res-title{font-family:var(--font-display);text-align:center;color:var(--accent);text-shadow:0 3px #00000040;font-size:clamp(1.7rem,5vmin,2.6rem);font-weight:900}.res-stars{justify-content:center;gap:clamp(8px,3vw,24px);margin:0;padding:0;list-style:none;display:flex}.res-star{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;max-inline-size:170px;display:flex}.res-star-icon{font-size:clamp(54px,13vmin,92px);line-height:0;display:block}.star-big{color:#ffffff21}.res-star.landed .star-big{color:var(--yellow);filter:drop-shadow(0 0 14px #ffc23dcc);animation:star-land .75s var(--ease-spring) both}.res-star-label{color:var(--muted);font-size:.88rem;font-weight:800;line-height:1.2}.res-star.landed .res-star-label{color:var(--text)}.res-star-sub{color:var(--muted);font-size:.78rem;font-weight:700}.res-extras{flex-direction:column;align-items:center;gap:10px;display:flex}.res-card{perspective:900px;inline-size:100%}.res-card-inner{opacity:0;transition:transform .6s var(--ease-spring), opacity .3s;background:#00000040;border-radius:20px;align-items:center;gap:14px;padding:8px;display:flex;transform:rotateY(90deg)scale(.6)}.res-card.in .res-card-inner{opacity:1;transform:none}.res-card-art{aspect-ratio:4/3;object-fit:cover;border-radius:12px;flex:none;inline-size:120px;box-shadow:0 4px #0000004d}.res-card-text{font-family:var(--font-display);flex-direction:column;gap:2px;font-size:1.2rem;display:flex}.res-card-kicker{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:800}.res-parts{color:#d8ffc6;cursor:pointer;opacity:0;transition:transform .5s var(--ease-spring), opacity .3s;background:#5bc23638;border:0;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-weight:800;display:flex;transform:scale(.7)}.res-parts.in{opacity:1;transform:none}.res-parts svg{font-size:1.4rem}.res-parts-names{color:#b9e6a4;text-align:center;flex-basis:100%;font-size:.8rem;font-weight:700}.res-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-block-start:4px;display:flex}.res-actions .btn{flex:150px}.res-next{min-block-size:64px;font-size:1.2rem;flex-basis:100%!important}.j-section{margin-block-end:22px}.j-world{font-family:var(--font-display);color:var(--tint);margin-block-end:10px;font-size:1.4rem;font-weight:900}.j-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(130px,22vw,190px),1fr));gap:12px;display:grid}.slot{aspect-ratio:4/3;animation:node-in .45s var(--ease-spring) both;animation-delay:calc(var(--i) * 45ms);border:0;border-radius:18px;padding:0;display:block;position:relative;overflow:hidden}.slot.found{cursor:pointer;background:var(--panel);box-shadow:0 5px 0 var(--tint-edge), 0 0 0 3px var(--tint);transition:transform .12s}.slot.found:active{transform:translateY(3px)scale(.98)}.slot-art{object-fit:cover;block-size:100%;inline-size:100%;display:block}.slot.found .slot-title{text-align:start;background:linear-gradient(#0000,#080c1ee0);padding:18px 10px 6px;font-size:.85rem;font-weight:800;line-height:1.15;position:absolute;inset-block-end:0;inset-inline:0}.slot.empty{color:var(--muted);text-align:center;background:#ffffff0d;border:3px dashed #ffffff29;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;display:flex}.slot-q{font-family:var(--font-display);color:#ffffff40;font-size:2.2rem;font-weight:900;line-height:1}.slot.empty .slot-title{font-size:.75rem;font-weight:700}.slot-new{inset-block-start:6px;inset-inline-end:6px}.viewer{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c1ed1;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:14px;animation:.25s both fade-in;display:flex;position:fixed;inset:0}.viewer-stage{justify-content:center;align-items:center;gap:clamp(6px,2vw,18px);inline-size:100%;display:flex}.viewer-nav{flex:none}.flip{--w:min(560px, calc(100vw - 150px), calc((100dvh - 190px) * 1.3333));inline-size:var(--w);aspect-ratio:4/3;perspective:1400px;cursor:pointer;background:0 0;border:0;padding:0}.flip-inner{block-size:100%;inline-size:100%;transform-style:preserve-3d;animation:card-in .6s var(--ease-spring) both;transition:transform .8s cubic-bezier(.3,1.3,.5,1);display:block;position:relative}.flip.flipped .flip-inner{transform:rotateY(180deg)}.flip-face{backface-visibility:hidden;box-shadow:0 8px 0 var(--tint-edge), 0 24px 50px #0000008c, 0 0 0 5px var(--tint);border-radius:26px;display:block;position:absolute;inset:0;overflow:hidden}.flip-front{background:var(--panel)}.flip-art{object-fit:cover;block-size:100%;inline-size:100%;display:block}.flip-title{font-family:var(--font-display);text-align:start;background:linear-gradient(#0000,#080c1eeb);padding:36px 18px 14px;font-size:clamp(1.2rem,3.6vmin,2rem);font-weight:900;position:absolute;inset-block-end:0;inset-inline:0}.flip-back{background:linear-gradient(160deg, var(--panel-2), var(--panel));text-align:start;flex-direction:column;justify-content:center;gap:8px;padding:clamp(14px,4vmin,34px);transform:rotateY(180deg);display:flex!important}.flip-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--tint);font-size:.78rem;font-weight:800}.flip-back-title{font-family:var(--font-display);color:var(--accent);font-size:clamp(1.2rem,3.4vmin,1.9rem);font-weight:900}.flip-fact{font-size:clamp(.95rem,2.8vmin,1.4rem);font-weight:700;line-height:1.4}.flip-source{color:var(--muted);margin-block-start:auto;font-size:.78rem;font-weight:700}.viewer-foot{align-items:center;gap:14px;display:flex}.viewer-hint{color:var(--muted);font-size:.9rem;font-weight:700}.garage-body{z-index:2;min-block-size:0;padding:4px calc(var(--pad) + 4px) calc(var(--pad) + 4px);flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(10px,2vmin,20px);display:grid;position:relative}.turntable{min-block-size:0;box-shadow:0 6px 0 var(--panel-edge), inset 0 2px 0 #ffffff14;background:radial-gradient(70% 60% at 50% 70%,#2f4396 0%,#17214f 60%,#0f1736 100%);border-radius:30px;position:relative;overflow:hidden}.turntable>*{block-size:100%;inline-size:100%;position:absolute;inset:0}.garage-panel{min-block-size:0;box-shadow:0 6px 0 var(--panel-edge), inset 0 2px 0 #ffffff12;background:#1a2550cc;border-radius:30px;flex-direction:column;gap:12px;padding:12px;display:flex}.tabs{background:#00000047;border-radius:20px;flex:none;gap:8px;padding:5px;display:flex}.tab{min-block-size:52px;min-inline-size:0;color:var(--muted);cursor:pointer;transition:background .15s, transform .12s var(--ease-spring);background:0 0;border:0;border-radius:15px;flex:1 1 0;padding:0 6px;font-size:.98rem;font-weight:800;position:relative}.tab.on{background:var(--accent);color:var(--accent-ink);box-shadow:0 4px 0 var(--accent-edge);transform:translateY(-1px)}.tab-new{inset-block-start:-10px}.parts{touch-action:pan-y;flex:1;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-content:start;gap:12px;min-block-size:0;padding:10px 6px 14px;display:grid;overflow-y:auto}.part{background:var(--panel-2);color:var(--text);cursor:pointer;box-shadow:0 5px 0 var(--panel-edge);animation:node-in .4s var(--ease-spring) both;animation-delay:calc(var(--i) * 40ms);border:0;border-radius:20px;flex-direction:column;align-items:center;gap:4px;min-block-size:112px;padding:12px 6px 8px;transition:transform .1s;display:flex;position:relative}.part:active{box-shadow:0 1px 0 var(--panel-edge);transform:translateY(4px)}.part.on{box-shadow:0 5px 0 var(--panel-edge), 0 0 0 4px var(--accent);background:#2e418f}.part.locked{color:var(--muted);background:#18214a}.part-glyph{place-items:center;block-size:58px;inline-size:58px;display:grid;position:relative}.swatch{border:4px solid #ffffffe6;border-radius:50%;block-size:54px;inline-size:54px;box-shadow:0 4px #0000004d}.part.locked .swatch,.part.locked .glyph{filter:grayscale(.7)brightness(.55)}.glyph{color:#fff;block-size:52px;inline-size:52px}.part-lock{color:#fff;background:#0e1630eb;border-radius:50%;place-items:center;block-size:28px;inline-size:28px;font-size:15px;display:grid;position:absolute;inset-block-end:-6px;inset-inline-end:-6px}.part-name{text-align:center;font-size:.86rem;font-weight:800;line-height:1.15}.part-need{color:var(--accent);align-items:center;gap:3px;font-size:.78rem;font-weight:800;display:inline-flex}.part-need svg{font-size:.95rem}.part-on{background:var(--go);block-size:28px;inline-size:28px;box-shadow:0 3px 0 var(--go-edge);animation:badge-pop .4s var(--ease-spring) both;border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;inset-block-start:-8px;inset-inline-end:-6px}.part-new{inset-block-start:-8px;inset-inline:-4px auto}.gate{z-index:2;padding:var(--pad);flex:1;place-items:center;display:grid;position:relative}.gate-card{background:var(--panel);text-align:center;inline-size:min(460px,100%);box-shadow:0 8px 0 var(--panel-edge);animation:pop-up .45s var(--ease-spring) both;border-radius:30px;flex-direction:column;align-items:center;gap:12px;padding:26px 24px;display:flex}.gate-lock{color:var(--accent);font-size:2.4rem}.gate-card h3{font-family:var(--font-display);font-size:1.6rem}.gate-card p{color:var(--muted);font-weight:700;line-height:1.4}.hold-btn{background:var(--panel-2);color:#fff;cursor:pointer;block-size:132px;inline-size:132px;box-shadow:0 6px 0 var(--panel-edge);touch-action:none;border:0;border-radius:50%;place-items:center;margin-block-start:6px;font-size:1.1rem;font-weight:900;transition:transform .1s;display:grid;position:relative}.hold-btn.holding{box-shadow:0 2px 0 var(--panel-edge);transform:translateY(3px)scale(.97)}.hold-ring{block-size:100%;inline-size:100%;position:absolute;inset:0;transform:rotate(-90deg)}.hold-track{fill:none;stroke:#ffffff24;stroke-width:7px}.hold-fill{fill:none;stroke:var(--accent);stroke-width:7px;stroke-linecap:round}.hold-btn.danger .hold-fill{stroke:var(--danger)}.hold-label{text-align:center;max-inline-size:90px;line-height:1.1;position:relative}.grown-body{flex-direction:column;align-items:center;gap:14px;display:flex}.g-card{background:var(--panel);inline-size:min(760px,100%);box-shadow:0 5px 0 var(--panel-edge);border-radius:24px;flex-direction:column;gap:10px;padding:18px 22px;line-height:1.45;display:flex}.g-card h3{font-family:var(--font-display);color:var(--accent);font-size:1.35rem;font-weight:800}.g-card h4{color:var(--tint);margin-block-start:6px;font-size:.95rem}.g-card p,.g-card li{color:#dbe3ff;font-weight:600}.g-card ul{flex-direction:column;gap:6px;margin:0;padding-inline-start:1.2em;display:flex}.g-card .sources{padding:0;list-style:none}.g-card a{color:var(--sky);word-break:break-all;align-items:center;gap:6px;padding-block:6px;font-weight:800;text-decoration:none;display:inline-flex}.g-card a:hover{text-decoration:underline}.g-card .hold-btn{align-self:center}.g-card .hold-btn.danger{background:#4a1f3c}@media (orientation:portrait){.mission{grid-template-rows:48% 52%;grid-template-columns:1fr}.m-editor{border-block-start:4px solid #0a1127;border-inline-start:0;padding-block-start:8px}.map-main{grid-template-rows:auto 1fr;grid-template-columns:1fr}.orbits{--planet:clamp(60px, 17vw, 120px);flex-direction:row;justify-content:space-around;align-items:flex-start;padding-block:4px 10px}.planet-slot-0{translate:0 6px}.planet-slot-1{translate:0 -2px}.planet-slot-2{translate:0 6px}.node{--d:52px}.node-meta{flex-direction:column;align-items:flex-start;gap:1px;display:flex;position:absolute;inset-block-start:50%;translate:0 -50%}.node[data-side=end] .node-meta{margin-inline-start:8px;inset-inline-start:100%}.node[data-side=start] .node-meta{align-items:flex-end;margin-inline-end:8px;inset-inline-end:100%}.node-stars,.node-title{margin:0;position:static}.garage-body{grid-template-rows:38% 62%;grid-template-columns:1fr}.reels{flex-direction:column;align-items:center}.reel-window{inline-size:min(280px,64vw)}}@media (width<=760px){.top-btn .top-label{display:none}.top-btn{inline-size:var(--touch);padding-inline:0}.btn-primary.res-next{font-size:1.1rem}.star-total{padding-inline:12px}}@media (width<=440px){.callsign-name{display:none}.callsign-badge{padding-inline:8px}.star-total .of{display:none}.topbar{gap:6px}.top-btn,.topbar .btn-icon{--touch:50px;inline-size:50px}.grown-btn{--touch:44px;min-block-size:44px;inline-size:44px;min-inline-size:44px}}@media (width<=520px){.callsign-badge{max-inline-size:38vw;padding-inline-end:10px}.callsign-avatar{block-size:34px;inline-size:34px}.tool-label{font-size:.6rem}.mission{--tool:58px;--blk:50px}}@media (height<=480px){:root{--touch:48px;--pad:8px}.mission{--blk:44px;--tool:52px;grid-template-columns:46% 54%}.m-editor{gap:6px;padding:6px 8px 8px}.m-toolbox{gap:6px;padding:5px 6px 8px}.tool-label{display:none}.area-head{gap:4px 8px;padding:4px 8px 2px 10px}.area-title{font-size:.9rem}.mini{--touch:38px;border-radius:12px;min-block-size:38px;inline-size:38px;min-inline-size:38px}.area-body{padding:4px 8px 8px}.m-controls{gap:6px}.ctl-label{display:none}.step-btn-ctl{min-block-size:48px;inline-size:48px;padding-inline:0}.ctl{--touch:48px}.go{min-block-size:52px;min-inline-size:0;font-size:1.3rem}.speed-opt:not(.on){display:none}.speed{padding:2px}.speed-opt{block-size:44px;inline-size:44px}.m-top{gap:6px;inset-block-start:6px;inset-inline:6px}.m-back,.m-sound{--touch:44px;min-block-size:44px}.m-title{padding:3px 10px}.m-sub{font-size:.6rem}.m-puff{inset-block-end:6px;inset-inline-start:6px}.puff-md{--puff-size:58px}.puff-bubble{max-inline-size:50vw;padding:6px 10px;font-size:.78rem}.node-title,.planet-count{display:none}.planet-name{font-size:.85rem}.node{--d:50px}.world-panel{padding:8px 14px}.world-head{margin-block-end:0}.rep-head{min-block-size:34px}.rep-head .blk-icon{font-size:24px}.step-btn{block-size:30px;inline-size:30px}.step-n{min-inline-size:22px;font-size:1.1rem}.memory-label{font-size:.68rem}.garage-body{grid-template-columns:38% 62%}.garage-panel{border-radius:22px;gap:8px;padding:8px}.turntable{border-radius:22px}.tab{min-block-size:44px}.parts{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.part{min-block-size:92px;padding-block:8px 6px}.part-glyph{block-size:44px;inline-size:44px}.swatch,.glyph{block-size:40px;inline-size:40px}.res-panel{grid-template-columns:1fr 1fr;grid-template-areas:"title title""stars puff""stars extras""actions actions";align-items:center;gap:4px 14px;padding:8px 16px 12px;display:grid}.res-head{grid-area:puff;min-block-size:0}.res-title{grid-area:title;font-size:1.4rem}.res-stars{grid-area:stars}.res-extras{grid-area:extras}.res-actions{grid-area:actions}.res-star-icon{font-size:50px}.res-actions .btn{flex-basis:0;min-block-size:48px;font-size:.95rem}.res-next{flex-grow:1.4;min-block-size:52px;font-size:1rem;flex-basis:0!important}.res-star-label{font-size:.7rem}.res-card-art{inline-size:80px}.callsign-main{flex-flow:wrap;align-content:center;gap:8px}.reels{flex-direction:row}.reel{--item:40px}.reel-window{inline-size:140px}.reel-arrow{--touch:44px;min-block-size:44px}.callsign-actions{flex-direction:column}.callsign-actions .btn{min-inline-size:130px}.screen-puff{display:none}.puff-lg{--puff-size:90px}.title-main{gap:12px}.play-btn{--touch:64px}.logo-img{max-block-size:40dvh}.title-foot{inset-block-end:4px}.flip{--w:min(460px, calc(100vw - 150px), calc((100dvh - 120px) * 1.3333))}.viewer{gap:6px;padding:8px}.viewer-foot .viewer-hint{display:none}.gate-card{flex-flow:wrap;justify-content:center;gap:6px;padding:14px 18px}.gate-card h3,.gate-card p{flex-basis:60%}.hold-btn{block-size:100px;inline-size:100px}.head-count{padding:4px 10px}.j-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.callsign-badge{min-block-size:48px}.star-total{min-block-size:40px;font-size:1.05rem}}@media (height<=480px) and (orientation:portrait){.mission{grid-template-columns:1fr}}@keyframes screen-in{0%{opacity:0;transform:translateY(18px)scale(.99)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-up{0%{opacity:0;transform:translateY(24px)scale(.86)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}@keyframes logo-in{0%{opacity:0;transform:translateY(-30px)scale(.8)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-9px)rotate(1.5deg)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.88)rotate(8deg)}}@keyframes twinkle-bg{0%{opacity:.92}to{opacity:1}}@keyframes node-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes node-pulse{0%{box-shadow:0 5px 0 var(--accent-edge), 0 0 0 0 #ffc23db3}to{box-shadow:0 5px 0 var(--accent-edge), 0 0 0 20px #ffc23d00}}@keyframes block-in{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.12)}to{opacity:1;transform:none}}@keyframes gap-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@keyframes cap-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes badge-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes badge-bounce{0%,60%,to{transform:scale(1)}75%{transform:scale(1.22)}88%{transform:scale(.95)}}@keyframes num-pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-9deg)}50%{transform:rotate(8deg)}80%{transform:rotate(-5deg)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}35%{transform:translate(7px)}55%{transform:translate(-5px)}75%{transform:translate(4px)}}@keyframes bubble-in{0%{opacity:0;transform:scale(.6)translateY(10px)}to{opacity:1;transform:none}}@keyframes puff-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes star-land{0%{opacity:0;transform:translateY(-90px)scale(2.6)rotate(-40deg)}55%{opacity:1;transform:translateY(6px)scale(.85)rotate(6deg)}to{transform:none}}@keyframes card-in{0%{opacity:0;transform:scale(.6)translateY(40px)rotate(-6deg)}to{opacity:1;transform:none}}@keyframes bulb{0%,to{filter:brightness()}50%{filter:brightness(1.2)drop-shadow(0 0 8px #ffc23dcc)}}@keyframes flame{0%{transform:scaleY(.7)}to{transform:scaleY(1.2)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.play-btn,.planet,.space-bg{animation:none!important}}@media (orientation:portrait) and (width<=600px){.mission{grid-template-rows:40% 60%}}@media (orientation:portrait) and (width<=440px){.mission{--tool:50px;--blk:46px}.area-fn{flex-grow:.6}.m-toolbox{flex-wrap:nowrap;gap:6px;padding:6px 6px 10px}.tool{border-radius:15px}.tool-label{font-size:.55rem}}@media (height<=480px) and (orientation:landscape){.mission{--tool:46px;grid-template-columns:44% 56%}.m-editor{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;display:grid}.m-toolbox{grid-area:1/1;grid-template-columns:repeat(2, var(--tool));grid-auto-rows:var(--tool);align-content:start;gap:6px;padding:6px;display:grid}.tool{box-shadow:0 4px 0 var(--c-edge), inset 0 2px 0 #ffffff59;border-radius:13px}.m-areas{grid-area:1/2}.m-controls{grid-area:2/1/auto/-1}}.fb-stage{background:radial-gradient(circle at 60% 30%,#2a3a7c,#0b1230);place-items:center;display:grid;position:absolute;inset:0;container-type:size}.fb-board{--cell:min(calc((100cqw - 32px) / var(--w)), calc((100cqh - 150px) / var(--h)), 84px);grid-template-columns:repeat(var(--w), var(--cell));grid-auto-rows:var(--cell);background:#0000004d;border-radius:18px;gap:3px;margin-block-start:-30px;padding:8px;display:grid;position:relative}.fb-cell{background:var(--tint-d);border-radius:10px;place-items:center;display:grid;position:relative;box-shadow:inset 0 -3px #00000040}.fb-void{box-shadow:none;background:0 0}.fb-ice{background:#9bdcf5}.fb-rock{background:#4b4880}.fb-rock:after{content:"";background:#8a86c0;border-radius:40% 55% 45% 50%;block-size:62%;inline-size:62%;box-shadow:inset -4px -4px #00000040}.fb-crater:after{content:"";background:#121733;border-radius:50%;block-size:66%;inline-size:66%;box-shadow:inset 0 4px #00000080}.fb-sample:after{content:"";background:#c08bff;border-radius:6px;block-size:38%;inline-size:38%;rotate:45deg;box-shadow:0 0 10px #c08bff}.fb-crystal:after{content:"";clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%);background:#5be7d0;block-size:46%;inline-size:34%;box-shadow:0 0 10px #5be7d0}.fb-goal{background:#263a7a}.fb-goal:after{content:"";background:radial-gradient(#ffc23d 30%,#0000 32%);border:4px solid #5bc8f5;border-radius:50%;block-size:66%;inline-size:66%}.fb-trail{opacity:.85;z-index:1;background:#ffc23d;border-radius:50%;block-size:26%;inline-size:26%;position:absolute}.fb-rover{inline-size:var(--cell);block-size:var(--cell);transition:inset-inline-start var(--t) linear, inset-block-start var(--t) linear;z-index:3;place-items:center;display:grid;position:absolute;inset-block-start:calc(8px + var(--y) * (var(--cell) + 3px));inset-inline-start:calc(8px + var(--x) * (var(--cell) + 3px))}.fb-rover i{background:var(--yellow);block-size:70%;inline-size:70%;box-shadow:0 4px 0 var(--yellow-edge);rotate:var(--f);transition:rotate var(--t);border-radius:28%;position:relative}.fb-rover i:after{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:#1a2550;block-size:34%;position:absolute;inset-block-start:-10%;inset-inline:30%}.fb-note{text-align:center;color:var(--muted);pointer-events:none;font-size:.8rem;font-weight:700;position:absolute;inset-block-start:74px;inset-inline:12px}.garage-fallback{text-align:center;color:var(--muted);align-content:center;place-items:center;gap:10px;padding:16px;font-weight:700;display:grid!important}.garage-fallback svg{block-size:auto;inline-size:min(70%,320px);position:static!important}@media (height<=480px){.fb-board{--cell:min(calc((100cqw - 32px) / var(--w)), calc((100cqh - 70px) / var(--h)), 84px)}.fb-note{display:none}}
