/*═══════════════════════════════════════════════════════════════
  GENIUSBET DESIGN SYSTEM v3
  Extracted from design system HTML specs (FILES/ directory).
  DO NOT edit — update source HTML files instead.
  ═══════════════════════════════════════════════════════════════*/

/*═══════════════════════════════════════════════════════════════
  GENIUSBET DS v3 — FOUNDATION
  The visual language layer. Every v3 component inherits this.
  Base 16px · Grid 8px · Min 12px
  4 Systems: Light · Movement · Depth · Revelation
  ═══════════════════════════════════════════════════════════════*/

/* ── TOKENS ──
   DS v3 defines its own variable names. These coexist with
   the theme's original variables in style.css.
   Components use --card, --brd, --t1, etc.
   Theme chrome uses --bg-card, --border-color, --text-primary, etc.
   Both resolve to the same visual values. ── */
:root,[data-theme="dark"]{
  /* DS v3 backgrounds — mapped to be consistent with theme */
  --bg-0:var(--bg-primary, #0a0a0a);
  --bg-1:var(--bg-secondary, #111111);
  --bg-2:#131316;
  --bg-3:#18181b;
  --bg-4:#1f1f23;
  --bg-5:#27272a;
  /* DS v3 text — same values as theme, different names */
  --t1:var(--text-primary, #fafafa);
  --t2:var(--text-secondary, #b0b0b8);
  --t3:var(--text-muted, #8a8a95);
  --t4:var(--text-tertiary, #6a6a75);
  /* DS v3 borders — use theme borders */
  --brd:var(--border-color, rgba(255,255,255,.06));
  --brd-h:var(--border-hover, rgba(255,255,255,.10));
  --brd-s:rgba(255,255,255,.14);
  /* DS v3 cards — use theme card backgrounds */
  --card:var(--bg-card, #191919);
  --card-h:var(--bg-card-hover, #222222);
  /* Accent — shared between both systems */
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:var(--accent-text, #1A1A1A);--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  /* Brand secondary */
  --purple:#854DFF;--purple-h:#a87fff;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  /* Status colors */
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);
  --green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);
  --blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --live:var(--live-pulse, #dd0000);
  /* Fonts — use theme fonts */
  --font:var(--font-main, 'Plus Jakarta Sans',system-ui,-apple-system,sans-serif);
  --mono:var(--font-mono, 'JetBrains Mono','SF Mono',monospace);
  /* Easing */
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);

  /* ═══ v3 ADDITIONS ═══ */
  /* Depth: 3-tier shadow stack */
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:
    0 1px 2px rgba(0,0,0,.24),
    0 3px 6px rgba(0,0,0,.20),
    0 8px 16px rgba(0,0,0,.16),
    0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:
    0 1px 2px rgba(0,0,0,.2),
    0 2px 4px rgba(0,0,0,.16),
    0 4px 8px rgba(0,0,0,.14),
    0 8px 16px rgba(0,0,0,.12),
    0 16px 32px rgba(0,0,0,.10),
    0 32px 64px rgba(0,0,0,.08),
    0 0 0 1px rgba(255,255,255,.05);
  /* Light: glow colors at functional opacities */
  --glow-accent:rgba(191,249,50,.04);
  --glow-accent-strong:rgba(191,249,50,.08);
  --glow-live:rgba(221,0,0,.06);
  --glow-purple:rgba(133,77,255,.05);
}
[data-theme="light"]{
  --bg-0:var(--bg-primary, #f5f5f7);
  --bg-1:var(--bg-secondary, #ededf0);
  --bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:var(--text-primary, #09090b);
  --t2:var(--text-secondary, #4a4a52);
  --t3:var(--text-muted, #6b6b75);
  --t4:var(--text-tertiary, #9a9aa0);
  --brd:var(--border-color, rgba(0,0,0,.06));
  --brd-h:var(--border-hover, rgba(0,0,0,.10));
  --brd-s:rgba(0,0,0,.14);
  --card:var(--bg-card, #ffffff);--card-h:var(--bg-card-hover, #f7f7f9);
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --amber:#d97706;--amber-dim:rgba(217,119,6,.08);--blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:
    0 1px 2px rgba(0,0,0,.06),
    0 3px 6px rgba(0,0,0,.05),
    0 8px 16px rgba(0,0,0,.04),
    0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:
    0 1px 2px rgba(0,0,0,.06),
    0 2px 4px rgba(0,0,0,.05),
    0 4px 8px rgba(0,0,0,.04),
    0 8px 16px rgba(0,0,0,.04),
    0 16px 32px rgba(0,0,0,.03),
    0 32px 64px rgba(0,0,0,.02),
    0 0 0 1px rgba(0,0,0,.06);
  --glow-accent:rgba(61,107,0,.04);
  --glow-accent-strong:rgba(61,107,0,.07);
  --glow-live:rgba(220,38,38,.05);
  --glow-purple:rgba(109,40,217,.04);
}

/* ══════════════════════════════════════════════════════════════
   SYSTEM 1: LIGHT — Ambient Glows & Illumination
   ══════════════════════════════════════════════════════════════ */
/* Ambient glow — placed behind hero sections or cards */
.glow{position:relative;overflow:hidden}
.glow::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:min(600px,120%);height:400px;border-radius:50%;background:radial-gradient(ellipse at center,var(--glow-accent) 0%,transparent 70%);pointer-events:none;z-index:0}
.glow-live::before{background:radial-gradient(ellipse at center,var(--glow-live) 0%,transparent 70%)}
.glow-purple::before{background:radial-gradient(ellipse at center,var(--glow-purple) 0%,transparent 70%)}
.glow-strong::before{width:min(800px,140%);height:500px}
.glow-strong::before{background:radial-gradient(ellipse at center,var(--glow-accent-strong) 0%,transparent 70%)}
/* Hover glow on cards */
.glow-hover{position:relative;overflow:hidden}
.glow-hover::after{content:'';position:absolute;top:var(--mouse-y,50%);left:var(--mouse-x,50%);width:200px;height:200px;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--glow-accent-strong),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:0}
.glow-hover:hover::after{opacity:1}
.glow-hover>*{position:relative;z-index:1}

/* ══════════════════════════════════════════════════════════════
   SYSTEM 2: MOVEMENT — Sliding Numbers, Shimmer, Beam
   ══════════════════════════════════════════════════════════════ */

/* 2A. Sliding Numbers */
.sn{display:inline-flex;overflow:hidden;line-height:1}
.sn-digit{display:inline-block;position:relative;width:1ch;height:1em;overflow:hidden}
.sn-column{display:flex;flex-direction:column;position:absolute;top:0;left:0;width:100%;transition:transform .5s var(--ease-spring)}
.sn-cell{display:flex;align-items:center;justify-content:center;height:1em;width:100%}
/* fixed chars (colon, dot, %) */
.sn-fixed{display:inline-block}

/* 2B. Shimmer Text */
@keyframes shimmerSlide{0%{background-position:200% center}100%{background-position:-200% center}}
.shimmer-text{
  background:linear-gradient(90deg,var(--t4) 0%,var(--t4) 40%,var(--t1) 50%,var(--t4) 60%,var(--t4) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:shimmerSlide 2.5s linear infinite;
}
/* Shimmer block (skeleton replacement) */
@keyframes shimmerBlock{0%{background-position:-200% 0}100%{background-position:200% 0}}
.shimmer-block{
  background:linear-gradient(90deg,var(--bg-3) 25%,var(--bg-4) 50%,var(--bg-3) 75%);
  background-size:200% 100%;
  animation:shimmerBlock 1.8s ease infinite;
  border-radius:6px;
}

/* 2C. Beam Divider */
@keyframes beamPulse{
  0%{left:-20%;opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{left:120%;opacity:0}
}
.beam{position:relative;height:1px;background:var(--brd);overflow:hidden}
.beam::after{content:'';position:absolute;top:0;left:-20%;width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:beamPulse 4s ease infinite}
.beam-live::after{background:linear-gradient(90deg,transparent,var(--live),transparent);animation-duration:2.5s}
.beam-slow::after{animation-duration:6s}
[data-theme="light"] .beam::after{background:linear-gradient(90deg,transparent,var(--purple),transparent)}

/* ══════════════════════════════════════════════════════════════
   SYSTEM 3: DEPTH — Shadows, Edge Fade, Progressive Blur
   ══════════════════════════════════════════════════════════════ */

/* Shadow levels (applied via classes) */
.shadow-surface{box-shadow:var(--shadow-surface)}
.shadow-raised{box-shadow:var(--shadow-raised)}
.shadow-floating{box-shadow:var(--shadow-floating)}
/* Cards: surface → raised on hover */
.shadow-lift{box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s}
.shadow-lift:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}

/* Edge Fade — horizontal scroll containers */
.edge-fade{position:relative}
.edge-fade::before,.edge-fade::after{content:'';position:absolute;top:0;bottom:0;width:clamp(24px,6vw,80px);z-index:2;pointer-events:none}
.edge-fade::before{left:0;background:linear-gradient(90deg,var(--bg-0),transparent)}
.edge-fade::after{right:0;background:linear-gradient(270deg,var(--bg-0),transparent)}
/* On card backgrounds */
.edge-fade-card::before{background:linear-gradient(90deg,var(--card),transparent)}
.edge-fade-card::after{background:linear-gradient(270deg,var(--card),transparent)}

/* Progressive Blur */
.blur-edge-bottom{position:relative}
.blur-edge-bottom::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(transparent,black);-webkit-mask-image:linear-gradient(transparent,black);pointer-events:none}

/* ══════════════════════════════════════════════════════════════
   SYSTEM 4: REVELATION — Scroll Reveal, Reveal Line, Count-Up
   ══════════════════════════════════════════════════════════════ */

/* Reveal on scroll (toggled by IntersectionObserver JS) */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

/* Reveal Line — accent bar at top of section */
.reveal-line{position:relative}
.reveal-line::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--accent);border-radius:1px;transition:width .8s var(--ease)}
[data-theme="light"] .reveal-line::before{background:var(--purple)}
.reveal-line.is-visible::before{width:48px}

/* Suggestion Chips */
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.chip{font-family:var(--font);font-size:.8125rem;font-weight:600;padding:6px 16px;border-radius:100px;border:1px solid var(--brd-s);background:transparent;color:var(--t3);cursor:pointer;white-space:nowrap;transition:all .15s}
.chip:hover{color:var(--t1);border-color:var(--accent);background:var(--accent-dim)}
[data-theme="light"] .chip:hover{border-color:var(--purple);background:var(--purple-dim);color:var(--purple-ink)}

/* ═══ LAYOUT ═══ */

/* ══════════════════════════════════════════
   DS v3 — MATCH CARDS
   ══════════════════════════════════════════ */
/*═══════════════════════════════════════════════════════════════
  GENIUSBET DS v3 — MATCH CARDS
  The flagship component. 7 variants. All 4 systems active.
  ═══════════════════════════════════════════════════════════════*/
  --bg-0:#09090b;--bg-1:#0c0c0e;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  --purple:#854DFF;--purple-h:#a87fff;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);
  --green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);
  --blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --live:#dd0000;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent:rgba(191,249,50,.04);--glow-accent-strong:rgba(191,249,50,.08);
  --glow-live:rgba(221,0,0,.06);--glow-live-strong:rgba(221,0,0,.10);
  --glow-purple:rgba(133,77,255,.05);
}
  --bg-0:#ffffff;--bg-1:#fafafa;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --amber:#d97706;--amber-dim:rgba(217,119,6,.08);--blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent:rgba(61,107,0,.04);--glow-accent-strong:rgba(61,107,0,.07);
  --glow-live:rgba(220,38,38,.05);--glow-live-strong:rgba(220,38,38,.08);
  --glow-purple:rgba(109,40,217,.04);
}

@keyframes liveBorder{0%{border-color:rgba(221,0,0,.35)}50%{border-color:rgba(221,0,0,.12)}100%{border-color:rgba(221,0,0,.35)}}
@keyframes minuteTick{0%{opacity:.6}50%{opacity:1}100%{opacity:.6}}

.beam::after{content:'';position:absolute;top:0;left:-20%;width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:beamPulse 4s ease infinite}
/* Sliding Numbers */
/* Edge fade */
/* Glow hover */
.glow-hover:hover::after{opacity:1}

/* ══════════════════════════════════════════════════════════════
   MATCH CARD BASE
   ══════════════════════════════════════════════════════════════ */
.mc{background:var(--card);border:1px solid var(--brd);border-radius:var(--radius-md,8px);overflow:hidden;transition:box-shadow .25s,transform .25s,border-color .25s;box-shadow:var(--shadow-surface);cursor:pointer;position:relative}
.mc:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
/* League header */
.mc-league{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--brd);font-size:var(--fs-micro,.55rem);font-weight:600;color:var(--t3)}
.mc-league-logo{width:12px;height:12px;border-radius:3px;background:var(--bg-4);flex-shrink:0}
.mc-league-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-league-round{font-family:var(--mono);color:var(--t4)}
/* Body */
.mc-body{padding:10px 12px}
.mc-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.mc-team{display:flex;align-items:center;gap:10px}
.mc-team.away{justify-content:flex-end;text-align:right}
.mc-team.away .mc-team-info{order:-1}
.mc-crest{width:24px;height:24px;border-radius:5px;background:var(--bg-3);border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--fs-micro,.55rem);font-weight:800;color:var(--t4)}
.mc-team-info{min-width:0}
.mc-team-name{font-size:var(--fs-base,.75rem);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-team-sub{font-size:.6875rem;color:var(--t4);font-weight:400;margin-top:1px}
/* Score center */
.mc-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;gap:1px}
.mc-score-val{font-family:var(--mono);font-size:var(--fs-xl,1.1rem);font-weight:800;letter-spacing:-.02em;line-height:1;display:flex;align-items:center;gap:3px}
.mc-score-sep{color:var(--t4);font-size:var(--fs-base,.75rem);font-weight:400;margin:0 1px}
/* Status */
.mc-status{text-align:center;font-family:var(--mono);font-size:var(--fs-micro,.55rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.mc-status.live{color:var(--live)}
.mc-status.ft{color:var(--t3)}
.mc-status.sched{color:var(--accent-ink)}
/* Live pulse dot */
.mc-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--live);margin-right:4px;animation:livePulse 1.5s ease infinite;vertical-align:middle}
/* Minute ticking */
.mc-minute{animation:minuteTick 2s ease infinite}
/* Footer */
.mc-footer{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;border-top:1px solid var(--brd);font-size:var(--fs-micro,.55rem);color:var(--t4)}
.mc-footer-venue{display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-footer-venue svg{width:12px;height:12px;flex-shrink:0}
.mc-footer-odds{display:flex;gap:4px}
.mc-odd{font-family:var(--mono);font-size:var(--fs-micro,.55rem);font-weight:700;padding:3px 8px;border-radius:4px;background:var(--bg-3);border:1px solid var(--brd);color:var(--t2);transition:all .15s}
.mc-odd:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-ink)}
/* Event flash (goal scored) */
.mc-event{display:flex;align-items:center;gap:4px;padding:4px 12px;font-size:var(--fs-micro,.55rem);font-weight:600;border-top:1px solid var(--brd)}
.mc-event-icon{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.5rem}
.mc-event-icon.goal{background:var(--green-dim);color:var(--green)}
.mc-event-icon.card-y{background:var(--amber-dim);color:var(--amber)}
.mc-event-icon.card-r{background:var(--red-dim);color:var(--red)}
.mc-event-text{flex:1;color:var(--t2);font-weight:400}
.mc-event-text strong{color:var(--t1);font-weight:700}
.mc-event-time{font-family:var(--mono);color:var(--t4);font-weight:700}

/* ══════════════ LIVE VARIANT ══════════════ */
.mc-live{border-color:rgba(221,0,0,.2);animation:liveBorder 3s ease infinite;position:relative;overflow:hidden}
.mc-live::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:min(500px,150%);height:300px;border-radius:50%;background:radial-gradient(ellipse at center,var(--glow-live) 0%,transparent 70%);pointer-events:none;z-index:0}
.mc-live .mc-body,.mc-live .mc-league,.mc-live .mc-footer,.mc-live .mc-event{position:relative;z-index:1}

/* ══════════════ SCHEDULED VARIANT ══════════════ */
.mc-sched .mc-score-val{font-size:1.25rem;color:var(--t3);font-weight:600}
.mc-sched .mc-countdown{font-family:var(--mono);font-size:.6875rem;color:var(--accent-ink);background:var(--accent-dim);padding:3px 10px;border-radius:100px;border:1px solid rgba(191,249,50,.1)}

/* ══════════════ FULL TIME VARIANT ══════════════ */
.mc-ft .mc-team-name.winner{color:var(--t1)}
.mc-ft .mc-team-name.loser{color:var(--t3)}
.mc-ft .mc-score-val .sn-winner{color:var(--accent-ink)}

/* ══════════════ COMPACT / TICKER ══════════════ */
.mc-compact{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm,6px);min-width:170px;flex-shrink:0}
.mc-compact .mc-crest{width:16px;height:16px;border-radius:3px;font-size:.45rem}
.mc-compact .mc-crest img{width:16px;height:16px}
.mc-compact .mc-team-name{font-size:var(--fs-sm,.68rem)}
.mc-compact .mc-score-val{font-family:var(--mono);font-size:var(--fs-base,.75rem);font-weight:800}
.mc-compact-teams{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.mc-compact-row{display:flex;align-items:center;gap:5px}
.mc-compact-row .mc-team-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-compact .mc-status{font-size:.5rem;min-width:28px;text-align:center}

/* ══════════════ EXPANDED ══════════════ */
.mc-expanded{border-radius:14px}
.mc-expanded .mc-body{padding:20px 24px}
.mc-expanded .mc-crest{width:48px;height:48px;border-radius:10px;font-size:.75rem}
.mc-expanded .mc-team-name{font-size:1.0625rem}
.mc-expanded .mc-score-val{font-size:2.5rem}
.mc-stats{padding:0 24px 16px;display:flex;flex-direction:column;gap:8px}
.mc-stat{display:grid;grid-template-columns:40px 1fr auto 1fr 40px;align-items:center;gap:6px}
.mc-stat-val{font-family:var(--mono);font-size:.8125rem;font-weight:600;text-align:center;color:var(--t2)}
.mc-stat-val.win{color:var(--accent-ink);font-weight:800}
.mc-stat-label{font-size:.6875rem;color:var(--t4);text-align:center;white-space:nowrap}
.mc-stat-bar{height:4px;background:var(--bg-3);border-radius:2px;overflow:hidden}
.mc-stat .mc-stat-bar:first-of-type{direction:rtl}
.mc-stat-fill{height:100%;border-radius:2px;transition:width .8s var(--ease)}
.mc-stat-fill.home{background:var(--accent)}
.mc-stat-fill.away{background:var(--purple)}
/* Timeline */
.mc-timeline{display:flex;align-items:center;padding:12px 24px;gap:0;position:relative}
.mc-tl-bar{flex:1;height:3px;background:var(--bg-3);border-radius:2px;position:relative;overflow:hidden}
.mc-tl-progress{height:100%;background:var(--live);border-radius:2px;transition:width .5s ease}
.mc-tl-half{width:1px;height:12px;background:var(--brd-s);flex-shrink:0;margin:0 2px}
.mc-tl-markers{position:absolute;inset:0}
.mc-tl-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;border:2px solid var(--card)}
.mc-tl-dot.goal-h{background:var(--accent)}
.mc-tl-dot.goal-a{background:var(--purple)}
.mc-tl-dot.card-y{background:var(--amber)}
.mc-tl-dot.card-r{background:var(--red)}

/* ══════════════ FEATURED / HERO ══════════════ */
.mc-hero{border-radius:16px;box-shadow:var(--shadow-floating);border:1px solid var(--brd-s);overflow:hidden;position:relative}
.mc-hero::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:min(700px,160%);height:400px;border-radius:50%;background:radial-gradient(ellipse at center,var(--glow-accent-strong) 0%,transparent 70%);pointer-events:none;z-index:0}
.mc-hero .mc-body{padding:28px 32px;position:relative;z-index:1}
.mc-hero .mc-league{position:relative;z-index:1}
.mc-hero .mc-crest{width:56px;height:56px;border-radius:12px;font-size:.875rem}
.mc-hero .mc-team-name{font-size:1.25rem}
.mc-hero .mc-score-val{font-size:3rem}
.mc-hero .mc-footer{position:relative;z-index:1}
.mc-hero:hover{transform:none;box-shadow:var(--shadow-floating)}

/* ══════════════ SKELETON ══════════════ */
.mc-skel .mc-crest{background:none}.mc-skel .mc-crest>*{display:none}
.mc-skel .mc-team-name,.mc-skel .mc-team-sub,.mc-skel .mc-league-name,.mc-skel .mc-league-round,.mc-skel .mc-status,.mc-skel .mc-footer-venue,.mc-skel .mc-score-val{color:transparent!important}

/* ══════════════ LAYOUT ══════════════ */
/* Card grid */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
/* Ticker */
.ticker-scroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 0}

