/* ── DESIGN TOKENS – clean light workspace ── */
:root {
  --bg:        #f5f7fb;
  --bg2:       #ffffff;
  --surface:   #f8fafc;
  --card:      #ffffff;
  --border:    #e5e7eb;
  --border-h:  #93c5fd;

  --orange:    #2563eb;
  --orange2:   #1d4ed8;
  --amber:     #a16207;
  --cream:     #111827;
  --green:     #15803d;
  --green2:    #16a34a;
  --pitch:     #e2e8f0;
  --blue:      #4f46e5;
  --red:       #dc2626;
  --muted:     #64748b;
  --sub:       #475569;
  --text:      #111827;

  --radius:    14px;
  --radius-lg: 22px;
  --transition: 0.25s cubic-bezier(.4,0,.2,1);
  --shadow:    0 8px 24px rgba(15,23,42,0.08);
  --glow-o:    0 4px 14px rgba(37,99,235,0.16);
  --glow-g:    0 4px 14px rgba(21,128,61,0.14);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

body {
  font-family: 'Inter', -apple-system, sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
  line-height: 1.6;
}

/* ── Football pitch stripes overlay ── */
body::before {
  content:'';
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(180deg, rgba(219,234,254,.55) 0, rgba(245,247,251,0) 420px);
}

/* ── Pitch arc decoration top-right ── */
body::after {
  content:'';
  position:fixed;top:-200px;right:-200px;
  width:600px;height:600px;
  border:2px solid rgba(37,99,235,0.04);
  border-radius:50%;
  pointer-events:none;z-index:0;
}

/* ── HEADER ── */
#site-header {
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2rem;height:64px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}

.logo {
  font-family:'Orbitron',sans-serif;
  font-size:1.3rem;font-weight:900;
  display:flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg,var(--text),var(--orange));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.logo-icon{font-size:1.1rem;-webkit-text-fill-color:initial;}

.nav-tabs{display:flex;gap:.5rem;}
.nav-research-link{position:relative;gap:.35rem!important;color:#0f766e!important;}
.nav-research-link small{font-size:.55rem;line-height:1;color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:.16rem .3rem;white-space:nowrap;}
.nav-research-link:hover{border-color:#86efac!important;color:#047857!important;background:#f0fdf4;}
.tab-btn {
  display:flex;align-items:center;gap:.45rem;
  padding:.5rem 1.2rem;border-radius:50px;
  border:1px solid transparent;background:transparent;
  color:var(--sub);font-size:.85rem;font-weight:600;
  text-decoration:none;
  cursor:pointer;transition:var(--transition);
}
.tab-btn:hover{color:var(--text);border-color:var(--border);}
.tab-btn.active{
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  color:#fff;border-color:transparent;
  box-shadow:var(--glow-o);
}

.nav-right{display:flex;align-items:center;gap:1rem;}
.user-pill{
  display:flex;align-items:center;gap:.5rem;
  padding:.4rem 1rem;
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border);
  border-radius:50px;font-size:.8rem;
}
.user-pill .fa-coins{color:var(--amber);}
.credit-num{font-family:'Orbitron',sans-serif;color:var(--amber);font-weight:700;}
.user-name{color:var(--sub);}
.btn-ghost{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem;transition:var(--transition);}
.btn-ghost:hover{color:var(--text);}
.btn-checkin{background:linear-gradient(135deg,rgba(74,222,128,.15),rgba(74,222,128,.08));border:1px solid rgba(74,222,128,.3);color:#4ade80;cursor:pointer;font-size:.72rem;font-weight:700;padding:.28rem .7rem;border-radius:8px;transition:var(--transition);font-family:'Inter',sans-serif;}
.btn-checkin:hover{background:rgba(74,222,128,.25);box-shadow:0 0 12px rgba(74,222,128,.3);}
.btn-checkin:disabled{opacity:.5;cursor:not-allowed;}


/* ── HERO ── */
.hero {
  position:relative;z-index:1;
  text-align:center;
  padding:2.5rem 1rem 2rem;
  overflow:hidden;
}


.hero-inner{max-width:680px;margin:0 auto;position:relative;z-index:1;}

.hero-badge {
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.35rem 1rem;border-radius:50px;
  background:rgba(78,160,74,0.12);
  border:1px solid rgba(74,222,128,0.25);
  font-size:.72rem;font-weight:700;letter-spacing:.06em;
  color:var(--green);text-transform:uppercase;margin-bottom:1.5rem;
}
.dot-live{
  width:7px;height:7px;border-radius:50%;
  background:var(--green);
  animation:blink 1.4s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}

.hero h1 {
  font-size:clamp(2rem,5vw,3.8rem);
  font-weight:900;line-height:1.05;
  text-transform:uppercase;letter-spacing:-2px;
  margin-bottom:1rem;
}
.grad-text{
  background:linear-gradient(135deg,var(--orange),var(--blue));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero p{color:var(--sub);font-size:1rem;margin-bottom:1.5rem;}

.hero-stats{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;}
.hstat{display:flex;flex-direction:column;align-items:center;}
.hstat-v{font-family:'Orbitron',sans-serif;font-size:1.8rem;font-weight:900;color:var(--green);}
.hstat-l{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;}
.hstat-div{width:1px;height:36px;background:var(--border);}

/* ── MAIN ── */
.app-main{
  position:relative;z-index:1;
  max-width:1260px;margin:0 auto;
  padding:2rem 1.5rem 6rem;
}

.tab-panel{animation:fadeIn .25s ease;}
.tab-panel.hidden, .hidden{display:none !important;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.two-col{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:1.25rem;align-items:start;
}
@media(max-width:1080px){.two-col{grid-template-columns:1fr;}}

/* ── CARDS ── */
.form-card,.result-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:2rem;
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
/* corner arc decoration */
.form-card::after {
  content:'';
  position:absolute;bottom:-40px;right:-40px;
  width:120px;height:120px;
  border:2px solid rgba(232,146,74,0.08);
  border-radius:50%;pointer-events:none;
}

.placeholder-card{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:1rem;min-height:300px;
  color:var(--muted);text-align:center;
}
.placeholder-card .sub{font-size:.8rem;}
.placeholder-card i{opacity:.15;}

.card-title{
  font-size:1.05rem;font-weight:700;
  display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;
}
.card-title i{color:var(--orange);}
.card-sub{font-size:.8rem;color:var(--muted);margin-bottom:1.5rem;}
.card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;}

/* ── QUIET, ACTIONABLE NOTICE ── */
.site-notice{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1rem;background:rgba(74,222,128,.06);
  border:1px solid rgba(74,222,128,.16);border-radius:var(--radius-lg);
}
.site-notice-copy{display:flex;align-items:center;gap:.7rem;min-width:0;}
.site-notice-copy>i{color:var(--green);font-size:1rem;flex-shrink:0;}
.site-notice-copy div{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap;}
.site-notice-copy strong{font-size:.82rem;color:var(--text);}
.site-notice-copy span{font-size:.75rem;color:var(--muted);}
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.55rem .85rem;background:rgba(255,255,255,.05);
  color:var(--text);border:1px solid var(--border);border-radius:10px;
  font:600 .75rem/1.2 'Inter',sans-serif;cursor:pointer;transition:var(--transition);
  white-space:nowrap;
}
.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:var(--border-h);transform:translateY(-1px);}

/* ── FORM ── */
.field-group{margin-bottom:1rem;}
.field-group label{
  display:block;font-size:.72rem;font-weight:600;
  color:var(--sub);text-transform:uppercase;letter-spacing:.06em;
  margin-bottom:.35rem;
}
.field-select,.field-input{
  width:100%;padding:.7rem .95rem;
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border);
  border-radius:var(--radius);
  color:var(--text);font-size:.88rem;
  transition:var(--transition);appearance:none;
}
.field-select:focus,.field-input:focus{
  outline:none;border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(232,146,74,0.18);
}
.field-select option{background:var(--surface);}

