:root{color:#e5eefb;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}.app-shell{min-height:100vh;padding:20px;background:radial-gradient(circle at 12% 18%,rgba(125,211,252,.18),transparent 22%),radial-gradient(circle at 82% 8%,rgba(244,114,182,.12),transparent 20%),linear-gradient(135deg,rgba(14,165,233,.12),transparent 34%),linear-gradient(315deg,rgba(16,185,129,.1),transparent 38%),#07111f}.app-shell.traveling{animation:travel-shake .12s linear infinite;background:radial-gradient(circle at 48% 48%,rgba(250,204,21,.18),transparent 24%),radial-gradient(circle at 12% 18%,rgba(125,211,252,.24),transparent 22%),linear-gradient(135deg,rgba(14,165,233,.18),transparent 34%),linear-gradient(315deg,rgba(244,114,182,.14),transparent 38%),#0d1020}@keyframes travel-shake{0%,to{transform:translate(0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}.command-bar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 auto 18px;max-width:1440px}h1,h2,p{margin:0}h1{font-size:clamp(2rem,5vw,4.6rem);line-height:.92}h2{font-size:1rem;line-height:1.2}.eyebrow{color:#7dd3fc;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.resource-strip{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.resource-strip span,.chip{border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#0f172ac2;color:#cbd5e1;padding:8px 10px}.resource-strip strong{color:#fff}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;max-width:1440px;margin:0 auto 18px}.map-panel,.target-panel,.panel{border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#08111fd1;box-shadow:0 18px 50px #00000042}.map-panel,.target-panel,.panel{padding:14px}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px}canvas{display:block;width:100%;min-height:460px;height:56vh;border:1px solid rgba(148,163,184,.18);border-radius:8px;cursor:crosshair;transition:border-color .16s ease,box-shadow .16s ease}canvas.launching{border-color:#facc159e;box-shadow:0 0 34px #facc1529;cursor:wait}.notice{margin-top:10px;color:#bae6fd}.reward-burst{position:absolute;left:50%;top:48%;z-index:4;display:grid;gap:4px;min-width:220px;border:1px solid rgba(250,204,21,.5);border-radius:8px;background:#030712e0;color:#fef3c7;padding:14px 16px;text-align:center;transform:translate(-50%,-50%);animation:reward-pop 2.1s ease both;box-shadow:0 0 38px #facc1538}.reward-burst strong{color:#fff;font-size:.84rem;text-transform:uppercase}.reward-burst span{font-size:1.05rem;font-weight:900}@keyframes reward-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.72)}16%{opacity:1;transform:translate(-50%,-58%) scale(1.05)}72%{opacity:1;transform:translate(-50%,-64%) scale(1)}to{opacity:0;transform:translate(-50%,-78%) scale(.94)}}.target-meta,.slot-grid,.systems,.equation-grid,.bucket-grid,.upgrade-list{display:grid;gap:10px}.target-meta{grid-template-columns:repeat(3,1fr);margin-bottom:12px}.target-meta span{border-radius:8px;background:#0f172af2;color:#cbd5e1;padding:8px;text-align:center}.target-meta .slipstream{color:#fef3c7;background:#b4530957}.slot-grid{grid-template-columns:1fr}.slot{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#101d30;color:#e5eefb;padding:12px;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.slot strong,.slot small,.slot span{display:block}.slot strong{margin:4px 0;font-size:1.4rem}.slot small,.empty-copy,.equation-card small{color:#94a3b8}.slot.matched{border-color:#34d399;background:#064e3b7a}.fuel-meter{cursor:default}.fuel-gauge{position:relative;height:8px;margin-top:10px;overflow:hidden;border-radius:999px;background:#0f172ae6}.fuel-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#facc15);transition:width .12s linear}.fuel-required{position:absolute;top:-4px;width:2px;height:16px;background:#f8fafc;transform:translate(-1px)}.purge-button{width:100%;min-height:30px;margin-top:10px;border:1px solid rgba(125,211,252,.28);border-radius:6px;background:#0c4a6e4d;color:#bae6fd;font-size:.78rem;font-weight:800}.slot.filled{border-color:#7dd3fcb8}.slot:not(:disabled):hover{transform:translateY(-1px)}.primary-action{width:100%;border:0;border-radius:8px;background:#38bdf8;color:#04111f;font-weight:800;margin-top:12px;padding:12px;transition:filter .16s ease,transform .16s ease,box-shadow .16s ease}.primary-action:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-action.launch-ready{box-shadow:0 0 24px #38bdf847}.systems{grid-template-columns:minmax(300px,1.35fr) minmax(260px,.85fr) minmax(260px,.85fr) minmax(260px,.85fr);max-width:1440px;margin:0 auto}.equation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equation-card{border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#0f1b2d;padding:10px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.equation-card:not(.locked):hover{transform:translateY(-1px);border-color:#7dd3fc57}.equation-card.wrong{animation:reactor-wrong 1s ease}@keyframes reactor-wrong{0%{border-color:#f87171;box-shadow:0 0 0 1px #f87171c7,0 0 26px #f8717138}to{border-color:#94a3b833;box-shadow:none}}.equation-card label{display:block;margin-bottom:8px;color:#f8fafc;font-size:1.1rem;font-weight:800}.answer-row{display:grid;grid-template-columns:1fr auto;gap:8px}input,select{min-width:0;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#07111f;color:#f8fafc;padding:9px}.answer-row button,.upgrade-list button,.reset-button{border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#17243a;color:#e5eefb;padding:9px 10px}.bucket-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.bucket-entry{border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f1b2d;padding:8px;transition:border-color .16s ease,opacity .16s ease,transform .16s ease}.bucket-entry.selected{border-color:#7dd3fc}.bucket-entry.locked{border-color:#facc1575;background:#4338ca29}.number-token{width:100%;min-height:48px;border:0;border-radius:8px;background:#dbeafe;color:#082f49;font-size:1.25rem;font-weight:900;position:relative;transition:transform .16s ease,box-shadow .16s ease}.number-token:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px #7dd3fc33}.number-token span{display:block;color:#92400e;font-size:.58rem;font-weight:900;text-transform:uppercase}.assign-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}.assign-row button{border:0;border-radius:6px;background:#233653;color:#dbeafe;min-height:28px}.assign-row button.assigned{background:#facc15;color:#422006;font-weight:900}.discard-button{width:100%;min-height:28px;margin-top:6px;border:1px solid rgba(248,113,113,.22);border-radius:6px;background:#7f1d1d47;color:#fecaca;font-size:.72rem;font-weight:800}.discard-button:not(:disabled):hover{border-color:#f8717194;background:#7f1d1d6b}.factory-readout{display:grid;grid-template-columns:1fr 70px 1fr auto 1.6fr;gap:8px;align-items:center}.factory-readout span,.factory-readout strong{min-height:42px;border-radius:8px;background:#0f1b2d;color:#e5eefb;display:grid;place-items:center;padding:8px;text-align:center}.upgrade-list button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.upgrade-button:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 8px);z-index:5;width:min(260px,72vw);border:1px solid rgba(125,211,252,.28);border-radius:8px;background:#030712f5;color:#dbeafe;padding:9px 10px;font-size:.78rem;font-weight:600;line-height:1.25;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease}.upgrade-button:hover:after,.upgrade-button:focus-visible:after{opacity:1;transform:translateY(0)}.upgrade-list span{color:#bae6fd;font-size:.82rem}.reset-button{width:100%;margin-top:12px;color:#fecaca}.map-panel,.target-panel,.panel{position:relative;overflow:hidden}.map-panel:before,.target-panel:before,.panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(110deg,transparent,rgba(255,255,255,.035),transparent);transform:translate(-120%);animation:panel-sheen 7s ease-in-out infinite}@keyframes panel-sheen{0%,62%{transform:translate(-120%)}82%,to{transform:translate(120%)}}@media(max-width:1180px){.workspace,.systems{grid-template-columns:1fr 1fr}.map-panel{grid-column:1 / -1}}@media(max-width:760px){.app-shell{padding:12px}.command-bar,.workspace,.systems{grid-template-columns:1fr}.command-bar{align-items:start}.resource-strip{justify-content:flex-start}canvas{min-height:340px;height:48vh}.equation-grid,.target-meta{grid-template-columns:1fr}}
