@import "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070a12;--panel:#0f1422;--panel-2:#161d30;--panel-3:#1d2640;--line:#27314d;--line-2:#34406a;--text:#e3e8f5;--muted:#8d97b5;--accent:#4fd1c5;--accent-2:#2b9e95;--warn:#f6c453;--danger:#ff6b6b;--good:#5ee08a;--players:#4fa3ff;--enemies:#ff5c7a;--neutral:#c9a3ff;--radius:10px;--font:"Inter", system-ui, sans-serif;--display:"Chakra Petch", "Inter", sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);font-size:15px;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 20% -10%, #14203d 0%, transparent 55%), radial-gradient(ellipse at 110% 10%, #1d1233 0%, transparent 45%), var(--bg);min-height:100vh;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--display);letter-spacing:.02em;margin:0 0 .5em;font-weight:600}h1{font-size:1.8rem}h2{font-size:1.3rem}h3{font-size:1.05rem}button,input,select,textarea{font:inherit;color:inherit}button,.btn{border:1px solid var(--line-2);background:var(--panel-3);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:.4em;padding:.45em .9em;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#04201d;border-color:#0000;font-weight:600}button.danger{color:#ffb3bd;border-color:#7a2e3a}button.ghost{background:0 0}button.small{padding:.2em .55em;font-size:.85rem}button.active{border-color:var(--accent);background:#173b3f}input,select,textarea{background:var(--panel-2);border:1px solid var(--line-2);border-radius:8px;min-width:0;padding:.4em .6em}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=number]{width:5.5em}label{color:var(--muted);flex-direction:column;gap:.25em;font-size:.85rem;display:flex}label.inline{flex-direction:row;align-items:center;gap:.5em}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;background:#070a12d9;align-items:center;gap:1rem;padding:.6rem 1.2rem;display:flex;position:sticky;top:0}.brand{font-family:var(--display);color:var(--text);letter-spacing:.06em;font-size:1.15rem;font-weight:700}.brand span{color:var(--accent)}.topbar nav{flex:1;gap:.9rem;display:flex}.topbar nav a{color:var(--muted)}.topbar nav a.active{color:var(--text)}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1.2rem 3rem}.page.wide{max-width:none;padding:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.panel+.panel{margin-top:1rem}.grid{gap:1rem;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row.end{justify-content:flex-end}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.stack{flex-direction:column;gap:.6rem;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}.tiny{font-size:.75rem}.error{color:var(--danger)}.warn{color:var(--warn)}.good{color:var(--good)}.mono{font-family:ui-monospace,Cascadia Code,monospace}.pill{border:1px solid var(--line-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.05em .55em;font-size:.75rem;display:inline-block}.pill.accent{border-color:var(--accent-2);color:var(--accent)}.pill.warn{color:var(--warn);border-color:#7d6420}.pill.danger{color:var(--danger);border-color:#7a2e3a}.code{font-family:var(--display);letter-spacing:.25em;color:var(--accent);font-size:1.6rem}table.data{border-collapse:collapse;width:100%;font-size:.9rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);padding:.35em .5em}table.data th{color:var(--muted);font-weight:500}table.data tr.clickable:hover{background:var(--panel-2);cursor:pointer}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);padding:.5rem 0}.list li:last-child{border-bottom:none}.hero{text-align:center;padding:2rem 1rem 1rem}.hero h1{font-size:2.4rem}.bar{background:var(--panel-3);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--good);height:100%;transition:width .3s}.combat{grid-template-columns:minmax(0,1fr) 400px;height:calc(100vh - 53px);display:grid}.combat-map{background:#02040a;position:relative;overflow:hidden}.combat-side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;gap:.8rem;padding:.8rem;display:flex;overflow-y:auto}.combat-side .panel{background:var(--panel-2);padding:.75rem}.map-overlay{border:1px solid var(--line);background:#0a0e1ad9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .6rem;display:flex;position:absolute}.map-overlay.top{justify-content:space-between;top:.8rem;left:.8rem;right:.8rem}.map-overlay.bottom{bottom:.8rem;left:50%;transform:translate(-50%)}.phase-track{align-items:center;gap:.25rem;display:flex}.phase-track span{font-family:var(--display);color:var(--muted);border:1px solid #0000;border-radius:6px;padding:.15em .6em;font-size:.85rem}.phase-track span.on{color:var(--text);border-color:var(--accent);background:#123236}.your-turn{color:var(--accent);font-weight:600;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.log{flex-direction:column-reverse;max-height:320px;font-size:.83rem;display:flex;overflow-y:auto}.log div{border-bottom:1px dashed var(--line);padding:.2rem 0}.log .hit{color:#ffd27a}.log .miss{color:var(--muted)}.log .damage{color:#ff9b8a}.log .crit{color:var(--danger);font-weight:600}.log .system{color:var(--accent)}.log .roll{color:#c8d2ee}.log details summary{cursor:pointer;list-style:none}.log details summary::-webkit-details-marker{display:none}.quadrants{text-align:center;grid-template-columns:repeat(3,auto);grid-template-areas:".f.""p c s"".a.";justify-content:center;align-items:center;gap:2px 6px;font-size:.8rem;display:grid}.quadrants .f{grid-area:f}.quadrants .p{grid-area:p}.quadrants .s{grid-area:s}.quadrants .a{grid-area:a}.quadrants .c{color:var(--muted);grid-area:c}.action-list{flex-wrap:wrap;gap:.35rem;display:flex}.check-preview{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.4rem .6rem;font-size:.82rem}.library-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;display:grid}.ship-card{align-items:flex-start;gap:.7rem;display:flex}.ship-card svg,.ship-card img{flex:none}.token-thumb{object-fit:cover;background:var(--panel-3);border-radius:50%;width:56px;height:56px}.builder{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1rem;display:grid}.builder .summary{position:sticky;top:70px}.field-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem;display:grid}.mount{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr auto;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line-2);border-radius:12px;width:min(900px,100%);max-height:90vh;padding:1.2rem;overflow-y:auto}@media (width<=900px){.combat{grid-template-rows:60vh auto;grid-template-columns:1fr;height:auto}.combat-side{border-left:none;border-top:1px solid var(--line)}.builder{grid-template-columns:1fr}.builder .summary{position:static}}.station+.station{border-top:1px solid var(--line);padding-top:.6rem}.quick-group{flex-direction:column;gap:.25rem;display:flex}.quick-label{color:var(--muted);font-size:.8rem;font-family:var(--display);letter-spacing:.03em;align-items:center;gap:.35rem;display:flex}button.quick{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:0;padding:.3em .65em;font-size:.85rem;line-height:1.25}button.quick:hover:not(:disabled){background:#173b3f}.result{border-color:var(--accent-2)}.result .hit{color:#ffd27a}.result .miss{color:var(--muted)}.result .crit{color:var(--danger)}