.teams-row{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;gap:.5rem;margin-bottom:1rem;}
.vs-badge{font-family:'Orbitron',sans-serif;font-size:.7rem;font-weight:900;color:var(--orange);text-align:center;}

.odds-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.65rem;margin-bottom:1.5rem;}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.5rem;
  background:linear-gradient(135deg,var(--orange),var(--orange2));
  color:#fff;border:none;border-radius:var(--radius);
  font-size:.88rem;font-weight:700;cursor:pointer;
  transition:var(--transition);box-shadow:var(--glow-o);
}
.btn-primary:hover:not(:disabled):not(.disabled){
  transform:translateY(-2px);
  box-shadow:0 0 36px rgba(232,146,74,.55);
}
.btn-primary.disabled,.btn-primary:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;}

.btn-accent{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.5rem;
  background:linear-gradient(135deg,var(--green2),#16a34a);
  color:#fff;border:none;border-radius:var(--radius);
  font-size:.88rem;font-weight:700;cursor:pointer;transition:var(--transition);
}
.btn-accent:hover{transform:translateY(-2px);}

.btn-sm{
  padding:.38rem .8rem;
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border);
  border-radius:8px;color:var(--sub);
  font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);
}
.btn-sm:hover{color:var(--text);border-color:var(--orange);}
.btn-link{background:none;border:none;color:var(--orange);cursor:pointer;font-size:.84rem;text-decoration:underline;}
.full{width:100%;}

/* ── AUTO-SYNC BADGE ── */
.auto-sync-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.28rem .7rem;border-radius:50px;
  background:rgba(74,222,128,0.08);
  border:1px solid rgba(74,222,128,0.2);
  font-size:.68rem;font-weight:600;color:var(--green);
  cursor:default;white-space:nowrap;
}


/* ── PROB BARS ── */
.prob-section{margin-top:1.5rem;}
.prob-row{margin-bottom:1rem;}
.prob-label-row{display:flex;justify-content:space-between;font-size:.8rem;margin-bottom:.4rem;}
.prob-pct{font-family:'Orbitron',sans-serif;font-weight:700;}
.prob-bar-bg{height:7px;background:rgba(255,255,255,0.06);border-radius:4px;overflow:hidden;}
.prob-bar-fill{height:100%;border-radius:4px;transition:width 1s ease;}

/* ── RESULT CARD ── */
.pred-match-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:1.5rem;gap:1rem;
}
.pred-teams h3{font-size:1.05rem;font-weight:800;}
.pred-teams small{color:var(--muted);font-size:.75rem;}

.rec-badge{padding:.3rem .8rem;border-radius:50px;font-size:.72rem;font-weight:800;white-space:nowrap;}
.rec-home{background:rgba(74,222,128,.13);color:var(--green);border:1px solid rgba(74,222,128,.25);}
.rec-draw{background:rgba(156,163,175,.12);color:var(--sub);border:1px solid rgba(156,163,175,.25);}
.rec-away{background:rgba(129,140,248,.12);color:var(--blue);border:1px solid rgba(129,140,248,.25);}

.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.5rem;}
.detail-item{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border);
  border-radius:12px;padding:.8rem 1rem;
}
.detail-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;}
.detail-val{font-size:.95rem;font-weight:700;}
.detail-val.accent{color:var(--amber);}
.detail-val.green{color:var(--green);}
.detail-val.blue{color:var(--blue);}
.ev-positive{color:var(--green);font-weight:700;}
.ev-negative{color:var(--muted);}

.top-scores{margin-top:1.5rem;}
.top-scores h4{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.65rem;}
.score-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:.84rem;
}
.score-val{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--green);}

/* ── LOTTERY LIST ── */
.lottery-list{
  display:flex;flex-direction:column;gap:.6rem;
  max-height:580px;overflow-y:auto;padding-right:4px;
}
.lottery-list::-webkit-scrollbar{width:4px;}
.lottery-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}

.lotto-card{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border);
  border-radius:12px;padding:.9rem 1rem;
  cursor:pointer;transition:var(--transition);
}
.lotto-card:hover{border-color:var(--orange);background:rgba(232,146,74,0.06);}
.lotto-card.selected{border-color:var(--green);background:rgba(74,222,128,0.07);}