/* ══════════════════════════════════════════
   DS v3 — TEAM CARDS
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  --purple:#854DFF;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);--green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);--blue:#3b82f6;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent-strong:rgba(191,249,50,.08);
}
  --bg-0:#ffffff;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent-strong:rgba(61,107,0,.07);
}

/* ══════════════════════════════════════════
   TEAM CARD BASE
   ══════════════════════════════════════════ */
.tc{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s;cursor:pointer}
.tc:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.tc-crest{width:48px;height:48px;border-radius:10px;background:var(--bg-3);border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem;font-weight:800;color:var(--t4)}
.tc-name{font-size:1rem;font-weight:700}
.tc-sub{font-size:.6875rem;color:var(--t4);font-weight:400;margin-top:2px}
.tc-league{font-size:.75rem;color:var(--t3);font-weight:500;display:flex;align-items:center;gap:4px}
.tc-league-dot{width:4px;height:4px;border-radius:50%;background:var(--t4)}
.tc-pos{font-family:var(--mono);font-size:.75rem;font-weight:800;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tc-pos.top{background:var(--accent-dim);color:var(--accent-ink);border:1px solid rgba(191,249,50,.12)}[data-theme="light"] .tc-pos.top{background:var(--purple-dim);color:var(--purple-ink);border-color:rgba(124,58,237,.12)}
.tc-pos.mid{background:var(--bg-3);color:var(--t2);border:1px solid var(--brd)}
.tc-pos.low{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,68,68,.12)}
.tc-form{display:flex;gap:3px;align-items:center}
.tc-form-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:block}.tc-form-dot.w{background:var(--green)}.tc-form-dot.d{background:var(--amber)}.tc-form-dot.l{background:var(--red)}
.tc-stats{display:flex;gap:12px;font-family:var(--mono);font-size:.6875rem;color:var(--t3)}
.tc-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.tc-stat-v{font-weight:700;font-size:.8125rem;color:var(--t1)}.tc-stat-l{font-weight:500;color:var(--t4);font-size:.5625rem;text-transform:uppercase;letter-spacing:.04em}

/* ══════════════ STANDARD ══════════════ */
.tc-std{max-width:320px;width:100%}
.tc-std-body{padding:16px;display:flex;align-items:center;gap:12px}
.tc-std-info{flex:1;min-width:0}
.tc-std-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--brd);gap:8px}

/* ══════════════ COMPACT GRID ══════════════ */
.tc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.tc-compact{text-align:center;padding:20px 16px}
.tc-compact .tc-crest{margin:0 auto 10px;width:44px;height:44px}
.tc-compact .tc-name{font-size:.875rem}
.tc-compact .tc-sub{margin-top:4px}
.tc-compact .tc-pos{margin:8px auto 0}

/* ══════════════ DETAILED ══════════════ */
.tc-detail{max-width:380px;width:100%}
.tc-detail-head{display:flex;align-items:center;gap:12px;padding:16px}
.tc-detail-head-info{flex:1;min-width:0}
.tc-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--brd)}
.tc-detail-stat{text-align:center;padding:12px 6px;border-right:1px solid var(--brd)}.tc-detail-stat:last-child{border-right:none}
.tc-detail-stat-v{font-family:var(--mono);font-size:1rem;font-weight:800;display:block}
.tc-detail-stat-l{font-size:.5625rem;font-weight:500;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.tc-detail-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--brd);font-size:.75rem;color:var(--t3)}
.tc-venue{display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc-venue svg{width:12px;height:12px;flex-shrink:0}

/* ══════════════ LIST ROW ══════════════ */
.tc-list{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px}
.tc-list .tc-crest{width:32px;height:32px;border-radius:6px;font-size:.6rem}
.tc-list .tc-name{font-size:.875rem}
.tc-list-info{flex:1;min-width:0}
.tc-list-right{display:flex;align-items:center;gap:16px;flex-shrink:0}

/* ══════════════ HERO ══════════════ */
.tc-hero{max-width:520px;width:100%;border-radius:16px;box-shadow:var(--shadow-floating);border:1px solid var(--brd-s);position:relative;overflow:hidden}
.tc-hero::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:min(600px,150%);height:350px;border-radius:50%;background:radial-gradient(ellipse,var(--glow-accent-strong),transparent 70%);pointer-events:none;z-index:0}
.tc-hero>*{position:relative;z-index:1}
.tc-hero:hover{transform:none;box-shadow:var(--shadow-floating)}
.tc-hero-body{padding:24px;display:flex;align-items:center;gap:16px}
.tc-hero .tc-crest{width:64px;height:64px;border-radius:14px;font-size:1rem}
.tc-hero .tc-name{font-size:1.25rem}
.tc-hero .tc-sub{font-size:.75rem}
.tc-hero-stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--brd)}
.tc-hero-stat{text-align:center;padding:14px 6px;border-right:1px solid var(--brd)}.tc-hero-stat:last-child{border-right:none}
.tc-hero-stat-v{font-family:var(--mono);font-size:1.125rem;font-weight:800;display:block}
.tc-hero-stat-l{font-size:.5625rem;font-weight:500;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.tc-hero-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--brd);font-size:.75rem;color:var(--t3)}
.tc-hero-players{display:flex;align-items:center}
.tc-hero-player{width:24px;height:24px;border-radius:50%;background:var(--bg-4);border:2px solid var(--card);display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700;color:var(--t4);margin-left:-6px}
.tc-hero-player:first-child{margin-left:0}

/* ══════════════ SKELETON ══════════════ */
.tc-skel{pointer-events:none}

/* ── LAYOUT ── */

/* ══════════════════════════════════════════
   DS v3 — PLAYER CARDS
   ══════════════════════════════════════════ */
/* ═══ PLAYER CARD BASE ═══ */
.pc{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s;cursor:pointer}.pc:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.pc-av{width:48px;height:48px;border-radius:50%;background:var(--bg-3);border:2px solid var(--brd);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem;font-weight:800;color:var(--t4)}
.pc-name{font-size:1rem;font-weight:700}.pc-team{font-size:.6875rem;color:var(--t4);font-weight:400;margin-top:1px;display:flex;align-items:center;gap:4px}
.pc-team-crest{width:14px;height:14px;border-radius:3px;background:var(--bg-4);display:flex;align-items:center;justify-content:center;font-size:.4rem;font-weight:800;color:var(--t4);flex-shrink:0}
.pc-role{font-family:var(--mono);font-size:.5625rem;font-weight:700;padding:2px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.pc-role.fw{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,197,94,.12)}
.pc-role.mf{background:var(--blue-dim);color:var(--blue);border:1px solid rgba(59,130,246,.12)}
.pc-role.df{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(245,158,11,.12)}
.pc-role.gk{background:var(--purple-dim);color:var(--purple-ink);border:1px solid rgba(133,77,255,.12)}
.pc-number{font-family:var(--mono);font-size:1.25rem;font-weight:800;color:var(--t4);flex-shrink:0}
.pc-flag{width:18px;height:13px;border-radius:2px;background:var(--bg-4);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.4rem;color:var(--t4);font-weight:700;border:1px solid var(--brd)}
.pc-stats{display:flex;gap:12px;font-family:var(--mono);font-size:.6875rem}.pc-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.pc-stat-v{font-weight:700;font-size:.8125rem;color:var(--t1)}.pc-stat-l{font-weight:500;color:var(--t4);font-size:.5625rem;text-transform:uppercase;letter-spacing:.04em}
/* Stat bar */
.pc-bar-row{display:flex;align-items:center;gap:8px;font-size:.75rem}.pc-bar-lbl{min-width:56px;font-weight:500;color:var(--t4)}.pc-bar-trk{flex:1;height:5px;background:var(--bg-3);border-radius:3px;overflow:hidden}.pc-bar-fill{height:100%;border-radius:3px;background:var(--accent);animation:barGrow .8s var(--ease) both;width:var(--w)}[data-theme="light"] .pc-bar-fill{background:var(--purple)}.pc-bar-val{font-family:var(--mono);font-weight:700;min-width:24px;text-align:right;color:var(--t2)}

/* ═══ STANDARD ═══ */
.pc-std{max-width:320px;width:100%}
.pc-std-body{padding:16px;display:flex;align-items:center;gap:12px}
.pc-std-info{flex:1;min-width:0}
.pc-std-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--brd)}

/* ═══ COMPACT ═══ */
.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.pc-compact{text-align:center;padding:20px 16px}.pc-compact .pc-av{margin:0 auto 8px;width:44px;height:44px}.pc-compact .pc-name{font-size:.875rem}.pc-compact .pc-team{justify-content:center;margin-top:4px}.pc-compact .pc-role{margin:6px auto 0}

/* ═══ DETAILED ═══ */
.pc-detail{max-width:380px;width:100%}
.pc-detail-head{display:flex;align-items:center;gap:12px;padding:16px}
.pc-detail-head-info{flex:1;min-width:0}
.pc-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--brd)}.pc-detail-stat{text-align:center;padding:12px 6px;border-right:1px solid var(--brd)}.pc-detail-stat:last-child{border-right:none}.pc-detail-stat-v{font-family:var(--mono);font-size:1rem;font-weight:800;display:block}.pc-detail-stat-l{font-size:.5625rem;font-weight:500;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.pc-bars{padding:12px 16px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--brd)}

/* ═══ LIST ROW ═══ */
.pc-list{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px}.pc-list .pc-av{width:32px;height:32px;font-size:.6875rem}.pc-list .pc-name{font-size:.875rem}.pc-list-info{flex:1;min-width:0}.pc-list-right{display:flex;align-items:center;gap:14px;flex-shrink:0}

