/* TennisPro v9.0 — Sports Arena Premium UI */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
:root {
  --bg: #070b14;
  --bg2: #0c1220;
  --card: rgba(12,20,42,0.80);
  --card-solid: #0e1830;
  --card2: rgba(18,28,58,0.65);
  --glass: rgba(255,255,255,0.04);
  --glass2: rgba(255,255,255,0.07);
  --accent: #00d4ff;
  --accent2: #00b4d8;
  --accent-bg: rgba(0,212,255,0.10);
  --accent-brd: rgba(0,212,255,0.25);
  --gold: #ffd700;
  --gold-bg: rgba(255,215,0,0.10);
  --gold-brd: rgba(255,215,0,0.25);
  --green: #00e676;
  --green-bg: rgba(0,230,118,0.10);
  --green-brd: rgba(0,230,118,0.25);
  --red: #ff3d71;
  --red-bg: rgba(255,61,113,0.10);
  --trap: #ff9100;
  --live: #ff1744;
  --purple: #b388ff;
  --purple-bg: rgba(179,136,255,0.08);
  --t1: #eef2ff;
  --t2: #a0aec0;
  --t3: #6b7fa3;
  --t4: #4a5d80;
  --brd: rgba(100,150,255,0.08);
  --brd2: rgba(100,150,255,0.14);
  --r: 14px;
  --rl: 18px;
  --rs: 10px;
  --fm: 'Sora', sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --shadow: 0 8px 32px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.3);
  --glow-g: 0 0 20px rgba(0,230,118,0.2);
  --glow-r: 0 0 20px rgba(255,61,113,0.2);
  --glow-a: 0 0 20px rgba(0,212,255,0.2);
}

/* ═══ RESET ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--fm);background:var(--bg);color:var(--t1);min-height:100vh;line-height:1.55;overflow-x:hidden}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--t4);border-radius:3px}

/* ═══ AMBIENT BACKGROUND ═══ */
.app-shell{position:relative;min-height:100vh}
.app-shell::before{content:'';position:fixed;top:-30%;left:-20%;width:60%;height:60%;background:radial-gradient(circle,rgba(0,212,255,0.06) 0%,transparent 70%);pointer-events:none;z-index:0}
.app-shell::after{content:'';position:fixed;bottom:-20%;right:-20%;width:50%;height:50%;background:radial-gradient(circle,rgba(179,136,255,0.04) 0%,transparent 70%);pointer-events:none;z-index:0}

/* ═══ HEADER ═══ */
.header{position:sticky;top:0;z-index:100;background:rgba(5,8,15,0.80);backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid var(--brd);padding:0 1.5rem}
.header-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer}
.logo-orb{width:38px;height:38px;background:linear-gradient(135deg,#00d4ff,#0077ff);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 0 20px rgba(0,212,255,0.3);transition:transform .3s var(--ease)}
.logo:hover .logo-orb{transform:rotate(-8deg) scale(1.08)}
.logo-text{font-size:1.2rem;font-weight:700;color:var(--t1);letter-spacing:-0.02em}
.logo-text span{color:var(--accent)}
.logo-text small{font-size:0.55rem;font-weight:600;color:var(--t3);margin-left:4px;vertical-align:super;letter-spacing:0.06em}
.header-right{display:flex;align-items:center;gap:14px}
.status-dot{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:0.68rem;color:var(--t3)}
.status-dot .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 2s infinite}
.status-dot.error .dot{background:var(--red)}
@keyframes pulse-dot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(52,211,153,0.4)}50%{opacity:.6;box-shadow:0 0 0 4px rgba(52,211,153,0)}}
.header-date{font-family:var(--mono);font-size:0.75rem;color:var(--t3);background:var(--glass2);padding:6px 14px;border-radius:var(--rs);border:1px solid var(--brd)}