.match-analysis-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.8rem;}
.match-action{display:flex;align-items:center;justify-content:space-between;gap:.4rem;border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;background:rgba(255,255,255,.025);color:var(--text);font:inherit;font-size:.75rem;cursor:pointer;transition:var(--transition);}
.match-action span{display:flex;align-items:center;gap:.35rem;font-weight:700;}
.match-action small{font-size:.66rem;color:var(--muted);white-space:nowrap;}
.match-action.classic:hover{border-color:var(--blue);background:rgba(129,140,248,.1);}
.match-action.ai:hover{border-color:var(--amber);background:rgba(245,200,66,.1);}
.match-action.classic i{color:var(--blue);}
.match-action.ai i{color:var(--amber);}

.lotto-top{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);margin-bottom:.55rem;}
.lotto-teams{
  display:flex;align-items:center;justify-content:space-between;
  font-weight:700;font-size:.88rem;margin-bottom:.65rem;
}
.lotto-vs{font-size:.65rem;color:var(--orange);font-weight:900;}
.lotto-odds{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem;text-align:center;}
.lotto-odd-box{background:rgba(255,255,255,0.04);border-radius:8px;padding:.28rem .4rem;}
.lotto-odd-label{display:block;font-size:.58rem;color:var(--muted);}
.lotto-odd-val{font-size:.82rem;font-weight:700;color:var(--amber);}

.loading-msg,.empty-msg,.error-msg{
  text-align:center;padding:2rem;color:var(--muted);font-size:.84rem;
}
.error-msg{color:var(--red);}

/* ── AI CART ── */
.sticky-aside{position:sticky;top:80px;}
.ai-cart{min-height:90px;margin-bottom:1.25rem;}
.cart-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:.65rem .85rem;margin-bottom:.45rem;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border);border-radius:10px;
}
.cart-item-info b{display:block;font-size:.83rem;}
.cart-item-info small{color:var(--muted);font-size:.7rem;}
.cart-remove{background:none;border:none;color:var(--red);cursor:pointer;font-size:.85rem;}

.cart-footer{border-top:1px solid var(--border);padding-top:1.1rem;}
.cost-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:1rem;font-size:.84rem;color:var(--sub);
}
.cost-val{font-family:'Orbitron',sans-serif;color:var(--amber);font-weight:700;}

/* ── AI RESULTS ── */
.ai-results{margin-top:2rem;}
.ai-results.hidden{display:none;}
.ai-result-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem;
}
.ai-result-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:1.25rem;padding-bottom:1rem;
  border-bottom:1px solid var(--border);
}
.ai-result-header h3{font-size:1.05rem;font-weight:800;}
.ai-badge{
  padding:.28rem .75rem;
  background:rgba(245,200,66,.12);
  border:1px solid rgba(245,200,66,.25);
  border-radius:50px;font-size:.68rem;font-weight:800;color:var(--amber);
}
.ai-odds-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.25rem;}
.ai-odd-item{
  text-align:center;padding:.55rem;
  background:rgba(255,255,255,0.03);
  border-radius:10px;border:1px solid var(--border);
}
.ai-odd-label{font-size:.62rem;color:var(--muted);display:block;margin-bottom:.15rem;}
.ai-odd-val{font-size:.95rem;font-weight:800;color:var(--orange);}
.ai-analysis-text{
  font-size:.88rem;line-height:1.85;color:var(--cream);
  white-space:pre-wrap;opacity:.92;
}
.ai-analysis-text strong{color:#fff;font-weight:700;}

/* ── MODALS ── */
.modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(10,8,18,.75);backdrop-filter:blur(10px);
}
.modal-overlay.hidden{display:none;}
.modal{
  position:fixed;z-index:201;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:90%;max-width:400px;
  background:var(--surface);
  border:1px solid var(--border-h);
  border-radius:var(--radius-lg);padding:2rem;
  box-shadow:0 24px 64px rgba(0,0,0,.7);
}
.modal.hidden{display:none;}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;}
.modal-head h2{font-size:1.15rem;font-weight:800;}
.modal-close{background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer;}
.modal-close:hover{color:var(--text);}
.modal .field-input{margin-bottom:.85rem;}
.modal-footer{text-align:center;margin-top:1.1rem;font-size:.8rem;color:var(--muted);}

/* ── TOAST ── */
.toast{
  position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);
  z-index:9999;padding:.7rem 1.5rem;
  background:var(--surface);border:1px solid var(--border);
  border-radius:50px;font-size:.84rem;
  box-shadow:var(--shadow);animation:slideUp .3s ease;
}
.toast.hidden{display:none;}
.toast.success{border-color:rgba(74,222,128,.4);color:var(--green);}
.toast.error{border-color:rgba(248,113,113,.4);color:var(--red);}
@keyframes slideUp{from{transform:translateX(-50%) translateY(16px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}

/* ── SPINNER ── */
.spinner-overlay{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:1rem;
  padding:4rem;color:var(--muted);font-size:.88rem;
}

/* ── DISCLAIMER ── */
.disclaimer{
  margin-top:1.25rem;padding:.75rem 1rem;
  background:rgba(255,255,255,0.02);
  border:1px solid var(--border);
  border-radius:10px;font-size:.75rem;color:var(--muted);
}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  #site-header{height:58px;padding:0 .75rem;}
  .logo{font-size:1.05rem;}
  .nav-tabs{
    position:fixed;left:0;right:0;bottom:0;z-index:120;height:66px;
    display:grid;grid-template-columns:repeat(5,1fr);gap:0;
    padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);backdrop-filter:blur(18px);
    border-top:1px solid var(--border);
  }
  .nav-tabs .tab-btn{flex-direction:column;gap:.12rem;padding:.35rem .1rem;border-radius:8px;font-size:.9rem;}
  .nav-tabs .tab-btn span{display:block;font-size:.58rem;line-height:1.1;}
  .nav-tabs .nav-research-link small{font-size:.48rem;padding:.1rem .2rem;}
  .nav-right{gap:.35rem;}
  .user-pill{padding:.3rem .45rem;gap:.35rem;}
  .user-pill .btn-ghost{display:none;}
  .user-pill .btn-checkin{font-size:0;padding:.35rem .45rem;}
  .user-pill .btn-checkin i{font-size:.75rem;}
  .nav-right>.btn-primary{padding:.45rem .65rem!important;font-size:.7rem!important;}
  .app-main{padding:1rem .75rem 5.5rem;}
  .site-notice{align-items:flex-start;flex-direction:column;}
  .site-notice .btn-secondary{width:100%;}
  .hero{padding:1.5rem .75rem 1.25rem;}
  .hero-inner{gap:1.25rem!important;}
  .hero-left,.hero-right{min-width:0!important;width:100%;flex:1 1 100%!important;}
  .hero h1{font-size:clamp(2rem,12vw,3rem);letter-spacing:-1px;}
  .hero-stats{gap:1rem!important;justify-content:space-between!important;}
  .hstat-v{font-size:1.35rem;}
  .hstat-div{height:26px;}
  .two-col{grid-template-columns:minmax(0,1fr)!important;gap:1rem;}
  .form-card,.result-card{padding:1.25rem;}
  .hero h1{letter-spacing:-1px;}
  .odds-grid,.detail-grid{grid-template-columns:1fr;}
  .match-analysis-actions{gap:.4rem;}
  .match-action{padding:.55rem .45rem;font-size:.7rem;}
  .modal{max-height:90vh;overflow:auto;padding:1.25rem;}
}
/* ── WORLD CUP STYLES ── */
.wc-countdown-container {
  text-align: center;
  margin-bottom: 2rem;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(232, 146, 74, 0.1), rgba(42, 34, 56, 0.6));
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-h);
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.wc-title {
  font-family: 'Orbitron', sans-serif;
  color: var(--amber);
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.wc-timer {
  display: inline-flex;
  gap: 1rem;
}

.time-box {
  background: var(--bg);
  padding: 1rem 1.5rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  min-width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.5);
}