/* ═══ HERO ═══ */
.pc-hero{max-width:480px;width:100%;border-radius:16px;box-shadow:var(--shadow-floating);border:1px solid var(--brd-s);position:relative;overflow:hidden}.pc-hero::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:min(500px,150%);height:300px;border-radius:50%;background:radial-gradient(ellipse,var(--glow-accent-strong),transparent 70%);pointer-events:none;z-index:0}.pc-hero>*{position:relative;z-index:1}.pc-hero:hover{transform:none;box-shadow:var(--shadow-floating)}
.pc-hero-body{padding:24px;display:flex;align-items:center;gap:16px}.pc-hero .pc-av{width:72px;height:72px;font-size:1.25rem;border-width:3px}.pc-hero .pc-name{font-size:1.25rem}.pc-hero .pc-team{font-size:.75rem}
.pc-hero-stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--brd)}.pc-hero-stat{text-align:center;padding:14px 6px;border-right:1px solid var(--brd)}.pc-hero-stat:last-child{border-right:none}.pc-hero-stat-v{font-family:var(--mono);font-size:1.125rem;font-weight:800;display:block}.pc-hero-stat-l{font-size:.5625rem;font-weight:500;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}

/* ═══ LAYOUT ═══ */

/* ══════════════════════════════════════════
   DS v3 — EDITORIAL
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  --purple:#854DFF;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);--green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);--live:#dd0000;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent-strong:rgba(191,249,50,.08);--glow-purple:rgba(133,77,255,.05);
}
  --bg-0:#ffffff;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent-strong:rgba(61,107,0,.07);--glow-purple:rgba(109,40,217,.04);
}

/* ══════════════════════════════════════════
   1. NEWSLETTER
   ══════════════════════════════════════════ */
.nl{position:relative;overflow:hidden;border-radius:12px;padding:40px 32px;text-align:center;background:linear-gradient(135deg,var(--bg-3),var(--bg-2));border:1px solid var(--brd);box-shadow:var(--shadow-surface)}
.nl::before{content:'';position:absolute;top:-40%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,var(--glow-accent-strong),transparent 70%);pointer-events:none;border-radius:50%}
.nl-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--accent-ink);position:relative}
.nl-title{font-size:1.5rem;font-weight:800;margin-bottom:8px;position:relative}
.nl-desc{font-size:.9375rem;color:var(--t2);max-width:420px;margin:0 auto 20px;font-weight:400;line-height:1.7;position:relative}
.nl-form{display:flex;gap:8px;max-width:420px;margin:0 auto;position:relative}
.nl-input{flex:1;font-family:var(--font);font-size:.875rem;padding:12px 16px;background:var(--card);border:1px solid var(--brd);border-radius:8px;color:var(--t1);outline:none;transition:border-color .15s,box-shadow .15s}
.nl-input::placeholder{color:var(--t4)}
.nl-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}[data-theme="light"] .nl-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
.nl-btn{font-family:var(--font);font-size:.875rem;font-weight:700;padding:12px 24px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow-raised)}
.nl-btn:hover{background:var(--accent-h)}
.nl-note{font-size:.6875rem;color:var(--t4);margin-top:10px;position:relative}
/* Inline */
.nl-inline{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--card);border:1px solid var(--brd);border-radius:10px;box-shadow:var(--shadow-surface);transition:box-shadow .25s}
.nl-inline:hover{box-shadow:var(--shadow-raised)}
.nl-inline-icon{width:36px;height:36px;border-radius:8px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-ink)}[data-theme="light"] .nl-inline-icon{color:var(--purple-ink);background:var(--purple-dim)}
.nl-inline-body{flex:1;min-width:0}
.nl-inline-title{font-size:.875rem;font-weight:700}
.nl-inline-desc{font-size:.75rem;color:var(--t3);font-weight:400}
.nl-inline-form{display:flex;gap:6px;flex-shrink:0}
.nl-inline-input{font-family:var(--font);font-size:.8125rem;padding:8px 12px;background:var(--bg-2);border:1px solid var(--brd);border-radius:6px;color:var(--t1);outline:none;width:180px;transition:border-color .15s}
.nl-inline-input:focus{border-color:var(--accent)}
.nl-inline-btn{font-family:var(--font);font-size:.8125rem;font-weight:700;padding:8px 16px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;cursor:pointer;transition:background .15s}
.nl-inline-btn:hover{background:var(--accent-h)}

/* ══════════════════════════════════════════
   2. AUTHOR
   ══════════════════════════════════════════ */
.author{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:480px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s}
.author:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.author-head{display:flex;align-items:center;gap:14px;padding:16px 20px}
.author-av{width:56px;height:56px;border-radius:50%;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.125rem;font-weight:800;color:var(--t3);border:2px solid var(--brd)}
.author-info{flex:1;min-width:0}
.author-nm{font-size:1.0625rem;font-weight:700}
.author-role{font-size:.75rem;color:var(--t3);font-weight:400}
.author-follow{font-family:var(--font);font-size:.75rem;font-weight:700;padding:6px 16px;border-radius:6px;background:var(--accent);color:var(--accent-fg);border:none;cursor:pointer;transition:background .15s;flex-shrink:0}
.author-follow:hover{background:var(--accent-h)}
.author-bio{padding:0 20px 14px;font-size:.875rem;color:var(--t2);line-height:1.7;font-weight:400}
.author-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--brd)}
.author-stat{text-align:center;padding:12px 8px;border-right:1px solid var(--brd)}.author-stat:last-child{border-right:none}
.author-stat-v{font-family:var(--mono);font-size:1.125rem;font-weight:800;display:block}
.author-stat-l{font-size:.6875rem;color:var(--t4);font-weight:500;margin-top:2px}
.author-socials{display:flex;gap:6px;padding:12px 20px;border-top:1px solid var(--brd)}
.author-social{width:28px;height:28px;border-radius:6px;background:var(--bg-3);border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;color:var(--t3);cursor:pointer;transition:all .15s}
.author-social:hover{color:var(--t1);border-color:var(--brd-h);background:var(--bg-4);box-shadow:var(--shadow-raised)}

/* ══════════════════════════════════════════
   3. GALLERY
   ══════════════════════════════════════════ */
.gallery{max-width:640px;width:100%}
.gallery-main{position:relative;aspect-ratio:16/10;background:var(--bg-3);border-radius:10px;overflow:hidden;cursor:pointer;margin-bottom:8px;box-shadow:var(--shadow-surface)}
.gallery-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--t4);font-weight:500}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.5);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s;backdrop-filter:blur(4px);box-shadow:var(--shadow-raised)}
.gallery-nav:hover{background:rgba(0,0,0,.7)}
.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}
.gallery-counter{position:absolute;bottom:10px;right:10px;font-family:var(--mono);font-size:.6875rem;font-weight:600;background:rgba(0,0,0,.5);color:#fff;padding:3px 10px;border-radius:100px;backdrop-filter:blur(4px)}
.gallery-cap{font-size:.8125rem;color:var(--t3);font-weight:400;margin-bottom:10px;line-height:1.5}
.gallery-thumbs-w{position:relative}
.gallery-thumb{width:64px;height:44px;border-radius:6px;background:var(--bg-3);flex-shrink:0;cursor:pointer;border:2px solid transparent;transition:border-color .15s,box-shadow .15s;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--t4)}
.gallery-thumb.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}[data-theme="light"] .gallery-thumb.active{border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-dim)}
.gallery-thumb:hover{border-color:var(--brd-h)}

/* ══════════════════════════════════════════
   4. POLLS
   ══════════════════════════════════════════ */
.poll{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:420px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}
.poll:hover{box-shadow:var(--shadow-raised)}
.poll-head{padding:16px;border-bottom:1px solid var(--brd)}
.poll-badge{font-family:var(--mono);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:var(--accent-dim);padding:3px 10px;border-radius:100px;border:1px solid rgba(191,249,50,.12);display:inline-block;margin-bottom:8px}
.poll-q{font-size:1rem;font-weight:700;line-height:1.4}
.poll-opts{padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.poll-opt{position:relative;padding:10px 14px;background:var(--bg-2);border:1px solid var(--brd);border-radius:8px;cursor:pointer;transition:all .15s;overflow:hidden}
.poll-opt:hover{border-color:var(--brd-h)}
.poll-opt.voted{border-color:var(--accent);background:var(--accent-dim)}[data-theme="light"] .poll-opt.voted{border-color:var(--purple);background:var(--purple-dim)}
.poll-opt-bar{position:absolute;inset:0;width:0;border-radius:8px;pointer-events:none;transition:width .6s var(--ease)}
.poll-opt-bar.accent{background:var(--accent-dim)}[data-theme="light"] .poll-opt-bar.accent{background:var(--purple-dim)}
.poll-opt-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px}
.poll-opt-text{font-size:.875rem;font-weight:600}
.poll-opt-pct{font-family:var(--mono);font-size:.8125rem;font-weight:700;color:var(--t3);opacity:0;transition:opacity .3s}
.poll-opt.show-result .poll-opt-pct{opacity:1}
.poll-opt.show-result.voted .poll-opt-pct{color:var(--accent-ink)}[data-theme="light"] .poll-opt.show-result.voted .poll-opt-pct{color:var(--purple-ink)}
.poll-foot{padding:10px 16px;border-top:1px solid var(--brd);display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--t4)}
.poll-votes{font-family:var(--mono);font-weight:600}

/* ══════════════════════════════════════════
   5. VIDEO CARD
   ══════════════════════════════════════════ */
.vid{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:360px;width:100%;cursor:pointer;box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s}
.vid:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.vid-thumb{position:relative;aspect-ratio:16/9;background:var(--bg-3);overflow:hidden}
.vid-thumb-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--t4);font-size:.875rem}
.vid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;box-shadow:var(--shadow-raised)}
.vid:hover .vid-play{background:var(--accent);color:var(--accent-fg);transform:translate(-50%,-50%) scale(1.08)}
.vid-dur{position:absolute;bottom:8px;right:8px;font-family:var(--mono);font-size:.6875rem;font-weight:600;background:rgba(0,0,0,.7);color:#fff;padding:2px 8px;border-radius:4px}
.vid-badge{position:absolute;top:8px;left:8px;font-family:var(--mono);font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:4px}
.vid-badge.live{background:var(--live);color:#fff}.vid-badge.new{background:var(--accent);color:var(--accent-fg)}
.vid-body{padding:14px 16px}
.vid-title{font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:6px}
.vid-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--t3);font-weight:400}
.vid-views{display:flex;align-items:center;gap:4px}

/* ══════════════════════════════════════════
   6. COMMENTS
   ══════════════════════════════════════════ */
.cmt-section{max-width:640px;width:100%}
.cmt-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cmt-count{font-size:1rem;font-weight:700}
.cmt-sort{font-family:var(--font);font-size:.75rem;font-weight:600;padding:6px 12px;border-radius:6px;background:var(--bg-2);border:1px solid var(--brd);color:var(--t3);cursor:pointer;transition:all .15s;box-shadow:var(--shadow-surface)}
.cmt-sort:hover{box-shadow:var(--shadow-raised);color:var(--t1)}
.cmt-compose{display:flex;gap:10px;margin-bottom:16px}
.cmt-compose-av{width:36px;height:36px;border-radius:50%;background:var(--bg-4);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--t3)}
.cmt-compose-input{flex:1;font-family:var(--font);font-size:.875rem;padding:10px 14px;background:var(--bg-2);border:1px solid var(--brd);border-radius:8px;color:var(--t1);outline:none;resize:none;min-height:44px;transition:border-color .15s,box-shadow .15s}
.cmt-compose-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}[data-theme="light"] .cmt-compose-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
/* Quick reactions */
.cmt-chips{margin-bottom:20px}
.cmt{padding:14px 0;border-bottom:1px solid var(--brd)}.cmt:last-child{border-bottom:none}
.cmt-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.cmt-av{width:32px;height:32px;border-radius:50%;background:var(--bg-4);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:var(--t3)}
.cmt-author{font-size:.8125rem;font-weight:700}
.cmt-time{font-size:.6875rem;color:var(--t4);font-weight:400}
.cmt-pro{font-family:var(--mono);font-size:.5625rem;font-weight:700;padding:2px 6px;border-radius:3px;background:var(--accent-dim);color:var(--accent-ink);border:1px solid rgba(191,249,50,.12);margin-left:4px}
.cmt-body{font-size:.875rem;color:var(--t2);line-height:1.7;font-weight:400;margin-left:42px}
.cmt-actions{display:flex;align-items:center;gap:12px;margin-left:42px;margin-top:8px}
.cmt-act{display:flex;align-items:center;gap:4px;font-size:.6875rem;color:var(--t4);cursor:pointer;transition:color .15s;background:none;border:none;font-family:var(--font)}.cmt-act:hover{color:var(--t1)}
.cmt-act svg{width:14px;height:14px}.cmt-act-v{font-family:var(--mono);font-weight:600}
.cmt-replies{margin-left:42px;padding-left:16px;border-left:2px solid var(--brd)}
.cmt-replies .cmt{padding:10px 0}
.cmt-replies .cmt-body,.cmt-replies .cmt-actions{margin-left:36px}

/* ── LAYOUT ── */

/* ══════════════════════════════════════════
   DS v3 — UI PRIMITIVES
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-1:#0c0c0e;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  --purple:#854DFF;--purple-h:#a87fff;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);
  --green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);
  --blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --live:#dd0000;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent:rgba(191,249,50,.04);--glow-accent-strong:rgba(191,249,50,.08);
  --glow-live:rgba(221,0,0,.06);--glow-purple:rgba(133,77,255,.05);
}
  --bg-0:#ffffff;--bg-1:#fafafa;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --amber:#d97706;--amber-dim:rgba(217,119,6,.08);--blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent:rgba(61,107,0,.04);--glow-accent-strong:rgba(61,107,0,.07);
  --glow-live:rgba(220,38,38,.05);--glow-purple:rgba(109,40,217,.04);
}

@keyframes tabFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Wrapping variant for constrained containers (empty states, modals) */
.chips-wrap{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:2px 0}
/* Smaller chips for tight spaces */
.chip-sm{font-size:.75rem;padding:4px 12px}

/* ══════════════════════════════════════════
   1. TABS
   ══════════════════════════════════════════ */
.tabs-wrap{position:relative}
.tab{padding:10px 20px;font-family:var(--font);font-size:.875rem;font-weight:600;color:var(--t3);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;background:none}
.tab:hover{color:var(--t1)}
.tab.active{color:var(--t1);border-bottom-color:var(--accent)}[data-theme="light"] .tab.active{border-bottom-color:var(--purple)}
.tab-pill{padding:8px 16px;font-family:var(--font);font-size:.8125rem;font-weight:600;color:var(--t3);border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .15s;background:none;border:none}
.tab-pill:hover{color:var(--t1);background:var(--bg-3)}
.tab-pill.active{color:var(--accent-fg);background:var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.15)}
.tab-panel{display:none;padding:16px 0;animation:tabFade .25s ease}.tab-panel.active{display:block}

/* ══════════════════════════════════════════
   2. ACCORDION
   ══════════════════════════════════════════ */
