:root{
  --bg:#0b0c12; --bg-soft:#0f1119; --card:#101425; --card-2:#0f1424;
  --line:#1d2744; --line-2:#24325a; --text:#e8ebff; --muted:#b6c0e0;
  --accent:#7aa2ff; --accent-2:#a7c4ff; --accent-glow:rgba(122,162,255,.15);
  --chip:#162044; --chip-line:#2a3a6a; --danger:#ff6b6b;
}
*{box-sizing:border-box}html,body{height:100%}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;margin:0;background:
  radial-gradient(1200px 500px at 10% -10%,rgba(122,162,255,.08),transparent),
  radial-gradient(900px 500px at 80% -10%,rgba(167,196,255,.06),transparent),
  var(--bg);color:var(--text)}
a{color:var(--accent-2);text-decoration:none}
.topbar{position:sticky;top:0;z-index:10;display:flex;gap:12px;align-items:center;justify-content:space-between;
  padding:10px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg-soft),rgba(11,12,18,.85));
  backdrop-filter: blur(6px)}
.brand{font-weight:800;letter-spacing:.3px}
.tabs{display:flex;gap:6px}
.tab{appearance:none;border:1px solid var(--line-2);background:var(--card-2);color:var(--text);border-radius:12px;padding:8px 12px;cursor:pointer;transition:transform .14s ease, border-color .14s ease, background .14s, box-shadow .14s}
.tab:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.tab.active{border-color:var(--accent);background:linear-gradient(180deg,var(--card-2),#0e1731)}

main{max-width:1100px;margin:16px auto;padding:0 16px;display:grid;gap:16px}
.card{background:linear-gradient(180deg,var(--card),#0e1325);border:1px solid var(--line);border-radius:16px;padding:14px;
  box-shadow:0 0 0 1px rgba(20,25,45,.12) inset}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.controls{display:flex;gap:10px;align-items:center}
.icon-btn{border:1px solid var(--line-2);background:var(--card-2);color:var(--text);border-radius:10px;padding:6px 10px;cursor:pointer;transition:transform .12s ease, background .12s, box-shadow .12s}
.icon-btn:hover{transform:translateY(-1px);background:#101a3d;box-shadow:0 0 0 3px var(--accent-glow)}

.searchbar{display:flex;gap:8px}
input,button{background:var(--card-2);border:1px solid var(--line-2);color:var(--text);border-radius:12px;padding:10px 12px}
input:focus,button:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
button{cursor:pointer;transition:transform .12s ease, background .12s}
button:hover{transform:translateY(-1px);background:#162044}
.muted{color:var(--muted)}
.hint{margin-top:6px}
.error{margin-top:6px;color:var(--danger);min-height:1.2em}

.panel{display:none;animation:fade .18s ease}
.panel.active{display:block}
@keyframes fade{from{opacity:.0;transform:translateY(4px)}to{opacity:1;transform:none}}

.list .row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;
  transition:transform .12s ease, border-color .14s ease, background .14s}
.list .row:hover{transform:translateY(-1px);border-color:var(--accent);background:#0f172f}
.list .row:last-child{margin-bottom:0}

.game-row{grid-template-columns:auto 1fr auto}
.game-cover{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--line-2);background:#0f1222}
img.game-cover[src=""], img.game-cover:not([src]){display:none}

.trophies{margin:8px 0 4px 0}
.trophy-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:8px}
.level-chip{background:var(--chip);border:1px solid var(--chip-line);border-radius:999px;padding:4px 10px;font-weight:700}
.bar{height:8px;background:#12162a;border:1px solid #27305c;border-radius:999px;overflow:hidden}
.bar .fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.progress-num{opacity:.92;font-variant-numeric:tabular-nums}
.trophy-tiles{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0}
.trophy-tile{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--card-2);border-radius:10px;padding:4px 8px;box-shadow:0 0 0 1px rgba(122,162,255,.06) inset}
.trophy-tile img{width:20px;height:20px}

.skel{position:relative;overflow:hidden;background:#111424;border-radius:12px;border:1px solid var(--line);height:60px}
.skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  animation:shimmer 1.1s infinite}
@keyframes shimmer{100%{transform:translateX(100%)}}

.foot{padding:16px;text-align:center;opacity:.6}
.hero{display:grid;gap:8px}

.avatar{display:flex;gap:12px;align-items:center}
.avatar img{width:64px;height:64px;border-radius:12px;border:1px solid var(--line-2);background:#0f1222}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.badge{background:var(--chip);border:1px solid var(--chip-line);border-radius:999px;padding:4px 10px;font-size:.9rem}
.ids-list{display:grid;gap:8px}
.ids-list .row{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,Monaco,monospace;background:#0f1326;border:1px solid #21295a;padding:4px 8px;border-radius:10px}

/* Plus status variants */
.badge-plus{ border-color:#2b7a2f; background:#123019; color:#bff7c1; }
.badge-off{ border-color:#5a2a2a; background:#2a1111; color:#ffc7c7; }