.time-box span {
  font-family: 'Orbitron', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1;
}

.time-box small {
  color: var(--orange);
  font-size: 0.8rem;
  margin-top: 0.3rem;
  font-weight: 600;
}

.wc-tabs {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.wc-tab-btn {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--sub);
  padding: 0.8rem 2rem;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}

.wc-tab-btn:hover {
  color: var(--text);
  border-color: var(--orange);
}

.wc-tab-btn.active {
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color: #fff;
  border-color: transparent;
  box-shadow: var(--glow-o);
}

.wc-panel {
  animation: fadeIn 0.3s ease;
}

.wc-bracket {
  margin-top: 2rem;
  padding: 1rem;
  background: var(--card);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  min-height: 400px;
  overflow-x: auto;
}

/* Bracket styling basic */
.bracket-container {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: 2rem 0;
  min-width: 800px;
}
.bracket-round {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 1rem;
}
.bracket-match {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  width: 160px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.bracket-team {
  display: flex;
  justify-content: space-between;
  padding: 0.4rem 0.6rem;
  font-size: 0.85rem;
  font-weight: 500;
  border-bottom: 1px solid var(--border);
}
.bracket-team:last-child { border-bottom: none; }
.bracket-team.winner { color: var(--green); font-weight: 700; background: rgba(74,222,128,0.1); }
.bracket-score { font-family: 'Orbitron', sans-serif; }

/* ── AI TAB CUSTOM STYLES ── */

/* AI Confirm Section styling */
.ai-confirm-section {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-h);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.ai-confirm-section.hidden {
  display: none !important;
}

.confirm-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.selected-match-info {
  font-size: 0.95rem;
  color: var(--cream);
}

.selected-match-info strong {
  color: var(--orange);
  font-weight: 700;
}

.confirm-actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.cost-tip {
  font-size: 0.88rem;
  color: var(--sub);
}

.cost-tip strong {
  font-size: 1.15rem;
  font-family: 'Orbitron', sans-serif;
}


/* Filter bar styles */
.ai-filter-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: .75rem 1rem;
}

.time-filter {
  display: flex;
  flex-wrap: wrap;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--border);
  border-radius: 30px;
  padding: .2rem;
}

.time-filter-btn {
  padding: .3rem .8rem;
  border-radius: 30px;
  border: none;
  background: transparent;
  color: var(--sub);
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
  transition: var(--transition);
  font-family: 'Inter', sans-serif;
}

.time-filter-btn:hover {
  color: var(--text);
}

.time-filter-btn.active {
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color: #fff;
  box-shadow: 0 2px 8px rgba(232, 146, 74, 0.3);
}

.league-select {
  width: auto !important;
  min-width: 140px;
  padding: .45rem 1.5rem .45rem .8rem !important;
  border-radius: 30px !important;
  font-size: .8rem !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .8rem center;
  background-size: 1rem;
}

@media(max-width: 600px) {
  .ai-filter-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .time-filter {
    justify-content: space-around;
  }
}

.wc-fixture-card:hover {
  transform: translateY(-2px);
  border-color: var(--orange) !important;
  box-shadow: 0 4px 15px rgba(232, 146, 74, 0.15);
  background: rgba(255, 255, 255, 0.03) !important;
}

.wc-fixture-card.selected {
  border-color: var(--green) !important;
  background: rgba(74, 222, 128, 0.07) !important;
}