.acc{border:1px solid var(--brd);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-surface)}
.acc-item{border-bottom:1px solid var(--brd)}.acc-item:last-child{border-bottom:none}
.acc-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;font-family:var(--font);font-size:.9375rem;font-weight:600;color:var(--t1);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s}
.acc-trigger:hover{background:var(--bg-2)}
.acc-trigger svg{width:16px;height:16px;color:var(--t4);transition:transform .25s var(--ease);flex-shrink:0}
.acc-item.is-open .acc-trigger svg{transform:rotate(180deg)}
.acc-item.is-open .acc-trigger{color:var(--accent-ink)}[data-theme="light"] .acc-item.is-open .acc-trigger{color:var(--purple-ink)}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.acc-inner{padding:0 16px 16px;font-size:.875rem;color:var(--t2);line-height:1.7;font-weight:400}
/* Beam between items when open */
.acc-item.is-open+.acc-item{border-top:none}
.acc-beam{height:1px;background:var(--brd);position:relative;overflow:hidden;margin:0 16px}
.acc-beam::after{content:'';position:absolute;top:0;left:-20%;width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:beamPulse 5s ease infinite}

/* ══════════════════════════════════════════
   3. TOOLTIP
   ══════════════════════════════════════════ */
.tip-w{position:relative;display:inline-flex}
.tip{position:absolute;z-index:50;padding:6px 12px;background:var(--bg-4);color:var(--t1);font-size:.75rem;font-weight:500;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;box-shadow:var(--shadow-raised)}
.tip::after{content:'';position:absolute;border:5px solid transparent}
.tip-top{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px)}.tip-top::after{top:100%;left:50%;transform:translateX(-50%);border-top-color:var(--bg-4)}[data-theme="light"] .tip-top::after{border-top-color:var(--t1)}
.tip-bottom{top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px)}.tip-bottom::after{bottom:100%;left:50%;transform:translateX(-50%);border-bottom-color:var(--bg-4)}[data-theme="light"] .tip-bottom::after{border-bottom-color:var(--t1)}
.tip-w:hover .tip{opacity:1}
.tip-w:hover .tip-top,.tip-w:hover .tip-bottom{transform:translateX(-50%) translateY(0)}

/* ══════════════════════════════════════════
   4. PAGINATION
   ══════════════════════════════════════════ */
.pag{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.pag-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;font-family:var(--font);font-size:.8125rem;font-weight:600;color:var(--t3);background:var(--card);border:1px solid var(--brd);border-radius:8px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-surface)}
.pag-btn:hover{color:var(--t1);border-color:var(--brd-h);box-shadow:var(--shadow-raised)}
.pag-btn.active{color:var(--accent-fg);background:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-raised)}
.pag-btn.disabled{opacity:.3;pointer-events:none}
.pag-dots{font-size:.8125rem;color:var(--t4);padding:0 4px;user-select:none}
.pag-load{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;font-family:var(--font);font-size:.875rem;font-weight:700;color:var(--t2);background:var(--bg-2);border:1px solid var(--brd);border-radius:10px;cursor:pointer;transition:all .15s;box-shadow:var(--shadow-surface)}
.pag-load:hover{color:var(--t1);border-color:var(--brd-h);box-shadow:var(--shadow-raised)}
.pag-load svg{width:16px;height:16px}

/* ══════════════════════════════════════════
   5. EMPTY STATES + SUGGESTION CHIPS
   ══════════════════════════════════════════ */
.empty{text-align:center;padding:48px 24px}
.empty-icon{width:48px;height:48px;margin:0 auto 16px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.empty-icon svg{width:24px;height:24px}
.empty-icon.neutral{background:var(--bg-3);color:var(--t4)}.empty-icon.error{background:var(--red-dim);color:var(--red)}.empty-icon.search{background:var(--blue-dim);color:var(--blue)}
.empty-title{font-size:1.0625rem;font-weight:700;margin-bottom:6px}
.empty-text{font-size:.875rem;color:var(--t3);max-width:320px;margin:0 auto 16px;font-weight:400;line-height:1.6}
.empty-action{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:.8125rem;font-weight:700;color:var(--accent-fg);background:var(--accent);padding:8px 20px;border-radius:8px;border:none;cursor:pointer;transition:background .15s}.empty-action:hover{background:var(--accent-h)}

/* ══════════════════════════════════════════
   6. COUNTDOWN (Sliding Numbers)
   ══════════════════════════════════════════ */
.cd{display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap}
.cd-unit{display:flex;flex-direction:column;align-items:center;min-width:60px;padding:14px 10px;background:var(--bg-2);border:1px solid var(--brd);border-radius:10px;box-shadow:var(--shadow-surface)}
.cd-val{font-family:var(--mono);font-size:1.75rem;font-weight:800;color:var(--t1);line-height:1}
.cd-lbl{font-size:.6875rem;font-weight:500;color:var(--t4);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.cd-sep{font-family:var(--mono);font-size:1.25rem;font-weight:700;color:var(--t4);margin-top:-8px}
.cd-meta{text-align:center;margin-top:14px}
.cd-match{font-size:1.0625rem;font-weight:700;color:var(--t1);margin-bottom:4px}
.cd-sub{font-size:.8125rem;color:var(--t3);font-weight:400}

/* ══════════════════════════════════════════
   7. DATA TABLE
   ══════════════════════════════════════════ */
.dt-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--bg-5) var(--bg-2);border:1px solid var(--brd);border-radius:12px;box-shadow:var(--shadow-surface)}
.dt{width:100%;border-collapse:collapse;font-size:.875rem}
.dt th{text-align:left;padding:10px 14px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--t4);background:var(--bg-2);border-bottom:2px solid var(--brd);white-space:nowrap;user-select:none}
.dt th.sortable{cursor:pointer;transition:color .15s}.dt th.sortable:hover{color:var(--t1)}
.dt th .si{display:inline-flex;vertical-align:middle;margin-left:4px;color:var(--t4);transition:color .15s,transform .15s}
.dt th.asc .si,.dt th.desc .si{color:var(--accent-ink)}[data-theme="light"] .dt th.asc .si,[data-theme="light"] .dt th.desc .si{color:var(--purple-ink)}
.dt th.desc .si{transform:rotate(180deg)}
.dt th.num,.dt td.num{text-align:center}
.dt td{padding:10px 14px;border-bottom:1px solid var(--brd);vertical-align:middle;font-weight:400}
.dt tbody tr{transition:background .1s}.dt tbody tr:hover{background:var(--bg-2)}
.dt tbody tr:last-child td{border-bottom:none}
.dt .hl{color:var(--accent-ink);font-weight:700}[data-theme="light"] .dt .hl{color:var(--purple-ink)}
.dt .tc{display:flex;align-items:center;gap:8px;font-weight:600}
.dt .crest{width:18px;height:18px;border-radius:3px;background:var(--bg-4);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.45rem;color:var(--t4);font-weight:800}
.dt .bar-w{display:flex;align-items:center;gap:6px}.dt .bar-fill{height:6px;border-radius:3px;background:var(--accent);min-width:4px;animation:barGrow .8s var(--ease) both;width:var(--w)}.dt .bar-val{font-family:var(--mono);font-size:.75rem;font-weight:600;color:var(--t2);min-width:32px}
/* Shimmer row */
.dt-skel td{border-bottom:1px solid var(--brd)}

/* ══════════════════════════════════════════
   8. STAT COMPARISON
   ══════════════════════════════════════════ */
.sc{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:480px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}
.sc:hover{box-shadow:var(--shadow-raised)}
.sc-hdr{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--brd)}
.sc-team{display:flex;align-items:center;gap:8px}.sc-team:last-child{justify-content:flex-end}
.sc-crest{width:28px;height:28px;border-radius:6px;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.625rem;font-weight:800;color:var(--t3)}
.sc-name{font-size:.875rem;font-weight:700}
.sc-vs{font-size:.75rem;font-weight:700;color:var(--t4);text-transform:uppercase}
.sc-body{padding:4px 0}
.sc-row{display:grid;grid-template-columns:48px 1fr auto 1fr 48px;align-items:center;gap:6px;padding:8px 20px;border-bottom:1px solid var(--brd)}.sc-row:last-child{border-bottom:none}
.sc-val{font-family:var(--mono);font-size:.875rem;font-weight:600;text-align:center;color:var(--t2)}
.sc-val.win{color:var(--accent-ink);font-weight:800}[data-theme="light"] .sc-val.win{color:var(--purple-ink)}
.sc-lbl{font-size:.75rem;color:var(--t4);text-align:center;white-space:nowrap}
.sc-bar{height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}.sc-row .sc-bar:first-of-type{direction:rtl}
.sc-fill{height:100%;border-radius:3px;animation:barGrow .8s var(--ease) .2s both;width:var(--w)}
.sc-fill.home{background:var(--accent)}.sc-fill.away{background:var(--purple)}

/* ── LAYOUT ── */

/* ══════════════════════════════════════════
   DS v3 — NOTIFICATIONS
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);
  --purple:#854DFF;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);--green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);--blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --live:#dd0000;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent-strong:rgba(191,249,50,.08);--glow-live:rgba(221,0,0,.06);--glow-live-strong:rgba(221,0,0,.12);
  --glass-bg:rgba(20,20,23,.92);--glass-brd:rgba(255,255,255,.08);
}
  --bg-0:#ffffff;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --amber:#d97706;--amber-dim:rgba(217,119,6,.08);--blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent-strong:rgba(61,107,0,.07);--glow-live:rgba(220,38,38,.05);--glow-live-strong:rgba(220,38,38,.10);
  --glass-bg:rgba(255,255,255,.94);--glass-brd:rgba(0,0,0,.06);
}

@keyframes toastIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastOut{from{transform:translateX(0);opacity:1}to{transform:translateX(120%);opacity:0}}
@keyframes toastProgress{from{width:100%}to{width:0}}
@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes goalPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* ══════════════════════════════════════════
   1. BREAKING NEWS BAR
   ══════════════════════════════════════════ */
.breaking{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--live);color:#fff;font-size:.8125rem;font-weight:600;position:relative;overflow:hidden}
.breaking::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:beamPulse 3s ease infinite}
.breaking-badge{font-family:var(--mono);font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;background:rgba(255,255,255,.2);border-radius:4px;flex-shrink:0;backdrop-filter:blur(4px)}
.breaking-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}
.breaking-text strong{font-weight:700}
.breaking-close{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:none;cursor:pointer;color:#fff;flex-shrink:0;transition:background .15s}
.breaking-close:hover{background:rgba(255,255,255,.2)}

/* ══════════════════════════════════════════
   2. INLINE ALERTS
   ══════════════════════════════════════════ */
.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:10px;font-size:.8125rem;line-height:1.6;border:1px solid;box-shadow:var(--shadow-surface)}
.alert svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.alert-body{flex:1;min-width:0}.alert-title{font-weight:700;margin-bottom:2px}.alert-text{font-weight:400;opacity:.85}
.alert-close{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;opacity:.5;transition:opacity .15s;flex-shrink:0}.alert-close:hover{opacity:1}
.alert-info{background:var(--blue-dim);border-color:rgba(59,130,246,.15);color:var(--blue)}.alert-info .alert-title{color:var(--t1)}.alert-info .alert-text{color:var(--t2)}
.alert-success{background:var(--green-dim);border-color:rgba(34,197,94,.15);color:var(--green)}.alert-success .alert-title{color:var(--t1)}.alert-success .alert-text{color:var(--t2)}
.alert-warning{background:var(--amber-dim);border-color:rgba(245,158,11,.15);color:var(--amber)}.alert-warning .alert-title{color:var(--t1)}.alert-warning .alert-text{color:var(--t2)}
.alert-error{background:var(--red-dim);border-color:rgba(239,68,68,.15);color:var(--red)}.alert-error .alert-title{color:var(--t1)}.alert-error .alert-text{color:var(--t2)}
.alert-neutral{background:var(--bg-2);border-color:var(--brd);color:var(--t3)}.alert-neutral .alert-title{color:var(--t1)}.alert-neutral .alert-text{color:var(--t2)}

/* ══════════════════════════════════════════
   3. TOAST
   ══════════════════════════════════════════ */
.toast-stack{position:fixed;top:60px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;width:360px;max-width:calc(100vw - 32px)}
.toast{background:var(--glass-bg);border:1px solid var(--glass-brd);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-floating);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:flex-start;gap:10px;animation:toastIn .4s var(--ease-spring);position:relative;overflow:hidden}
.toast.dismissing{animation:toastOut .3s ease forwards}
.toast-icon{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.toast-icon svg{width:12px;height:12px}
.toast-icon.success{background:var(--green-dim);color:var(--green)}
.toast-icon.error{background:var(--red-dim);color:var(--red)}
.toast-icon.info{background:var(--blue-dim);color:var(--blue)}
.toast-icon.goal{background:var(--green-dim);color:var(--green);animation:goalPulse 1s ease 2}
.toast-body{flex:1;min-width:0}
.toast-title{font-size:.8125rem;font-weight:700;margin-bottom:2px}
.toast-text{font-size:.75rem;color:var(--t3);font-weight:400;line-height:1.5}
.toast-close{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--t4);transition:all .15s;flex-shrink:0}
.toast-close:hover{color:var(--t1);background:rgba(255,255,255,.06)}
.toast-close svg{width:12px;height:12px}
.toast-progress{position:absolute;bottom:0;left:0;height:2px;border-radius:0 0 12px 12px}
.toast-progress.success{background:var(--green)}.toast-progress.error{background:var(--red)}.toast-progress.info{background:var(--blue)}.toast-progress.goal{background:var(--accent)}

/* ══════════════════════════════════════════
   4. LIVE SCORE PUSH
   ══════════════════════════════════════════ */
