:root{
  --e33mem-accent:#0f62fe;
  --e33mem-bg:#0b1320;
  --e33mem-card:#111b2c;
  --e33mem-text:#eef4ff;
  --e33mem-muted:#a3b1c6;
  --e33mem-good:#16a34a;
}
.e33mem-app{background:linear-gradient(180deg,#09111f,#0c1627);color:var(--e33mem-text);border-radius:22px;padding:18px;max-width:1200px;margin:0 auto;box-shadow:0 16px 40px rgba(0,0,0,.24)}
.e33mem-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.e33mem-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--e33mem-muted)}
.e33mem-title{margin:4px 0 0;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.2}
.e33mem-metrics{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.e33mem-pill{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);padding:10px 12px;border-radius:999px}
.e33mem-btn{background:var(--e33mem-accent);color:#fff;border:none;border-radius:12px;padding:11px 14px;font-weight:700;cursor:pointer}
.e33mem-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.e33mem-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.e33mem-cardbtn{position:relative;aspect-ratio:1/1;border:none;background:transparent;padding:0;cursor:pointer;perspective:1000px}
.e33mem-cardbtn .e33mem-face{position:absolute;inset:0;border-radius:16px;backface-visibility:hidden;transition:transform .45s ease, box-shadow .25s ease;overflow:hidden}
.e33mem-front{transform:rotateY(180deg);background:#fff;color:#111}
.e33mem-front img{width:100%;height:100%;object-fit:cover;display:block}
.e33mem-label{position:absolute;left:8px;right:8px;bottom:8px;background:rgba(0,0,0,.72);color:#fff;font-size:.82rem;padding:6px 8px;border-radius:10px;text-align:center}
.e33mem-back{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--e33mem-accent),#2748c9);font-size:clamp(1rem,3vw,1.4rem);font-weight:800;color:#fff}
.e33mem-cardbtn.is-open .e33mem-front,.e33mem-cardbtn.is-matched .e33mem-front{transform:rotateY(0)}
.e33mem-cardbtn.is-open .e33mem-back,.e33mem-cardbtn.is-matched .e33mem-back{transform:rotateY(180deg)}
.e33mem-cardbtn.is-matched .e33mem-front{box-shadow:0 0 0 3px rgba(22,163,74,.85) inset}
.e33mem-side{display:grid;gap:14px}
.e33mem-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px}
.e33mem-card-title{font-weight:800;margin-bottom:8px}
.e33mem-player-name{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0f1b2d;color:#fff;margin:10px 0}
.e33mem-save-msg{margin-top:8px;color:var(--e33mem-muted)}
.e33mem-leaderboard-list{margin:0;padding-left:18px}
.e33mem-leaderboard-list li{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px}
.e33mem-leaderboard-list .name{font-weight:700}
.e33mem-leaderboard-list .meta{color:var(--e33mem-muted);font-size:.88rem}
.e33mem-loading,.e33mem-error,.e33mem-empty,.e33mem-empty-mini{text-align:center;padding:20px;color:var(--e33mem-muted)}
@media (max-width:1024px){
  .e33mem-layout{grid-template-columns:1fr}
}
@media (max-width:767px){
  .e33mem-app{padding:14px;border-radius:16px}
  .e33mem-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .e33mem-metrics{width:100%}
  .e33mem-metrics > *{flex:1 1 calc(50% - 10px);text-align:center}
  .e33mem-btn{width:100%}
}