/* ═══ NAV BAR ═══ */
.nav-bar{display:flex;gap:4px;background:var(--bg2);border-bottom:1px solid var(--brd);padding:8px 1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.nav-bar::-webkit-scrollbar{display:none}
.nav-pill{display:flex;align-items:center;gap:7px;padding:10px 18px;font-family:var(--fm);font-size:0.82rem;font-weight:500;color:var(--t3);border:1px solid transparent;border-radius:var(--r);background:transparent;cursor:pointer;white-space:nowrap;transition:all .25s var(--ease);position:relative}
.nav-pill:hover{color:var(--t2);background:var(--glass)}
.nav-pill.active{color:var(--accent);background:linear-gradient(135deg,rgba(0,212,255,0.12),rgba(0,119,255,0.08));border-color:var(--accent-brd);box-shadow:0 0 12px rgba(0,212,255,0.1)}
.nav-icon{font-size:1rem}.nav-label{font-weight:600}
.live-badge{font-size:0.65rem;font-weight:700;background:var(--live);color:#fff;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center;animation:pulse-dot 2s infinite}

/* ═══ MAIN ═══ */
.main{max-width:960px;margin:0 auto;padding:1.5rem;position:relative;z-index:1}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:slideUp .4s var(--ease)}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeScale{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

/* ═══ PANEL HEADER ═══ */
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:12px}
.panel-title{font-size:1.35rem;font-weight:700;letter-spacing:-0.02em}

/* ═══ CHIPS / FILTERS ═══ */
.chip-bar{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:var(--fm);font-size:0.78rem;font-weight:500;padding:7px 16px;border-radius:20px;border:1px solid var(--brd);background:var(--glass);color:var(--t3);cursor:pointer;transition:all .25s var(--ease)}
.chip:hover{color:var(--t2);border-color:var(--brd2)}
.chip.active{background:var(--accent-bg);border-color:var(--accent-brd);color:var(--accent);font-weight:600}

/* ═══ DATE SWITCHER ═══ */
.date-switcher{display:flex;gap:0;background:var(--glass2);border:1px solid var(--brd);border-radius:var(--r);padding:3px;overflow:hidden}
.ds-btn{font-family:var(--fm);font-size:0.78rem;font-weight:500;padding:7px 16px;border:none;border-radius:var(--rs);background:transparent;color:var(--t3);cursor:pointer;transition:all .2s var(--ease)}
.ds-btn:hover{color:var(--t1)}
.ds-btn.active{background:linear-gradient(135deg,#00d4ff,#0077ff);color:var(--bg);font-weight:700;box-shadow:0 0 14px rgba(0,212,255,0.3)}

/* ═══ LOADERS ═══ */
.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:16px;color:var(--t3)}
.loader-ring{width:36px;height:36px;border:3px solid var(--brd2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center;gap:12px}
.empty-icon{font-size:2.8rem;opacity:.35;filter:grayscale(.5)}
.empty-title{font-size:1rem;font-weight:600;color:var(--t2)}

/* ═══ TOP PICKS ═══ */
.top-picks{background:linear-gradient(135deg,rgba(0,212,255,0.06),rgba(255,215,0,0.04));border:1px solid rgba(0,212,255,0.20);border-radius:var(--rl);padding:16px 20px;margin-bottom:18px;animation:fadeScale .5s var(--ease)}
.tp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.tp-head-title{font-size:0.92rem;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:8px}
.tp-count{font-family:var(--mono);font-size:0.7rem;background:var(--accent-bg);border:1px solid var(--accent-brd);padding:2px 10px;border-radius:12px;color:var(--accent)}
.tp-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--card);border:1px solid var(--brd);border-radius:var(--r);cursor:pointer;margin-bottom:6px;transition:all .25s var(--ease)}
.tp-card:hover{border-color:var(--accent-brd);background:var(--card2);transform:translateX(4px)}
.tp-tier{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.tp-tier.gold{background:var(--gold);box-shadow:0 0 8px rgba(251,191,36,0.4)}
.tp-tier.silver{background:var(--t2);box-shadow:0 0 8px rgba(148,163,184,0.3)}
.tp-info{flex:1;min-width:0}
.tp-name{font-weight:700;font-size:0.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-vs{font-size:0.72rem;color:var(--t3)}
.tp-prob{font-family:var(--mono);font-weight:800;font-size:0.95rem;color:var(--accent);flex-shrink:0}

/* ═══ ACCURACY STRIP ═══ */
.accuracy-strip{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);padding:12px 18px;margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.acc-lbl{font-size:0.82rem;font-weight:600;color:var(--t2);display:flex;align-items:center;gap:6px}
.acc-pct{font-family:var(--mono);font-size:1.15rem;font-weight:800}
.acc-pct.g{color:var(--accent)}.acc-pct.y{color:var(--gold)}.acc-pct.r{color:var(--red)}
.acc-det{font-size:0.78rem;color:var(--t3);font-family:var(--mono)}
.acc-track{flex:1;min-width:80px;height:4px;background:var(--glass2);border-radius:3px;overflow:hidden}
.acc-fill{height:100%;border-radius:3px;transition:width .6s var(--ease)}
.acc-fill.g{background:var(--accent)}.acc-fill.y{background:var(--gold)}.acc-fill.r{background:var(--red)}

/* ═══ TOURNAMENT ACCORDION ═══ */
.tourn{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);margin-bottom:10px;overflow:hidden;backdrop-filter:blur(8px);transition:box-shadow .3s var(--ease)}
.tourn:hover{box-shadow:0 4px 20px rgba(0,0,0,0.2)}
.tourn-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;transition:background .2s}
.tourn-head:hover{background:var(--glass)}
.tourn-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.tourn-name{font-size:0.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tourn-type{font-size:0.68rem;color:var(--t4);font-family:var(--mono);background:var(--glass2);padding:2px 8px;border-radius:4px}
.tourn-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.tourn-cnt{font-family:var(--mono);font-size:0.72rem;color:var(--t3)}
.tourn-upcoming{font-family:var(--mono);font-size:0.68rem;color:var(--accent);background:var(--accent-bg);padding:2px 8px;border-radius:4px}
.tourn-arrow{color:var(--t4);font-size:0.75rem;transition:transform .3s var(--ease)}
.tourn.open .tourn-arrow{transform:rotate(180deg)}
.tourn-body{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.tourn.open .tourn-body{max-height:8000px;border-top:1px solid var(--brd)}

/* ═══ SURFACE BADGES ═══ */
.sf{font-size:0.65rem;font-weight:700;padding:3px 9px;border-radius:5px;text-transform:uppercase;letter-spacing:0.04em}
.sf.hard{background:rgba(0,150,255,0.15);color:#4da6ff}
.sf.clay{background:rgba(255,145,0,0.15);color:#ffb347}
.sf.grass{background:rgba(0,230,118,0.15);color:#00e676}
.sf.indoor{background:rgba(179,136,255,0.15);color:#b388ff}

/* ═══ MATCH ROW ═══ */
.mrow{display:grid;grid-template-columns:52px 1fr auto auto auto;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--brd);font-size:0.85rem;transition:background .2s}
.mrow:last-child{border-bottom:none}
.mrow.click{cursor:pointer}
.mrow.click:hover{background:var(--glass)}
.mrow-st{text-align:center}
.mrow-pl{display:flex;align-items:center;gap:6px;min-width:0}
.mrow-p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;font-weight:500}
.mrow-p.w{color:var(--accent);font-weight:700}
.mrow-vs{color:var(--t4);font-size:0.68rem;font-weight:600}
.mrow-sc{font-family:var(--mono);font-size:0.78rem;color:var(--t2);white-space:nowrap}
.ss-mini{padding:1px 4px;border-radius:3px}.ss-mini.won{color:var(--accent);font-weight:600}
.mrow-cta{font-size:0.9rem;opacity:.25;transition:opacity .2s}
.mrow.click:hover .mrow-cta{opacity:.8}
/* Player logos & extras in match row */
.mrow-logo{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid var(--brd);flex-shrink:0}
.mrow-round{font-family:var(--mono);font-size:0.62rem;color:var(--t4);background:var(--glass2);padding:1px 6px;border-radius:3px;white-space:nowrap}
.mrow-qual{font-family:var(--mono);font-size:0.58rem;font-weight:700;color:var(--gold);background:var(--gold-bg);border:1px solid var(--gold-brd);padding:0 5px;border-radius:3px;margin-left:4px}
.mrow-extra{display:flex;align-items:center;gap:4px;justify-content:flex-end}
.mrow-pred{display:flex;align-items:center;justify-content:flex-end;min-width:88px}
.pred-wait{font-size:0.68rem;color:var(--t4);animation:pulse-txt 1.5s ease-in-out infinite}
@keyframes pulse-txt{0%,100%{opacity:1}50%{opacity:.3}}

/* ═══ STATUS / PRED BADGES ═══ */
.st-badge{font-family:var(--mono);font-size:0.65rem;font-weight:700;padding:3px 9px;border-radius:5px;text-transform:uppercase;letter-spacing:.03em}
.st-badge.fin{background:rgba(52,211,153,0.08);color:var(--accent)}
.st-badge.lv{background:rgba(239,68,68,0.12);color:var(--live);animation:pulse-dot 2s infinite}
.st-badge.up{background:var(--glass2);color:var(--t3)}
.pd-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:20px;font-size:0.72rem;font-weight:600;font-family:var(--mono);white-space:nowrap;border:1px solid transparent}
.pd-badge.g{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-brd)}
.pd-badge.y{background:var(--gold-bg);color:var(--gold);border-color:var(--gold-brd)}
.pd-badge.r{background:var(--red-bg);color:var(--red)}
.pd-badge.hit{background:rgba(0,230,118,0.10);color:var(--green);border-color:var(--green-brd)}
.pd-badge.miss{background:var(--red-bg);color:var(--red)}
.pd-badge.skip{background:rgba(100,150,255,0.04);border-color:var(--brd);opacity:0.55}
.pd-name{font-weight:700;max-width:65px;overflow:hidden;text-overflow:ellipsis}
.pd-pct{font-weight:800}

/* ═══ ANALYSIS PAGE ═══ */
.back-btn{font-family:var(--fm);font-size:0.85rem;color:var(--t3);background:none;border:none;cursor:pointer;padding:8px 0;margin-bottom:14px;display:flex;align-items:center;gap:6px;transition:color .2s}
.back-btn:hover{color:var(--accent)}

/* Header card */
.ap-hdr{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);padding:16px 20px;margin-bottom:12px;backdrop-filter:blur(8px)}
.ap-hdr-info{font-size:0.8rem;color:var(--t3);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ap-hdr-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dq{font-family:var(--mono);font-size:0.7rem;font-weight:700;padding:3px 10px;border:1px solid;border-radius:5px}
.rk-badge{font-family:var(--mono);font-size:0.75rem;color:var(--gold);font-weight:600}
.form-pill{font-family:var(--mono);font-size:0.72rem;padding:2px 8px;border-radius:4px;background:var(--glass2)}
.form-pill .str-w{color:var(--accent)}.form-pill .str-l{color:var(--red)}

/* Player profiles */
.ap-profiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.ap-profile{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);padding:16px;display:flex;align-items:center;gap:14px;transition:border-color .3s}
.ap-profile.fav{border-color:var(--accent-brd);background:linear-gradient(135deg,rgba(52,211,153,0.04),var(--card))}
.ap-profile-img{width:56px;height:56px;border-radius:50%;background:var(--glass2);border:2px solid var(--brd);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--t3)}
.ap-profile-img img{width:100%;height:100%;object-fit:cover}
.ap-profile-info{min-width:0}
.ap-profile-name{font-size:1.05rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-profile.fav .ap-profile-name{color:var(--accent)}
.ap-profile-meta{font-size:0.72rem;color:var(--t3);margin-top:2px;display:flex;gap:6px;flex-wrap:wrap}
.ap-profile-rank{font-family:var(--mono);font-size:0.78rem;font-weight:700;color:var(--gold);margin-top:4px}

/* Matchup */
.ap-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);padding:20px;margin-bottom:10px;text-align:center;backdrop-filter:blur(8px)}
.ap-pname{font-size:1.25rem;font-weight:800;letter-spacing:-0.01em}
.ap-player.fav .ap-pname{color:var(--accent)}
.ap-prank{font-family:var(--mono);font-size:0.78rem;color:var(--gold);margin-top:4px;font-weight:600}
.ap-center{display:flex;flex-direction:column;align-items:center}
.ap-vs{font-size:0.75rem;font-weight:800;color:var(--t4);letter-spacing:0.2em}