.lsp{background:var(--card);border:1px solid var(--brd);border-radius:12px;padding:14px 16px;max-width:360px;width:100%;box-shadow:var(--shadow-floating);position:relative;overflow:hidden}
.lsp::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:300px;height:200px;border-radius:50%;background:radial-gradient(ellipse,var(--glow-live-strong),transparent 70%);pointer-events:none;z-index:0}
.lsp>*{position:relative;z-index:1}
.lsp-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.lsp-badge{font-family:var(--mono);font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--live);padding:3px 8px;border-radius:4px;display:flex;align-items:center;gap:4px}
.lsp-dot{width:5px;height:5px;border-radius:50%;background:#fff;animation:livePulse 1.5s ease infinite}
.lsp-league{font-size:.6875rem;color:var(--t4);font-weight:400}
.lsp-match{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.lsp-team{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.lsp-team:last-child{justify-content:flex-end}
.lsp-crest{width:24px;height:24px;border-radius:5px;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.5rem;font-weight:800;color:var(--t4)}
.lsp-nm{font-size:.8125rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lsp-score{font-family:var(--mono);font-size:1.25rem;font-weight:800;min-width:48px;text-align:center;display:flex;align-items:center;justify-content:center;gap:2px}
.lsp-sep{color:var(--t4);font-size:1rem}
.lsp-event{display:flex;align-items:center;gap:6px;font-size:.75rem;padding-top:8px;border-top:1px solid var(--brd)}
.lsp-event-icon{width:16px;height:16px;border-radius:50%;background:var(--green-dim);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lsp-event-icon svg{width:8px;height:8px}
.lsp-event-text{flex:1;color:var(--t2);font-weight:400}.lsp-event-text strong{color:var(--t1);font-weight:700}
.lsp-event-time{font-family:var(--mono);font-size:.6875rem;color:var(--t4);font-weight:700}

/* ══════════════════════════════════════════
   5. COOKIE CONSENT
   ══════════════════════════════════════════ */
.cookie{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(480px,calc(100vw - 32px));background:var(--glass-bg);border:1px solid var(--glass-brd);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow-floating);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:150;display:none;animation:slideDown .4s var(--ease-spring)}
.cookie.is-open{display:block}
.cookie-title{font-size:.875rem;font-weight:700;margin-bottom:4px}
.cookie-text{font-size:.75rem;color:var(--t3);font-weight:400;line-height:1.6;margin-bottom:12px}
.cookie-actions{display:flex;gap:8px}
.cookie-btn{font-family:var(--font);font-size:.8125rem;font-weight:700;padding:8px 18px;border-radius:8px;border:none;cursor:pointer;transition:all .15s}
.cookie-btn-p{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-raised)}.cookie-btn-p:hover{background:var(--accent-h)}
.cookie-btn-s{background:var(--bg-3);color:var(--t2);border:1px solid var(--brd);box-shadow:var(--shadow-surface)}.cookie-btn-s:hover{color:var(--t1);box-shadow:var(--shadow-raised)}

/* ══════════════════════════════════════════
   6. BANNER ALERT
   ══════════════════════════════════════════ */
.banner{padding:10px 20px;display:flex;align-items:center;gap:10px;font-size:.8125rem;border-bottom:1px solid var(--brd);position:relative;overflow:hidden}
.banner.accent{background:var(--accent-dim);border-bottom-color:rgba(191,249,50,.1)}
.banner.purple{background:var(--purple-dim);border-bottom-color:rgba(133,77,255,.1)}
.banner-icon{flex-shrink:0}
.banner-icon svg{width:16px;height:16px}
.banner-text{flex:1;font-weight:400;color:var(--t2)}.banner-text strong{font-weight:700;color:var(--t1)}
.banner-text a{color:var(--accent-ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}[data-theme="light"] .banner-text a{color:var(--purple-ink)}
.banner-close{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--t4);transition:all .15s;flex-shrink:0}.banner-close:hover{color:var(--t1);background:rgba(255,255,255,.06)}

/* ══════════════════════════════════════════
   7. MODAL ALERT
   ══════════════════════════════════════════ */
.modal-bk{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.modal-bk.is-open{opacity:1;visibility:visible}
.modal{width:400px;max-width:calc(100vw - 32px);background:var(--glass-bg);border:1px solid var(--glass-brd);border-radius:16px;box-shadow:var(--shadow-floating);padding:24px;transform:scale(.95);transition:transform .3s var(--ease-spring);text-align:center}
.modal-bk.is-open .modal{transform:scale(1)}
.modal-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.modal-icon.warning{background:var(--amber-dim);color:var(--amber)}
.modal-icon svg{width:28px;height:28px}
.modal-title{font-size:1.125rem;font-weight:800;margin-bottom:6px}
.modal-text{font-size:.875rem;color:var(--t3);font-weight:400;line-height:1.7;margin-bottom:20px;max-width:320px;margin-left:auto;margin-right:auto}
.modal-actions{display:flex;gap:8px;justify-content:center}
.modal-btn{font-family:var(--font);font-size:.875rem;font-weight:700;padding:10px 24px;border-radius:8px;border:none;cursor:pointer;transition:all .15s}
.modal-btn-p{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-raised)}.modal-btn-p:hover{background:var(--accent-h)}
.modal-btn-s{background:var(--bg-3);color:var(--t2);border:1px solid var(--brd)}.modal-btn-s:hover{color:var(--t1)}

/* ── LAYOUT ── */
.trigger-btn{font-family:var(--font);font-size:.8125rem;font-weight:600;padding:8px 18px;border-radius:8px;border:1px solid var(--brd-s);background:var(--bg-2);color:var(--t2);cursor:pointer;transition:all .15s;box-shadow:var(--shadow-surface);display:inline-flex;align-items:center;gap:6px}.trigger-btn:hover{box-shadow:var(--shadow-raised);color:var(--t1)}
.trigger-btn svg{width:14px;height:14px}

/* ══════════════════════════════════════════
   DS v3 — CHARTS
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-1:#0c0c0e;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  --purple:#854DFF;--purple-h:#a87fff;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);--green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);--blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --live:#dd0000;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent-strong:rgba(191,249,50,.08);--glow-purple:rgba(133,77,255,.05);
  --glass-bg:rgba(20,20,23,.92);--glass-brd:rgba(255,255,255,.08);
}
  --bg-0:#ffffff;--bg-1:#fafafa;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --amber:#d97706;--amber-dim:rgba(217,119,6,.08);--blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent-strong:rgba(61,107,0,.07);--glow-purple:rgba(109,40,217,.04);
  --glass-bg:rgba(255,255,255,.94);--glass-brd:rgba(0,0,0,.06);
}

@keyframes donutDraw{from{stroke-dashoffset:var(--circ)}to{stroke-dashoffset:var(--off)}}

/* ══════════════════════════════════════════
   1. BAR CHARTS
   ══════════════════════════════════════════ */
.hbar-g{display:flex;flex-direction:column;gap:12px;max-width:480px}
.hbar{display:flex;align-items:center;gap:10px}
.hbar-lbl{font-size:.8125rem;font-weight:600;min-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbar-trk{flex:1;height:8px;background:var(--bg-3);border-radius:4px;overflow:hidden;min-width:0}
.hbar-fill{height:100%;border-radius:4px;animation:barGrow .8s var(--ease) both;width:var(--w)}
.hbar-fill.accent{background:var(--accent)}.hbar-fill.purple{background:var(--purple)}.hbar-fill.blue{background:var(--blue)}.hbar-fill.green{background:var(--green)}.hbar-fill.amber{background:var(--amber)}
.hbar-val{font-family:var(--mono);font-size:.8125rem;font-weight:700;min-width:28px;text-align:right;color:var(--t2)}
/* Vertical */
.vbar-chart{display:flex;align-items:flex-end;gap:8px;height:200px;padding-top:24px;border-bottom:1px solid var(--brd)}
.vbar{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}
.vbar-col{width:100%;max-width:40px;border-radius:4px 4px 0 0;animation:barGrowH .8s var(--ease) both;height:var(--h);min-height:4px}
.vbar-col.accent{background:var(--accent)}.vbar-col.purple{background:var(--purple)}
.vbar-val{font-family:var(--mono);font-size:.6875rem;font-weight:700;color:var(--t2);margin-bottom:4px}
.vbar-lbl{font-size:.6875rem;color:var(--t4);margin-top:8px;text-align:center;font-weight:500}

/* ══════════════════════════════════════════
   2. DONUT CHARTS
   ══════════════════════════════════════════ */
.donut-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center}
.donut{position:relative;width:120px;height:120px;flex-shrink:0}
.donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.donut-trk{fill:none;stroke:var(--bg-3);stroke-width:8}
.donut-fill{fill:none;stroke-width:8;stroke-linecap:round;stroke-dasharray:var(--circ);stroke-dashoffset:var(--circ);animation:donutDraw 1.2s var(--ease) .3s forwards}
.donut-fill.accent{stroke:var(--accent)}.donut-fill.purple{stroke:var(--purple)}.donut-fill.blue{stroke:var(--blue)}.donut-fill.green{stroke:var(--green)}
.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-v{font-family:var(--mono);font-size:1.5rem;font-weight:800;line-height:1}
.donut-l{font-size:.6875rem;color:var(--t4);margin-top:2px;font-weight:500}
.donut-legend{display:flex;flex-direction:column;gap:8px}
.donut-li{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;color:var(--t2)}
.donut-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.donut-dot.accent{background:var(--accent)}.donut-dot.purple{background:var(--purple)}
.donut-lv{font-family:var(--mono);font-weight:700;margin-left:auto;color:var(--t1)}
.donut-row{display:flex;gap:32px;flex-wrap:wrap;justify-content:center}
.donut-card{display:flex;flex-direction:column;align-items:center;gap:8px}
.donut-card-lbl{font-size:.8125rem;font-weight:700}

/* ══════════════════════════════════════════
   3. SHARE SHEET
   ══════════════════════════════════════════ */
.share-bk{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.share-bk.is-open{opacity:1;visibility:visible}
.share-sheet{width:420px;max-width:100%;background:var(--glass-bg);border:1px solid var(--glass-brd);border-radius:16px 16px 0 0;box-shadow:var(--shadow-floating);transform:translateY(100%);transition:transform .3s var(--ease-spring);color:var(--t1);padding:20px 24px 28px}
.share-bk.is-open .share-sheet{transform:translateY(0)}
.share-handle{width:36px;height:4px;background:var(--bg-5);border-radius:2px;margin:0 auto 16px}
.share-title{font-size:1rem;font-weight:700}
.share-url-row{display:flex;gap:8px;margin:14px 0}
.share-url{flex:1;font-family:var(--mono);font-size:.8125rem;padding:10px 14px;background:var(--bg-3);border:1px solid var(--brd);border-radius:8px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.share-copy{font-family:var(--font);font-size:.8125rem;font-weight:700;padding:10px 18px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;cursor:pointer;transition:background .15s;flex-shrink:0}
.share-copy:hover{background:var(--accent-h)}
.share-socials{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.share-social{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--bg-3);border:1px solid var(--brd);border-radius:10px;cursor:pointer;transition:all .15s;color:var(--t2)}
.share-social:hover{border-color:var(--brd-h);background:var(--bg-4);color:var(--t1);box-shadow:var(--shadow-raised)}
.share-social svg{width:20px;height:20px}
.share-social-nm{font-size:.6875rem;font-weight:600}

/* ══════════════════════════════════════════
   4. SOCIAL EMBED
   ══════════════════════════════════════════ */
.social-card{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:420px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s}
.social-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.social-top{display:flex;align-items:center;gap:10px;padding:14px 16px}
.social-av{width:36px;height:36px;border-radius:50%;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.social-av svg{width:18px;height:18px;color:var(--t4)}
.social-user{flex:1;min-width:0}
.social-nm{font-size:.875rem;font-weight:700;display:flex;align-items:center;gap:4px}
.social-verified{color:var(--blue);flex-shrink:0}
.social-handle{font-size:.75rem;color:var(--t4);font-weight:400}
.social-platform{color:var(--t4);flex-shrink:0}
.social-body{padding:0 16px 14px;font-size:.875rem;color:var(--t2);line-height:1.7;font-weight:400}
.social-body strong{color:var(--t1);font-weight:600}
.social-body .mention{color:var(--accent-ink);font-weight:600}[data-theme="light"] .social-body .mention{color:var(--purple-ink)}
.social-body .hashtag{color:var(--blue);font-weight:600}
.social-img{width:100%;aspect-ratio:16/9;background:var(--bg-3);border-top:1px solid var(--brd);border-bottom:1px solid var(--brd)}
.social-acts{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--brd)}
.social-act{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--t4);cursor:pointer;transition:color .15s}.social-act:hover{color:var(--t1)}
.social-act svg{width:16px;height:16px}
.social-act-v{font-family:var(--mono);font-weight:600}
.social-time{margin-left:auto;font-size:.75rem;color:var(--t4)}

/* ══════════════════════════════════════════
   5. CALENDAR
   ══════════════════════════════════════════ */
.cal{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:520px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}
.cal:hover{box-shadow:var(--shadow-raised)}
.cal-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--brd)}
.cal-title{font-size:1rem;font-weight:700}
.cal-nav{display:flex;gap:4px}
.cal-nav-btn{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--brd);cursor:pointer;color:var(--t3);transition:all .15s}
.cal-nav-btn:hover{color:var(--t1);border-color:var(--brd-h);box-shadow:var(--shadow-raised)}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--brd)}
.cal-dh{padding:8px 4px;text-align:center;font-size:.6875rem;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.04em}
.cal-d{padding:6px 4px;text-align:center;border-right:1px solid var(--brd);border-bottom:1px solid var(--brd);min-height:72px;cursor:pointer;transition:background .1s;position:relative}
.cal-d:nth-child(7n){border-right:none}
.cal-d:hover{background:var(--bg-2)}
.cal-dn{font-size:.75rem;font-weight:600;margin-bottom:4px;color:var(--t3)}
.cal-d.today .cal-dn{color:var(--accent-fg);background:var(--accent);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem}
.cal-d.other .cal-dn{color:var(--t4);opacity:.4}
.cal-match{font-size:.6rem;font-weight:600;padding:2px 4px;border-radius:4px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.cal-match.live{background:var(--red-dim);color:var(--red)}
.cal-match.upcoming{background:var(--accent-dim);color:var(--accent-ink)}[data-theme="light"] .cal-match.upcoming{color:var(--purple-ink);background:var(--purple-dim)}
.cal-match.finished{background:var(--bg-3);color:var(--t3)}

/* ══════════════════════════════════════════
   6. READING PROGRESS
   ══════════════════════════════════════════ */
.rp{position:fixed;top:48px;left:0;right:0;height:3px;z-index:99;pointer-events:none}
.rp-bar{height:100%;width:0;background:var(--accent);border-radius:0 2px 2px 0;transition:width .1s linear;box-shadow:0 0 8px rgba(191,249,50,.3)}

/* ── LAYOUT ── */

/* ══════════════════════════════════════════
   DS v3 — FORMS
   ══════════════════════════════════════════ */
/* ═══ FORM ELEMENTS ═══ */
.field{margin-bottom:16px}.field-lbl{display:block;font-size:.8125rem;font-weight:600;margin-bottom:6px}.field-hint{font-size:.6875rem;color:var(--t4);margin-top:4px;font-weight:400}
.field-success .field-hint{color:var(--green)}.field-error .field-hint{color:var(--red)}
.field-success .fi{border-color:var(--green)!important}.field-error .fi{border-color:var(--red)!important}

/* Input */
.fi{width:100%;font-family:var(--font);font-size:.875rem;padding:10px 14px;background:var(--bg-2);border:1px solid var(--brd);border-radius:8px;color:var(--t1);outline:none;transition:border-color .15s,box-shadow .15s}.fi::placeholder{color:var(--t4)}.fi:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}[data-theme="light"] .fi:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}.fi:disabled{opacity:.4;cursor:not-allowed}

/* Search */
.search-w{position:relative}.search-w svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--t4);pointer-events:none}.search-w .fi{padding-left:36px}

/* Textarea */
.fi-ta{min-height:80px;resize:vertical}

/* Custom Dropdown */
.dd{position:relative;user-select:none}
.dd-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;font-family:var(--font);font-size:.875rem;background:var(--bg-2);border:1px solid var(--brd);border-radius:8px;color:var(--t1);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dd-trigger:focus,.dd.is-open .dd-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}[data-theme="light"] .dd-trigger:focus,[data-theme="light"] .dd.is-open .dd-trigger{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-dim)}
.dd-trigger svg{width:14px;height:14px;color:var(--t4);transition:transform .2s}.dd.is-open .dd-trigger svg{transform:rotate(180deg)}
.dd-trigger-text{flex:1;text-align:left}
.dd-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--brd-s);border-radius:10px;box-shadow:var(--shadow-raised);z-index:20;max-height:200px;overflow-y:auto;scrollbar-width:thin;display:none;padding:4px}
.dd.is-open .dd-menu{display:block}
.dd-opt{padding:8px 12px;font-size:.875rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .1s}.dd-opt:hover{background:var(--bg-2)}.dd-opt.sel{color:var(--accent-ink);font-weight:600}[data-theme="light"] .dd-opt.sel{color:var(--purple-ink)}
.dd-check{width:14px;height:14px;color:var(--accent-ink)}[data-theme="light"] .dd-check{color:var(--purple-ink)}

