:root{--bg:#07111c;--card:#0d1c2a;--card2:#112538;--line:#1d3a52;--text:#edf6ff;--muted:#91abc0;--cyan:#2bd7ff;--green:#3be59b;--amber:#ffd166;--red:#ff7c8c;--blue:#439cff;--shadow:0 16px 40px rgba(0,0,0,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 12% 0,#12334a 0,transparent 34%),linear-gradient(180deg,#07111c,#081522 58%,#06101a);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{max-width:1450px;margin:auto;padding:22px}.hidden{display:none!important}.card{background:linear-gradient(180deg,rgba(15,34,51,.97),rgba(9,23,36,.98));border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}.brandline{display:flex;align-items:center;gap:14px}.brandmark{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-weight:950;font-size:20px;letter-spacing:-.05em;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#03111e;box-shadow:0 10px 30px rgba(43,215,255,.2)}.eyebrow,.section-title{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--cyan)}h1{font-size:31px;line-height:1;margin:5px 0 7px}h1 span{color:#74ddff;font-weight:700}h2{margin:4px 0 0;font-size:22px}.topbar p{margin:0;color:var(--muted);font-size:13px}.statusbox{display:flex;align-items:center;gap:10px;background:#081725;border:1px solid #1d3b53;border-radius:14px;padding:11px 14px;min-width:220px}.statusbox small{display:block;color:var(--muted);margin-top:2px}.dot{width:10px;height:10px;border-radius:50%;background:var(--amber);box-shadow:0 0 15px currentColor}.toolbar{display:flex;gap:12px;align-items:end;padding:14px;margin-bottom:14px;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.grow{flex:1}select,button{font:inherit}select{height:44px;background:#081725;color:var(--text);border:1px solid #26475e;border-radius:10px;padding:0 12px;outline:0}button{border:0;border-radius:10px;font-weight:900;letter-spacing:.02em;cursor:pointer}.primary,.simulate{background:linear-gradient(135deg,#18bff0,#237cff);color:#fff;padding:0 18px;height:44px;box-shadow:0 8px 20px rgba(35,124,255,.22)}.simulate{width:100%;height:50px;font-size:14px;margin-top:14px}.secondary{background:#18324a;color:#dff5ff;padding:10px 14px}.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:14px}.match-card,.compact-status,.prematch,.results,.lab60,.performance,.archive,.diagnostic{padding:18px}.match-top,.results-head,.subhead,.profile-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.league-pill,.source-badge{display:inline-flex;border-radius:999px;padding:6px 10px;background:#12344a;color:#8ee9ff;border:1px solid #20516d;font-size:11px;font-weight:900}.teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center;padding:20px 0 12px}.teams strong{font-size:28px}.teams span{font-size:11px;font-weight:900;color:var(--muted);border:1px solid #2a475d;border-radius:999px;padding:7px}.meta{display:flex;gap:10px;color:var(--muted);font-size:12px}.odds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.odds div,.selected-standing>div:not(.versus-mini){background:#081725;border:1px solid #1d3a52;border-radius:12px;padding:11px;text-align:center}.odds small,.selected-standing small,.metric small,.signal small,.lab-hero small,.perf-kpis small,.profile-grid small,.reading small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em}.odds b{font-size:19px}.note,.archive-note{color:var(--muted);font-size:11px;line-height:1.5}.compact-status .section-title{margin-bottom:10px}.status-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #173146;font-size:12px}.status-row:last-child{border:0}.status-row span{color:var(--muted)}.ok{color:var(--green)}.prematch{margin-top:14px}.selected-standing{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:14px 0}.selected-standing strong{display:block;font-size:25px;color:#fff}.selected-standing span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.versus-mini{color:#6f8da5;font-size:9px;font-weight:900;letter-spacing:.1em}.context-grid{display:grid;grid-template-columns:minmax(480px,1.25fr) minmax(340px,.75fr);gap:14px}.context-block{border:1px solid #1c3b53;border-radius:14px;background:#081725;overflow:hidden}.subhead{padding:11px 13px;background:#10263a;border-bottom:1px solid #1c3b53}.subhead b{font-size:11px}.subhead span{font-size:10px;color:var(--muted)}.forms-wrap{display:grid;gap:12px}.form-summary{padding:12px 13px 4px;color:#e9f8ff;font-weight:850;font-size:12px}.venue-summary{padding:0 13px 10px;color:#70d7ff;font-size:10px;font-weight:800}.form-list{padding:0 8px 8px}.form-row{display:grid;grid-template-columns:84px 30px 1fr 76px;gap:8px;align-items:center;padding:8px;border-top:1px solid #142d42;font-size:11px}.form-row .opp{font-weight:750}.form-row .score{font-weight:900;text-align:right}.form-result{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;margin-left:4px;font-size:10px}.form-result.V{background:#123e2c;color:#5ce5a0}.form-result.N{background:#483b1c;color:#ffd16d}.form-result.P{background:#4a2228;color:#ff9eaa}.table-wrap{width:100%;overflow:auto}.compact-table{max-height:460px}.standings-table,.perf-table,.archive-table{width:100%;border-collapse:collapse;min-width:600px}.standings-table th,.perf-table th,.archive-table th{position:sticky;top:0;background:#132c40;color:#98b6cd;font-size:9px;letter-spacing:.05em;text-align:left;padding:9px;border-bottom:1px solid #27475e}.standings-table td,.perf-table td,.archive-table td{padding:8px 9px;border-bottom:1px solid #142d42;font-size:11px}.standings-table tr.highlight{background:#12344a}.standings-table tr.highlight td{color:#e8fbff;font-weight:850}.results,.lab60{margin-top:14px}.head-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.validation{font-size:10px;font-weight:900;padding:7px 9px;border-radius:8px}.validation.pass{background:#123d2b;color:#63e6a3}.validation.fail{background:#50242a;color:#ff9ca9}.validation.neutral{background:#24394c;color:#aac4d9}.hero-result{display:grid;grid-template-columns:.75fr 1.25fr;gap:12px;margin-top:14px}.official-pick,.prob3{border:1px solid #1f425b;border-radius:15px;background:linear-gradient(135deg,#0d273a,#0a1b2a);padding:15px}.official-pick strong{display:block;font-size:44px;color:#fff;line-height:1}.official-pick span{display:block;color:#80dbff;font-weight:800;margin-top:6px}.prob3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prob3 div{text-align:center;border-left:1px solid #1e4058}.prob3 div:first-child{border:0}.prob3 small{color:var(--muted);font-weight:900}.prob3 b{display:block;font-size:28px;margin-top:7px}.profile-panel{margin-top:13px;border:1px solid #285374;border-radius:15px;background:linear-gradient(135deg,#102d43,#0b2031);overflow:hidden}.profile-head{padding:13px 15px;border-bottom:1px solid #24506d}.profile-head small{display:block;color:#71dcff;font-size:9px;font-weight:900;letter-spacing:.12em}.profile-head b{font-size:18px}.profile-head span{color:#d9f6ff;font-size:11px;font-weight:850}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#24465d}.profile-grid>div{background:#0c2030;padding:12px}.profile-grid b{display:block;margin-top:5px}.reading{padding:13px 15px;background:#091b29}.reading p{margin:5px 0 0;color:#d9e9f4;line-height:1.55;font-size:12px}.result-grid,.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.signal-grid{grid-template-columns:repeat(4,1fr)}.metric,.signal{background:#081725;border:1px solid #1a374e;border-radius:12px;padding:12px;min-height:82px}.metric b,.signal b{display:block;font-size:17px;margin-top:6px}.metric span,.signal span{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.35}.lab-hero{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px;margin-top:14px}.lab-score,.lab-top3{background:#0a1a28;border:1px solid #1f4057;border-radius:14px;padding:14px}.lab-score strong{display:block;font-size:36px;margin:4px 0}.lab-top3 strong{display:block;font-size:18px;margin:7px 0}.lab-hero span{color:var(--muted);font-size:10px}.fold{margin-top:14px;overflow:hidden}.fold>summary{list-style:none;padding:15px 18px;font-size:12px;font-weight:900;letter-spacing:.08em;cursor:pointer;background:#0e2233}.fold>summary::-webkit-details-marker{display:none}.fold>summary span{color:var(--muted);font-weight:600;letter-spacing:0;margin-left:8px}.perf-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.perf-kpis>div{background:#081725;border:1px solid #1a374e;border-radius:10px;padding:11px;text-align:center}.perf-kpis b{display:block;font-size:20px;margin-top:4px}.archive-filters{display:flex;gap:8px;flex-wrap:wrap}.archive-filters select{min-width:150px;height:38px}.archive-table{min-width:1050px}.perf-table{min-width:980px}.outcome,.state{display:inline-block;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900}.outcome.won,.state.done{background:#123d2b;color:#64e6a4}.outcome.lost{background:#4b2020;color:#ff9d9d}.outcome.pending,.state.wait{background:#453719;color:#ffd26a}.outcome.neutral{background:#26384b;color:#a9c5df}pre{white-space:pre-wrap;color:#91abc0;font-size:10px;line-height:1.5;margin:0;padding:16px;background:#07131f}footer{text-align:center;color:#58758d;font-size:10px;padding:22px 10px 8px}.empty{padding:38px 10px;text-align:center;color:var(--muted)}button:disabled{opacity:.55;cursor:wait}
@media(max-width:1000px){.shell{padding:14px}.hero-grid,.context-grid{grid-template-columns:1fr}.forms-wrap{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.perf-kpis{grid-template-columns:repeat(3,1fr)}.signal-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.shell{padding:10px}.topbar{display:block}.statusbox{margin-top:12px;width:100%}.brandmark{width:42px;height:42px}.topbar h1{font-size:25px}.topbar p{font-size:11px}.toolbar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}.toolbar .primary,.toolbar .grow{grid-column:1/-1}.toolbar select{width:100%}.teams strong{font-size:22px}.match-top{align-items:flex-start}.meta{display:block;text-align:right}.hero-result,.lab-hero{grid-template-columns:1fr}.prob3 b{font-size:23px}.result-grid{grid-template-columns:repeat(2,1fr)}.signal-grid,.profile-grid{grid-template-columns:1fr 1fr}.forms-wrap{grid-template-columns:1fr}.selected-standing strong{font-size:19px}.context-grid{display:block}.standings-block{margin-bottom:12px}.profile-head{align-items:flex-start;flex-direction:column}.perf-kpis{grid-template-columns:repeat(2,1fr)}.results-head{align-items:flex-start;flex-direction:column}.head-badges{justify-content:flex-start}.form-row{grid-template-columns:72px 26px 1fr 68px}.compact-table{max-height:380px}}
@media(max-width:420px){.result-grid,.signal-grid,.profile-grid{grid-template-columns:1fr}.teams{gap:8px}.teams strong{font-size:19px}.odds b{font-size:16px}.official-pick strong{font-size:36px}.prob3{padding:12px}.selected-standing{grid-template-columns:1fr 40px 1fr}}

/* V1.3 — layer grafico/statistico. Nessuna modifica al core di calcolo. */
.top-actions{display:flex;align-items:center;gap:10px}.engine-lock{border:1px solid #245d45;background:#0d2b21;color:#6de2aa;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:950;letter-spacing:.08em;white-space:nowrap}
.team-showcase{padding:18px 0 14px}.team-side{display:grid;justify-items:center;gap:5px;min-width:0}.team-side small{font-size:9px;letter-spacing:.13em;color:var(--muted);font-weight:900}.team-side strong{font-size:25px;line-height:1.05;word-break:break-word}.versus{align-self:center}.crest-wrap{width:86px;height:86px;border-radius:22px;background:linear-gradient(145deg,#102b40,#081724);border:1px solid #254b65;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 25px rgba(0,0,0,.18);overflow:hidden}.team-crest{display:none;max-width:72px;max-height:72px;object-fit:contain}.crest-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:28px;font-weight:950;color:#8ee9ff;letter-spacing:.02em}
.stats-section{margin:14px 0}.stats-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.stats-head h3{margin:3px 0 0;font-size:18px}.stats-head>span{font-size:10px;color:var(--muted);text-align:right}.stats-teams{display:grid;grid-template-columns:1fr 1fr;gap:12px}.team-stats-card{border:1px solid #1e4159;border-radius:16px;background:linear-gradient(145deg,#0b2030,#081724);overflow:hidden}.stats-team-title{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #1c3a51;background:#0e2739}.stats-team-title small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em}.stats-team-title b{display:block;margin-top:2px;font-size:16px}.mini-crest-wrap{width:44px;height:44px;border-radius:12px;background:#071521;border:1px solid #294d65;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.mini-crest{display:none;max-width:36px;max-height:36px;object-fit:contain}.mini-fallback{width:100%;height:100%;display:grid;place-items:center;color:#78dcff;font-weight:950}.stats-split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#18374d}.stats-split>div{background:#091a28;padding:13px;min-width:0}.stats-split .venue-emphasis{background:#0b2435}.stats-split span{display:block;color:#68d5ff;font-size:9px;font-weight:950;letter-spacing:.09em;margin-bottom:6px}.stats-split b{display:block;font-size:12px;line-height:1.5;color:#f3fbff}.stats-split small{display:block;color:#9ab7ca;font-size:10px;line-height:1.5;margin-top:4px}
@media(max-width:1000px){.top-actions{flex-direction:column;align-items:flex-end}.stats-teams{grid-template-columns:1fr}}
@media(max-width:680px){.top-actions{align-items:stretch;margin-top:12px}.engine-lock{text-align:center}.team-showcase{grid-template-columns:1fr 34px 1fr}.crest-wrap{width:66px;height:66px;border-radius:18px}.team-crest{max-width:56px;max-height:56px}.crest-fallback{font-size:22px}.team-side strong{font-size:18px}.stats-head{align-items:flex-start;flex-direction:column}.stats-head>span{text-align:left}.stats-split{grid-template-columns:1fr}.stats-split b{font-size:11px}}


/* V1.3.1 — SOLO LAYOUT. Core/API invariati rispetto a V1.3. */
.prematch{padding-bottom:14px}
.context-grid{margin-top:14px}
.stats-section{margin-top:14px;margin-bottom:0}
.simulate-dock{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#2d6683;background:linear-gradient(135deg,#0d2a3d,#0a1d2c)}
.simulate-dock.hidden{display:none}
.simulate-copy{min-width:0}.simulate-copy b{display:block;font-size:14px;color:#eefbff;margin-top:3px}.simulate-copy span{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:5px}
.simulate-dock .simulate{margin:0;min-width:245px;flex:0 0 auto}
.standings-block .compact-table{max-height:350px}
.forms-wrap{align-content:start}
.form-card{min-width:0}
.form-list{max-height:295px;overflow:auto}
.results{scroll-margin-top:16px}
@media(max-width:680px){.simulate-dock{display:block}.simulate-dock.hidden{display:none}.simulate-dock .simulate{width:100%;min-width:0;margin-top:12px}.form-list{max-height:none}.standings-block .compact-table{max-height:330px}}


/* V1.3.2 — SOLO ORDINE/GRAFICA. Core/API/dati invariati rispetto a V1.3.1. */
.toolbar{position:relative;top:auto;z-index:2;backdrop-filter:none}
.results{margin-top:14px}
.lab60{margin-top:14px}
.prematch{margin-top:14px;border-color:#264b65;background:linear-gradient(180deg,rgba(13,31,47,.98),rgba(8,22,35,.99))}
.prematch .results-head{padding-bottom:2px}
.section-note{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.45;max-width:860px}
.prematch::before{content:'DATI DI APPROFONDIMENTO';display:block;margin:-2px 0 12px;color:#5f8098;font-size:9px;font-weight:950;letter-spacing:.14em}
#performanceSection{scroll-margin-top:18px}
@media(max-width:680px){.toolbar{position:relative;top:auto}.section-note{font-size:10px}.prematch::before{margin-bottom:10px}}

/* V1.3.3 layout hotfix: simulation dock */
.simulate-dock{display:flex;align-items:center;justify-content:space-between;gap:18px}
.simulate-dock .simulate-copy{flex:1 1 auto;min-width:0}
.simulate-dock .simulate-copy b,.simulate-dock .simulate-copy span{max-width:780px}
.simulate-dock .simulate{width:auto;min-width:280px;max-width:420px;flex:0 0 auto;margin:0}
@media(max-width:680px){
  .simulate-dock{display:block}
  .simulate-dock .simulate{width:100%;min-width:0;max-width:none;margin-top:12px}
}


/* V1.4.0 — Archive Test / Replay UI. Core engines untouched. */
.toolbar-v140{display:grid;grid-template-columns:auto auto minmax(150px,220px) minmax(340px,1fr) auto;align-items:end}
.mode-switch{display:flex;gap:8px;align-self:center;background:rgba(4,18,31,.55);border:1px solid var(--line);border-radius:14px;padding:5px}
.mode-btn{border:0;border-radius:10px;padding:10px 13px;font-weight:800;font-size:12px;letter-spacing:.04em;cursor:pointer;color:var(--muted);background:transparent;white-space:nowrap}
.mode-btn.active{background:linear-gradient(135deg,#18aef5,#2585ff);color:#fff;box-shadow:0 7px 20px rgba(34,149,255,.22)}
.mode-hint{align-self:center;color:var(--muted);font-size:12px;white-space:nowrap}
.mode-hint.archive{color:#70f4bd;font-weight:700}
.replay-small{border:1px solid rgba(72,230,175,.35);background:rgba(31,184,130,.13);color:#7ef1c4;border-radius:9px;padding:7px 10px;font-weight:800;cursor:pointer}
.replay-small:hover{background:rgba(31,184,130,.22)}
.replay-banner{display:inline-flex;align-items:center;gap:7px;color:#7ef1c4;font-weight:800}
#updateBtn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1200px){.toolbar-v140{grid-template-columns:1fr 1fr}.mode-switch,.mode-hint{grid-column:1/-1}.mode-hint{white-space:normal}.toolbar-v140 .grow{grid-column:1/-1}}
@media(max-width:720px){.toolbar-v140{grid-template-columns:1fr}.mode-switch,.mode-hint,.toolbar-v140 .grow{grid-column:auto}.mode-switch{width:100%}.mode-btn{flex:1}.toolbar-v140 label,.toolbar-v140 button.primary{width:100%}}

/* V1.4.2 — replay UI safe refinements; engines untouched. */
.toolbar-v140 .mode-hint{min-width:0;max-width:240px;line-height:1.35}
.toolbar-v140 .mode-hint.archive{white-space:normal}
@media(max-width:1200px){.toolbar-v140 .mode-hint{max-width:none}}

/* V1.5.0 — aggiornamento automatico dati. Core 5.5/6.0 invariato. */
.auto-update-badge{border:1px solid #27536d;background:#0b2232;color:#8ee9ff;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:950;letter-spacing:.07em;white-space:nowrap}
@media(max-width:1000px){.auto-update-badge{text-align:center}}
/* V1.9.5 — copertura ultimi turni */
.archive-table tr.coverage-missing{background:rgba(255,209,102,.045)}
.archive-table tr.coverage-missing td{color:#aebfcd}
.state.missing{background:#3a3440;color:#d9c8e6}
.coverage-tag{display:block;margin-top:5px;width:max-content;max-width:160px;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:950;letter-spacing:.04em;white-space:nowrap}
.coverage-tag.official{background:#123d2b;color:#64e6a4}
.coverage-tag.missing{background:#403727;color:#ffd166}
.coverage-tag.reconstructed{background:#17374b;color:#58d7ff;border:1px solid rgba(88,215,255,.35)}
.coverage-reconstructed{background:rgba(33,125,170,.035)}
