:root{--bg:#07111d;--pn:#0d1c2e;--ln:#1f3a58;--ac:#5cc8ff;--tx:#d8e7f5;--mu:#7f97b0}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#10243b,var(--bg) 60%);color:var(--tx);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}
header{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 24px;border-bottom:1px solid var(--ln);position:sticky;top:0;background:#07111dee;backdrop-filter:blur(8px);z-index:5}
.brand{font-weight:300;letter-spacing:.25em;font-size:20px}.brand b{color:var(--ac)}.brand small{display:block;letter-spacing:.05em;font-size:12px;color:var(--mu)}.logo{color:var(--ac)}
#q{flex:1;max-width:380px;min-width:200px;padding:10px 14px;border-radius:10px;border:1px solid var(--ln);background:var(--pn);color:var(--tx)}
nav{display:flex;gap:8px;padding:10px 24px;overflow-x:auto;scrollbar-width:none}
nav button,#cmpbar button{white-space:nowrap;border:1px solid var(--ln);background:var(--pn);color:var(--tx);padding:7px 14px;border-radius:999px;cursor:pointer;font-size:13px}
nav button.on{background:var(--ac);color:#04121f;border-color:var(--ac);font-weight:600}nav button.stub{opacity:.55;font-style:italic}
#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:16px 24px 40px}
.card{background:linear-gradient(180deg,#0f2136,#0a1726);border:1px solid var(--ln);border-radius:14px;overflow:hidden;cursor:pointer;transition:.2s;position:relative}
.card:hover{border-color:var(--ac);transform:translateY(-2px);box-shadow:0 8px 30px #0008}
.card .meta{padding:10px 14px 14px}.card h3{margin:0 0 2px;font-size:16px}.card p{margin:0;color:var(--mu);font-size:13px}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:6px;background:#173251;color:var(--ac);margin-top:6px}
.pick{position:absolute;top:8px;right:8px;font-size:11px;padding:4px 8px;border-radius:6px;border:1px solid var(--ln);background:#07111dcc;color:var(--tx);cursor:pointer}.pick.on{background:var(--ac);color:#000}
.art{width:100%;display:block;background:#0a1a2c}
.art .hull{fill:url(#gh);stroke:#9fd3ff;stroke-width:1.6;stroke-linejoin:round}.art .fin,.art .fin2{fill:#1a3150;stroke:#9fd3ff;stroke-width:1.4}.art .fin2{opacity:.7}
.art .wing{fill:#24476d;stroke:#9fd3ff;stroke-width:1.2}.art .glass{fill:url(#gc);stroke:#cfefff;stroke-width:1.2}.art .dark{fill:#0b1828;stroke:#7fb6e6;stroke-width:1.3}
.art .gun{fill:#2b4c72;stroke:#9fd3ff;stroke-width:1.3}.art .ln{fill:none;stroke:#9fd3ff;stroke-opacity:.45;stroke-width:1;stroke-dasharray:4 3}
.art .wheel{fill:#13263d;stroke:#9fd3ff;stroke-width:1.4}.art .hub{fill:#5cc8ff;fill-opacity:.4;stroke:#9fd3ff}.art .store{fill:#355d88;stroke:#cfefff;stroke-width:1}
.art .era{fill:#1d3654;stroke:#7fb6e6;stroke-width:.8}.art .win{fill:#9fd3ff;opacity:.6}.art .disc{fill:none;stroke:#9fd3ff;stroke-dasharray:3 3}
.art .dim{stroke:#5cc8ff;stroke-opacity:.4;fill:none}.art .dimt{fill:#5cc8ff;opacity:.55;font:9px monospace;text-anchor:middle;letter-spacing:.15em}
dialog{width:min(1000px,96vw);max-height:92vh;background:var(--pn);color:var(--tx);border:1px solid var(--ln);border-radius:16px;padding:0}dialog::backdrop{background:#000b}
.x{position:sticky;float:right;top:8px;right:8px;margin:8px;background:#0008;border:1px solid var(--ln);color:var(--tx);border-radius:8px;padding:4px 10px;cursor:pointer;z-index:2}
.det{padding:20px}.det h2{margin:0}.det .sub{color:var(--mu)}
table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}td,th{padding:7px 10px;border-bottom:1px solid var(--ln);vertical-align:top;text-align:left}td:first-child,th:first-child{color:var(--mu);width:30%;font-weight:500}
a{color:var(--ac)}.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#cmpbar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#0d1c2ef5;border:1px solid var(--ac);padding:8px 12px;border-radius:999px;display:flex;gap:8px;align-items:center;z-index:9;font-size:13px}
#cmpbar[hidden]{display:none}#cmpgo{background:var(--ac)!important;color:#000!important}.ghost{background:none!important}
.empty{grid-column:1/-1;text-align:center;padding:60px;color:var(--mu)}
footer{padding:20px 24px 80px;color:var(--mu);font-size:12px;border-top:1px solid var(--ln)}
@media(max-width:640px){header{padding:12px}#q{max-width:none}nav,#grid{padding-left:12px;padding-right:12px}.cmp{grid-template-columns:1fr}td:first-child{width:38%}}
.credit{margin-top:14px;padding:10px 12px;border:1px dashed var(--ln);border-radius:10px;font-size:12px;color:var(--mu)}img.art{aspect-ratio:600/260}