/* Checkbox */
.cb-w{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;font-weight:500}
.cb{width:18px;height:18px;border:2px solid var(--brd-s);border-radius:4px;background:var(--bg-2);appearance:none;-webkit-appearance:none;cursor:pointer;transition:all .15s;position:relative;flex-shrink:0}
.cb:checked{background:var(--accent);border-color:var(--accent)}[data-theme="light"] .cb:checked{background:var(--purple);border-color:var(--purple)}
.cb:checked::after{content:'';position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid var(--accent-fg);border-width:0 2px 2px 0;transform:rotate(45deg)}[data-theme="light"] .cb:checked::after{border-color:#fff}

/* Radio */
.rb-w{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;font-weight:500}
.rb-i{width:18px;height:18px;border:2px solid var(--brd-s);border-radius:50%;background:var(--bg-2);appearance:none;-webkit-appearance:none;cursor:pointer;transition:all .15s;flex-shrink:0}
.rb-i:checked{border-color:var(--accent);border-width:5px}[data-theme="light"] .rb-i:checked{border-color:var(--purple)}

/* Toggle */
.tog{position:relative;width:40px;height:22px;flex-shrink:0}.tog input{opacity:0;width:0;height:0;position:absolute}.tog-track{position:absolute;inset:0;background:var(--bg-4);border-radius:11px;cursor:pointer;transition:background .2s}.tog-track::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.2)}.tog input:checked+.tog-track{background:var(--accent)}[data-theme="light"] .tog input:checked+.tog-track{background:var(--purple)}.tog input:checked+.tog-track::after{transform:translateX(18px)}

/* Range */
.range-w{display:flex;flex-direction:column;gap:6px}.range-top{display:flex;justify-content:space-between;font-size:.8125rem}.range-val{font-family:var(--mono);font-weight:700;color:var(--accent-ink)}[data-theme="light"] .range-val{color:var(--purple-ink)}
.range{width:100%;height:6px;border-radius:3px;background:var(--bg-3);appearance:none;-webkit-appearance:none;outline:none;cursor:pointer}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-0);box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:pointer}[data-theme="light"] .range::-webkit-slider-thumb{background:var(--purple)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font);font-size:.875rem;font-weight:700;padding:10px 24px;border-radius:8px;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn svg{width:16px;height:16px}
.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-raised)}.btn-primary:hover{background:var(--accent-h)}
.btn-secondary{background:var(--bg-3);color:var(--t1);border:1px solid var(--brd);box-shadow:var(--shadow-surface)}.btn-secondary:hover{box-shadow:var(--shadow-raised)}
.btn-ghost{background:transparent;color:var(--t2);border:1px solid var(--brd)}.btn-ghost:hover{color:var(--t1);border-color:var(--brd-h)}
.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,68,68,.15)}.btn-danger:hover{background:var(--red);color:#fff}
.btn-sm{font-size:.75rem;padding:6px 14px;border-radius:6px}
.btn-lg{font-size:1rem;padding:14px 32px;border-radius:10px}
.btn:disabled{opacity:.4;pointer-events:none}

/* ═══ LAYOUT ═══ */

/* ══════════════════════════════════════════
   DS v3 — PERSONALIZATION
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);
  --purple:#854DFF;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);--green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent-strong:rgba(191,249,50,.08);--glow-purple:rgba(133,77,255,.05);
}
  --bg-0:#ffffff;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent-strong:rgba(61,107,0,.07);--glow-purple:rgba(109,40,217,.04);
}

/* ══════════════════════════════════════════
   1. FAVORITES
   ══════════════════════════════════════════ */
.fav{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:380px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}.fav:hover{box-shadow:var(--shadow-raised)}
.fav-hdr{padding:14px 16px;border-bottom:1px solid var(--brd);display:flex;align-items:center;justify-content:space-between}
.fav-title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px}.fav-title svg{width:16px;height:16px;color:var(--accent-ink)}[data-theme="light"] .fav-title svg{color:var(--purple-ink)}
.fav-edit{font-family:var(--font);font-size:.75rem;font-weight:600;color:var(--accent-ink);background:none;border:none;cursor:pointer}[data-theme="light"] .fav-edit{color:var(--purple-ink)}
.fav-group{padding:8px 16px;font-family:var(--mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--t4);background:var(--bg-2);border-bottom:1px solid var(--brd)}
.fav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--brd);transition:background .1s}.fav-item:last-child{border-bottom:none}.fav-item:hover{background:var(--bg-2)}
.fav-crest{width:28px;height:28px;border-radius:6px;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.625rem;font-weight:800;color:var(--t4)}.fav-crest.round{border-radius:50%}
.fav-info{flex:1;min-width:0}.fav-nm{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-meta{font-size:.6875rem;color:var(--t4);font-weight:400}
.tog{position:relative;width:40px;height:22px;flex-shrink:0}.tog input{opacity:0;width:0;height:0;position:absolute}
.tog-track{position:absolute;inset:0;background:var(--bg-4);border-radius:11px;cursor:pointer;transition:background .2s}
.tog-track::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.tog input:checked+.tog-track{background:var(--accent)}[data-theme="light"] .tog input:checked+.tog-track{background:var(--purple)}
.tog input:checked+.tog-track::after{transform:translateX(18px)}

/* ══════════════════════════════════════════
   2. PREFERENCES
   ══════════════════════════════════════════ */
.pref{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:440px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}.pref:hover{box-shadow:var(--shadow-raised)}
.pref-hdr{padding:14px 16px;border-bottom:1px solid var(--brd)}.pref-title{font-size:1rem;font-weight:700}.pref-desc{font-size:.75rem;color:var(--t3);font-weight:400;margin-top:2px}
.pref-grp{padding:8px 16px 4px;font-family:var(--mono);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--t4)}
.pref-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--brd);gap:12px}.pref-row:last-child{border-bottom:none}
.pref-row-info{flex:1;min-width:0}.pref-row-lbl{font-size:.875rem;font-weight:600}.pref-row-desc{font-size:.6875rem;color:var(--t4);font-weight:400;margin-top:1px}
.pref-themes{display:flex;gap:6px}
.pref-theme{width:32px;height:32px;border-radius:8px;border:2px solid var(--brd);cursor:pointer;transition:border-color .15s;overflow:hidden}
.pref-theme.active{border-color:var(--accent)}[data-theme="light"] .pref-theme.active{border-color:var(--purple)}
.pref-theme-d{background:linear-gradient(135deg,#09090b,#18181b)}.pref-theme-l{background:linear-gradient(135deg,#f4f4f5,#fff)}.pref-theme-a{background:linear-gradient(135deg,#09090b 50%,#f4f4f5 50%)}

/* ══════════════════════════════════════════
   3. BOOKMARK
   ══════════════════════════════════════════ */
.bm-bar{display:flex;gap:8px}
.bm-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;font-family:var(--font);font-size:.8125rem;font-weight:600;color:var(--t3);background:var(--bg-2);border:1px solid var(--brd);border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-surface)}
.bm-btn svg{width:16px;height:16px}
.bm-btn:hover{color:var(--t1);box-shadow:var(--shadow-raised)}
.bm-btn.saved{color:var(--accent-ink);border-color:rgba(191,249,50,.2);background:var(--accent-dim)}[data-theme="light"] .bm-btn.saved{color:var(--purple-ink);border-color:rgba(124,58,237,.15);background:var(--purple-dim)}
.bm-btn.saved svg{fill:currentColor}

/* ══════════════════════════════════════════
   4. PUSH PROMPT
   ══════════════════════════════════════════ */
.push{background:var(--card);border:1px solid var(--brd-s);border-radius:14px;padding:20px;display:flex;align-items:flex-start;gap:14px;max-width:420px;width:100%;box-shadow:var(--shadow-floating);position:relative;overflow:hidden}
.push::before{content:'';position:absolute;top:-60%;left:50%;transform:translateX(-50%);width:400px;height:300px;border-radius:50%;background:radial-gradient(ellipse,var(--glow-accent-strong),transparent 70%);pointer-events:none;z-index:0}
.push>*{position:relative;z-index:1}
.push-icon{width:44px;height:44px;border-radius:10px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-ink)}[data-theme="light"] .push-icon{background:var(--purple-dim);color:var(--purple-ink)}
.push-body{flex:1;min-width:0}.push-title{font-size:1rem;font-weight:700;margin-bottom:4px}.push-text{font-size:.8125rem;color:var(--t3);font-weight:400;line-height:1.6;margin-bottom:14px}
.push-actions{display:flex;gap:8px}
.push-btn{font-family:var(--font);font-size:.8125rem;font-weight:700;padding:8px 20px;border-radius:8px;border:none;cursor:pointer;transition:all .15s}
.push-btn-p{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-raised)}.push-btn-p:hover{background:var(--accent-h)}
.push-btn-g{background:var(--bg-3);color:var(--t3);border:1px solid var(--brd);box-shadow:var(--shadow-surface)}.push-btn-g:hover{color:var(--t1);box-shadow:var(--shadow-raised)}

/* ══════════════════════════════════════════
   5. xG TIMELINE
   ══════════════════════════════════════════ */
.xg{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:560px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}.xg:hover{box-shadow:var(--shadow-raised)}
.xg-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--brd)}
.xg-title{font-size:.9375rem;font-weight:700}
.xg-legend{display:flex;gap:12px;font-size:.6875rem;color:var(--t3)}.xg-leg{display:flex;align-items:center;gap:4px}
.xg-dot{width:8px;height:8px;border-radius:2px}.xg-dot.home{background:var(--accent)}.xg-dot.away{background:var(--purple)}
.xg-chart{position:relative;height:200px;padding:16px}
.xg-axis-y{position:absolute;left:16px;top:16px;bottom:40px;width:30px;display:flex;flex-direction:column;justify-content:space-between;font-family:var(--mono);font-size:.6rem;color:var(--t4);text-align:right}
.xg-grid{position:absolute;left:50px;right:16px;top:16px;bottom:40px}.xg-grid-ln{position:absolute;left:0;right:0;height:1px;background:var(--brd)}
.xg-area{position:absolute;left:50px;right:16px;top:16px;bottom:40px}
.xg-svg{width:100%;height:100%}
.xg-line-h{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.xg-line-a{fill:none;stroke:var(--purple);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.xg-area-h{fill:var(--accent-dim)}.xg-area-a{fill:var(--purple-dim)}
.xg-pt{stroke-width:2;cursor:pointer}.xg-pt.home{fill:var(--bg-0);stroke:var(--accent)}.xg-pt.away{fill:var(--bg-0);stroke:var(--purple)}
.xg-pt.goal{fill:var(--accent);stroke:var(--accent)}.xg-pt.goal.away{fill:var(--purple);stroke:var(--purple)}
.xg-axis-x{position:absolute;left:50px;right:16px;bottom:20px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:.6rem;color:var(--t4)}
.xg-half{position:absolute;top:16px;bottom:40px;width:1px;border-left:1px dashed var(--brd-s)}
.xg-sum{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 16px;border-top:1px solid var(--brd);gap:10px}
.xg-team{font-size:.8125rem;font-weight:600;display:flex;align-items:center;gap:6px}.xg-team:last-child{justify-content:flex-end}
.xg-crest{width:18px;height:18px;border-radius:3px;background:var(--bg-4);display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:800;color:var(--t4)}
.xg-val{font-family:var(--mono);font-size:1.125rem;font-weight:800}
.xg-val.home{color:var(--accent-ink)}.xg-val.away{color:var(--purple-ink)}
.xg-vs{font-size:.6875rem;color:var(--t4);text-align:center;text-transform:uppercase;font-weight:600}

/* ══════════════════════════════════════════
   6. HEAT MAP
   ══════════════════════════════════════════ */
.hm{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:480px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}.hm:hover{box-shadow:var(--shadow-raised)}
.hm-hdr{padding:14px 16px;border-bottom:1px solid var(--brd);display:flex;align-items:center;justify-content:space-between}
.hm-title{font-size:.9375rem;font-weight:700}.hm-player{font-size:.8125rem;color:var(--t3);font-weight:400}
.hm-field{position:relative;aspect-ratio:68/105;background:linear-gradient(180deg,#1b6e1b 0%,#228b22 48%,#1b6e1b 100%);margin:12px;border-radius:8px;overflow:hidden}
.hm-lines{position:absolute;inset:0;pointer-events:none}
.hm-cc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30%;padding-bottom:30%;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.hm-cd{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:rgba(255,255,255,.2);border-radius:50%}
.hm-pt{position:absolute;top:0;left:50%;transform:translateX(-50%);width:44%;height:16%;border:1px solid rgba(255,255,255,.12);border-top:none;border-radius:0 0 4px 4px}
.hm-pb{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:44%;height:16%;border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:4px 4px 0 0}
.hm-grid{position:absolute;inset:4%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(8,1fr);gap:2px}
.hm-cell{border-radius:4px;transition:background .4s,opacity .4s}
.hm-cell.h0{background:transparent}.hm-cell.h1{background:rgba(191,249,50,.1)}.hm-cell.h2{background:rgba(191,249,50,.2)}.hm-cell.h3{background:rgba(191,249,50,.35)}.hm-cell.h4{background:rgba(191,249,50,.5)}.hm-cell.h5{background:rgba(191,249,50,.7)}
.hm-scale{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--brd);justify-content:center}
.hm-scale-lbl{font-size:.6875rem;color:var(--t4)}
.hm-scale-bar{display:flex;gap:2px}
.hm-scale-step{width:20px;height:8px;border-radius:2px}

/* ══════════════════════════════════════════
   7. SEASON COMPARISON
   ══════════════════════════════════════════ */
.ssc{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:520px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}.ssc:hover{box-shadow:var(--shadow-raised)}
.ssc-hdr{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--brd)}
.ssc-player{display:flex;align-items:center;gap:10px}.ssc-player:last-child{justify-content:flex-end}
.ssc-av{width:40px;height:40px;border-radius:50%;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8125rem;font-weight:800;color:var(--t3);border:2px solid var(--brd)}
.ssc-info{min-width:0}.ssc-nm{font-size:.9375rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ssc-team{font-size:.6875rem;color:var(--t3);font-weight:400}
.ssc-vs{font-size:.75rem;font-weight:700;color:var(--t4);text-transform:uppercase}
.ssc-body{padding:0}
.ssc-row{display:grid;grid-template-columns:60px 1fr auto 1fr 60px;align-items:center;gap:6px;padding:10px 20px;border-bottom:1px solid var(--brd)}.ssc-row:last-child{border-bottom:none}
.ssc-sv{font-family:var(--mono);font-size:.875rem;font-weight:600;text-align:center;color:var(--t2)}
.ssc-sv.win{color:var(--accent-ink);font-weight:800}[data-theme="light"] .ssc-sv.win{color:var(--purple-ink)}
.ssc-lbl{font-size:.75rem;color:var(--t4);text-align:center;white-space:nowrap}
.ssc-bar{height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}.ssc-row .ssc-bar:first-of-type{direction:rtl}
.ssc-fill{height:100%;border-radius:3px;animation:barGrow .8s var(--ease) .2s both;width:var(--w)}
.ssc-fill.p1{background:var(--accent)}.ssc-fill.p2{background:var(--purple)}

/* ── LAYOUT ── */

/* ══════════════════════════════════════════
   DS v3 — BETTING
   ══════════════════════════════════════════ */
--bg-0:#09090b;--bg-1:#0c0c0e;--bg-2:#131316;--bg-3:#18181b;--bg-4:#1f1f23;--bg-5:#27272a;
  --t1:#fafafa;--t2:#b0b0b8;--t3:#8a8a95;--t4:#6a6a75;
  --brd:rgba(255,255,255,.06);--brd-h:rgba(255,255,255,.10);--brd-s:rgba(255,255,255,.14);
  --card:#141417;--card-h:#1a1a1e;
  --accent:#BFF932;--accent-h:#D4FF66;--accent-fg:#1A1A1A;--accent-ink:#BFF932;
  --accent-dim:rgba(191,249,50,.08);--accent-mid:rgba(191,249,50,.15);
  --purple:#854DFF;--purple-h:#a87fff;--purple-ink:#a87fff;--purple-dim:rgba(133,77,255,.10);
  --red:#ef4444;--red-dim:rgba(239,68,68,.10);
  --green:#22c55e;--green-dim:rgba(34,197,94,.10);
  --amber:#f59e0b;--amber-dim:rgba(245,158,11,.10);
  --blue:#3b82f6;--blue-dim:rgba(59,130,246,.10);
  --live:#dd0000;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono','SF Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
  --shadow-surface:0 1px 2px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.03);
  --shadow-raised:0 1px 2px rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.20),0 8px 16px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.04);
  --shadow-floating:0 1px 2px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.16),0 4px 8px rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.12),0 16px 32px rgba(0,0,0,.10),0 32px 64px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.05);
  --glow-accent:rgba(191,249,50,.04);--glow-accent-strong:rgba(191,249,50,.08);
  --glow-live:rgba(221,0,0,.06);--glow-purple:rgba(133,77,255,.05);
}
  --bg-0:#ffffff;--bg-1:#fafafa;--bg-2:#f4f4f5;--bg-3:#e4e4e7;--bg-4:#d4d4d8;--bg-5:#a1a1aa;
  --t1:#09090b;--t2:#4a4a52;--t3:#6b6b75;--t4:#9a9aa0;
  --brd:rgba(0,0,0,.06);--brd-h:rgba(0,0,0,.10);--brd-s:rgba(0,0,0,.14);
  --card:#ffffff;--card-h:#f7f7f9;
  --accent-ink:#3d6b00;--purple:#7c3aed;--purple-ink:#6d28d9;--purple-dim:rgba(124,58,237,.08);
  --red:#dc2626;--red-dim:rgba(220,38,38,.08);--green:#16a34a;--green-dim:rgba(22,163,74,.08);
  --amber:#d97706;--amber-dim:rgba(217,119,6,.08);--blue:#2563eb;--blue-dim:rgba(37,99,235,.08);
  --shadow-surface:0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  --shadow-raised:0 1px 2px rgba(0,0,0,.06),0 3px 6px rgba(0,0,0,.05),0 8px 16px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.05);
  --shadow-floating:0 1px 2px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.05),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.03),0 32px 64px rgba(0,0,0,.02),0 0 0 1px rgba(0,0,0,.06);
  --glow-accent:rgba(61,107,0,.04);--glow-accent-strong:rgba(61,107,0,.07);
  --glow-live:rgba(220,38,38,.05);--glow-purple:rgba(109,40,217,.04);
}

