:root{
  --ec-bg:#0b1220;--ec-surface:rgba(255,255,255,.06);--ec-surface-2:rgba(255,255,255,.10);
  --ec-border:rgba(255,255,255,.12);--ec-text:rgba(255,255,255,.92);--ec-muted:rgba(255,255,255,.72);
  --ec-accent:#24d2ff;--ec-accent-2:#7c5cff;--ec-good:#44ffb2;--ec-bad:#ff5c7a;
  --ec-shadow:0 20px 50px rgba(0,0,0,.40);--ec-radius:18px;
  --ec-font:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";
}
.ec-app{font-family:var(--ec-font);color:var(--ec-text);
  background:radial-gradient(1200px 700px at 15% 10%, rgba(36,210,255,.16), transparent 55%),
             radial-gradient(900px 600px at 85% 20%, rgba(124,92,255,.14), transparent 55%),
             linear-gradient(180deg,#060a13 0%, var(--ec-bg) 70%);
  border-radius:var(--ec-radius);padding:22px;box-shadow:var(--ec-shadow);overflow:hidden;}
.ec-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;}
.ec-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--ec-muted);}
.ec-title{margin:6px 0 6px;font-size:28px;line-height:1.1;}
.ec-subtitle{margin:0;color:var(--ec-muted);}
.ec-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--ec-border);
  border-radius:999px;background:rgba(255,255,255,.04);font-size:12px;color:var(--ec-muted);}
.ec-badge-live{box-shadow:0 0 0 1px rgba(36,210,255,.16);}
.ec-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.ec-grid-2{grid-template-columns:repeat(12,1fr);}
.ec-card{grid-column:span 4;background:var(--ec-surface);border:1px solid var(--ec-border);border-radius:var(--ec-radius);
  padding:16px;backdrop-filter:blur(10px);transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.ec-card:hover{transform:translateY(-2px);border-color:rgba(36,210,255,.22);background:var(--ec-surface-2);}
.ec-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.ec-label{font-size:12px;color:var(--ec-muted);letter-spacing:.02em;}
.ec-points{font-size:34px;font-weight:700;letter-spacing:-.02em;margin-top:6px;text-shadow:0 0 28px rgba(36,210,255,.12);}
.ec-big{font-size:34px;font-weight:700;margin-top:6px;}
.ec-small{font-size:14px;color:var(--ec-muted);margin-top:6px;}
.ec-chip{font-size:12px;color:rgba(255,255,255,.78);background:rgba(36,210,255,.10);border:1px solid rgba(36,210,255,.18);
  padding:6px 10px;border-radius:999px;}
.ec-card-points{grid-column:span 8;
  background:radial-gradient(700px 260px at 15% 0%, rgba(36,210,255,.12), transparent 55%),
             radial-gradient(700px 260px at 85% 0%, rgba(124,92,255,.10), transparent 55%),
             var(--ec-surface);}
.ec-card-ledger{grid-column:span 8;}
.ec-span-2{grid-column:span 12;}
.ec-auth{grid-column:span 12;max-width:560px;margin:0 auto;}
.ec-progress-wrap{margin-top:8px;}
.ec-progress-meta{display:flex;justify-content:space-between;color:var(--ec-muted);font-size:12px;}
.ec-progress{height:10px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;margin-top:8px;
  border:1px solid rgba(255,255,255,.08);}
.ec-progress-bar{height:100%;width:0%;background:linear-gradient(90deg, rgba(36,210,255,.95), rgba(124,92,255,.95));
  border-radius:999px;transition:width .7s cubic-bezier(.2,.8,.2,1);}
.ec-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.ec-btn{appearance:none;border:none;background:linear-gradient(90deg, rgba(36,210,255,.95), rgba(124,92,255,.95));
  color:#071019;font-weight:700;padding:10px 14px;border-radius:12px;text-decoration:none;display:inline-flex;
  align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(36,210,255,.16);transition:transform .16s ease,filter .16s ease;}
.ec-btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
.ec-btn-ghost{background:rgba(255,255,255,.06);color:var(--ec-text);border:1px solid rgba(255,255,255,.14);box-shadow:none;}
.ec-muted{color:var(--ec-muted);margin:10px 0 0;font-size:14px;line-height:1.45;}
.ec-ledger{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.ec-ledger-item{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.10);}
.ec-ledger-left{display:flex;flex-direction:column;gap:4px;}
.ec-ledger-title{font-weight:650;font-size:14px;}
.ec-ledger-meta{color:var(--ec-muted);font-size:12px;}
.ec-ledger-delta{font-weight:800;font-size:14px;white-space:nowrap;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);}
.ec-ledger-delta.is-plus{border-color:rgba(68,255,178,.18);color:rgba(68,255,178,.95);}
.ec-ledger-delta.is-minus{border-color:rgba(255,92,122,.18);color:rgba(255,92,122,.95);}
.ec-skel{height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.08), rgba(255,255,255,.04));
  background-size:240% 100%;animation:ecShimmer 1.2s ease-in-out infinite;}
@keyframes ecShimmer{0%{background-position:0% 0;}100%{background-position:200% 0;}}
.ec-mini{display:flex;gap:8px;margin-top:10px;}
.ec-mini-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);}
.ec-mini-dot.is-on{background:rgba(36,210,255,.55);border-color:rgba(36,210,255,.22);box-shadow:0 0 18px rgba(36,210,255,.18);}
@media (max-width:980px){.ec-card{grid-column:span 12;}.ec-card-points{grid-column:span 12;}.ec-card-ledger{grid-column:span 12;}.ec-title{font-size:24px;}}
