:root{--card:#eff5ef;--line:#cdd8c9;--text:#0f1a18;--muted:#5a6c64;--green:#59c35f;--orange:#ff8c2a}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#fff;background:url('./bg.jpg') center/cover fixed no-repeat}.topbar,.dashboard,.controls,.legend,.group-head{backdrop-filter:blur(8px)}.topbar{padding:24px 20px 8px;background:linear-gradient(135deg,rgba(122,15,20,.88),rgba(196,28,35,.82) 55%,rgba(240,194,75,.74))}.eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.topbar h1{margin:6px 0 8px;font-size:34px}.sub{margin:0}.dashboard{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px 20px;background:rgba(10,23,36,.92)}.dashboard article,.controls,.legend,.group-head{background:rgba(18,48,68,.82);border:2px solid rgba(255,255,255,.08);border-radius:18px}.dashboard article{padding:14px}.dashboard span{display:block;color:#bdd2de;font-size:12px;text-transform:uppercase}.dashboard strong{font-size:28px}.controls{margin:10px 20px;padding:12px;display:grid;gap:10px}.controls input,.controls select{width:100%;padding:12px;border-radius:12px;border:2px solid #29485e;background:#f8fafc;color:#102536}.legend{display:flex;gap:14px;flex-wrap:wrap;margin:0 20px 12px;padding:12px;color:#dbe7ef;font-size:13px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot.owned{background:var(--green)}.dot.missing{background:#8aa0b2}.dot.duplicate{background:var(--orange)}main{padding:0 20px 24px}.group{margin-bottom:18px}.group-head{padding:12px 14px;margin-bottom:10px}.group-title{display:flex;align-items:center;gap:10px}.group-title h2{margin:0;font-size:17px}.group-title p{margin:2px 0 0;color:#bdd2de;font-size:12px}.crest{width:36px;height:26px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,255,255,.2)}.crest-fallback{display:grid;place-items:center;background:#f0c24b;color:#7a0f14;font-weight:800}.cards-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.card-item{background:var(--card);color:var(--text);border:2px solid var(--line);border-radius:16px;padding:12px;min-width:168px;max-width:168px;position:relative;flex:0 0 auto}.card-item.owned{background:var(--green);border-color:#3d9543}.card-head{display:flex;justify-content:space-between;align-items:flex-start}.num{font-weight:900;color:#7a0f14}.badge{min-width:28px;height:28px;border-radius:999px;background:var(--orange);color:#fff;place-items:center;font-weight:800;font-size:13px}.thumb-button{display:flex;align-items:center;justify-content:center;width:100%;padding:6px 3px;border:none;border-radius:12px;background:#fff;cursor:pointer;margin:8px 0;aspect-ratio:63/88}.thumb{width:100%;height:100%;object-fit:contain;border-radius:8px;border:1px solid #d0d7cf;background:#fff;padding:0}.name{margin:8px 0 6px;font-size:15px;line-height:1.15}.team,.meta{margin:0 0 4px;color:var(--muted);font-size:12px}.actions{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;align-items:end}.actions button{border:none;color:#0f1a18;cursor:pointer;background:none;padding:0;font-weight:800}.actions button[data-action="increment"]{font-size:24px}.actions button[data-action="decrement"]{font-size:16px}.image-modal{border:none;border-radius:18px;padding:16px;background:#091521}.image-modal::backdrop{background:rgba(0,0,0,.7)}.image-modal img{max-width:min(90vw,420px);display:block;border-radius:12px}.close-modal{margin-left:auto;display:block;border:none;background:none;color:#fff;font-size:22px;cursor:pointer}@media (min-width:768px){.dashboard{grid-template-columns:repeat(4,1fr)}.controls{grid-template-columns:2fr 1fr 1fr 1fr}}

.backup-link{display:inline-block;margin-top:6px;color:#fff;text-decoration:underline;font-size:12px}
