
:root{
  --bg:#0b1020;--panel:#151c2f;--panel2:#1c2740;--line:#2f3b58;--text:#f5f7fb;
  --muted:#97a3ba;--gold:#f1c56a;--accent:#69a7ff;--danger:#ff6b6b;
}
*{box-sizing:border-box} html{background:var(--bg)} body{margin:0;background:linear-gradient(#0b1020,#101629);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;padding-bottom:88px}
button,input,select,textarea{font:inherit}
.topbar{position:sticky;top:0;z-index:5;padding:calc(14px + env(safe-area-inset-top)) 16px 12px;display:flex;justify-content:space-between;align-items:center;background:rgba(11,16,32,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
h1,h2,h3{margin:0}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--gold);font-weight:800}.iconBtn{border:1px solid var(--line);background:var(--panel2);color:white;border-radius:12px;width:42px;height:42px;font-size:24px}
main{padding:14px;max-width:900px;margin:auto}
.controls{display:grid;grid-template-columns:1fr 120px;gap:10px;margin-bottom:12px}
input,select,textarea{width:100%;border:1px solid var(--line);background:#0e1526;color:white;border-radius:12px;padding:12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.stat{background:var(--panel);border:1px solid var(--line);padding:10px;border-radius:12px}.stat b{display:block;font-size:18px}.stat span{font-size:11px;color:var(--muted)}
.cards{display:grid;gap:10px}.card{background:linear-gradient(145deg,var(--panel),#10182b);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.cardTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.name{font-size:20px;font-weight:800}.id{font-size:11px;color:var(--muted)}.power{color:var(--gold);font-weight:800}
.badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.badge{font-size:12px;padding:5px 8px;border-radius:999px;background:#202b45;color:#dce5f7;border:1px solid #34415f}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.metric{padding:9px;border-radius:10px;background:#0e1526}.metric span{display:block;color:var(--muted);font-size:11px}.metric b{font-size:15px}
.scoutFlag{margin-top:10px;padding:9px;border-radius:10px;background:#132b25;border:1px solid #235246;color:#baf2db;font-size:12px}
.noScout{background:#2d2315;border-color:#5b4423;color:#f5d9a1}
.card button{width:100%;margin-top:10px;background:var(--panel2);border:1px solid var(--line);color:white;padding:10px;border-radius:10px;font-weight:700}
.bottomNav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(11,16,32,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px);z-index:6}
.navBtn{border:0;background:transparent;color:var(--muted);padding:10px;text-align:center;font-weight:700}.navBtn.active{color:var(--gold)}.importLabel{display:block}
dialog{width:min(760px,96vw);max-height:92vh;border:1px solid var(--line);border-radius:18px;background:#0d1424;color:white;padding:0;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.7)}
#playerForm{padding:16px}.dialogHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.grid2 label,label{font-size:12px;color:var(--muted)}label input,label textarea{margin-top:5px;color:white}
.sectionTitle{display:flex;align-items:end;justify-content:space-between;margin:20px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.smallBtn,.secondaryBtn,.primaryBtn,.dangerBtn{border-radius:10px;padding:10px 12px;font-weight:800}.smallBtn,.secondaryBtn{background:var(--panel2);border:1px solid var(--line);color:white}.primaryBtn{background:var(--accent);border:0;color:#08101f}.dangerBtn{background:transparent;border:1px solid #6d2d37;color:#ff9ca5}
.commander{display:grid;grid-template-columns:1fr 90px 44px;gap:8px;margin-bottom:8px}.commander button{border:1px solid var(--line);border-radius:10px;background:#26151a;color:#ff9ca5}
.dialogActions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.dialogActions .dangerBtn{margin-right:auto}
.empty{color:var(--muted);padding:30px 6px;text-align:center}
@media(max-width:520px){.grid2{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr 110px}.stats{grid-template-columns:repeat(3,1fr)}.stat b{font-size:15px}}

.controls{grid-template-columns:1fr 118px 118px}
.matchBox{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0e1526}
.mutedText{color:var(--muted);font-size:12px;margin-top:4px}
.identityBadge{font-size:12px;padding:5px 8px;border-radius:999px;border:1px solid #5a4421;background:#2e2415;color:#f3cf83}
.identityBadge.linked{border-color:#235246;background:#132b25;color:#baf2db}
.troopGridWrap{overflow-x:auto;margin-top:10px}
.troopGrid{width:100%;border-collapse:collapse;min-width:720px}
.troopGrid th,.troopGrid td{padding:7px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}
.troopGrid th{color:var(--gold)}
.troopGrid input{padding:9px;min-width:90px}
.tierTotal{font-weight:800;color:var(--gold)}
.matchCandidate{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:#121a2d;color:white;border-radius:10px;padding:10px;text-align:left}
@media(max-width:620px){.controls{grid-template-columns:1fr 1fr}.controls #search{grid-column:1/-1}}

.chooserWrap{padding:18px}
.chooserCards{display:grid;gap:12px;margin-top:14px}
.chooserCard{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel),#10182b);color:white;text-align:left}
.chooserCard b{display:block;font-size:18px;margin-bottom:4px}
.chooserCard small{display:block;color:var(--muted);font-size:12px;line-height:1.35}
.chooserIcon{font-size:28px}
.modeBanner{margin:0 0 14px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#121a2d;color:#dce5f7;font-size:13px;font-weight:700}
.modeBanner.scout{background:#2d2315;border-color:#5b4423;color:#f5d9a1}
.modeBanner.profile{background:#132b25;border-color:#235246;color:#baf2db}
.hidden{display:none!important}

.commander{grid-template-columns:120px 1fr 72px 72px 42px}.commander select{min-width:110px}@media(max-width:620px){.commander{grid-template-columns:1fr 1fr}.commander .cname{grid-column:1/-1}}

.primaryMatchCard{margin-top:14px;padding:16px;border:1px solid #5b4423;border-radius:14px;background:#2d2315;color:#fff}
.primaryMatchCard b{display:block;font-size:20px;margin-bottom:6px}
.primaryMatchCard .reason{color:#f3cf83;font-size:13px;line-height:1.4}
.matchActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.otherMatchesWrap{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.otherMatchesWrap summary{cursor:pointer;color:var(--muted);font-weight:700}
.otherMatchBtn{display:block;width:100%;margin-top:8px;padding:10px;border-radius:10px;border:1px solid var(--line);background:#121a2d;color:#fff;text-align:left}
.identityInlineHint{margin-top:8px;color:var(--muted);font-size:12px}
@media(max-width:620px){.matchActions{grid-template-columns:1fr}}
