.gravity-game{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px;color:#edf5ff;background:#14213c;border-radius:22px;overflow:auto;overscroll-behavior:contain}.gravity-game header{display:flex;justify-content:space-between;align-items:center;gap:12px}.gravity-game h1{margin:0;font-size:26px}.gravity-game p{margin:4px 0;color:#c1d4e8}.gravity-game small{color:#8fe2d6}.gravity-game button,.gravity-game select{min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid #567394;background:#293f60;color:#fff;font:inherit;touch-action:manipulation}.gravity-game button:focus-visible,.gravity-game select:focus-visible,.gravity-game input:focus-visible{outline:3px solid #ffd477}.gravity-game button:disabled{opacity:.45}.gravity-game .gravity-launch{background:#ffd477;color:#14213c;font-weight:800}.gravity-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;flex:1;min-height:300px}.gravity-space{width:100%;height:100%;min-height:280px;background:#0b142b;border-radius:18px;touch-action:none;user-select:none}.gravity-controls{display:flex;flex-direction:column;gap:8px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;min-height:0}.gravity-controls>*{flex-shrink:0}.gravity-controls label{display:flex;flex-direction:column;gap:4px;font-size:13px}.gravity-controls input{min-height:40px;width:100%;accent-color:#ffd477}.gravity-pair{display:flex;gap:8px}.gravity-pair button{flex:1}.gravity-feedback{padding:10px;border-radius:12px;background:#223958;font-size:14px;line-height:1.4}.gravity-help{padding:12px;background:#223958;border-radius:12px}.gravity-game svg text{font-family:system-ui;fill:#e6f2ff;font-size:11px}.gravity-game summary{min-height:44px;cursor:pointer}.gravity-scroll{display:flex;gap:8px}.gravity-scroll button{flex:1}@media(max-width:650px){.gravity-game{padding:10px;flex:none;overflow:visible}.gravity-layout{grid-template-columns:1fr;flex:none}.gravity-space{height:330px}.gravity-controls{overflow:visible}.gravity-scroll{display:none}.gravity-game h1{font-size:23px}}@media(min-width:651px)and (max-height:650px){.gravity-game{padding:10px}.gravity-layout{min-height:250px}.gravity-game header p{display:none}}.gravity-game *{box-sizing:border-box}.gravity-controls{overflow-x:hidden}.gravity-layout>div{min-height:0;display:flex;flex-direction:column;gap:8px}.gravity-layout>div>.gravity-controls{flex:1;height:auto!important}.gravity-scroll{flex-shrink:0}.gravity-controls{scrollbar-width:thin;scrollbar-color:#587495 #14213c}@media(orientation:portrait)and (max-width:900px){.gravity-game{flex:none;overflow:visible}.gravity-layout{grid-template-columns:1fr;flex:none}.gravity-space{height:390px}.gravity-layout>div>.gravity-controls{overflow:visible;flex:none}.gravity-scroll{display:none}}@media(max-width:650px),(orientation:portrait)and (max-width:900px){.gravity-game{flex:1 1 0;overflow-y:auto;min-height:0}}.gravity-controls input{min-height:44px}.gravity-universe{padding:10px;background:#162846;border-radius:12px}.gravity-universe p,.gravity-save-status{font-size:12px;line-height:1.4}.gravity-star-chart{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:12px}.gravity-star-chart [aria-current]{color:#ffe3a3;font-weight:700}.gravity-connections{display:flex;flex-direction:column;gap:6px;margin-top:10px}.gravity-game button:disabled{opacity:.55}.gravity-controls [role=alert]{padding:10px;background:#49364d;border-radius:10px;font-size:13px}.gravity-connections{flex-direction:row;flex-wrap:wrap}.gravity-connections button[aria-pressed=true]{background:#ffd477;color:#14213c}.gravity-space [role=button]{cursor:pointer;outline:none}.gravity-space [role=button]:focus-visible circle{stroke:#fff;stroke-width:4}.gravity-controls details{padding:8px;background:#162846;border-radius:10px}.gravity-controls details label{margin-top:8px}.gravity-game{--gravity-ink:#e7f3ff;--gravity-accent:#ffe1a0;--gravity-panel:#112039;background:linear-gradient(150deg,#111c32,#080e1d);padding:12px;gap:10px;overflow-y:auto;touch-action:pan-y;scrollbar-width:thin}.gravity-game header{flex-shrink:0}.gravity-game h1{font-size:24px;letter-spacing:.025em}.gravity-game small{font-size:10px;letter-spacing:.13em;color:#88b6cc}.gravity-header-actions{display:flex;gap:8px}.gravity-header-actions button{background:#16263f}.gravity-header-actions button:last-child{min-width:48px}.gravity-layout{display:flex;flex-direction:column;gap:10px;flex:1 0 auto;min-height:0}.gravity-space{display:block;flex:1 0 auto;width:100%;height:clamp(300px,65vh,650px);min-height:300px;background:radial-gradient(ellipse at 45% 45%,#152741 0,#0a152a 48%,#030917);border:1px solid #243b56;touch-action:pan-y;border-radius:20px}.gravity-space .gravity-ship{touch-action:none;cursor:grab}.gravity-space .gravity-ship:active{cursor:grabbing}.gravity-space [role=button]{touch-action:manipulation}.gravity-space text{paint-order:stroke;stroke:#07111f;stroke-width:3px;stroke-linejoin:round}.gravity-starfield{pointer-events:none}.gravity-star-layer{will-change:auto}.gravity-layout>.gravity-flight-bar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:60px}.gravity-flight-state{display:flex;flex-direction:column;gap:4px;font-size:14px;min-width:0}.gravity-flight-state span{color:#93b3c9;font-size:12px}.gravity-primary-actions{display:flex;gap:8px;flex-shrink:0}.gravity-game .gravity-launch{background:#ffe1a0;box-shadow:0 2px 12px #ffd47712;border-color:#ffe1a0}.gravity-controls{flex:none;overflow:visible;background:#112039;border:1px solid #29415d;padding:14px;border-radius:16px;gap:10px;touch-action:pan-y}.gravity-tools-heading{display:flex;justify-content:space-between;align-items:center}.gravity-help{flex-shrink:0;line-height:1.55}.gravity-help p{margin-bottom:12px}.gravity-feedback{background:#1a304a}.gravity-save-status{color:#93b3c9}@media(max-width:650px),(orientation:portrait)and (max-width:900px){.gravity-game{flex:1 1 0;min-height:0;overflow-y:auto}.gravity-space{height:clamp(330px,58vh,560px)}.gravity-game h1{font-size:21px}.gravity-header-actions button{padding:8px 10px}.gravity-layout>.gravity-flight-bar{align-items:stretch;flex-direction:column}.gravity-primary-actions button{flex:1}.gravity-flight-state{font-size:13px}}@media(min-width:651px)and (max-height:650px){.gravity-game{padding:8px}.gravity-game header{gap:8px}.gravity-space{height:calc(100dvh - 235px);min-height:280px}.gravity-game h1{font-size:20px}}@media(prefers-reduced-motion:reduce){.gravity-star-layer{transform:none!important}}.gravity-space text{font-size:14px}@media(max-width:650px){.gravity-space text{font-size:20px;stroke-width:4px}}.gravity-space .gravity-aim-hit-area{overflow:visible}.gravity-game .gravity-aim-handle{display:block;width:100%;height:100%;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;touch-action:none;cursor:grab}.gravity-game .gravity-aim-handle:active{cursor:grabbing}.rocket-lab{color:#eff5ff;padding:22px;background:#14213c;border-radius:24px;max-width:1300px;margin:0 auto;font-family:system-ui,sans-serif}.rocket-lab button,.rocket-lab select{font:inherit;min-height:48px;border:1px solid #516785;border-radius:13px;padding:10px 14px;background:#293d5d;color:#fff;cursor:pointer}.rocket-lab button:focus-visible,.rocket-lab select:focus-visible,.rocket-lab input:focus-visible{outline:3px solid #ffd477;outline-offset:3px}.rocket-lab button:disabled{opacity:.45;cursor:default}.rocket-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.rocket-heading small{color:#90d9db;letter-spacing:2px;font-weight:700;font-size:11px}.rocket-heading h1{font-size:32px;margin:4px 0}.rocket-heading h1 span{color:#ffd477}.rocket-heading p{margin:0;color:#b9cce1}.rocket-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.rocket-stage{position:relative;min-height:490px;border:1px solid #405576;border-radius:20px;overflow:hidden}.rocket-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.rocket-hud{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-around;gap:6px;padding:10px;background:#101a39dd;border-radius:13px;font-size:13px}.rocket-hud b{display:block;color:#ffd477;font-size:22px}.rocket-stage-label{position:absolute;bottom:45px;left:0;right:0;text-align:center;font-weight:700;color:#fff}.rocket-stage-label small{font-weight:400;color:#c8dfef}.rocket-panel{background:#203450;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px}.rocket-panel h2{margin:0;font-size:20px}.rocket-panel label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#bed0e4}.rocket-panel select{width:100%}.rocket-specs{display:flex;justify-content:space-between;font-size:11px;color:#bed0e4}.rocket-specs b{display:block;color:#fff;font-size:21px}.rocket-hint{font-size:12px;line-height:1.5;color:#bfd0e4;margin:0}.rocket-lab .rocket-primary{background:#ffd477;color:#172943;font-weight:800;border:0}.rocket-steering{display:flex;gap:8px;touch-action:none}.rocket-steering button{flex:1;touch-action:none;user-select:none}.rocket-panel input{width:100%;min-height:44px;accent-color:#ffd477}.rocket-panel [role=status]{font-size:13px;line-height:1.5;color:#b6e9de;margin:0}.rocket-goals{border-top:1px solid #4a607c;padding-top:10px}.rocket-goals h3{font-size:14px;margin:0 0 8px}.rocket-goals>div{display:flex;gap:9px;margin:9px 0;font-size:12px}.rocket-goals span{font-size:24px;color:#ffd477}.rocket-goals small{display:block;color:#b7cadf;font-size:11px}.rocket-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;gap:12px;background:#101a39d9}.rocket-overlay strong{font-size:26px}.rocket-overlay p{max-width:300px;margin:0;color:#d0e2f2}.rocket-overlay button{min-width:190px}.rocket-tutorial{margin-top:18px;padding:18px;background:#283e5a;border-radius:16px;line-height:1.6}.rocket-tutorial h2{margin:0;font-size:20px}.rocket-tutorial p{font-size:13px;color:#c8d9eb}.rocket-lab button:hover:not(:disabled){filter:brightness(1.12)}@media(max-width:850px){.rocket-lab{padding:14px}.rocket-layout{grid-template-columns:minmax(0,1fr) 240px;gap:12px}.rocket-panel{padding:12px;gap:9px}.rocket-stage{min-height:470px}.rocket-heading h1{font-size:26px}}@media(max-width:620px){.rocket-layout{grid-template-columns:1fr}.rocket-stage{min-height:360px}.rocket-heading small{letter-spacing:1px;font-size:9px}.rocket-panel{display:flex}.rocket-goals>div{margin:6px 0}}.rocket-parts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rocket-panel .rocket-parts select{padding:10px 8px;font-size:13px}.rocket-parts label{min-width:0}@media(max-width:850px)and (min-width:621px){.rocket-panel{font-size:13px}.rocket-goals>div{margin:5px 0}.rocket-goals small{font-size:10px}}.rocket-lab{width:100%;box-sizing:border-box;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.rocket-edit-stage{background:radial-gradient(ellipse at center,#294366,#101b36);min-height:490px}.rocket-stage canvas[hidden]{display:none}.rocket-workshop{padding:18px;position:relative}.rocket-grid-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.rocket-grid-heading h2{font-size:19px;margin:0}.rocket-grid-heading span{font-size:12px;color:#a9c5df}.rocket-workshop>p{font-size:12px;color:#b8cde4;line-height:1.5;margin:8px 0 14px}.rocket-grid{width:min(100%,392px);margin:0 auto;position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;touch-action:pan-y}.rocket-lab .rocket-cell{padding:2px;min-height:0;min-width:0;aspect-ratio:1;border-radius:9px;background:#ffffff06;border:1px solid #52729255;touch-action:pan-y;user-select:none;position:relative}.rocket-cell>span{color:#799abc50;font-size:18px}.rocket-cell svg{display:block;width:100%;height:100%;pointer-events:none}.rocket-lab .rocket-cell.occupied{touch-action:none;background:#314c6f;border-color:#6b91b6}.rocket-lab .rocket-cell.selected{outline:3px solid #ffd477;outline-offset:-2px;background:#3b5676}.rocket-lab .rocket-cell.drop-target{background:#86e0c255;border-color:#8eeedb}.rocket-com{position:absolute;pointer-events:none;color:#fff;font-size:18px;line-height:18px;transform:translate(-50%,-50%);text-shadow:0 0 4px #000,0 0 4px #000;z-index:2}.rocket-grid-legend{display:flex;justify-content:center;gap:18px;color:#9be2d6;font-size:11px;margin-top:12px}.rocket-palette{display:flex;gap:8px}.rocket-palette button{flex:1;padding:8px!important;font-size:13px!important}.rocket-palette button[aria-pressed=true]{border-color:#ffd477;background:#3c5775}.rocket-build-status{font-size:12px;color:#a6ebcd;line-height:1.45}.rocket-build-status.warning{color:#ffdd95}.rocket-goals summary{cursor:pointer;font-size:13px;min-height:30px;padding-top:3px}.rocket-goals{margin-top:auto}.rocket-hud{font-size:11px}.rocket-hud b{font-size:19px}@media(max-width:850px){.rocket-workshop{padding:12px}.rocket-grid-heading{flex-direction:column;align-items:flex-start;gap:4px}.rocket-grid{max-width:364px}.rocket-workshop>p{font-size:11px}.rocket-panel .rocket-steering button{font-size:13px;padding:10px}.rocket-panel .rocket-hint{font-size:11px}}@media(max-width:620px){.rocket-grid{max-width:350px}.rocket-edit-stage{min-height:440px}.rocket-grid-legend{gap:10px;font-size:10px}}.rocket-lab{flex:1 1 0;display:flex;flex-direction:column}.rocket-heading{flex:none}.rocket-layout{flex:1 1 0;min-height:0;overflow:hidden}.rocket-stage,.rocket-edit-stage{min-height:0}.rocket-edit-stage{overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.rocket-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.rocket-panel>*{flex-shrink:0}.rocket-steering,.rocket-steering button{touch-action:pan-y}.rocket-flight-steering button{touch-action:none}.rocket-tutorial{flex:none}@media(max-width:620px){.rocket-lab{display:block}.rocket-layout{overflow:visible}.rocket-stage{min-height:360px}.rocket-edit-stage{min-height:440px}.rocket-panel{overflow:visible}}.rocket-controls{display:flex;flex-direction:column;min-height:0;gap:8px}.rocket-controls>.rocket-panel{flex:1 1 0}.rocket-control-scroll{display:flex;gap:8px;flex:none}.rocket-control-scroll button{flex:1;touch-action:manipulation}@media(max-width:620px){.rocket-controls>.rocket-panel{flex:none}.rocket-control-scroll{display:none}}.rocket-journey{display:grid;gap:.5rem;padding:.8rem;border:1px solid #8eeedb55;border-radius:12px;background:#102d40;color:#d9f5ee}.rocket-journey span{font-size:.85rem;line-height:1.4}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#080e1d;color:#eaf2ff}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ffe1a0;outline-offset:5px}[hidden]{display:none!important}.play-shell{height:100dvh;min-height:420px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 80% 0,#152743 0,transparent 55%),#080e1d}.site-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px clamp(16px,4vw,56px);border-bottom:1px solid #223048;min-height:76px}.brand{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:800;font-size:15px;letter-spacing:.11em;color:#edf5ff;text-decoration:none;white-space:nowrap}.brand b{font-size:11px;color:#88dbc5;letter-spacing:.14em;border:1px solid #38554e;padding:6px 8px;border-radius:7px}.brand-orbit{color:#ffe1a0;font-size:25px}.header-note{font-size:12px;color:#a3b6cb}.home-button{border:1px solid #41536e;background:#15243b;color:#eaf2ff;border-radius:12px;padding:10px 14px;min-height:44px;cursor:pointer;touch-action:manipulation}.home-content{flex:1;overflow-y:auto;padding:clamp(24px,4vw,48px) clamp(20px,5vw,64px);width:100%;max-width:1160px;margin:auto}.intro{margin-bottom:28px}.eyebrow{font-size:10px;color:#8dd7c7;font-weight:750;letter-spacing:.17em}.intro h1{font-size:clamp(34px,5vw,58px);line-height:1.1;letter-spacing:-.045em;margin:14px 0}.intro h1 em{font-style:normal;color:#ffe1a0}.intro p{font-size:16px;line-height:1.5;color:#aebfd4;margin:0}.game-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.game-card{text-align:left;border:1px solid #2c415e;border-radius:22px;overflow:hidden;background:#11203a;color:#edf5ff;padding:0;cursor:pointer;touch-action:manipulation;transition:border-color .15s,background .15s}.game-card:hover{border-color:#779bbd;background:#172945}.card-art{height:180px;background:linear-gradient(145deg,#142843,#091526);overflow:hidden}.card-art svg{width:100%;height:100%;fill:none;stroke:#496483;stroke-width:1.5}.card-art .sun{fill:#ffe1a0;stroke:none}.card-art .planet{fill:#86d8c4;stroke:none}.card-art .ship{fill:#edf5ff;stroke:none}.card-art .trail{stroke:#86d8c4;stroke-dasharray:3 5}.rocket-card .card-art{background:linear-gradient(145deg,#26233e,#10172b)}.card-art .moon{fill:#363950;stroke:none}.card-art .terrain{stroke:#666185}.card-art .rocket-body{fill:#eaf2ff;stroke:none}.card-art .window{fill:#234f75;stroke:#91d7ed;stroke-width:3}.card-art .fins{fill:#e69a93;stroke:none}.card-art .flame{fill:#ffe1a0;stroke:none}.card-copy{padding:24px}.card-category{font-size:10px;color:#8dd7c7;letter-spacing:.13em;font-weight:750}.rocket-card .card-category{color:#c3b2e7}.card-copy h2{font-size:26px;letter-spacing:-.025em;margin:10px 0}.card-copy p{font-size:14px;line-height:1.6;color:#b4c6da;margin:0;max-width:32ch}.card-action{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #2b405a;margin-top:24px;padding-top:18px;font-weight:700;font-size:14px}.card-action>span{font-size:24px;color:#ffe1a0}.save-note{margin-top:26px;color:#a4b7cf;font-size:12px;line-height:1.7;max-width:80ch}.save-note strong{color:#deebfb}.game-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px clamp(8px,2vw,24px);width:100%;max-width:1380px;margin:0 auto}.game-view{flex:1;min-height:0;display:flex;flex-direction:column}.gravity-view>.gravity-game{min-height:0}.rocket-view{overflow:auto;overscroll-behavior:contain}.rocket-view>.rocket-lab{width:100%;flex-shrink:0}.site-footer{min-height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#7892ad;font-size:10px;padding:8px 12px}@media(max-width:600px){.site-header{padding:10px 16px;min-height:66px}.header-note{display:none}.game-cards{grid-template-columns:1fr;gap:18px}.home-content{padding:26px 20px}.intro{margin-bottom:24px}.card-art{height:145px}.card-copy{padding:20px}.intro h1{font-size:38px}.site-footer{font-size:9px}.home-button{padding:9px 10px;font-size:13px}.game-content{padding:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.play-shell .gravity-space{min-height:300px}