/* Prob bar */
.prob-bar{display:flex;height:38px;border-radius:10px;overflow:hidden;margin-bottom:14px;font-family:var(--mono);font-size:0.85rem;font-weight:700;box-shadow:inset 0 0 12px rgba(0,0,0,0.3)}
.prob-fill{display:flex;align-items:center;justify-content:center;transition:width .7s var(--ease)}
.prob-fill.p1{background:linear-gradient(90deg,#0077ff,#00d4ff);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.4)}
.prob-fill.p2{background:linear-gradient(90deg,#ff3d71,#ff6b8a);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.4)}

/* Section card */
.sec{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);padding:20px;margin-bottom:12px;backdrop-filter:blur(8px)}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sec-title{font-size:0.92rem;font-weight:700;display:flex;align-items:center;gap:8px}
.sec-badge{font-family:var(--mono);font-size:0.72rem;font-weight:700;padding:3px 10px;border-radius:5px}
.sec-badge.g{background:var(--accent-bg);color:var(--accent)}
.sec-badge.o{background:rgba(249,115,22,0.12);color:var(--trap)}

/* Tachometer */
.tach-row{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start}
.tach-wrap{display:flex;justify-content:center}
.tach-svg{width:150px;height:auto}
.models-list{display:flex;flex-direction:column;gap:7px}
.model-row{display:grid;grid-template-columns:22px 1fr 1fr 30px;align-items:center;gap:6px;animation:fadeScale .3s var(--ease) both}
.model-row:nth-child(1){animation-delay:0s}.model-row:nth-child(2){animation-delay:.04s}.model-row:nth-child(3){animation-delay:.08s}
.model-row:nth-child(4){animation-delay:.12s}.model-row:nth-child(5){animation-delay:.16s}.model-row:nth-child(6){animation-delay:.2s}
.model-row:nth-child(7){animation-delay:.24s}.model-row:nth-child(8){animation-delay:.28s}.model-row:nth-child(9){animation-delay:.32s}
.model-row:nth-child(10){animation-delay:.36s}
.model-ic{font-size:0.85rem}
.model-nm{font-size:0.78rem;color:var(--t2);font-weight:500}
.model-bar{height:6px;background:var(--glass2);border-radius:4px;overflow:hidden}
.model-fill{height:100%;border-radius:4px;transition:width .6s var(--ease)}
.model-val{font-family:var(--mono);font-size:0.78rem;font-weight:700;text-align:right}

/* ═══ PRONO CARDS ═══ */
.prono-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.prono-grid.three{grid-template-columns:repeat(3,1fr)}
.pc{background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);overflow:hidden;transition:all .3s var(--ease)}
.pc:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pc.main{border-color:rgba(0,212,255,0.25);background:linear-gradient(160deg,rgba(0,212,255,0.08),rgba(0,77,255,0.04),var(--card-solid));box-shadow:0 4px 24px rgba(0,212,255,0.08)}
.pc-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--brd);font-size:0.82rem}
.pc-icon{font-size:1rem}.pc-title{font-weight:600;color:var(--t2);flex:1}
.pc-conf{font-family:var(--mono);font-size:0.65rem;font-weight:700;padding:3px 10px;border-radius:12px}
.pc-conf.alta{background:var(--accent-bg);color:var(--accent)}.pc-conf.media{background:var(--gold-bg);color:var(--gold)}.pc-conf.bassa{background:var(--red-bg);color:var(--red)}
.pc-body{padding:20px 16px;text-align:center}
.pc-label{font-size:0.65rem;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px}
.pc-value{font-size:1.6rem;font-weight:800;margin-bottom:4px;letter-spacing:-0.02em}
.pc.main .pc-value{color:var(--accent)}
.pc-prob{font-family:var(--mono);font-size:0.88rem;color:var(--accent);font-weight:600}
.pc-odds{font-family:var(--mono);font-size:0.8rem;color:var(--gold);margin-top:2px}
.pc-det{font-size:0.75rem;color:var(--t3);margin-top:6px}
.pc-reasons{padding:12px 16px;border-top:1px solid var(--brd);background:rgba(52,211,153,0.02)}
.pc.main .pc-reasons{background:rgba(52,211,153,0.03)}
.pc-reasons-t{font-size:0.68rem;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.pc-reason{font-size:0.78rem;color:var(--t2);padding:3px 0;line-height:1.45}
.pc-alts{padding:10px 16px;border-top:1px solid var(--brd);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.alt-chip{font-family:var(--mono);font-size:0.7rem;font-weight:600;padding:4px 10px;background:var(--glass2);border-radius:12px;color:var(--t2);border:1px solid var(--brd);transition:all .2s}
.alt-chip:hover{border-color:var(--t3)}
.pc.sm .pc-body{padding:14px 12px}
.pc-value.sm{font-size:1.1rem}

/* Sets mini */
.sets-mini{display:flex;flex-direction:column;gap:4px}
.set-chip{display:flex;justify-content:space-between;padding:5px 10px;font-family:var(--mono);font-size:0.78rem;color:var(--t2);background:var(--glass2);border-radius:var(--rs)}
.set-chip.top{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-brd)}
.set-chip strong{font-weight:700}
.hc-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.hc-item{display:flex;justify-content:space-between;padding:8px 12px;background:var(--glass2);border-radius:var(--rs);font-size:0.78rem;color:var(--t2);border:1px solid transparent;transition:all .2s}
.hc-item.on{border-color:var(--accent-brd);background:var(--accent-bg)}
.hc-item.on strong{color:var(--accent)}
.hc-item strong{font-family:var(--mono);font-weight:700}

/* Pointbypoint section */
.pbp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pbp-stat{background:var(--glass2);border-radius:var(--rs);padding:12px;text-align:center}
.pbp-stat-label{font-size:0.68rem;font-weight:600;color:var(--t3);text-transform:uppercase;margin-bottom:4px}
.pbp-stat-val{font-family:var(--mono);font-size:1.4rem;font-weight:800;color:var(--accent)}
.pbp-stat-sub{font-size:0.72rem;color:var(--t3);margin-top:2px}
.pbp-vs{display:flex;align-items:center;gap:8px;justify-content:center;padding:10px;font-family:var(--mono);font-size:0.85rem}
.pbp-bar{flex:1;height:6px;background:var(--glass2);border-radius:3px;overflow:hidden;display:flex}
.pbp-bar-l{height:100%;background:var(--accent);border-radius:3px 0 0 3px;transition:width .5s var(--ease)}
.pbp-bar-r{height:100%;background:var(--red);border-radius:0 3px 3px 0;transition:width .5s var(--ease)}

/* Trap Detector v2 — Premium UI con score card, weight badges, verdict */
.sec.trap{border-color:rgba(249,115,22,0.2)}
.sec.trap.safe{border-color:rgba(0,230,118,0.25);background:linear-gradient(180deg,rgba(0,230,118,0.03),var(--card))}
.sec.trap.low{border-color:rgba(255,215,0,0.25);background:linear-gradient(180deg,rgba(255,215,0,0.03),var(--card))}
.sec.trap.medium{border-color:rgba(255,145,0,0.30);background:linear-gradient(180deg,rgba(255,145,0,0.04),var(--card))}
.sec.trap.high{border-color:rgba(255,61,113,0.30);background:linear-gradient(180deg,rgba(255,61,113,0.05),var(--card))}
.sec-badge.trap-safe{background:var(--green-bg);color:var(--green)}
.sec-badge.trap-low{background:var(--gold-bg);color:var(--gold)}
.sec-badge.trap-medium{background:rgba(255,145,0,0.12);color:var(--trap)}
.sec-badge.trap-high{background:var(--red-bg);color:var(--red)}

/* Score card circolare */
.trap-score-card{display:flex;align-items:center;gap:18px;padding:18px;background:var(--glass);border-radius:var(--r);margin-bottom:14px}
.trap-score-circle{position:relative;width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;background:var(--card-solid);border:3px solid var(--t4);transition:all .4s var(--ease)}
.trap-score-circle.safe{border-color:var(--green);box-shadow:0 0 24px rgba(0,230,118,0.25)}
.trap-score-circle.low{border-color:var(--gold);box-shadow:0 0 24px rgba(255,215,0,0.20)}
.trap-score-circle.medium{border-color:var(--trap);box-shadow:0 0 24px rgba(255,145,0,0.25)}
.trap-score-circle.high{border-color:var(--red);box-shadow:0 0 24px rgba(255,61,113,0.30)}
.trap-score-num{font-family:var(--mono);font-size:1.55rem;font-weight:800;line-height:1;color:var(--t1)}
.trap-score-max{font-family:var(--mono);font-size:0.62rem;color:var(--t3);margin-top:2px;letter-spacing:0.05em}
.trap-score-info{flex:1;min-width:0}
.trap-score-tier{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.trap-tier-icon{font-size:1.1rem}
.trap-tier-label{font-size:0.95rem;font-weight:700;color:var(--t1);letter-spacing:-0.01em}
.trap-score-desc{font-size:0.78rem;color:var(--t2);line-height:1.4}

/* Lista flag con detail */
.trap-flags-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.trap-flag-card{padding:10px 12px;background:rgba(249,115,22,0.04);border-radius:var(--rs);border-left:3px solid var(--trap);transition:background .2s}
.trap-flag-card.sev-low{background:rgba(255,215,0,0.04);border-left-color:var(--gold)}
.trap-flag-card.sev-medium{background:rgba(255,145,0,0.05);border-left-color:var(--trap)}
.trap-flag-card.sev-high{background:rgba(255,61,113,0.05);border-left-color:var(--red)}
.trap-flag-card:hover{background:rgba(249,115,22,0.07)}
.trap-flag-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.trap-flag-icon{font-size:0.9rem;flex-shrink:0}
.trap-flag-title{font-size:0.84rem;font-weight:600;color:var(--t1);flex:1}
.trap-flag-weight{font-family:var(--mono);font-size:0.72rem;font-weight:700;color:var(--trap);background:rgba(255,145,0,0.10);padding:2px 7px;border-radius:5px}
.sev-low .trap-flag-weight{color:var(--gold);background:rgba(255,215,0,0.10)}
.sev-high .trap-flag-weight{color:var(--red);background:rgba(255,61,113,0.10)}
.trap-flag-detail{font-size:0.72rem;color:var(--t3);line-height:1.45;font-family:var(--mono);padding-left:18px}

/* Stato vuoto (no flag) */
.trap-empty{padding:14px;text-align:center;font-size:0.85rem;color:var(--green);background:rgba(0,230,118,0.05);border-radius:var(--rs);border:1px dashed rgba(0,230,118,0.20);margin-bottom:14px}

/* Verdict finale */
.trap-verdict{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--rs);background:var(--glass)}
.trap-verdict.safe{background:rgba(0,230,118,0.08);border:1px solid rgba(0,230,118,0.20)}
.trap-verdict.low{background:rgba(255,215,0,0.06);border:1px solid rgba(255,215,0,0.20)}
.trap-verdict.medium{background:rgba(255,145,0,0.07);border:1px solid rgba(255,145,0,0.25)}
.trap-verdict.high{background:rgba(255,61,113,0.08);border:1px solid rgba(255,61,113,0.25)}
.trap-verdict-icon{font-size:1.5rem;flex-shrink:0}
.trap-verdict-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.trap-verdict-text strong{font-size:0.86rem;color:var(--t1);font-weight:700}
.trap-verdict-text span{font-size:0.74rem;color:var(--t2);line-height:1.4}
.trap-stake-mod{font-family:var(--mono);font-size:0.72rem;color:var(--t2);padding:6px 10px;background:var(--glass2);border-radius:6px;flex-shrink:0;text-align:center}
.trap-stake-mod strong{color:var(--accent);font-size:0.85rem}

/* Mobile */
@media(max-width:560px){
  .trap-score-card{flex-direction:column;text-align:center;gap:12px}
  .trap-score-info{text-align:center}
  .trap-score-tier{justify-content:center}
  .trap-verdict{flex-wrap:wrap}
  .trap-stake-mod{width:100%;margin-top:6px}
  .trap-flag-detail{padding-left:0}
}

/* legacy class (mantenuta per retrocompatibilità) */
.trap-flag{font-size:0.8rem;color:var(--t2);padding:8px 12px;background:rgba(249,115,22,0.04);border-radius:var(--rs);border-left:3px solid var(--trap);margin-bottom:6px}

/* Consensus */
.cons-pick{text-align:center;padding:16px;background:linear-gradient(135deg,rgba(52,211,153,0.05),transparent);border-radius:var(--r);margin-bottom:14px}
.cons-name{font-size:1.5rem;font-weight:800;color:var(--accent);letter-spacing:-0.02em}
.cons-prob{font-family:var(--mono);font-size:0.82rem;color:var(--t2);margin-top:4px}
.cons-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px}
.cm-chip{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--glass2);border-radius:var(--rs);font-size:0.78rem;transition:background .2s}
.cm-chip:hover{background:var(--glass)}
.cm-chip strong{margin-left:auto}
.cm-pct{font-family:var(--mono);font-size:0.72rem;color:var(--t3)}