@keyframes oddsFlash{0%{background:var(--accent-dim)}100%{background:transparent}}
@keyframes confFill{from{width:0}to{width:var(--conf)}}

.beam::after{content:'';position:absolute;top:0;left:-20%;width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:beamPulse 4s ease infinite}
.glow-hover:hover::after{opacity:1}

/* ══════════════════════════════════════════════════════════════
   ODDS TABLE
   ══════════════════════════════════════════════════════════════ */
.ot-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--bg-5) var(--bg-2);border:1px solid var(--brd);border-radius:12px;box-shadow:var(--shadow-surface)}
.ot{width:100%;border-collapse:collapse;font-size:.875rem;min-width:640px}
.ot thead th{padding:10px 12px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--t4);background:var(--bg-2);border-bottom:2px solid var(--brd);text-align:center;white-space:nowrap}
.ot thead th:first-child{text-align:left;min-width:200px}
.ot .ot-mkt{display:block;font-size:.5625rem;color:var(--t4);font-weight:500;letter-spacing:.02em;opacity:.7}
.ot tbody td{padding:10px 12px;border-bottom:1px solid var(--brd);text-align:center;vertical-align:middle;transition:background .2s}
.ot tbody td:first-child{text-align:left}
.ot tbody tr:hover td{background:var(--bg-2)}
.ot tbody tr:last-child td{border-bottom:none}
.ot-match{display:flex;align-items:center;gap:8px}
.ot-teams{display:flex;flex-direction:column;gap:2px}
.ot-team{font-size:.8125rem;font-weight:600;display:flex;align-items:center;gap:6px}
.ot-crest{width:16px;height:16px;border-radius:3px;background:var(--bg-4);flex-shrink:0;font-size:.45rem;display:flex;align-items:center;justify-content:center;color:var(--t4);font-weight:800}
.ot-time{font-family:var(--mono);font-size:.6875rem;font-weight:600;color:var(--t4);min-width:40px;text-align:center;flex-shrink:0}
.ot-time.live{color:var(--live)}
.ot-live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--live);margin-right:3px;animation:livePulse 1.5s ease infinite;vertical-align:middle}

/* Odds buttons */
.ob{font-family:var(--mono);font-size:.8125rem;font-weight:700;padding:6px 12px;border-radius:6px;background:var(--bg-3);border:1px solid var(--brd);color:var(--t1);cursor:pointer;transition:all .15s;min-width:52px;display:inline-flex;align-items:center;justify-content:center;position:relative}
.ob:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-ink)}
.ob.sel{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.ob.best{box-shadow:inset 0 0 0 1px var(--accent)}
/* Odds change flash */
.ob.changed{animation:oddsFlash .8s ease}
/* Odds direction arrows */
.ob-arrow{font-size:.5rem;margin-left:3px}
.ob-arrow.up{color:var(--green)}
.ob-arrow.down{color:var(--red)}

/* ══════════════════════════════════════════════════════════════
   ODDS COMPARISON
   ══════════════════════════════════════════════════════════════ */
.oc{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:560px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s}
.oc:hover{box-shadow:var(--shadow-raised)}
.oc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--brd)}
.oc-match{font-size:1rem;font-weight:700}
.oc-league{font-size:.75rem;color:var(--t3);font-weight:400}
.oc-tabs{display:flex;gap:4px;padding:10px 16px;border-bottom:1px solid var(--brd);overflow-x:auto;scrollbar-width:none}
.oc-tab{font-family:var(--font);font-size:.75rem;font-weight:600;padding:6px 14px;border-radius:6px;border:1px solid var(--brd);background:transparent;color:var(--t3);cursor:pointer;white-space:nowrap;transition:all .15s}
.oc-tab:hover{color:var(--t1);border-color:var(--brd-h)}
.oc-tab.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.oc-grid-head{display:grid;grid-template-columns:1fr repeat(3,72px);padding:8px 16px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--t4);border-bottom:1px solid var(--brd)}
.oc-grid-head span:not(:first-child){text-align:center}
.oc-row{display:grid;grid-template-columns:1fr repeat(3,72px);padding:10px 16px;align-items:center;border-bottom:1px solid var(--brd);transition:background .15s}
.oc-row:last-child{border-bottom:none}
.oc-row:hover{background:var(--bg-2)}
.oc-bk{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600}
.oc-bk-logo{width:24px;height:24px;border-radius:6px;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.5rem;font-weight:800;color:var(--t4)}
.oc-cell{text-align:center}
.oc-cell .ob{width:100%}
/* Best badge */
.oc-best{position:relative}
.oc-best::after{content:'BEST';position:absolute;top:-7px;right:-4px;font-family:var(--mono);font-size:.45rem;font-weight:800;color:var(--accent-fg);background:var(--accent);padding:1px 5px;border-radius:3px;letter-spacing:.04em;line-height:1.4}

/* ══════════════════════════════════════════════════════════════
   EXPERT PICKS
   ══════════════════════════════════════════════════════════════ */
.ep{background:var(--card);border:1px solid var(--brd);border-radius:12px;overflow:hidden;max-width:380px;width:100%;box-shadow:var(--shadow-surface);transition:box-shadow .25s,transform .25s}
.ep:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}
.ep-head{display:flex;align-items:center;gap:12px;padding:16px}
.ep-avatar{width:44px;height:44px;border-radius:50%;background:var(--bg-4);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800;font-size:.875rem;color:var(--t3);border:2px solid var(--brd)}
.ep-info{flex:1;min-width:0}
.ep-name{font-size:.9375rem;font-weight:700}
.ep-badges{display:flex;gap:4px;margin-top:3px}
.ep-badge{font-family:var(--mono);font-size:.5625rem;font-weight:700;padding:2px 8px;border-radius:100px}
.ep-badge.hot{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,68,68,.12)}
.ep-badge.streak{background:var(--green-dim);color:var(--green);border:1px solid rgba(34,197,94,.12)}
.ep-badge.pro{background:var(--purple-dim);color:var(--purple-ink);border:1px solid rgba(133,77,255,.12)}
.ep-record{display:flex;gap:6px;font-family:var(--mono);font-size:.6875rem;flex-shrink:0}
.ep-w{color:var(--green);font-weight:700}
.ep-l{color:var(--red);font-weight:700}
.ep-roi{color:var(--accent-ink);font-weight:800}

.ep-pick{padding:14px 16px;border-top:1px solid var(--brd);background:var(--bg-2)}
.ep-pick-match{font-size:.8125rem;font-weight:600;margin-bottom:2px}
.ep-pick-league{font-size:.6875rem;color:var(--t4);font-weight:400}
.ep-prediction{display:flex;align-items:center;gap:10px;margin-top:10px}
.ep-pred-lbl{font-size:.6875rem;color:var(--t4);text-transform:uppercase;font-weight:600;letter-spacing:.04em;flex-shrink:0}
.ep-pred-val{font-family:var(--mono);font-size:.875rem;font-weight:800;color:var(--accent-ink);background:var(--accent-dim);padding:4px 14px;border-radius:6px;border:1px solid rgba(191,249,50,.12)}
.ep-pred-odds{font-family:var(--mono);font-size:.8125rem;font-weight:700;color:var(--t2)}
.ep-conf{padding:10px 16px;border-top:1px solid var(--brd);display:flex;align-items:center;gap:10px}
.ep-conf-lbl{font-size:.6875rem;color:var(--t4);font-weight:500;flex-shrink:0}
.ep-conf-track{flex:1;height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}
.ep-conf-fill{height:100%;border-radius:3px;width:0;animation:confFill .8s var(--ease) .3s forwards}
.ep-conf-fill.high{background:var(--green);--conf:85%}.ep-conf-fill.med{background:var(--amber);--conf:62%}.ep-conf-fill.low{background:var(--red);--conf:35%}
.ep-conf-pct{font-family:var(--mono);font-size:.75rem;font-weight:700;min-width:32px;text-align:right}
.ep-conf-pct.high{color:var(--green)}.ep-conf-pct.med{color:var(--amber)}.ep-conf-pct.low{color:var(--red)}
.ep-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--brd)}
.ep-time{font-size:.6875rem;color:var(--t4)}
.ep-follow{font-family:var(--font);font-size:.75rem;font-weight:700;padding:5px 14px;border-radius:6px;background:var(--bg-3);border:1px solid var(--brd);color:var(--t2);cursor:pointer;transition:all .15s}
.ep-follow:hover{border-color:var(--accent);color:var(--accent-ink)}

/* ══════════════════════════════════════════════════════════════
   BET SLIP
   ══════════════════════════════════════════════════════════════ */
.bs{background:var(--card);border:1px solid var(--brd-s);border-radius:14px;overflow:hidden;max-width:340px;width:100%;box-shadow:var(--shadow-floating);position:relative}
/* Ambient glow top */
.bs::before{content:'';position:absolute;top:-60%;left:50%;transform:translateX(-50%);width:400px;height:300px;border-radius:50%;background:radial-gradient(ellipse,var(--glow-accent-strong),transparent 70%);pointer-events:none;z-index:0}
.bs>*{position:relative;z-index:1}
.bs-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--accent);color:var(--accent-fg)}
.bs-hdr-title{font-size:.875rem;font-weight:800;display:flex;align-items:center;gap:6px}
.bs-hdr-title svg{width:16px;height:16px}
.bs-hdr-count{font-family:var(--mono);font-size:.6875rem;font-weight:700;background:rgba(0,0,0,.15);padding:2px 8px;border-radius:100px}
.bs-hdr-clear{font-size:.75rem;font-weight:600;cursor:pointer;opacity:.7;transition:opacity .15s;background:none;border:none;color:var(--accent-fg);font-family:var(--font)}
.bs-hdr-clear:hover{opacity:1}
.bs-tabs{display:flex;border-bottom:1px solid var(--brd)}
.bs-tab{flex:1;padding:10px;font-family:var(--font);font-size:.75rem;font-weight:600;text-align:center;color:var(--t3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}
.bs-tab:hover{color:var(--t1)}
.bs-tab.active{color:var(--t1);border-bottom-color:var(--accent)}
.bs-items{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bg-5) var(--card)}
.bs-item{padding:12px 16px;border-bottom:1px solid var(--brd);position:relative}
.bs-item:last-child{border-bottom:none}
.bs-item-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4px}
.bs-item-match{font-size:.75rem;color:var(--t3);font-weight:400}
.bs-item-rm{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--t4);transition:all .15s;flex-shrink:0}
.bs-item-rm:hover{color:var(--red);background:var(--red-dim)}
.bs-item-rm svg{width:12px;height:12px}
.bs-item-pick{font-size:.875rem;font-weight:700;margin-bottom:2px}
.bs-item-mkt{font-size:.6875rem;color:var(--t4);font-weight:400}
.bs-item-odds{font-family:var(--mono);font-size:1rem;font-weight:800;color:var(--accent-ink);position:absolute;right:16px;bottom:12px}
/* Stake area */
.bs-stake{padding:14px 16px;border-top:1px solid var(--brd);background:var(--bg-2)}
.bs-stake-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bs-stake-lbl{font-size:.75rem;font-weight:600;color:var(--t3);flex-shrink:0}
.bs-stake-input{flex:1;font-family:var(--mono);font-size:.875rem;font-weight:600;padding:8px 12px;background:var(--card);border:1px solid var(--brd);border-radius:6px;color:var(--t1);text-align:right;outline:none;transition:border-color .15s,box-shadow .15s}
.bs-stake-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
.bs-quicks{display:flex;gap:4px;margin-bottom:12px}
.bs-q{font-family:var(--mono);font-size:.6875rem;font-weight:600;padding:4px 10px;border-radius:4px;background:var(--bg-3);border:1px solid var(--brd);color:var(--t3);cursor:pointer;transition:all .15s}
.bs-q:hover{color:var(--t1);border-color:var(--brd-h)}
.bs-q.active{background:var(--accent-dim);color:var(--accent-ink);border-color:rgba(191,249,50,.2)}
.bs-summary{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--brd)}
.bs-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--t3);font-weight:400}
.bs-row.total{font-size:.9375rem;font-weight:800;color:var(--t1);padding-top:8px;border-top:1px solid var(--brd)}
.bs-val{font-family:var(--mono);font-weight:700}
.bs-val.grn{color:var(--green)}.bs-val.acc{color:var(--accent-ink)}
.bs-place{width:100%;padding:13px;font-family:var(--font);font-size:.9375rem;font-weight:800;background:var(--accent);color:var(--accent-fg);border:none;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:8px}
.bs-place:hover{background:var(--accent-h)}
.bs-place svg{width:16px;height:16px}
/* Shimmer state for calculating */
.bs-calculating .bs-val.grn{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,var(--green) 0%,var(--green) 40%,var(--t1) 50%,var(--green) 60%,var(--green) 100%);background-size:200% 100%;animation:shimmerSlide 1.5s linear infinite}