/* ── WORLD CUP GROUP STAGE STANDINGS ── */
.wc-groups-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.2rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.wc-group-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  box-shadow: var(--shadow);
  transition: var(--transition);
}
.wc-group-card:hover {
  border-color: var(--border-h);
}
.wc-group-title {
  font-family: 'Orbitron', sans-serif;
  color: var(--amber);
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 0.6rem;
  text-align: center;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.4rem;
}
.wc-group-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
}
.wc-group-table th {
  color: var(--muted);
  font-weight: 600;
  padding: 0.3rem 0.1rem;
  border-bottom: 1px solid var(--border);
  text-align: center;
}
.wc-group-table td {
  padding: 0.4rem 0.1rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  text-align: center;
}
.wc-group-table tr:last-child td {
  border-bottom: none;
}
.wc-group-table tr.advancing {
  background: rgba(74, 222, 128, 0.04);
  color: var(--green);
}
.wc-group-table tr.advancing td:nth-child(2) {
  font-weight: 700;
}
.wc-group-table .team-name {
  text-align: left;
  padding-left: 0.3rem;
  max-width: 90px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wc-group-table .adv-badge {
  color: var(--green);
  font-size: 0.7rem;
  margin-right: 0.2rem;
}




/* ════════════════════════════════════════════════════════
   WORLD CUP 2026 — 重构版样式（48队/12组/32强）
   ════════════════════════════════════════════════════════ */

/* 完整赛程列表（按 12 组分块） */
.wc-schedule-list {
  max-height: 560px;
  overflow-y: auto;
  padding-right: 6px;
}
.wc-grp-block { margin-bottom: 1rem; }
.wc-grp-head {
  display: flex; align-items: center; gap: 0.5rem;
  margin-bottom: 0.4rem; padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--border);
}
.wc-grp-tag {
  background: linear-gradient(135deg, var(--orange), var(--orange2));
  color: #fff; font-weight: 800; font-size: 0.72rem;
  padding: 2px 9px; border-radius: 6px; flex-shrink: 0;
}
.wc-grp-teams { font-size: 0.72rem; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-fx-row {
  display: grid;
  grid-template-columns: 42px 1fr 26px 1fr auto;
  align-items: center; gap: 0.4rem;
  padding: 0.5rem 0.6rem; margin-bottom: 0.3rem;
  background: rgba(255,255,255,0.015);
  border: 1px solid var(--border); border-radius: 8px;
  cursor: pointer; transition: var(--transition); font-size: 0.8rem;
}
.wc-fx-row:hover { border-color: var(--orange); background: rgba(232,146,74,0.06); transform: translateX(2px); }
.wc-fx-row.selected { border-color: var(--green); background: rgba(74,222,128,0.08); }
.wc-fx-date { font-size: 0.68rem; color: var(--muted); }
.wc-fx-team { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-fx-team.away { text-align: right; }
.wc-fx-vs { color: var(--muted); font-size: 0.65rem; text-align: center; }
.wc-fx-odds { font-size: 0.66rem; color: var(--amber); font-family: 'Orbitron', sans-serif; white-space: nowrap; }
.wc-fx-score { font-size: 0.78rem; color: var(--green); font-weight: 800; font-family: 'Orbitron', sans-serif; }

/* 选中比赛 + 预测动作面板 */
.wc-sel-head { text-align: center; margin-bottom: 0.8rem; }
.wc-sel-teams { display: flex; align-items: center; justify-content: center; gap: 1.5rem; margin-bottom: 0.8rem; }
.wc-sel-team { text-align: center; font-weight: 700; font-size: 0.95rem; }
.wc-sel-flag { font-size: 2.4rem; line-height: 1; margin-bottom: 0.2rem; }
.wc-sel-vs { color: var(--muted); font-weight: 800; font-size: 0.85rem; }
.wc-sel-odds { text-align: center; font-size: 0.78rem; color: var(--muted); margin-bottom: 1rem; }
.wc-sel-odds b { color: var(--amber); font-family: 'Orbitron', sans-serif; }
/* 预测面板永不被同列其它卡片挤压裁切（防止按钮被遮挡） */
#wc-predict-panel { flex-shrink: 0; }
.wc-predict-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
.wc-predict-actions button { position: relative; padding: 0.85rem 0.5rem; font-size: 0.92rem; }
.wc-predict-actions button:disabled { cursor: not-allowed; }
.wc-cost-tag {
  display: inline-flex; align-items: center; gap: 3px;
  margin-left: 0.4rem; font-size: 0.68rem; font-weight: 800;
  background: rgba(0,0,0,0.25); padding: 1px 7px; border-radius: 10px; color: #f5c842;
}

/* 模拟阶段徽章 */
.wc-stage-badge {
  display: inline-block; margin-bottom: 1rem; padding: 0.35rem 1rem;
  background: rgba(74,222,128,0.1); border: 1px solid rgba(74,222,128,0.3);
  border-radius: 50px; color: var(--green); font-size: 0.78rem; font-weight: 700;
}

/* 小组榜 第三名标识 */
.wc-group-table tr.third { background: rgba(245,200,66,0.05); }
.wc-group-table .third-badge {
  background: var(--amber); color: #1a1a1a; border-radius: 50%;
  width: 14px; height: 14px; display: inline-flex; align-items: center;
  justify-content: center; font-size: 0.6rem; font-weight: 800;
}

/* 最佳小组第三排名表 */
.wc-thirds-card {
  max-width: 700px; margin: 0 auto 2rem;
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 1.2rem 1.4rem;
}
.wc-thirds-table { width: 100%; }
.wc-thirds-table td:nth-child(2) { text-align: left; }
.wc-thirds-table tr.q-yes { color: var(--green); }
.wc-thirds-table tr.q-no { color: var(--muted); opacity: 0.6; }

/* 5 轮淘汰赛对阵图（更宽，支持横向滚动） */
.bracket-container { min-width: 1100px; gap: 1.5rem; }
.bracket-round-title {
  text-align: center; font-weight: 800; color: var(--muted);
  font-size: 0.8rem; margin-bottom: 0.6rem;
}
.bracket-match { width: 150px; margin-bottom: 0.3rem; }
.bracket-team span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 110px; }
.bk-meta { display: flex; gap: 4px; padding: 2px 6px; justify-content: flex-end; }
.bk-real { font-size: 0.58rem; background: rgba(74,222,128,0.18); color: var(--green); padding: 0 5px; border-radius: 4px; font-weight: 700; }
.bk-pen { font-size: 0.58rem; background: rgba(232,146,74,0.18); color: var(--orange); padding: 0 5px; border-radius: 4px; }
.final-round { justify-content: center; }
.wc-champion-box { text-align: center; margin-top: 1.5rem; }
.wc-champion-name {
  font-size: 1.5rem; font-weight: 900; color: var(--amber);
  text-shadow: var(--glow-o); margin-top: 0.3rem;
}

/* ════════════════════════════════════════════════════════
   会员订阅推介（申请会员 Tab）
   ════════════════════════════════════════════════════════ */
.vip-paid-banner {
  display: flex; align-items: center; gap: 0.5rem;
  background: linear-gradient(135deg, rgba(245,200,66,0.14), rgba(232,146,74,0.08));
  border: 1px solid rgba(245,200,66,0.3); border-radius: 10px;
  padding: 0.7rem 0.9rem; margin-bottom: 1rem;
  font-size: 0.8rem; color: rgba(255,255,255,0.9); line-height: 1.45;
}
.vip-paid-banner i { color: var(--amber); }

.vip-block { margin-bottom: 1rem; }
.vip-block-title {
  font-size: 0.82rem; font-weight: 800; color: var(--text);
  margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.35rem;
}
.vip-data-card {
  background: rgba(255,255,255,0.02); border: 1px solid var(--border);
  border-radius: 10px; padding: 0.85rem 1rem;
}
.vip-data-sub {
  font-size: 0.68rem; color: var(--muted); margin-bottom: 0.45rem;
  padding-bottom: 0.35rem; border-bottom: 1px dashed rgba(255,255,255,0.07);
}
.vip-data-sub.mt { margin-top: 0.8rem; }
.vip-stat-row {
  display: flex; align-items: baseline; justify-content: space-between;
  font-size: 0.76rem; color: var(--sub); padding: 0.18rem 0;
}
.vip-stat-row b { color: var(--green); font-family: 'Orbitron', monospace; font-size: 0.85rem; }
.vip-stat-row small { color: var(--muted); font-size: 0.64rem; min-width: 62px; text-align: right; }
.vip-stat-line {
  font-size: 0.72rem; color: var(--sub); padding: 0.25rem 0; line-height: 1.5;
}
.vip-stat-line b { color: var(--amber); }
.vip-stat-line .tag { color: var(--text); font-weight: 700; }

/* 两档价格卡 */
.vip-tiers { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.vip-tier {
  position: relative; background: rgba(255,255,255,0.02);
  border: 1px solid var(--border); border-radius: 12px;
  padding: 0.9rem 0.75rem; text-align: center;
}
.vip-tier.hot { border-color: rgba(245,200,66,0.5); background: rgba(245,200,66,0.05); }
.vip-tier .tier-badge {
  position: absolute; top: -9px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(90deg, var(--amber), var(--orange));
  color: #1a1a1a; font-size: 0.6rem; font-weight: 800;
  padding: 1px 8px; border-radius: 8px; white-space: nowrap;
}
.vip-tier .tier-name { font-size: 0.82rem; font-weight: 700; color: var(--text); margin-bottom: 0.3rem; }
.vip-tier .tier-price {
  font-size: 1.45rem; font-weight: 900; color: var(--amber);
  font-family: 'Orbitron', sans-serif; line-height: 1;
}
.vip-tier .tier-price small { font-size: 0.66rem; color: var(--muted); font-weight: 600; font-family: 'Inter', sans-serif; }
.vip-tier ul { list-style: none; padding: 0; margin: 0.6rem 0 0; }
.vip-tier li { font-size: 0.7rem; color: var(--sub); padding: 0.18rem 0; }
.vip-tier li i { color: var(--green); font-size: 0.62rem; margin-right: 3px; }

/* VIP 价值拆解 */
.vip-value {
  background: linear-gradient(135deg, rgba(245,200,66,0.08), rgba(232,146,74,0.04));
  border: 1px solid rgba(245,200,66,0.22); border-radius: 10px;
  padding: 0.85rem 1rem;
}
.vip-value-item { font-size: 0.74rem; color: rgba(255,255,255,0.85); padding: 0.2rem 0; line-height: 1.5; }
.vip-value-item b { color: var(--amber); }

/* ════════════ 世界杯夺冠竞猜 ════════════ */
.wcg-champ-card { margin-bottom: 1.5rem; }
.wcg-title { font-size: 1.1rem; font-weight: 800; color: var(--text); display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.wcg-reward { font-size: 0.72rem; font-weight: 700; color: #1a1a1a; background: linear-gradient(90deg, var(--amber), var(--orange)); padding: 2px 10px; border-radius: 10px; }
.wcg-reward-sm { font-size: 0.62rem; font-weight: 800; color: var(--green); background: rgba(74,222,128,0.12); padding: 1px 7px; border-radius: 8px; }
.wcg-champ-pick { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; }
.wcg-champ-pick .field-select { flex: 1; min-width: 180px; }
.wcg-mypick { font-size: 0.92rem; color: var(--text); display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.wcg-lock { font-size: 0.66rem; color: var(--muted); border: 1px solid var(--border); padding: 1px 8px; border-radius: 8px; }
.wcg-hit { font-size: 0.72rem; color: var(--green); font-weight: 700; }
.wcg-miss { font-size: 0.72rem; color: var(--red); font-weight: 700; }
.wcg-pop { margin-top: 0.9rem; padding-top: 0.7rem; border-top: 1px dashed var(--border); font-size: 0.74rem; color: var(--muted); display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; }
.wcg-pop-item b { color: var(--amber); font-family: 'Orbitron', sans-serif; }

.wcg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.wcg-group-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.1rem; }
.wcg-grp-head { font-weight: 700; color: var(--text); margin-bottom: 0.7rem; display: flex; align-items: center; gap: 0.5rem; }
.wcg-chips { display: flex; flex-direction: column; gap: 0.45rem; }
.wcg-chip { display: flex; align-items: center; justify-content: space-between; padding: 0.55rem 0.8rem; border: 1px solid var(--border); border-radius: 10px; font-size: 0.84rem; cursor: pointer; transition: var(--transition); background: rgba(255,255,255,0.015); }
.wcg-chip:hover { border-color: var(--amber); background: rgba(245,200,66,0.06); }
.wcg-chip-votes { font-size: 0.68rem; color: var(--muted); font-family: 'Orbitron', sans-serif; min-width: 22px; text-align: right; }
.wcg-chip.picked { border-color: var(--amber); background: rgba(245,200,66,0.12); font-weight: 700; cursor: default; }
.wcg-chip.winner { border-color: var(--green); }
.wcg-chip.hit { border-color: var(--green); background: rgba(74,222,128,0.14); }
.wcg-chip.miss { opacity: 0.6; }
.wcg-foot { margin-top: 0.6rem; font-size: 0.72rem; color: var(--muted); }
.wcg-foot.hit { color: var(--green); font-weight: 700; }
.wcg-foot.miss { color: var(--red); }

.home-info-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)!important}
.vip-value-item{color:var(--sub)}
.vip-guide-callout{color:var(--sub)!important}
.points-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;border-top:1px solid #e2e8f0;padding-top:1.25rem}
.points-guide-section{padding:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;min-width:0}
@media(max-width:700px){.points-guide-grid{grid-template-columns:1fr}}
.vip-paid-banner{color:var(--sub)}
.wc-cost-tag{background:#fef3c7;color:#92400e}
@media(max-width:800px){.home-info-grid{grid-template-columns:1fr!important;gap:1rem!important}}

/* ── Analysis workspace: choose first, inspect below ── */
.analysis-workspace{display:block;width:100%;max-width:none}
.analysis-workspace>.form-card{padding:1.25rem}
.analysis-workspace .lottery-list{max-height:none!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;padding-right:0}
.analysis-workspace .ai-report-col{display:flex!important;flex-direction:column;gap:1rem!important;margin-top:1rem;height:auto!important}
.analysis-workspace #ai-results-placeholder{min-height:170px!important;height:auto!important;padding:2rem!important}
.analysis-module-intro{background:#fff!important;border-color:#e5e7eb!important;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.analysis-module-intro>div:last-child{background:#eff6ff!important;color:#475569!important}
.analysis-workspace #ai-action-panel{padding:1rem!important;border-color:#bfdbfe!important}
.analysis-workspace #ai-action-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left!important;padding-bottom:.85rem!important;margin-bottom:.85rem!important}
.analysis-workspace #ai-action-panel>div:first-child h3{font-size:1.05rem!important;margin-bottom:.15rem!important}
.analysis-workspace #ai-action-panel>div:nth-child(2),.analysis-workspace #ai-action-handicap-info{background:#f8fafc!important;border-color:#e5e7eb!important;padding:.8rem!important;margin-bottom:.85rem!important}
.analysis-workspace .ai-odd-input{border-bottom-color:#cbd5e1!important;color:#92400e!important}
.analysis-workspace #ai-run-btn{padding:.75rem!important}
.analysis-workspace .match-analysis-actions{margin-top:.7rem}
.analysis-workspace .lotto-card{padding:.85rem}
.analysis-workspace .lotto-card.selected{border-color:#2563eb;background:#eff6ff}
.analysis-workspace .lotto-teams{font-size:.92rem;gap:.5rem}
.analysis-workspace .lotto-teams span:first-child,.analysis-workspace .lotto-teams span:last-child{min-width:0;overflow-wrap:anywhere}
.analysis-workspace .lotto-odd-box{background:#f8fafc}
.analysis-workspace .match-action{background:#fff;border-color:#e5e7eb}
.analysis-workspace .match-action.classic:hover{background:#eff6ff}
.analysis-workspace .match-action.ai:hover{background:#fffbeb}
.analysis-report-fold{margin-top:1rem;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;overflow:hidden}
.analysis-report-fold>summary{cursor:pointer;list-style:none;padding:.75rem 1rem;color:#334155;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.analysis-report-fold>summary::-webkit-details-marker{display:none}
.analysis-report-fold>summary::after{content:'展开';color:#2563eb;font-size:.7rem}
.analysis-report-fold[open]>summary::after{content:'收起'}
.analysis-report-fold .ai-analysis-text{padding:0 1rem 1rem;max-height:560px;overflow-y:auto}
.analysis-module-intro p,.analysis-workspace .card-sub{color:#64748b}
@media(max-width:700px){.analysis-workspace .lottery-list{grid-template-columns:1fr}.analysis-workspace #ai-action-panel>div:first-child{align-items:flex-start;flex-direction:column}.analysis-module-intro{align-items:flex-start!important;flex-direction:column}.analysis-module-intro>div:last-child{white-space:normal!important}}

/* ── Global light UI normalization ── */
#site-header{box-shadow:0 1px 8px rgba(15,23,42,.05)}
.form-card,.result-card,.ai-result-card,.site-notice,.ai-filter-bar,.lotto-card,.wc-countdown-container{box-shadow:0 6px 20px rgba(15,23,42,.06)}
.site-notice{background:#f0fdf4;border-color:#bbf7d0}
.btn-secondary,.btn-sm,.time-filter,.lotto-card,.ai-filter-bar{background:#fff}
.field-select,.field-input{background:#f8fafc;color:var(--text)}
.field-select option{background:#fff;color:var(--text)}
.prob-bar-bg{background:#e2e8f0}
.detail-item,.cart-item,.ai-odd-item,.lotto-odd-box{background:#f8fafc}
.ai-analysis-text{color:var(--text)}
.ai-analysis-text strong{color:var(--text)}
.modal-overlay{background:rgba(15,23,42,.32)}
.modal{background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.18)}
.time-filter{background:#f8fafc}
.match-action{background:#f8fafc}
.wc-fixture-card:hover{background:#eff6ff!important;box-shadow:0 4px 15px rgba(37,99,235,.12)}
.wc-fixture-card.selected{background:#f0fdf4!important}
.wc-group-card,.wcg-group-card{box-shadow:0 6px 20px rgba(15,23,42,.06)}
#public-detail-modal{background:#fff!important;border-color:#e5e7eb!important;box-shadow:0 20px 50px rgba(15,23,42,.18)!important}
footer span,footer a{color:#64748b!important}

/* ── Compact analysis schedule ── */
.schedule-list{display:flex;flex-direction:column;gap:1rem;padding-top:.25rem}
.schedule-day{border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden}
.schedule-day-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.schedule-day-header div{display:flex;align-items:baseline;gap:.65rem}
.schedule-day-header strong{font-size:.92rem;color:#0f172a}
.schedule-day-header span,.schedule-day-header>b{font-size:.7rem;color:#64748b;font-weight:600}
.schedule-day-header>b{font-weight:700}
.schedule-league{padding:0 1rem}
.schedule-league+.schedule-league{border-top:1px solid #eef2f7}
.schedule-league-header{display:flex;align-items:center;gap:.45rem;padding:.65rem 0 .35rem;color:#334155;font-size:.72rem;font-weight:800}
.schedule-league-header em{font-style:normal;color:#94a3b8;font-weight:600;margin-left:.15rem}
.schedule-league-dot{width:7px;height:7px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 3px #dbeafe}
.schedule-league-rows{display:flex;flex-direction:column}
.schedule-match-row{display:grid;grid-template-columns:74px minmax(190px,1fr) 128px auto;align-items:center;gap:.9rem;min-height:58px;padding:.55rem 0;border-top:1px solid #f1f5f9}
.schedule-time{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.schedule-time strong{font-family:'Orbitron',sans-serif;font-size:.88rem;color:#0f172a}
.schedule-time span{font-size:.62rem;color:#94a3b8;margin-top:.15rem}
.schedule-teams{display:flex;align-items:center;gap:.55rem;min-width:0;color:#0f172a;font-size:.86rem}
.schedule-teams strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-teams strong:first-child{text-align:right;flex:1}
.schedule-teams strong:last-child{text-align:left;flex:1}
.schedule-teams>span{font-size:.62rem;color:#94a3b8;font-weight:800;flex:none}
.schedule-odds{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.schedule-odds span{font-size:.6rem;color:#94a3b8}
.schedule-odds b{font-size:.7rem;color:#64748b;font-weight:700;white-space:nowrap}
.schedule-actions{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;min-width:190px}
.schedule-action{display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .55rem;border-radius:8px;border:1px solid #dbe4ef;background:#fff;color:#334155;font:700 .68rem/1 'Inter',sans-serif;cursor:pointer;white-space:nowrap;transition:.2s}
.schedule-action i{font-size:.68rem}
.schedule-action em{font-style:normal;font-size:.58rem;color:#64748b;font-weight:600}
.schedule-action.classic:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.schedule-action.ai:hover{border-color:#fde68a;background:#fffbeb;color:#a16207}
.schedule-saved{display:flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;white-space:nowrap;cursor:pointer;font:inherit;text-align:left;transition:.2s}
.schedule-saved:hover{border-color:#86efac;background:#dcfce7;transform:translateY(-1px)}
.schedule-saved span{font-size:.62rem;color:#65a30d}
.schedule-saved strong{font-size:.75rem;color:#15803d}
.schedule-saved i{font-size:.62rem;color:#65a30d;margin-left:.1rem}

/* ── Standalone analysis result page ── */
.analysis-result-body{background:#f5f7fb}
.analysis-result-nav{display:flex;align-items:center;gap:1rem}
.result-credit{font-size:.75rem;color:#64748b}
.result-credit i{color:#a16207;margin-right:.2rem}
.analysis-result-page{max-width:900px;padding-top:1.5rem}
.analysis-back-link{display:inline-flex;align-items:center;gap:.45rem;color:#475569;text-decoration:none;font-size:.78rem;font-weight:700;margin-bottom:1rem}
.analysis-back-link:hover{color:#2563eb}
.analysis-result-shell{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:1.35rem;box-shadow:0 10px 30px rgba(15,23,42,.07)}
.result-page-kicker{font-size:.7rem;color:#2563eb;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}
.result-match-summary{padding:1rem;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
.result-match-meta{display:flex;justify-content:space-between;gap:1rem;color:#64748b;font-size:.7rem;margin-bottom:.8rem}
.result-match-teams{display:flex;justify-content:center;align-items:center;gap:1rem;color:#0f172a;font-size:1.35rem;text-align:center}
.result-match-teams strong{flex:1;overflow-wrap:anywhere}
.result-match-teams span{font-size:.7rem;color:#94a3b8;font-weight:800}
.result-mode-note{text-align:center;color:#64748b;font-size:.7rem;margin-top:.7rem}
.result-mode-note i{color:#2563eb;margin-right:.25rem}
.result-page-state{margin:1rem 0;text-align:center;color:#64748b;font-size:.78rem;min-height:1.2rem}
.result-page-state i{margin-right:.25rem}
.result-page-state.success,.result-page-state.saved{color:#15803d}
.result-page-state.error{color:#b91c1c}
.result-report-card{border:1px solid #e2e8f0;border-radius:14px;padding:1.1rem;background:#fff}
.result-report-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.result-report-label{font-size:.68rem;color:#64748b;font-weight:700}
.result-report-head h2{font-size:1.15rem;color:#0f172a;margin-top:.2rem}
.result-direction{padding:.45rem .7rem;border-radius:9px;font-size:.8rem;font-weight:800;background:#dcfce7;color:#166534;white-space:nowrap}
.result-direction.draw{background:#fef3c7;color:#92400e}
.result-direction.away{background:#dbeafe;color:#1d4ed8}
.result-probabilities{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f8fafc;border-radius:12px}
.result-prob-row>div:first-child{display:flex;justify-content:space-between;font-size:.73rem;color:#475569;margin-bottom:.3rem}
.result-prob-row b{font-family:'Orbitron',sans-serif;color:#0f172a;font-size:.72rem}
.result-prob-track{height:7px;background:#e2e8f0;border-radius:99px;overflow:hidden}
.result-prob-track i{display:block;height:100%;border-radius:99px}
.result-prob-track i.home{background:#16a34a}.result-prob-track i.draw{background:#d97706}.result-prob-track i.away{background:#2563eb}
.result-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-top:.9rem}
.result-summary-grid>div{padding:.75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.result-summary-grid span{display:block;color:#64748b;font-size:.65rem;margin-bottom:.25rem}
.result-summary-grid strong{font-size:.82rem;color:#0f172a;overflow-wrap:anywhere}
.result-disclaimer{font-size:.68rem;color:#94a3b8;line-height:1.55;margin-top:1rem}
.saved-result-card{text-align:center;padding:1.5rem;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4}
.saved-result-label{font-size:.72rem;color:#65a30d;margin-bottom:.25rem}
.saved-result-card>strong{display:block;color:#15803d;font-size:1.5rem;margin-bottom:.4rem}
.saved-result-card p{font-size:.75rem;color:#64748b;margin-bottom:1rem}
.result-inline-action{display:inline-flex;text-decoration:none}
@media(max-width:760px){
  .schedule-match-row{grid-template-columns:62px minmax(0,1fr) auto;gap:.55rem;padding:.65rem 0}
  .schedule-odds{display:none}
  .schedule-actions{grid-column:2/4;justify-content:flex-end;min-width:0}
  .schedule-teams{gap:.35rem;font-size:.8rem}
  .schedule-action{padding:.45rem .5rem}
  .result-summary-grid{grid-template-columns:repeat(2,1fr)}
  .result-match-teams{font-size:1.05rem}
  .analysis-result-shell{padding:1rem}
  .result-credit{display:none}
}