/* H2H */
.h2h-list{display:flex;flex-direction:column;gap:4px}
.h2h-row{display:grid;grid-template-columns:72px 1fr auto 1fr;align-items:center;gap:8px;padding:7px 12px;background:var(--glass2);border-radius:var(--rs);font-size:0.8rem;transition:background .2s}
.h2h-row:hover{background:var(--glass)}
.h2h-dt{font-family:var(--mono);font-size:0.66rem;color:var(--t4)}
.h2h-p{color:var(--t1)}.h2h-p.w{color:var(--accent);font-weight:600}
.h2h-p.right{text-align:right}
.h2h-sc{font-family:var(--mono);font-size:0.75rem;color:var(--t2);text-align:center}

/* ═══ RESULT FINAL ═══ */
.res-final{background:var(--card);border:2px solid;border-radius:var(--rl);padding:20px;margin-bottom:14px;animation:fadeScale .4s var(--ease)}
.res-final.hit{border-color:rgba(0,230,118,0.40);box-shadow:0 0 24px rgba(0,230,118,0.15)}
.res-final.miss{border-color:rgba(255,61,113,0.40);box-shadow:0 0 24px rgba(255,61,113,0.15)}
.rf-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-weight:700}
.rf-ic{font-size:1.4rem}
.rf-tag{font-family:var(--mono);font-size:0.72rem;font-weight:700;padding:4px 12px;border-radius:5px;margin-left:auto}
.rf-tag.hit{background:var(--accent-bg);color:var(--accent)}.rf-tag.miss{background:var(--red-bg);color:var(--red)}
.rf-scores{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px;font-size:1.05rem;font-weight:700;flex-wrap:wrap}
.rf-scores .winner{color:var(--accent)}
.rf-sets{display:flex;gap:6px}
.rf-set{font-family:var(--mono);font-size:0.88rem;font-weight:600;background:var(--glass2);padding:4px 12px;border-radius:5px}
.rf-set.won{color:var(--accent);background:var(--accent-bg)}
.rf-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.rf-chk{padding:10px;background:var(--glass2);border-radius:var(--rs);font-size:0.78rem;display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--t4)}
.rf-chk.hit{border-left-color:var(--accent)}.rf-chk.miss{border-left-color:var(--red)}
.rf-chk span:first-child{font-size:0.66rem;color:var(--t3);text-transform:uppercase;letter-spacing:.04em}

