/* =============================================================
   LL DESIGN SYSTEM — shared variables, layout, nav, footer
   Extracted from design files. Do not modify values here.
   Page-specific styles go in their own CSS files.
   ============================================================= */

/* ── BASE RESET ── */
* { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }

/* ── CSS VARIABLES ── */
:root {
  --blue:       #00aaff;
  --blue-dim:   rgba(0,170,255,0.08);
  --blue-line:  rgba(0,170,255,0.22);
  --gold:       #FFB800;
  --green:      #22c55e;
  --red:        #ef4444;
  --bg-page:    #f4f6f9;
  --bg-surface: #ffffff;
  --bg-card:    #f0f2f5;
  --bg-hover:   #e8ecf2;
  --border:     rgba(0,0,0,0.08);
  --border-mid: rgba(0,0,0,0.14);
  --text-main:  #1a2b4a;
  --text-sec:   #4a5568;
  --text-muted: #8a96a8;
  --r:          8px;
  --sidebar-l:  240px;
  --sidebar-r:  300px;
}

/* ── DARK MODE OVERRIDES ── */
[data-theme="dark"] {
  --blue-dim:   rgba(0,170,255,0.10);
  --blue-line:  rgba(0,170,255,0.25);
  --bg-page:    #0a0d12;
  --bg-surface: #0e1117;
  --bg-card:    #161b22;
  --bg-hover:   #1c2330;
  --border:     rgba(255,255,255,0.07);
  --border-mid: rgba(255,255,255,0.14);
  --text-main:  #ffffff;
  --text-sec:   #a0b0c8;
  --text-muted: #E2E8F0;
}
[data-theme="dark"] .nav { background:rgba(14,17,23,0.97); }
[data-theme="dark"] .mob-menu { background:rgba(14,17,23,0.98); }
[data-theme="dark"] .footer { background:#1c2330; }

/* ── BODY ── */
body {
  background:var(--bg-page);
  color:var(--text-main);
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:underline; }

/* ── THEME TOGGLE ── */
.theme-toggle { display:flex; background:var(--bg-card); border:1px solid var(--border-mid); border-radius:6px; overflow:hidden; flex-shrink:0; }
.theme-toggle button { font-family:'DM Sans',sans-serif; font-weight:700; font-size:13px; padding:6px 14px; border:none; cursor:pointer; transition:all 0.15s; background:transparent; color:var(--text-muted); }
.theme-toggle button.active { background:var(--blue); color:#fff; }
.theme-toggle button:not(.active):hover { color:var(--text-main); background:var(--bg-hover); }

/* ── NAV ── */
.nav { background:rgba(255,255,255,0.97); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:200; height:60px; display:flex; align-items:center; }
.nav-inner { width:100%; max-width:1400px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; }
.logo { font-weight:900; font-size:22px; letter-spacing:-0.5px; text-decoration:none; flex-shrink:0; }
.logo-l { color:var(--blue); }
.logo-r { color:var(--text-main); }
.logo-reg { font-size:10px; color:var(--text-muted); vertical-align:super; }
.nav-links { display:flex; align-items:center; gap:2px; list-style:none; }
.nav-links a { font-size:15px; font-weight:600; color:var(--text-sec); text-decoration:none; padding:6px 14px; border-radius:6px; transition:all 0.15s; white-space:nowrap; }
.nav-links a:hover { color:var(--text-main); background:var(--bg-card); text-decoration:none; }
.nav-links a.active { color:var(--blue); }
.nav-links a.gold { color:var(--gold); }
.nav-burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-burger span { display:block; width:22px; height:2px; background:var(--text-sec); border-radius:2px; transition:all 0.2s; }
.nav-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mob-menu { display:none; position:fixed; inset:60px 0 0; background:rgba(255,255,255,0.98); z-index:199; flex-direction:column; padding:20px 24px; gap:2px; backdrop-filter:blur(16px); }
.mob-menu.open { display:flex; }
.mob-menu a { font-weight:700; font-size:18px; color:var(--text-sec); text-decoration:none; padding:12px 0; border-bottom:1px solid var(--border); transition:color 0.15s; }
.mob-menu a:hover { color:var(--blue); }
.mob-menu a.gold { color:var(--gold); }
.mob-children { display:flex; flex-direction:column; }
.mob-children a { font-size:14px; font-weight:600; padding:8px 0 8px 18px; border-bottom:1px solid var(--border); color:var(--text-sec); }
.mob-children a:hover { color:var(--blue); }
/* Dropdown nav */
.nav-links li { position:relative; }
.nav-links li.has-dropdown > a::after { content:' ▾'; font-size:10px; opacity:0.55; }
.nav-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; background:var(--bg-surface); border:1px solid var(--border); border-radius:8px; min-width:230px; padding:6px 0; box-shadow:0 8px 24px rgba(0,0,0,0.1); z-index:300; list-style:none; }
.nav-links li.has-dropdown:hover .nav-dropdown { display:block; }
.nav-dropdown li a { display:block; padding:8px 16px; font-size:13px; font-weight:600; color:var(--text-sec); text-decoration:none; white-space:nowrap; transition:all 0.12s; border-radius:0; background:none; }
.nav-dropdown li a:hover { color:var(--text-main); background:var(--bg-card); }
[data-theme="dark"] .nav-dropdown { background:#161b22; border-color:rgba(255,255,255,0.1); box-shadow:0 8px 24px rgba(0,0,0,0.4); }

/* ── BREADCRUMB ── */
.breadcrumb-bar { border-bottom:1px solid var(--border); }
.bc-inner { max-width:1400px; margin:0 auto; padding:10px 40px; display:flex; align-items:center; gap:6px; font-size:14px; color:var(--text-muted); flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; scrollbar-width:none; }
.bc-inner::-webkit-scrollbar { display:none; }
.bc-inner a { color:var(--text-muted); text-decoration:none; transition:color 0.15s; }
.bc-inner a:hover { color:var(--blue); }
.bc-sep { opacity:0.35; }
.bc-cur { color:var(--text-sec); }

/* ── PAGE LAYOUT ── */
.page-wrap { max-width:1400px; margin:0 auto; padding:24px 40px; display:grid; grid-template-columns:var(--sidebar-l) 1fr var(--sidebar-r); gap:24px; align-items:start; }

/* ── LEFT SIDEBAR ── */
.sidebar-left { position:sticky; top:84px; display:flex; flex-direction:column; gap:16px; }
.sidebar-widget { background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.sidebar-widget-head { padding:12px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:8px; }
.sidebar-widget-bar { width:3px; height:14px; background:var(--blue); border-radius:2px; flex-shrink:0; }
.sidebar-widget-title { font-weight:800; font-size:15px; color:var(--text-main); letter-spacing:0.3px; }
.sidebar-links { list-style:none; }
.sidebar-links li { display:block; }
.sidebar-links li a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 16px; font-size:15px; font-weight:600; color:var(--text-sec); text-decoration:none; border-bottom:1px solid var(--border); transition:all 0.15s; }
.sidebar-links li:last-child a { border-bottom:none; }
.sidebar-links li a .sidebar-chevron { margin-left:auto; font-size:11px; opacity:0.4; }
.sidebar-links li a:hover { color:var(--blue); background:var(--bg-card); text-decoration:none; }
.sidebar-links li a.active { color:var(--blue); background:var(--blue-dim); }
.sidebar-links li a .tip-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.sidebar-links li a.wc-2026-link, .sidebar-links li a.wc-2026-link:hover { color:#FFB800; border-left:3px solid #FFB800; font-weight:500; background:transparent; }
[data-theme="light"] .sidebar-links li a.wc-2026-link, [data-theme="light"] .sidebar-links li a.wc-2026-link:hover { color:#000; border-left-color:#FFB800; }
.sidebar-league-item { display:flex; align-items:center; gap:10px; padding:10px 16px; font-size:15px; font-weight:600; color:var(--text-sec); text-decoration:none; border-bottom:1px solid var(--border); transition:all 0.15s; }
.sidebar-league-item:last-child { border-bottom:none; }
.sidebar-league-item:hover { color:var(--blue); background:var(--bg-card); text-decoration:none; }
.sidebar-league-flag { font-size:18px; width:24px; text-align:center; }
.sidebar-league-count { font-size:14px; color:var(--blue); font-weight:600; margin-left:auto; }

/* ── MAIN CONTENT ── */
.main-content { min-width:0; animation:fadeUp 0.3s ease both; }

/* ── RIGHT SIDEBAR ── */
.sidebar-right { position:sticky; top:84px; display:flex; flex-direction:column; gap:16px; }
.ad-block { background:var(--bg-surface); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.ad-block-label { font-size:10px; font-weight:600; color:var(--text-muted); letter-spacing:1px; text-align:center; padding:6px; border-bottom:1px solid var(--border); }
.ad-placeholder { background:var(--bg-card); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; }
.ad-placeholder-text { font-size:12px; color:var(--text-muted); font-weight:600; }
.ad-300x250 { width:300px; height:250px; }
.ad-300x600 { width:300px; height:600px; }

/* ── FOOTER ── */
.footer { background:var(--bg-surface); margin-top:20px; }
.footer-inner { max-width:1400px; margin:0 auto; padding:40px 40px 0; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; }
.footer-logo { font-weight:900; font-size:20px; color:var(--text-main); text-decoration:none; display:inline; margin-right:6px; }
.footer-logo span { color:var(--blue); }
.footer-desc { font-size:14px; color:var(--text-muted); line-height:1.7; margin-bottom:10px; }
.footer-gamble-text { font-size:14px; color:var(--text-muted); line-height:1.6; margin-bottom:14px; }
.footer-gamble-text a { text-decoration:none; }
.footer-gamble-text a:hover { text-decoration:underline; }
.footer-gamble-text strong { color:var(--text-sec); font-weight:700; }
.ga-text-gamble { color:var(--text-main); font-weight:700; }
.ga-text-aware { color:#EC6923; font-weight:700; }
.footer-col-title { font-weight:800; font-size:12px; letter-spacing:1.5px; color:var(--text-sec); margin-bottom:12px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-size:14px; color:var(--text-muted); text-decoration:none; transition:color 0.15s; }
.footer-links a:hover { color:var(--text-main); }
.footer-bottom { border-top:1px solid var(--border); padding:14px 0; font-size:13px; color:var(--text-muted); }
.footer-mob-links { display:none; }
.footer-col-hide { display:block; }
.footer-links-mobile { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; list-style:none; }

/* ── ANIMATIONS ── */
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.3; } }
@keyframes fadeUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

/* ── RESPONSIVE — layout and nav only ── */
@media (max-width:1200px) {
  .page-wrap { grid-template-columns:var(--sidebar-l) 1fr; }
  .sidebar-right { display:none; }
}
@media (max-width:900px) {
  .page-wrap { grid-template-columns:1fr; padding:20px 24px; }
  .sidebar-left { display:none; }
}
@media (max-width:768px) {
  .nav-inner { padding:0 16px; }
  .nav-links { display:none; }
  .nav-burger { display:flex; }
  .theme-toggle { display:none; }
  .page-wrap { padding:16px; }
  .footer-inner { padding:28px 16px 0; }
  .footer-grid { grid-template-columns:1fr; gap:24px; }
  .footer-col-hide { display:none; }
  .footer-mob-links { display:block; }
}
@media (max-width:480px) {
  .bc-inner { padding:10px 16px; }
}