/* ── LAYOUT ── */

/* ── Responsive ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
@media(max-width:768px){.card-grid{grid-template-columns:1fr}.mc-hero .mc-body{padding:20px}.mc-hero .mc-crest{width:44px;height:44px}.mc-hero .mc-score-val{font-size:2.25rem}.mc-expanded .mc-body{padding:10px 12px}.mc-stats{padding:0 16px 12px}.tc-hero-body{padding:16px}.tc-hero .tc-crest{width:52px;height:52px}}
@media(max-width:480px){.mc-hero .mc-team-name{font-size:1rem}.mc-hero .mc-score-val{font-size:2rem}.tc-grid{grid-template-columns:repeat(2,1fr)}}
/* ══════════════════════════════════════════
   SMART SKELETON SYSTEM — Global
   ══════════════════════════════════════════ */
.skel-wrap{position:relative}
.skel-placeholder{transition:opacity .3s var(--ease),transform .3s var(--ease)}
.skel-content{display:none}
.skel-done .skel-placeholder{display:none}
.skel-done .skel-content{display:block}

/* ══════════════════════════════════════════
   THEME SCALE OVERRIDES
   DS v3 components designed at 16px base.
   Theme uses 14px base. These overrides
   adapt DS v3 sizes to the theme scale.
   ══════════════════════════════════════════ */
/* Theme scale overrides now live in the primary definitions above */

/* Compact size variant for non-ticker use */
.mc-size-compact .mc-crest{width:20px;height:20px;border-radius:4px}
.mc-size-compact .mc-body{padding:8px 10px}
.mc-size-compact .mc-score-val{font-size:1rem}

/* FT/winner */
.mc-ft .sn-winner{color:var(--accent-ink,var(--accent))}
[data-theme="light"] .mc-ft .sn-winner{color:var(--purple-ink,var(--purple))}

/* Ticker skeleton sizing (no inline styles) */
.ticker-skel-crest{width:16px;height:16px;border-radius:3px}
.ticker-skel-name{width:52px;height:8px;flex:0 0 auto}
.ticker-skel-score{width:10px;height:8px;margin-left:auto}
.ticker-skel-status{width:24px;height:8px;flex-shrink:0}

/* ── Match Grid — responsive card grid for homepage ── */
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-sm,8px)}
@media(max-width:640px){.mc-grid{grid-template-columns:1fr}}

/* Match card theme scale — override DS v3 standalone sizes */
.mc{border-radius:var(--radius-md,8px)}
.mc .mc-body{padding:10px 12px}
.mc .mc-crest{width:24px;height:24px;border-radius:5px}
.mc .mc-crest img{width:24px;height:24px}
.mc .mc-team-name{font-size:var(--fs-base,.75rem);font-weight:600}
.mc .mc-score-val{font-size:var(--fs-xl,1.1rem);font-weight:800}
.mc .mc-score-sep{font-size:var(--fs-base,.75rem)}
.mc .mc-score{min-width:56px;gap:1px}
.mc .mc-status{font-size:var(--fs-micro,.55rem)}
.mc .mc-league{padding:6px 12px;font-size:var(--fs-micro,.55rem)}
.mc .mc-league-logo{width:12px;height:12px}
.mc .mc-footer{padding:5px 12px;font-size:var(--fs-micro,.55rem)}
.mc .mc-footer-venue svg{width:10px;height:10px}
.mc .mc-event{padding:4px 12px;font-size:var(--fs-micro,.55rem)}

/* League group header */
.league-group{margin-bottom:var(--space-md,12px)}
.league-group-header{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:var(--fs-sm,.68rem);font-weight:600;color:var(--t2);border-bottom:1px solid var(--brd);margin-bottom:var(--space-sm,8px)}
.league-group-logo{width:18px;height:18px;flex-shrink:0}
.league-group-logo img{width:18px;height:18px;border-radius:3px}
.league-group-link{margin-left:auto;font-size:var(--fs-micro,.55rem);color:var(--accent);text-decoration:none;font-weight:600}
.league-group-link:hover{text-decoration:underline}

/* Player card round crest */
.tc-crest-round{border-radius:50%;width:32px;height:32px}
.tc-crest-round img{border-radius:50%}

/* List variant styling */
.tc-list{background:var(--card);border:1px solid var(--brd);border-radius:10px;text-decoration:none;color:var(--t1)}
.tc-list .tc-name{font-size:var(--fs-base,.75rem)}
.tc-list .tc-sub{font-size:var(--fs-micro,.55rem)}

/* Team card theme scale */
.tc-name{font-size:var(--fs-base,.75rem)}
.tc-sub{font-size:var(--fs-micro,.55rem)}
.tc-std{text-decoration:none;color:var(--t1)}

/* Empty/error messages */
.mc-empty-msg{color:var(--t3);font-size:var(--fs-sm,.68rem);padding:var(--space-lg,16px) 0}

/* HT Score display */
.mc-score-ht{font-family:var(--mono);font-size:var(--fs-micro,.55rem);color:var(--t4);font-weight:500;margin-top:2px}

/* Formations badge */
.mc-formations{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0;font-family:var(--mono);font-size:var(--fs-micro,.55rem);color:var(--t3)}
.mc-formations-vs{color:var(--t4)}

/* ── Glow Hover on Interactive Cards ── */
.story-card,.news-card,.league-card,.mc,.tc-std,.sb-scorer{position:relative;overflow:hidden}
.story-card::before,.news-card::before,.league-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle 100px at var(--mouse-x,50%) var(--mouse-y,50%),var(--accent-dim),transparent);opacity:0;transition:opacity .3s;pointer-events:none;z-index:0}
.story-card:hover::before,.news-card:hover::before,.league-card:hover::before{opacity:1}

/* ── Beam variants for sections ── */
.beam-section{height:1px;background:linear-gradient(90deg,transparent,var(--brd-h),transparent);margin:24px 0;opacity:.5}

/* ── Glass panels (modals, dropdowns) ── */
.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-floating)}

/* ── Shadow lift for sidebar blocks ── */
.shadow-lift{transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.shadow-lift:hover{box-shadow:var(--shadow-raised);transform:translateY(-1px)}

/* ── Skeleton sizing classes (no inline styles) ── */
.skel-grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.skel-card{height:140px;border-radius:10px}
.skel-section-title{width:180px;height:14px;margin-bottom:12px}
.skel-scores-header{width:200px;height:12px;margin-bottom:10px}
.skel-scores-row{height:44px;margin-bottom:4px;border-radius:6px}
.skel-fixture-date{width:120px;height:10px;margin:12px 0 8px}
.skel-fixture-row{height:40px;margin-bottom:4px;border-radius:6px}
.skel-table-header{height:28px;margin-bottom:6px;border-radius:4px}
.skel-table-row{height:32px;margin-bottom:3px;border-radius:4px}
@media(max-width:768px){.skel-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.skel-grid-4{grid-template-columns:1fr}}

/* ── Homepage skeleton sizing classes (no inline styles) ── */
.skel-title-lg{width:160px;height:12px;display:inline-block}
.skel-link{width:80px;height:9px}
.skel-mc{pointer-events:none}
.skel-mc-grid{margin-top:8px}
.skel-crest-sm{width:12px;height:12px;border-radius:3px}
.skel-league-name{width:100px;height:8px}
.skel-crest{width:24px;height:24px;border-radius:5px;flex-shrink:0}
.skel-team-name{width:70px;height:9px}
.skel-score{width:40px;height:16px;border-radius:4px}
.skel-status{width:28px;height:7px;margin-top:3px}
.skel-hero-main{width:100%;min-height:320px;border-radius:var(--radius-lg,12px)}
@media(max-width:640px){.skel-hero-main{min-height:200px}}
.skel-hero-card{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--brd)}
.skel-hero-card:last-child{border-bottom:0}
.skel-hero-thumb{width:72px;height:48px;border-radius:5px;flex-shrink:0}
.skel-hero-lines{flex:1;display:flex;flex-direction:column;gap:5px}
.skel-line-90{width:90%;height:9px}
.skel-line-60{width:60%;height:9px}
.skel-line-40{width:40%;height:7px}
.skel-stories-grid{margin-top:8px}
.skel-story-img{width:100%;aspect-ratio:16/10;border-radius:var(--radius-md,8px) var(--radius-md,8px) 0 0}
.skel-tag{width:42px;height:7px;border-radius:100px}

/* ── Sidebar skeleton sizing ── */
.skel-table-rows{display:flex;flex-direction:column;gap:6px;padding:8px 0}
.skel-table-row{display:flex;align-items:center;gap:8px;padding:4px 0}
.skel-col-pos{width:10px;height:8px;flex-shrink:0}
.skel-col-team{width:60%;height:8px;flex:1}
.skel-col-num{width:14px;height:8px;flex-shrink:0}
.skel-col-pts{width:16px;height:8px;flex-shrink:0}
.skel-scorer-row{display:flex;align-items:center;gap:8px;padding:6px 0;pointer-events:none}
.skel-rank{width:14px;height:9px;flex-shrink:0}
.skel-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}
.skel-goals{width:18px;height:9px;flex-shrink:0}

/* ══════════════════════════════════════════
   UTILITY CLASSES — replacing inline styles
   ══════════════════════════════════════════ */

/* Spacing */
.mt-sm{margin-top:var(--space-sm,8px)}
.mt-md{margin-top:var(--space-md,12px)}
.mt-lg{margin-top:var(--space-lg,16px)}
.mt-xl{margin-top:var(--space-xl,24px)}
.mt-2xl{margin-top:var(--space-2xl,32px)}
.mb-sm{margin-bottom:var(--space-sm,8px)}
.mb-md{margin-bottom:var(--space-md,12px)}
.mb-lg{margin-bottom:var(--space-lg,16px)}
.mb-xl{margin-bottom:var(--space-xl,24px)}
.mb-2xl{margin-bottom:var(--space-2xl,32px)}
.gap-sm{gap:var(--space-sm,8px)}
.gap-md{gap:var(--space-md,12px)}

/* Display */
.d-flex{display:flex}
.d-grid{display:grid}
.d-none{display:none}
.d-inline-block{display:inline-block}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.flex-col{flex-direction:column}
.flex-1{flex:1}
.flex-shrink-0{flex-shrink:0}
.min-w-200{min-width:200px}
.ml-auto{margin-left:auto}
.text-right{text-align:right}
.text-center{text-align:center}

/* Headings — replacing inline font-size */
.heading-page{font-size:var(--fs-2xl,1.5rem);font-weight:800;line-height:1.2}
.heading-section{font-size:var(--fs-xl,1.1rem);font-weight:700;line-height:1.3}
.heading-widget{font-size:var(--fs-lg,.9rem);font-weight:700}

/* Tags / Pills */
.tag{display:inline-block;padding:2px 8px;border-radius:var(--radius-full,100px);font-size:var(--fs-micro,.55rem);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--accent-dim);color:var(--accent-ink,var(--accent));text-decoration:none;line-height:1.4}
.tag-sm{padding:1px 6px;font-size:.5rem}
.tag-purple{background:var(--purple-dim);color:var(--purple-ink,var(--purple))}
.tag-red{background:var(--red-dim);color:var(--red)}
.tag-green{background:var(--green-dim);color:var(--green)}
.tag-amber{background:var(--amber-dim);color:var(--amber)}
.tag-blue{background:var(--blue-dim);color:var(--blue)}
.tag-muted{background:var(--bg-3,var(--bg-tertiary));color:var(--t3,var(--text-muted))}

/* Filter form */
.filter-bar{display:flex;gap:var(--space-md,12px);flex-wrap:wrap;margin-bottom:var(--space-xl,24px);align-items:center}
.filter-input{flex:1;min-width:200px;padding:8px 12px;background:var(--bg-3,var(--bg-input,var(--field-dark)));border:1px solid var(--brd,var(--border-color));border-radius:var(--radius-md,8px);color:var(--t1,var(--text-primary));font-size:var(--fs-sm,.68rem);outline:none;transition:border-color var(--duration-fast,.15s)}
.filter-input:focus{border-color:var(--accent)}
.filter-select{padding:8px 12px;background:var(--bg-3,var(--bg-input,var(--field-dark)));border:1px solid var(--brd,var(--border-color));border-radius:var(--radius-md,8px);color:var(--t1,var(--text-primary));font-size:var(--fs-sm,.68rem);outline:none;cursor:pointer;transition:border-color var(--duration-fast,.15s)}
.filter-select:focus{border-color:var(--accent)}
.filter-select:disabled{opacity:.5;cursor:not-allowed}
.filter-btn{padding:8px 16px;background:var(--accent-dim);color:var(--accent-ink,var(--accent));border:1px solid transparent;border-radius:var(--radius-md,8px);font-size:var(--fs-sm,.68rem);font-weight:600;cursor:pointer;transition:all var(--duration-fast,.15s)}
.filter-btn:hover{background:var(--accent);color:var(--bg,#0c0c0e)}
.filter-clear{padding:6px 12px;background:transparent;border:1px solid var(--brd,var(--border-color));border-radius:var(--radius-md,8px);color:var(--t3,var(--text-muted));font-size:var(--fs-micro,.55rem);cursor:pointer;transition:all var(--duration-fast,.15s)}
.filter-clear:hover{border-color:var(--red);color:var(--red)}

/* Image utilities */
.img-cover{width:100%;height:100%;object-fit:cover}
.img-placeholder{background:var(--bg-3,var(--bg-tertiary))}

/* Standings legend */
.legend{display:flex;flex-wrap:wrap;gap:var(--space-md,12px);padding:var(--space-md,12px) 0;font-size:var(--fs-micro,.55rem);color:var(--t3,var(--text-muted))}
.legend-item{display:flex;align-items:center;gap:4px}
.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.legend-dot.ucl{background:var(--ucl,#1a6dff)}
.legend-dot.uel{background:var(--uel,#f68e1e)}
.legend-dot.uecl{background:var(--uecl,#02a94d)}
.legend-dot.rel{background:var(--red,#ef4444)}
.legend-dot.playoff{background:var(--amber,#f59e0b)}

/* Team link in tables */
.team-link{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.team-link:hover{color:var(--accent)}
.team-link img{width:20px;height:20px;border-radius:3px;flex-shrink:0}

/* Match info pills (weather, referee, etc) */
.match-info-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm,8px);padding:var(--space-sm,8px) 0;border-top:1px solid var(--brd,var(--border-color));font-size:var(--fs-micro,.55rem);color:var(--t3,var(--text-muted))}
.match-info-item{display:flex;align-items:center;gap:4px}
.match-info-item svg{width:12px;height:12px;opacity:.6}

/* Card indicators in score header */
.mc-cards-row{display:flex;gap:var(--space-sm,8px);justify-content:center;padding:4px 0;font-size:var(--fs-micro,.55rem)}
.mc-card-count{display:flex;align-items:center;gap:3px}
.mc-card-icon{width:10px;height:14px;border-radius:2px;display:inline-block}
.mc-card-icon.yellow{background:var(--amber,#f59e0b)}
.mc-card-icon.red{background:var(--red,#ef4444)}

/* Inline style grid replacement for teams/players pages */
.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md,12px)}
@media(max-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}
.wc-countdown-live{color:var(--green,var(--success))}