/* ═══ STAKE ═══ */
.stake-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.stake-item{background:var(--glass2);border-radius:var(--r);padding:14px;text-align:center}
.stake-item.main{background:var(--accent-bg);border:1px solid var(--accent-brd)}
.stake-lbl{font-size:0.66rem;font-weight:700;color:var(--t3);text-transform:uppercase;margin-bottom:6px;letter-spacing:.04em}
.stake-val{font-family:var(--mono);font-size:1.3rem;font-weight:800;color:var(--accent)}
.stake-item:not(.main) .stake-val{color:var(--t1)}
.stake-sub{font-size:0.7rem;color:var(--t3)}

/* ═══ BANKROLL ═══ */
.bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:16px}
.bk-card{background:var(--glass2);border:1px solid var(--brd);border-radius:var(--r);padding:14px;text-align:center}
.bk-card.main{border-color:var(--accent-brd);background:var(--accent-bg)}
.bk-card.pos{border-color:rgba(52,211,153,0.2)}.bk-card.neg{border-color:rgba(251,113,133,0.2)}
.bk-lbl{font-size:0.66rem;font-weight:700;color:var(--t3);text-transform:uppercase;margin-bottom:4px}
.bk-val{font-family:var(--mono);font-size:1.1rem;font-weight:800}
.bk-card.main .bk-val{color:var(--accent)}.bk-card.pos .bk-val{color:var(--accent)}.bk-card.neg .bk-val{color:var(--red)}
.bk-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:10px 14px;background:var(--card);border:1px solid var(--brd);border-radius:var(--rs);margin-bottom:5px;font-size:0.82rem}
.bk-row.win{border-left:3px solid var(--accent)}.bk-row.loss{border-left:3px solid var(--red)}.bk-row.pending{border-left:3px solid var(--gold)}
.bk-pick{font-weight:600}.bk-stake{font-family:var(--mono);color:var(--t2)}.bk-date{font-family:var(--mono);font-size:0.68rem;color:var(--t4)}
.bk-result{display:flex;gap:4px}
.bk-btn{padding:4px 10px;border:none;border-radius:5px;font-size:0.75rem;font-weight:600;cursor:pointer;transition:all .2s}
.bk-btn.w{background:var(--accent-bg);color:var(--accent)}.bk-btn.w:hover{background:rgba(52,211,153,0.2)}
.bk-btn.l{background:var(--red-bg);color:var(--red)}.bk-btn.l:hover{background:rgba(251,113,133,0.2)}

