:root{--bg: #0b1020;--bgTop: #1b2450;--card: #111935;--cardTop: #0f1731;--muted: #8ea3c8;--text: #eef3ff;--accent: #7cc4ff;--line: #2b3866}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 600px at 50% -20%,var(--bgTop),var(--bg))}.container{max-width:1100px;margin:0 auto;padding:24px}.tabpanel{width:max(750px,100%)}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.header h1{margin:0;font-size:22px;letter-spacing:.5px}.header .sub{color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}@media (max-width: 900px){.grid{grid-template-columns:1fr}}.card{background:linear-gradient(180deg,var(--cardTop),var(--card));border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 30px #00000059}.card h2{margin:0 0 10px;font-size:16px;letter-spacing:.3px}.flex{display:flex;gap:10px}input[type=number],select{width:100%;background:#0b122a;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;outline:none}label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.row4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.sep{height:1px;background:var(--line);margin:14px 0}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:right;padding:8px 10px;border-bottom:1px dashed var(--line);font-variant-numeric:tabular-nums}.table th:first-child,.table td:first-child{text-align:left}.table th{color:var(--muted);font-weight:600;font-size:12px}.table td{font-size:13px}.badge{padding:3px 8px;border-radius:8px;background:#0f1e44;border:1px solid var(--line);color:var(--accent);font-size:12px}button{background:var(--accent);color:#021431;border:1px solid var(--line);border-radius:10px;font-weight:600;padding:10px 14px;cursor:pointer}button:hover{filter:brightness(1.05)}.outputs,.bottlenecks{width:100%;border-collapse:collapse;table-layout:fixed}.outputs thead,.bottlenecks thead{display:table-header-group!important}.outputs tbody,.bottlenecks tbody{display:table-row-group!important}.outputs tr,.bottlenecks tr{display:table-row!important}.outputs th,.bottlenecks th,.outputs td,.bottlenecks td{display:table-cell!important;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}.outputs td:before,.outputs th:before,.bottlenecks td:before,.bottlenecks th:before{content:none!important;display:none!important}.outputs .cell-left,.bottlenecks .cell-left{text-align:left}.outputs .cell-right,.bottlenecks .cell-right{text-align:right}.outputs .pos{color:#2ecc71}.outputs .neg{color:#e74c3c}.landing-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(circle at top,#151b2f,#050814 55%,#000);color:#f5f7ff}.landing-overlay{width:100%;max-width:1100px;padding:32px 28px 40px;border-radius:28px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff0a,#080c28f5);box-shadow:0 18px 60px #000000a6,0 0 40px #5899ff14;border:1px solid rgba(110,155,255,.12)}.landing-header{text-align:center;margin-bottom:32px}.landing-header h1{font-size:2.1rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.landing-header p{margin:0;font-size:.96rem;opacity:.78}.landing-grid{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.game-card{width:450px;height:300px;padding:10px 10px 14px;border-radius:22px;background:radial-gradient(circle at top left,#78b4ff24,#030614fa);border:1px solid rgba(140,190,255,.22);box-shadow:0 10px 35px #000000bf,0 0 18px #4884ff29;display:flex;flex-direction:column;cursor:pointer;outline:none;transition:all .22s ease-out;position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(255,255,255,.12),transparent 55%);opacity:0;transition:opacity .25s ease-out;pointer-events:none}.game-card:hover:before{opacity:1}.game-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px #000000eb,0 0 26px #74b0ff47;border-color:#a0d2ff80}.game-card:active{transform:translateY(-1px) scale(.995);box-shadow:0 8px 24px #000000d9}.game-card-image-wrap{flex:1;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#02040b}.game-card-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.game-card-label{padding-top:10px;display:flex;flex-direction:column;gap:2px;text-align:left}.game-card-label span{font-size:1.05rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff}.game-card-label small{font-size:.75rem;color:#b0b0b0}@media (max-width: 700px){.landing-overlay{padding:22px 16px 26px;border-radius:20px}.landing-grid{gap:20px}.game-card{width:260px;height:242px}}.spacecraft-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#111827,#020308 55%,#000);color:#e5e7ff}.spacecraft-card{max-width:1050px;padding:28px 26px 24px;border-radius:26px;background:#060a1efa;border:1px solid rgba(136,176,255,.22);box-shadow:0 16px 45px #000000e6,0 0 24px #5c98ff2e;text-align:left;font-size:.96rem;line-height:1.7}.spacecraft-card h1{margin:0 0 10px;font-size:1.8rem;letter-spacing:.08em;text-transform:uppercase}.spacecraft-card p{margin:0 0 10px;opacity:.9}.spacecraft-link{display:inline-block;margin-top:4px;font-size:.88rem;text-decoration:none;color:#9cc3ff;border-radius:999px;padding:7px 16px;border:1px solid rgba(156,195,255,.4)}.spacecraft-link:hover{background:#9cc3ff14}.permit-unlocks-toggle{margin-top:2px;padding:3px 7px;border-radius:999px;border:1px solid rgba(148,163,253,.3);background:transparent;color:#9ca3af;font-size:.68rem;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.permit-name{font-weight:600;font-size:.86rem}.permit-cost-value,.permit-cost-currency{color:var(--gold);font-weight:600}