/* ═══ LIVE CARDS ═══ */
.live-card{background:var(--card);border:1px solid rgba(255,23,68,0.25);border-radius:var(--rl);padding:1.2rem;margin-bottom:10px;backdrop-filter:blur(8px);box-shadow:0 0 16px rgba(255,23,68,0.06)}
.live-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:0.75rem}
.live-tourn{color:var(--t3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.live-status{font-family:var(--mono);color:var(--live);font-weight:600;display:flex;align-items:center;gap:4px}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--live);animation:pulse-dot 1.5s infinite}
.live-players{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.live-p{display:flex;flex-direction:column;gap:4px}
.live-p.right{text-align:right;align-items:flex-end}
.live-pname{font-size:1rem;font-weight:600}
.live-score{display:flex;gap:6px;justify-content:center}
.live-set{font-family:var(--mono);font-size:0.85rem;font-weight:600;background:var(--glass2);padding:3px 10px;border-radius:5px}
.live-set.won{color:var(--accent);background:var(--accent-bg)}
.live-game{font-family:var(--mono);font-size:1.1rem;font-weight:800;color:var(--gold);margin-top:6px;text-align:center}

/* ═══ RANKINGS ═══ */
.rank-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--brd);border-radius:var(--rl);overflow:hidden}
.rank-table thead th{font-size:0.7rem;font-weight:700;color:var(--t3);text-transform:uppercase;padding:12px 16px;background:var(--glass2);border-bottom:1px solid var(--brd);text-align:left;letter-spacing:.04em}
.rank-table tbody td{padding:12px 16px;font-size:0.85rem;border-bottom:1px solid var(--brd)}
.rank-table tbody tr{transition:background .15s}
.rank-table tbody tr:hover td{background:var(--glass)}
.rank-table tbody tr:last-child td{border-bottom:none}
.rank-num{font-family:var(--mono);font-weight:700;color:var(--t2)}
.rank-num.top{color:var(--gold);text-shadow:0 0 8px rgba(251,191,36,0.3)}
.rank-pts{font-family:var(--mono);font-size:0.82rem;color:var(--t2)}

/* ═══ FOOTER ═══ */
.app-footer{text-align:center;padding:2rem;color:var(--t4);font-size:0.7rem;border-top:1px solid var(--brd);letter-spacing:.02em}

/* ═══ WEATHER ═══ */
.weather-sec{background:linear-gradient(135deg,var(--card),rgba(0,150,255,0.06));border-color:rgba(0,150,255,0.15)}
.wx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.wx-item{background:var(--glass2);border-radius:var(--rs);padding:12px}
.wx-lbl{font-size:0.62rem;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono);margin-bottom:4px}
.wx-val{font-size:0.92rem;font-weight:700;color:var(--t1)}
.cs-bar-wrap{display:flex;align-items:center;gap:12px;padding:14px;background:var(--glass2);border-radius:var(--rs);margin-bottom:10px}
.cs-label{font-size:0.72rem;font-weight:700;color:var(--t3);white-space:nowrap;font-family:var(--mono)}
.cs-bar{flex:1;height:8px;background:var(--glass);border-radius:4px;overflow:hidden}
.cs-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#00e676,#ffd700,#ff9100);transition:width .6s var(--ease)}
.cs-val{font-family:var(--mono);font-size:0.85rem;font-weight:800;color:var(--t1);min-width:50px;text-align:right}
.wx-impact{margin-top:6px}.wx-impact-item{font-size:0.78rem;color:var(--t2);padding:3px 0}

/* ═══ SIMULATION ═══ */
.sim-sec{background:linear-gradient(135deg,var(--card),rgba(179,136,255,0.07));border-color:rgba(179,136,255,0.15)}
.sim-result{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center;padding:16px 0;margin-bottom:12px}
.sim-player{padding:16px;background:var(--glass2);border-radius:var(--r)}
.sim-player.fav{background:var(--accent-bg);border:1px solid var(--accent-brd)}
.sim-name{font-size:1rem;font-weight:700;margin-bottom:4px}
.sim-player.fav .sim-name{color:var(--accent)}
.sim-pct{font-family:var(--mono);font-size:1.6rem;font-weight:800}
.sim-player.fav .sim-pct{color:var(--accent)}
.sim-vs{font-size:0.72rem;font-weight:800;color:var(--t4);letter-spacing:.2em}
.sim-detail{text-align:center;font-family:var(--mono);font-size:0.78rem;color:var(--t3);margin-bottom:10px}
.sim-scores{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.sim-score{font-family:var(--mono);font-size:0.82rem;padding:6px 14px;background:var(--glass2);border-radius:var(--rs);color:var(--t2);border:1px solid var(--brd)}
.sim-score.top{background:var(--accent-bg);border-color:var(--accent-brd);color:var(--accent)}
.sim-score strong{margin-left:6px;font-weight:800}

/* ═══ NARRATIVE ═══ */
.narr-sec{background:linear-gradient(135deg,var(--card),rgba(0,212,255,0.05));border-color:rgba(0,212,255,0.12)}
.narr-text{font-size:0.88rem;color:var(--t2);line-height:1.75;letter-spacing:0.01em}

/* ═══ SECTION DIVIDERS ═══ */
.section-divider{display:flex;align-items:center;gap:14px;margin:28px 0 18px;padding:0 4px}
.sd-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--brd2),transparent)}
.sd-label{font-family:var(--mono);font-size:0.75rem;font-weight:800;letter-spacing:.12em;color:var(--t3);white-space:nowrap}
.pro-div .sd-label{color:var(--gold)}
.pro-div .sd-line{background:linear-gradient(90deg,transparent,var(--gold-brd),transparent)}
.meta-div .sd-label{color:#a78bfa}
.meta-div .sd-line{background:linear-gradient(90deg,transparent,rgba(167,139,250,0.25),transparent)}

/* ═══ PRO SECTION ═══ */
.pro-sec{background:linear-gradient(135deg,var(--card),rgba(255,215,0,0.06));border-color:rgba(255,215,0,0.18)}
.pro-nodata{text-align:center;padding:2rem;color:var(--t3)}.pro-nodata-ic{font-size:2rem;display:block;margin-bottom:8px}
.pro-vig{font-size:0.75rem;color:var(--t3);padding:8px 14px;background:var(--glass2);border-radius:var(--rs);margin-bottom:14px;font-family:var(--mono)}
.pro-markets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.pro-mkt{background:var(--glass2);border:1px solid var(--brd);border-radius:var(--r);padding:16px;transition:all .3s var(--ease)}
.pro-mkt.top{border-color:var(--accent-brd);background:linear-gradient(135deg,rgba(52,211,153,0.06),var(--glass2))}
.pro-mkt.value{box-shadow:var(--glow-g)}
.pro-mkt-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pro-mkt-name{font-size:1.05rem;font-weight:800}
.pro-mkt-verdict{font-family:var(--mono);font-size:0.68rem;font-weight:700}
.pro-mkt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pro-mkt-item{padding:6px 0}
.pro-mkt-lbl{font-family:var(--mono);font-size:0.58rem;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.06em}
.pro-mkt-val{font-family:var(--mono);font-size:0.92rem;font-weight:700;color:var(--t1);margin-top:2px}
.pro-mkt-val.value-g{color:var(--accent)}.pro-mkt-val.value-y{color:var(--gold)}.pro-mkt-val.value-r{color:var(--red)}
.pro-mkt-kelly{margin-top:10px;padding:8px 12px;background:var(--accent-bg);border:1px solid var(--accent-brd);border-radius:var(--rs);font-family:var(--mono);font-size:0.78rem;color:var(--accent);font-weight:600}
.pro-surf{background:var(--glass2);border-radius:var(--r);padding:14px;margin-bottom:12px}
.pro-surf-head{font-size:0.82rem;font-weight:700;color:var(--t2);margin-bottom:10px}
.pro-surf-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--brd)}
.pro-surf-row:last-child{border-bottom:none}
.pro-surf-name{font-weight:600;font-size:0.85rem}
.pro-surf-stat{font-family:var(--mono);font-size:0.85rem;font-weight:700;color:var(--t2)}
.pro-surf-stat.better{color:var(--accent)}
.pro-surf-stat small{font-weight:400;color:var(--t3);font-size:0.72rem}
.pro-warn{padding:10px 14px;background:rgba(251,191,36,0.06);border:1px solid var(--gold-brd);border-radius:var(--rs);font-size:0.8rem;color:var(--gold);margin-top:10px}

/* ═══ META-CONSENSUS ═══ */
.meta-sec{background:linear-gradient(135deg,var(--card),rgba(179,136,255,0.06));border-color:rgba(179,136,255,0.18)}
.meta-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:16px}
.meta-system{background:var(--glass2);border-radius:var(--r);padding:18px;text-align:center}
.meta-system.pro{background:linear-gradient(135deg,rgba(251,191,36,0.04),var(--glass2))}
.meta-sys-title{font-size:0.72rem;font-weight:700;color:var(--t3);margin-bottom:8px}
.meta-sys-pick{font-size:1.15rem;font-weight:800;margin-bottom:4px}
.meta-sys-prob{font-family:var(--mono);font-size:1.3rem;font-weight:800;color:var(--accent)}
.meta-system.pro .meta-sys-prob{color:var(--gold)}
.meta-sys-tier{font-family:var(--mono);font-size:0.68rem;font-weight:700;color:var(--t3);margin-top:4px}
.meta-vs{font-size:1.8rem;text-align:center}
.meta-result{border:1px solid;border-radius:var(--r);padding:16px;text-align:center;margin-top:4px}
.meta-result-verdict{font-size:0.95rem;font-weight:700;margin-bottom:6px}
.meta-result-combined{font-family:var(--mono);font-size:0.82rem;color:var(--t2)}
.app-footer p+p{margin-top:4px}

/* Risultato Esatto — simulazione */
.sim-exact-title { font-size: 0.78rem; font-weight: 700; color: var(--t2); margin: 14px 0 8px; letter-spacing: .03em; }
.sim-exact-list { display: flex; flex-direction: column; gap: 6px; }
.sim-exact-row { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 10px; }
.sim-exact-score { font-family: var(--mono); font-size: 0.82rem; font-weight: 600; color: var(--t1); white-space: nowrap; }
.sim-exact-bar-wrap { height: 6px; background: rgba(255,255,255,0.06); border-radius: 3px; overflow: hidden; }
.sim-exact-bar { height: 100%; border-radius: 3px; transition: width .4s ease; }
.sim-exact-pct { font-family: var(--mono); font-size: 0.82rem; font-weight: 700; text-align: right; min-width: 38px; }

/* ═══ TRIPLE LEVEL CARD ═══ */
.triple-card { display: flex; flex-direction: column; gap: 0; border-radius: var(--rl); overflow: hidden; border: 1px solid var(--brd); background: var(--card); margin-bottom: 12px; backdrop-filter: blur(8px); }

/* ogni livello */
.triple-level { padding: 20px; border-bottom: 1px solid var(--brd); transition: background .3s; }
.triple-level:last-child { border-bottom: none; }

/* header di ciascun livello */
.tl-header { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.tl-badge { font-family: var(--mono); font-size: 0.62rem; font-weight: 800; padding: 3px 10px; border-radius: 5px; letter-spacing: .06em; white-space: nowrap; }
.tl-badge--real { background: rgba(0,212,255,0.12); color: var(--accent); border: 1px solid var(--accent-brd); }
.tl-badge--market { background: rgba(255,215,0,0.10); color: var(--gold); border: 1px solid var(--gold-brd); }
.tl-badge--edge { background: rgba(0,230,118,0.10); color: var(--green); border: 1px solid var(--green-brd); }
.tl-title { font-size: 0.92rem; font-weight: 700; color: var(--t1); }
.tl-sub { font-family: var(--mono); font-size: 0.68rem; color: var(--t3); margin-left: auto; }

/* body a 2 colonne: grande prob + stats laterali */
.tl-body { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.tl-main-col { display: flex; flex-direction: column; gap: 4px; }
.tl-prob-label { font-family: var(--mono); font-size: 0.6rem; font-weight: 700; color: var(--t4); text-transform: uppercase; letter-spacing: .08em; }
.tl-big-name { font-size: 1.1rem; font-weight: 800; color: var(--t1); letter-spacing: -0.01em; }
.tl-big-prob { font-family: var(--mono); font-size: 3rem; font-weight: 800; line-height: 1; letter-spacing: -0.03em; }
.tl-pct { font-size: 1.4rem; font-weight: 700; opacity: .7; }
.tl-prob-vs { font-family: var(--mono); font-size: 0.72rem; color: var(--t3); display: flex; gap: 6px; margin-top: 4px; }
.tl-prob-sep { color: var(--t4); }

/* colonna stats destra */
.tl-side-col { display: flex; flex-direction: column; gap: 8px; padding-left: 16px; border-left: 1px solid var(--brd); }
.tl-stat { display: flex; flex-direction: column; gap: 2px; }
.tl-stat-lbl { font-family: var(--mono); font-size: 0.58rem; font-weight: 700; color: var(--t4); text-transform: uppercase; letter-spacing: .06em; }
.tl-stat-val { font-family: var(--mono); font-size: 0.9rem; font-weight: 700; color: var(--t1); }

/* Smart money banner */
.tl-smart { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: var(--rs); border: 1px solid; margin-top: 14px; font-size: 0.82rem; font-weight: 500; }
.tl-smart-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }
.tl-smart strong { font-weight: 700; }
.tl-smart-det { font-weight: 400; color: inherit; opacity: .85; }

/* No data stato */
.tl-market--nodata { opacity: .7; }
.tl-nodata { font-size: 0.85rem; color: var(--t3); text-align: center; padding: 8px 0; font-style: italic; }

/* Verdetto finale (livello 3) */
.tl-verdict-row { display: flex; align-items: center; gap: 12px; padding: 14px 0 2px; flex-wrap: wrap; }
.tl-verdict-icon { font-size: 1.4rem; }
.tl-verdict-text { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; }
.tl-kelly-pill { font-family: var(--mono); font-size: 0.72rem; font-weight: 600; padding: 4px 12px; border-radius: 20px; background: rgba(0,212,255,0.10); border: 1px solid rgba(0,212,255,0.25); color: var(--accent); margin-left: auto; }

/* Surface form dentro il livello 3 */
.tl-surf { margin-top: 14px; padding: 12px 14px; background: var(--glass2); border-radius: var(--rs); }
.tl-surf-title { font-size: 0.76rem; font-weight: 700; color: var(--t2); margin-bottom: 8px; }
.tl-surf-row { display: flex; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid var(--brd); font-size: 0.82rem; }
.tl-surf-row:last-child { border-bottom: none; }
.tl-surf-name { color: var(--t2); font-weight: 500; }
.tl-surf-name.better { color: var(--accent); font-weight: 700; }
.tl-surf-stat { font-family: var(--mono); font-size: 0.82rem; color: var(--t2); }
.tl-surf-stat small { color: var(--t3); font-size: 0.7rem; margin-left: 4px; }
.tl-surf-stat.better { color: var(--accent); font-weight: 700; }

/* Livello 1 — sfumatura blu */
.tl-real { background: linear-gradient(135deg, rgba(0,212,255,0.04), var(--card)); }

/* Livello 2 — sfumatura oro */
.tl-market { background: linear-gradient(135deg, rgba(255,215,0,0.04), var(--card)); }

/* ═══ RESPONSIVE TRIPLE ═══ */
@media(max-width:600px) {
  .tl-body { grid-template-columns: 1fr; gap: 12px; }
  .tl-side-col { padding-left: 0; border-left: none; border-top: 1px solid var(--brd); padding-top: 12px; flex-direction: row; flex-wrap: wrap; gap: 12px; }
  .tl-big-prob { font-size: 2.2rem; }
  .tl-stat { min-width: 80px; }
  .tl-kelly-pill { margin-left: 0; margin-top: 6px; }
}

/* ═══ RESPONSIVE ═══ */
@media(max-width:768px){
  html{font-size:14px}
  .header-date{display:none}
  .main{padding:1rem}
  .prono-grid,.prono-grid.three{grid-template-columns:1fr}
  .ap-profiles{grid-template-columns:1fr}
  .ap-matchup{padding:16px;gap:10px}
  .ap-pname{font-size:1.05rem}
  .tach-row{grid-template-columns:110px 1fr;gap:12px}
  .tach-svg{width:110px}
  .model-row{grid-template-columns:18px 1fr 70px 26px}
  .stake-grid{grid-template-columns:1fr}
  .cons-chips{grid-template-columns:1fr}
  .mrow{grid-template-columns:44px 1fr auto auto;gap:6px;padding:10px 12px}
  .mrow-extra{display:none}
  .mrow-logo{width:18px;height:18px}
  .mrow-p{max-width:110px;font-size:0.82rem}
  .pbp-grid{grid-template-columns:1fr}
  .hc-grid{grid-template-columns:1fr}
  .panel-header{flex-direction:column;align-items:flex-start;gap:10px}
  .wx-grid{grid-template-columns:1fr 1fr}
  .sim-result{gap:8px;padding:10px 0}
  .sim-pct{font-size:1.2rem}
  .pro-markets{grid-template-columns:1fr}
  .meta-grid{grid-template-columns:1fr;gap:10px}
  .meta-vs{font-size:1.2rem}
}
@media(max-width:480px){
  .tach-row{grid-template-columns:1fr}
  .prob-bar{height:30px;font-size:0.78rem}
  .mrow-sc{display:none}
  .pd-name{max-width:50px}
  .tp-vs{display:none}
  .nav-label{display:none}
  .nav-pill{padding:10px 14px}
}
