/* Draft Serie A — mobile-first */
/* NIENTE ZOOM: tap ripetuti veloci (aumenta stipendi, avanza settimane/stagione) NON devono zoomare la pagina.
   touch-action: manipulation su html disabilita il double-tap-zoom in tutto il documento; il pinch è bloccato via
   viewport (user-scalable=no) + gesturestart preventDefault in index.html (per iOS Safari che ignora il viewport). */
html { touch-action: manipulation; -ms-touch-action: manipulation; }
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
:root {
  --bg:#0a0a0c; --bg2:#151519; --card:#1c1c21; --card2:#28282f;
  --gold:#f5c542; --green:#22c55e; --red:#ef4444; --blue:#cdb079;
  --text:#f1ece1; --muted:#98918a; --line:#33333c;
}
html,body { height:100%; }
body {
  background:radial-gradient(1200px 600px at 50% -100px,#17110a 0%,var(--bg) 60%);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  overflow-x:hidden;
}
#app { max-width:520px; margin:0 auto; padding:16px; min-height:100dvh; }
.screen { display:none; animation:fadein .3s ease; }
.screen.active { display:block; }
.hidden { display:none !important; }
@keyframes fadein { from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

h1,h2,h3 { font-weight:800; letter-spacing:-.02em; }
.hint { color:var(--muted); font-size:.85rem; margin:8px 0; }

/* HOME */
.home-hero { text-align:center; padding:48px 0 24px; }
.logo-ball { font-size:3.5rem; filter:drop-shadow(0 6px 18px rgba(245,197,66,.35)); }
.home-logo { display:block; width:min(210px,56vw); height:auto; margin:2px auto; border-radius:26px; filter:drop-shadow(0 10px 26px rgba(245,197,66,.28)); }
.home-hero h1 { font-size:3rem; line-height:.95; margin:12px 0; }
.home-hero h1 span { color:var(--gold); }
.tagline { color:var(--muted); font-size:.9rem; line-height:1.5; }
/* Hub: 3 bottoni GRANDI in verticale (Mario) */
.mode-switch { display:flex; flex-direction:column; gap:9px; margin-top:14px; }
.mode-tab { text-align:left; background:rgba(30,30,36,.6); border:1px solid var(--line); color:var(--text); font-weight:800; font-size:1.18rem; padding:17px 20px; border-radius:15px; cursor:pointer; transition:all .15s; }
.mode-tab.active { background:linear-gradient(135deg,#f5c542,#e8a020); color:#1a1200; border-color:transparent; box-shadow:0 4px 16px rgba(245,197,66,.32); }
.mode-panel { display:flex; flex-direction:column; gap:12px; }
.mini-row { display:flex; gap:8px; }
.mini-row .btn { flex:1; padding:11px 6px; font-size:.92rem; white-space:nowrap; }
.mode-panel.hidden { display:none; }
.mode-desc { color:var(--muted); font-size:.85rem; line-height:1.5; text-align:center; margin:2px 0 4px; }
.home-buttons { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.join-row { display:flex; gap:8px; }
.join-row input { flex:1; text-transform:uppercase; letter-spacing:.3em; text-align:center; }
.online-note { text-align:center; color:var(--muted); font-size:.75rem; margin-top:16px; }

input[type=text] {
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  color:var(--text); font-size:1rem; padding:14px 16px; width:100%; outline:none;
}
input[type=text]:focus { border-color:var(--gold); }

.btn {
  border:none; border-radius:14px; padding:15px 18px; font-size:1rem; font-weight:700;
  cursor:pointer; transition:transform .08s ease, filter .15s;
  color:var(--text);
}
.btn:active { transform:scale(.97); }
.btn:disabled { opacity:.4; pointer-events:none; }
.btn-primary { background:linear-gradient(135deg,#f5c542,#e8a020); color:#1a1200; box-shadow:0 6px 20px rgba(245,197,66,.25); }
.btn-secondary { background:var(--card2); border:1px solid var(--line); }
.btn-ghost { background:transparent; border:1px dashed var(--line); color:var(--muted); font-weight:600; }
.btn-mini { padding:9px 14px; font-size:.85rem; border-radius:10px; background:var(--card2); border:1px solid var(--line); }
.btn-roll { width:100%; font-size:1.3rem; padding:22px; animation:pulse 1.8s infinite; }
@keyframes pulse { 0%,100%{box-shadow:0 6px 20px rgba(245,197,66,.25);} 50%{box-shadow:0 6px 34px rgba(245,197,66,.55);} }

/* LOBBY */
#screen-lobby h2 { margin:24px 0 4px; }
.room-code { color:var(--gold); letter-spacing:.15em; }
.room-pill { flex:0 0 auto; margin-right:6px; background:rgba(30,30,36,.7); border:1px solid var(--line); border-radius:9px; color:var(--gold); font-weight:800; font-size:.66rem; letter-spacing:.03em; padding:5px 7px; line-height:1; cursor:pointer; white-space:nowrap; }
.room-pill:active { transform:scale(.95); }
.car-profile { margin-bottom:12px; }
.prof-row { display:flex; justify-content:space-between; align-items:center; gap:8px; background:rgba(30,30,36,.6); border:1px solid var(--line); border-radius:12px; padding:9px 12px; font-size:.92rem; }
.prof-row .btn-mini { padding:6px 10px; font-size:.78rem; }
.invite-banner { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:8px; background:rgba(245,197,66,.12); border:1px solid var(--gold); border-radius:12px; padding:9px 12px; font-size:.86rem; color:var(--text); }
.invite-banner .inv-actions { display:flex; gap:6px; flex:0 0 auto; }
.invite-banner .btn-mini { padding:6px 10px; font-size:.78rem; }
.lobby-players { display:flex; flex-direction:column; gap:10px; margin:18px 0; }
.lobby-player { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:12px 16px; display:flex; justify-content:space-between; align-items:center; }
.lobby-player .ok { color:var(--green); font-weight:700; }
.setup-block { margin:16px 0; }
.setup-block h4 { margin-bottom:8px; color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; }
.chip-grid { display:flex; flex-wrap:wrap; gap:8px; }
.chip {
  background:var(--card); border:1px solid var(--line); border-radius:999px;
  padding:8px 14px; font-size:.85rem; font-weight:600; cursor:pointer; color:var(--text);
}
.chip.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); }
.chip.taken { opacity:.3; pointer-events:none; text-decoration:line-through; }
#btn-ready { width:100%; margin-top:12px; }
#btn-copylink { width:100%; margin:6px 0 2px; }

/* DRAFT */
.draft-header { position:sticky; top:0; background:rgba(9,9,11,.92); backdrop-filter:blur(8px); padding:10px 0; z-index:10; border-bottom:1px solid var(--line); }
.draft-counts { display:flex; justify-content:space-between; font-weight:700; font-size:.9rem; }
#draft-rerolls { color:var(--gold); }
.draft-feed { font-size:.75rem; color:var(--muted); min-height:1.1em; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* nome squadra rollata: nell'header STICKY → sempre visibile mentre scorri la lista giocatori */
.draft-squad-bar { margin-top:6px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#draft-squad { font-size:1.15rem; font-weight:900; color:var(--gold); }
#draft-squad-coach { font-size:.8rem; color:var(--muted); font-weight:700; }
#roll-stage { margin:18px 0; }
.reroll-row { display:flex; gap:8px; justify-content:center; margin:8px 0 14px; }
.rolled-players { display:flex; flex-direction:column; gap:6px; }
.pcard {
  display:flex; align-items:center; gap:10px; background:var(--card);
  border:1px solid var(--line); border-radius:12px; padding:10px 12px; cursor:pointer;
  transition:border-color .15s;
}
.pcard:not(.dim):hover { border-color:var(--gold); }
.pcard.dim { opacity:.32; pointer-events:none; filter:grayscale(.8); }
.pcard .roles { font-size:.7rem; font-weight:800; color:var(--blue); width:58px; }
.pcard .pname { flex:1; font-weight:600; font-size:.92rem; }
.pcard .ovr { font-weight:900; font-size:1.05rem; width:34px; text-align:right; }
.ovr.o90 { color:#f5c542; } .ovr.o85 { color:#4ade80; } .ovr.o80 { color:#7dd3fc; } .ovr.o75 { color:#cbd5e1; } .ovr.o0 { color:#8b94ab; }
.pcard .why { font-size:.65rem; color:var(--red); }

#slot-picker { background:var(--card2); border:1px solid var(--gold); border-radius:16px; padding:16px; margin:14px 0; }
#slot-picker h3 { color:var(--gold); }
#slot-picker-player { margin:6px 0 10px; font-weight:600; }
#slot-options { display:flex; flex-wrap:wrap; gap:8px; }

/* PITCH */
.my-team { margin-top:22px; }
.my-team h3 { margin-bottom:8px; }
#team-avg { color:var(--gold); }
.pitch {
  position:relative; width:100%; aspect-ratio:3/3.4;
  background:linear-gradient(180deg,#14532d,#166534 45%,#14532d);
  border:2px solid #2f7d4f; border-radius:16px; overflow:hidden;
}
.pitch::before { content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0 12%,rgba(255,255,255,.04) 12% 24%); }
.pitch::after { content:""; position:absolute; left:50%; top:-60px; width:180px; height:120px; pointer-events:none;
  transform:translateX(-50%); border:2px solid rgba(255,255,255,.15); border-radius:0 0 90px 90px; }
.pslot {
  position:absolute; transform:translate(-50%,-50%); width:64px; text-align:center; cursor:pointer;
}
.pslot .dot {
  width:44px; height:44px; margin:0 auto; border-radius:50%;
  background:rgba(255,255,255,.10); border:2px dashed rgba(255,255,255,.35);
  display:flex; align-items:center; justify-content:center; font-weight:900; font-size:.75rem; color:rgba(255,255,255,.6);
}
.pslot.filled .dot { background:#0f172a; border:2px solid var(--gold); color:var(--gold); font-size:.85rem; }
.pslot .nm { font-size:.62rem; font-weight:700; margin-top:3px; color:#fff; text-shadow:0 1px 3px #000; line-height:1.1; }
.pslot.hl .dot { border-color:var(--gold); background:rgba(245,197,66,.28); box-shadow:0 0 0 4px rgba(245,197,66,.18), 0 0 22px rgba(245,197,66,.6); animation:glowpulse 1s infinite; }
.pslot.clickable, .bslot.clickable { cursor:pointer; }
.pslot.clickable .dot { color:var(--gold); font-weight:900; }
.pslot.hl .nm { color:var(--gold); }
@keyframes glowpulse { 0%,100%{ box-shadow:0 0 0 3px rgba(245,197,66,.15), 0 0 14px rgba(245,197,66,.45);} 50%{ box-shadow:0 0 0 6px rgba(245,197,66,.28), 0 0 30px rgba(245,197,66,.85);} }
.pcard.sel { border-color:var(--gold); background:linear-gradient(90deg,rgba(245,197,66,.18),var(--card)); box-shadow:0 0 0 1px var(--gold); }
.place-hint { background:linear-gradient(90deg,rgba(245,197,66,.16),var(--card2)); border:1px solid var(--gold); border-radius:12px; padding:11px 14px; font-size:.9rem; margin-bottom:10px; animation:fadein .25s; }
.place-hint .pos-list { display:inline-block; margin-top:3px; color:var(--gold); font-weight:800; letter-spacing:.02em; }

/* barra fissa in basso per schierare (mobile) */
.place-bar { position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:linear-gradient(180deg, rgba(12,12,15,.9), rgba(7,7,9,.98)); backdrop-filter:blur(14px);
  border-top:2px solid var(--gold); box-shadow:0 -12px 34px rgba(0,0,0,.55);
  padding:12px 14px calc(14px + env(safe-area-inset-bottom)); animation:slideup .22s ease; }
.place-bar.hidden { display:none; }
.place-bar > * { max-width:520px; margin:0 auto; }
@keyframes slideup { from{ transform:translateY(100%);} to{ transform:none;} }
.pb-title { font-size:.85rem; color:var(--muted); margin-bottom:9px; text-align:center; }
.pb-title b { color:var(--gold); }
.pb-opts { display:flex; gap:8px; flex-wrap:wrap; }
.pb-opt { flex:1 1 22%; min-width:66px; padding:16px 8px; border-radius:13px; font-weight:900; font-size:1rem;
  background:rgba(245,197,66,.16); border:1.5px solid var(--gold); color:var(--gold); cursor:pointer;
  animation:glowpulse 1.1s infinite; }
.pb-opt:active { transform:scale(.95); }
.bench { display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.bslot {
  flex:1 1 60px; min-width:60px; background:var(--card); border:1px dashed var(--line);
  border-radius:10px; padding:7px 4px; text-align:center; font-size:.62rem; color:var(--muted); cursor:pointer;
}
.bslot.filled { border-style:solid; border-color:var(--line); color:var(--text); }
.bslot.hl { border-color:var(--gold); color:var(--gold); animation:pulse 1.2s infinite; }
.bslot b { display:block; font-size:.8rem; }
#draft-waiting { text-align:center; padding:30px; color:var(--muted); }
.spinner { width:28px; height:28px; border:3px solid var(--line); border-top-color:var(--gold); border-radius:50%; margin:14px auto; animation:spin 1s linear infinite; }
.dw-list { display:flex; flex-direction:column; gap:8px; margin-top:14px; text-align:left; }
.dw-row { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 14px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.dw-name { font-weight:700; color:var(--text); }
.dw-prog { color:var(--muted); font-variant-numeric:tabular-nums; font-weight:700; }
.dw-prog.ok { color:var(--green); }
@keyframes spin { to{transform:rotate(360deg);} }

/* SEASON */
.season-header { display:flex; justify-content:space-between; align-items:center; margin:14px 0; position:sticky; top:0; background:rgba(9,9,11,.92); backdrop-filter:blur(8px); padding:10px 0; z-index:10; }
.season-controls { display:flex; gap:8px; }
.season-wait { text-align:center; color:var(--gold); font-weight:700; padding:14px; background:var(--card); border:1px solid var(--line); border-radius:12px; margin-bottom:14px; }
.round-results { display:flex; flex-direction:column; gap:5px; margin-bottom:18px; }
.res-row {
  display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center;
  background:var(--card); border-radius:10px; padding:8px 12px; font-size:.85rem;
}
.res-row.mine { border:1px solid var(--gold); border-left:4px solid var(--gold); background:linear-gradient(90deg,rgba(245,197,66,.16),var(--card)); box-shadow:0 0 14px rgba(245,197,66,.15); }
.res-row.h2h { border:1px solid var(--red); border-left:4px solid var(--red); background:linear-gradient(90deg,rgba(239,68,68,.2),var(--card)); box-shadow:0 0 16px rgba(239,68,68,.22); }
/* H3 (Mario): nomi squadra IN RISALTO e leggibili nel salta-stagioni (prima si confondevano) */
.res-row .h, .res-row .a { font-weight:800; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.res-row .h { text-align:right; }
.res-row .a { text-align:left; }
.res-row .s { font-weight:900; color:var(--gold); white-space:nowrap; }
.res-row .own { color:var(--gold); font-weight:900; }
.res-row.h2h .own { color:#fff; }
.res-tag { grid-column:1/-1; font-size:.66rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:2px; }
.res-row.h2h .res-tag { color:#ffb4b4; }
/* nome squadra nel lobby (draft) */
.team-input { width:100%; box-sizing:border-box; background:var(--card); border:1px solid var(--line); border-radius:10px;
  color:#fff; font-size:16px; font-weight:700; padding:12px 14px; }
.team-input:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(245,197,66,.18); }
.standings table { width:100%; border-collapse:collapse; font-size:.82rem; }
.standings th { color:var(--muted); font-size:.68rem; text-transform:uppercase; padding:6px 4px; text-align:left; }
.standings td { padding:7px 4px; border-top:1px solid var(--line); }
.standings tr.mine td { background:rgba(245,197,66,.16); font-weight:800; }
.standings tr.mine td:first-child { box-shadow:inset 3px 0 0 var(--gold); }
.standings tr.mine td.pos { color:var(--gold); }
.standings td.pos { color:var(--muted); width:22px; }
.standings tr.z-ucl td.pos { color:var(--green); font-weight:900; }
.standings tr.z-rel td.pos { color:var(--red); }
.standings td.pts { font-weight:900; text-align:right; }
.owner-tag { font-size:.65rem; color:var(--gold); }

/* MATCH H2H */
.match-arena { text-align:center; padding-top:28px; }
.btn-skip { position:absolute; top:6px; right:6px; z-index:5; background:rgba(30,30,36,.85); border:1px solid var(--line); color:var(--muted); font-weight:800; font-size:.78rem; padding:6px 11px; border-radius:999px; cursor:pointer; }
.btn-skip:active { transform:scale(.96); }
.btn-2x { left:6px; right:auto; }
.btn-2x.on { background:var(--gold); color:#1a1200; border-color:var(--gold); }
.match-badge { display:inline-block; background:var(--red); color:#fff; font-weight:900; font-size:.75rem; letter-spacing:.15em; padding:6px 14px; border-radius:999px; margin-bottom:22px; }
.match-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; }
.match-team { font-weight:800; font-size:1rem; }
.match-team small { display:block; color:var(--gold); font-size:.7rem; font-weight:600; }
.match-result { font-size:2.6rem; font-weight:900; font-variant-numeric:tabular-nums; }
.match-minute { color:var(--muted); font-weight:700; margin:10px 0 16px; font-variant-numeric:tabular-nums; }
.match-events { display:flex; flex-direction:column-reverse; gap:7px; max-height:44dvh; overflow-y:auto; text-align:left; }
.mev { background:var(--card); border-radius:10px; padding:9px 12px; font-size:.85rem; animation:fadein .3s; }
.mev.goal { border:1px solid var(--gold); background:linear-gradient(90deg,rgba(245,197,66,.16),var(--card)); font-weight:700; }
.mev.red { border-left:3px solid var(--red); }
.mev.yellow { border-left:3px solid #eab308; }
#screen-cup h2 { text-align:center; }
.cup-stage-title { text-align:center; font-size:1.05rem; font-weight:800; color:var(--gold); margin:8px 0 14px; }
#btn-cup-start { margin-bottom:8px; }
.mev .min { color:var(--muted); font-weight:800; margin-right:8px; }
#btn-match-done { margin-top:16px; width:100%; }
/* TABELLA RIGORI (si tira / si para / esito) */
.pen-tb { background:var(--card); border:1px solid var(--gold); border-radius:12px; padding:10px 12px; animation:fadein .3s; }
/* tabella rigori LIVE (Draft): card sticky sopra il feed, sempre visibile mentre la telecronaca scorre */
.pen-live { position:sticky; top:6px; z-index:4; max-width:520px; margin:0 auto 8px; box-shadow:0 3px 16px rgba(0,0,0,.4); }
.pen-live .pen-tb-hd::after { content:" · in diretta"; color:var(--red); font-size:.66em; font-weight:800; letter-spacing:.08em; }
.pen-tb-hd { text-align:center; font-weight:900; letter-spacing:.06em; color:var(--gold); margin-bottom:8px; }
.pen-tb-cols { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.pen-tb-col { background:var(--bg2); border:1px solid var(--line); border-radius:10px; padding:7px 8px; min-width:0; }
.pen-tb-team { font-size:.78rem; font-weight:800; color:var(--text); text-align:center; padding-bottom:6px; border-bottom:1px solid var(--line); margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pen-tb-team b { color:var(--gold); }
.pen-tb-kicks { display:flex; flex-direction:column; gap:4px; }
.pen-kick { display:flex; align-items:center; gap:6px; font-size:.8rem; padding:3px 5px; border-radius:7px; background:var(--card); }
.pen-kick .pk-ic { flex:0 0 auto; font-size:.95rem; }
.pen-kick .pk-tk { flex:1 1 auto; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pen-kick.ok { background:linear-gradient(90deg,rgba(245,197,66,.14),var(--card)); }
.pen-kick.no { opacity:.7; }
.pen-recap-win { text-align:center; margin-top:10px; padding-top:8px; border-top:1px solid var(--line); color:var(--gold); font-weight:800; }
.pen-recap-win .min { margin-right:4px; }
.pen-kick.pending { opacity:.6; }
.pen-kick.ok { border-left:3px solid var(--green); }
.pen-kick.no { border-left:3px solid var(--red); opacity:.85; }
.pen-tb-verdict { text-align:center; font-size:.9rem; margin-top:9px; padding-top:8px; border-top:1px solid var(--line); color:var(--muted); }
.pen-tb-verdict.win { color:var(--gold); font-weight:800; }

/* ============ CARRIERA ============ */
.car-h4 { margin:18px 0 8px; color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; }
.car-clubs { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.car-club { text-align:left; background:rgba(30,30,36,.62); backdrop-filter:blur(8px); border:1px solid var(--line); border-radius:12px; padding:11px 12px; cursor:pointer; color:var(--text); }
.car-club.sel { border-color:var(--gold); background:rgba(245,197,66,.16); }
.car-club.taken { opacity:.35; pointer-events:none; }
.car-club.taken .cc-name { text-decoration:line-through; }
.car-club .cc-name { display:block; font-weight:800; font-size:.95rem; }
.car-club .cc-meta { display:block; color:var(--muted); font-size:.68rem; margin-top:2px; }
#btn-car-ready { width:100%; margin-top:14px; }

.dash-header { position:sticky; top:0; z-index:20; display:flex; justify-content:space-between; align-items:center;
  background:linear-gradient(180deg,rgba(7,7,9,.96),rgba(7,7,9,.85)); backdrop-filter:blur(10px);
  padding:12px 4px; border-bottom:1px solid var(--line); }
.dash-home { flex:0 0 auto; background:rgba(30,30,36,.7); border:1px solid var(--line); border-radius:10px; font-size:1.05rem; line-height:1; padding:7px 9px; margin-right:8px; cursor:pointer; }
.dash-home:active { transform:scale(.95); }
.setup-home { display:inline-block; margin-bottom:10px; }
/* tasto EMERGENZA host (online): flottante, sempre raggiungibile → sblocca/ricarica la partita per tutti */
.host-reload { position:fixed; right:12px; bottom:calc(14px + env(safe-area-inset-bottom)); z-index:150; width:46px; height:46px; border-radius:50%; background:rgba(30,30,36,.92); border:1px solid var(--gold); color:var(--gold); font-size:1.25rem; line-height:1; cursor:pointer; box-shadow:0 6px 20px rgba(0,0,0,.5); }
.host-reload.hidden { display:none; }
.host-reload:active { transform:scale(.94); }
.dash-club { flex:1 1 auto; min-width:0; }
.dash-club span { font-weight:900; font-size:1.15rem; }
.btn-continue { border:1px solid var(--gold); }
.dash-club small, .dash-budget small { display:block; color:var(--muted); font-size:.68rem; }
.dash-budget { text-align:right; display:flex; flex-direction:column; gap:1px; flex:0 0 auto; white-space:nowrap; }
.dash-budget .bud-row { display:flex; gap:5px; align-items:baseline; justify-content:flex-end; }
.dash-budget span { font-weight:900; color:var(--green); font-size:1rem; }
.dash-budget span.wage { color:var(--gold); }
.dash-budget .bud-row small { display:inline; color:var(--muted); font-size:.6rem; }
.dash-tabs { position:sticky; top:52px; z-index:19; display:flex; gap:4px; background:rgba(7,7,9,.92); backdrop-filter:blur(8px); padding:8px 0; overflow-x:auto; }
.dash-tab { flex:1; white-space:nowrap; border:none; background:var(--card2); color:var(--muted); font-weight:700; font-size:.82rem; padding:10px 8px; border-radius:10px; cursor:pointer; }
.dash-tab.active { background:var(--gold); color:#1a1200; }
#dash-body { padding-top:12px; padding-bottom:40px; }

/* ===== MANUALE della carriera (tasto 📖 nell'header → modale accordion) ===== */
.dash-info { flex:0 0 auto; background:rgba(30,30,36,.7); border:1px solid var(--line); border-radius:10px; font-size:1.05rem; line-height:1; padding:7px 9px; margin-right:8px; cursor:pointer; }
.dash-info:active { transform:scale(.95); }
.man-scroll { max-height:70vh; overflow-y:auto; -webkit-overflow-scrolling:touch; margin-top:4px; }
.man-intro { font-size:.88rem; color:var(--text); background:linear-gradient(120deg,rgba(245,197,66,.13),rgba(245,197,66,.11)); border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin:0 0 12px; }
.man-intro b { color:var(--gold); }
.man-sec { background:var(--card); border:1px solid var(--line); border-radius:12px; margin-bottom:8px; overflow:hidden; }
.man-sec > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:11px 12px; border-left:3px solid var(--gold); font-weight:800; }
.man-sec > summary::-webkit-details-marker { display:none; }
.man-sec > summary:active { background:rgba(255,255,255,.03); }
.man-sec[open] > summary { background:rgba(255,255,255,.02); }
.man-ico { flex:0 0 auto; width:30px; height:30px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:1.05rem; background:rgba(245,197,66,.16); }
.man-tt { flex:1 1 auto; font-size:.95rem; }
.man-arrow { flex:0 0 auto; color:var(--muted); transition:transform .18s ease; font-size:.8rem; }
.man-sec[open] > summary .man-arrow { transform:rotate(90deg); }
.man-body { padding:2px 13px 13px 15px; font-size:.85rem; color:var(--text); line-height:1.5; }
.man-body p { margin:8px 0; }
.man-body ul { margin:6px 0; padding-left:17px; }
.man-body li { margin:5px 0; }
.man-body .g{color:var(--gold);font-weight:700} .man-body .gr{color:var(--green);font-weight:700} .man-body .bl{color:#cdb079;font-weight:700} .man-body .rd{color:var(--red);font-weight:700} .man-body .pu{color:#a78bfa;font-weight:700}
.man-body .pill { display:inline-block; background:var(--card2); border:1px solid var(--line); border-radius:6px; padding:1px 6px; font-size:.78rem; font-weight:700; white-space:nowrap; }
.man-tip { margin-top:10px; background:rgba(34,197,94,.10); border:1px solid rgba(34,197,94,.3); border-radius:9px; padding:7px 10px; font-size:.81rem; }
.man-tip b { color:var(--green); }
.man-sec.a-blue>summary{border-left-color:#3b82f6}.man-sec.a-blue .man-ico{background:rgba(245,197,66,.16)}
.man-sec.a-green>summary{border-left-color:#22c55e}.man-sec.a-green .man-ico{background:rgba(34,197,94,.16)}
.man-sec.a-cyan>summary{border-left-color:#22d3ee}.man-sec.a-cyan .man-ico{background:rgba(34,211,238,.16)}
.man-sec.a-purple>summary{border-left-color:#a78bfa}.man-sec.a-purple .man-ico{background:rgba(167,139,250,.18)}
.man-sec.a-orange>summary{border-left-color:#fb923c}.man-sec.a-orange .man-ico{background:rgba(251,146,60,.16)}
.man-sec.a-red>summary{border-left-color:#ef4444}.man-sec.a-red .man-ico{background:rgba(239,68,68,.16)}
.man-sec.a-teal>summary{border-left-color:#2dd4bf}.man-sec.a-teal .man-ico{background:rgba(45,212,191,.16)}

/* ===== Lista "Le mie carriere": azioni Riprendi + Elimina ===== */
.mycar-actions { flex:0 0 auto; display:flex; align-items:center; gap:5px; }
.mycar-del { padding:6px 8px; border:1px solid rgba(239,68,68,.45); color:var(--red); background:rgba(239,68,68,.08); }
.mycar-del:active { transform:scale(.94); background:rgba(239,68,68,.18); }

.rosa-top { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:12px; text-align:center; margin-bottom:12px; font-size:.9rem; }
.rosa-role { color:var(--gold); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; margin:14px 0 6px; }
/* H3 — intestazione risultati ANCORATA: resta visibile mentre scorri i risultati (multi-lega/stagione) → capisci sempre "chi è chi" */
.rosa-role.res-head { position:sticky; top:96px; z-index:14; background:rgba(7,7,9,.95); backdrop-filter:blur(8px); font-size:.82rem; color:var(--gold); margin:12px 0 4px; padding:7px 2px 6px; border-bottom:1px solid rgba(245,197,66,.35); box-shadow:0 6px 10px -8px rgba(0,0,0,.6); }
/* filtro/ordine panchina (overall / ruolo) */
.bench-sort { float:right; display:inline-flex; gap:4px; text-transform:none; letter-spacing:0; }
.bs-btn { background:var(--card2); border:1px solid var(--line); color:var(--muted); font-weight:700; font-size:.64rem; padding:3px 7px; border-radius:8px; cursor:pointer; }
.bs-btn.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); }
.pl-row { display:flex; align-items:center; gap:7px; background:rgba(30,30,36,.55); border:1px solid var(--line); border-radius:11px; padding:9px 10px; margin-bottom:5px; }
.pl-row[data-buy] { cursor:pointer; } .pl-row[data-buy]:active { transform:scale(.99); }
.pl-row .roles { flex:0 0 42px; width:42px; font-size:.58rem; font-weight:800; color:var(--blue); line-height:1.15; letter-spacing:-.02em; }
.pl-name { flex:1 1 0; min-width:0; font-weight:700; font-size:.88rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .pl-name small { display:block; color:var(--muted); font-size:.66rem; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pl-row .ovr { flex:0 0 auto; width:24px; text-align:right; font-weight:900; font-size:1rem; }
.pl-val { flex:0 0 auto; font-weight:800; color:#9fe6b0; font-size:.78rem; min-width:44px; text-align:right; }
.pl-buy { flex:0 0 auto; color:var(--gold); font-weight:800; font-size:.72rem; white-space:nowrap; }
.pl-row.mine { border-color:var(--gold); background:rgba(245,197,66,.1); }
.pl-row.injured { border-color:rgba(239,120,120,.55); background:rgba(239,120,120,.08); }
.pslot.injured .dot { border-color:#ef7878; box-shadow:0 0 0 3px rgba(239,120,120,.25); }
.pl-sell { background:none; border:1px solid var(--line); color:var(--gold); border-radius:8px; padding:5px 8px; font-size:.9rem; cursor:pointer; touch-action:none; flex:0 0 auto; }
.final-stats { margin:16px 0 8px; text-align:left; }
.fs-title { color:var(--gold); font-size:.95rem; font-weight:800; margin:16px 0 8px; }

.mkt-bar { position:sticky; top:96px; background:rgba(7,7,9,.9); backdrop-filter:blur(8px); padding:8px 0; z-index:15; }
#mkt-q { width:100%; margin-bottom:7px; }
.mkt-filters { display:flex; gap:6px; flex-wrap:wrap; }
.mkt-filters select { flex:1 1 70px; min-width:70px; background:var(--card); border:1px solid var(--line); color:var(--text); border-radius:10px; padding:9px 6px; font-size:.82rem; }
.mkt-closed, .mkt-more { text-align:center; color:var(--muted); padding:14px; font-size:.85rem; }
.mkt-more-btn { display:block; width:100%; margin:10px 0 4px; }

/* editor formazione */
.form-bar { display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; margin-bottom:10px; }
.form-chip { flex:0 0 auto; background:var(--card2); border:1px solid var(--line); color:var(--muted); font-weight:800; font-size:.82rem; padding:9px 12px; border-radius:10px; cursor:pointer; }
.form-chip.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); }
.form-auto { flex:0 0 auto; background:var(--card2); border:1px dashed var(--gold); color:var(--gold); font-weight:800; font-size:.82rem; padding:9px 12px; border-radius:10px; cursor:pointer; }
.drag-hint { color:var(--muted); font-size:.72rem; }
.ment-bar { display:flex; gap:6px; margin-bottom:10px; }
.ment-chip { flex:1; background:var(--card2); border:1px solid var(--line); color:var(--muted); font-weight:700; font-size:.8rem; padding:10px 4px; border-radius:10px; cursor:pointer; }
.ment-chip.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); }
/* barra degli 8 STILI: va a capo su più righe (niente sfondamento orizzontale della pagina su mobile stretti) */
.style-bar { flex-wrap:wrap; }
.style-bar .ment-chip { flex:1 1 22%; min-width:0; }
/* stile INCOMPATIBILE con la mentalità scelta (es. catenaccio con Offensivo): non selezionabile, spento */
.ment-chip.locked { opacity:.32; cursor:not-allowed; text-decoration:line-through; }
.st-pos { color:var(--muted); font-weight:800; width:22px; text-align:center; }
.st-num { font-weight:900; color:var(--gold); min-width:48px; text-align:right; }
.mine-txt { color:var(--gold); }
/* verde del campo = SCORRI la pagina (pan-y); solo i giocatori (.pslot) catturano il tocco per trascinarli.
   Durante un drag attivo il preventDefault sul pointermove blocca comunque lo scroll → il trascinamento non si rompe. */
#screen-car-dash .pitch { touch-action:pan-y; margin-bottom:6px; }
#screen-car-dash .pslot { cursor:grab; touch-action:none; }
#screen-car-dash .pslot .nm { max-width:78px; }
.pslot .dot.off { border-color:#fca5a5 !important; color:#fca5a5 !important; }
.pslot.drag-over .dot { border-color:var(--green); background:rgba(34,197,94,.3); box-shadow:0 0 18px rgba(34,197,94,.7); transform:scale(1.12); }
#reserves .pl-row { touch-action:pan-y; }   /* swipe = scorri la lista; TIENI PREMUTO ~170ms = afferra (kanban) */
/* niente selezione testo / callout "copia-incolla" mentre trascini (iOS) */
#reserves .pl-row, .drag-grip, #screen-car-dash .pitch, #screen-car-dash .pslot, #screen-car-dash .pslot .nm {
  -webkit-user-select:none; -moz-user-select:none; user-select:none; -webkit-touch-callout:none;
}
.pl-row.drag-src { opacity:.35; }           /* la card afferrata "si solleva" */
.drag-grip { color:var(--gold); font-size:1.4rem; cursor:grab; touch-action:none; padding:8px 14px 8px 6px; margin:-6px 0; align-self:stretch; display:flex; align-items:center; }
.drag-grip:active { cursor:grabbing; }
#reserves.drag-over { outline:2px dashed var(--green); outline-offset:2px; border-radius:12px; background:rgba(34,197,94,.06); }
.drag-ghost { position:fixed; z-index:200; transform:translate(-50%,-140%); background:var(--gold); color:#1a1200; font-weight:900; font-size:.82rem; padding:8px 12px; border-radius:10px; pointer-events:none; box-shadow:0 8px 24px rgba(0,0,0,.5); white-space:nowrap; }
/* tasto vendi / etichetta prestito sul campo */
.pslot-sell { position:absolute; top:-8px; right:-8px; background:#0f172a; border:1px solid var(--gold); color:var(--gold); border-radius:50%; width:22px; height:22px; font-size:.7rem; line-height:1; cursor:pointer; touch-action:none; padding:0; z-index:3; }
.pslot-loan { position:absolute; top:-8px; right:-8px; font-size:.8rem; z-index:3; }
.pl-loan { color:var(--muted); font-size:.72rem; font-weight:700; flex:0 0 auto; padding:5px 6px; white-space:nowrap; }
/* tasto info giocatore (ℹ️) */
.pl-info { background:none; border:1px solid var(--line); color:var(--muted); border-radius:8px; padding:5px 7px; font-size:.82rem; cursor:pointer; touch-action:none; flex:0 0 auto; }
.pslot-info { position:absolute; top:-8px; left:-8px; background:#0f172a; border:1px solid var(--line); border-radius:50%; width:22px; height:22px; font-size:.66rem; line-height:1; cursor:pointer; touch-action:none; padding:0; z-index:3; }
/* modale info giocatore */
.pinfo-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; }
.pinfo-cell { background:rgba(17,17,21,.55); border:1px solid var(--line); border-radius:10px; padding:8px 10px; font-size:.86rem; }
.pinfo-cell span { display:block; color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.03em; margin-bottom:2px; }
/* SIMMETRIA: la cella Potenziale è sempre l'ultima. Se resta ORFANA (numero celle dispari, es. quando c'è la Nazione)
   occupa l'intera riga invece di restare storta a sinistra; contenuto centrato e bottone Osservatore a tutta larghezza. */
.pinfo-grid .pinfo-cell:last-child:nth-child(odd) { grid-column:1 / -1; }
.pinfo-grid .pinfo-cell:last-child { text-align:center; }
.pinfo-grid .pinfo-cell:last-child .btn-mini { display:block; width:100%; margin-top:6px; }
.pinfo-warn { background:rgba(243,166,166,.1); border:1px solid rgba(243,166,166,.3); border-radius:10px; padding:8px 11px; font-size:.82rem; margin:6px 0; }
.pinfo-renew { background:rgba(212,175,55,.08); border:1px solid rgba(212,175,55,.3); border-radius:10px; padding:10px 12px; margin:8px 0; font-size:.84rem; }
.pinfo-renew .btn { width:100%; margin-top:8px; }
.loanout-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:8px; }
.loanout-row > span { color:var(--muted); font-size:.78rem; flex:1 1 100%; margin-bottom:2px; }
.loy, .lop { flex:1 1 0; min-width:64px; }
.loy.sel, .lop.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); font-weight:800; }
.pl-row.loaned-out { opacity:.72; }
.pl-row.loaned-out .drag-grip { visibility:hidden; }
/* codice salvataggio carriera */
.save-code { font-family:ui-monospace,monospace; font-size:1.9rem; font-weight:900; letter-spacing:.28em; text-align:center; color:var(--gold); background:rgba(17,17,21,.6); border:1px dashed var(--gold); border-radius:12px; padding:14px 10px; margin:10px 0 14px; user-select:all; }
/* mercato tra allenatori umani */
.deal-row { display:flex; align-items:center; gap:8px; background:rgba(17,17,21,.55); border:1px solid var(--line); border-radius:12px; padding:9px 11px; margin-bottom:6px; }
.deal-txt { flex:1 1 0; min-width:0; font-size:.82rem; }
.deal-btns { flex:0 0 auto; display:flex; gap:5px; }
.hdeal-clubs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.hdeal-clubs .hdeal-club { flex:1 1 auto; }
.hdeal-types { display:flex; gap:6px; margin:10px 0; }
.hdeal-types .chip { flex:1 1 0; text-align:center; }
.hswap-p, .hgive-p { background:rgba(17,17,21,.6); border:1px solid var(--line); border-radius:9px; padding:7px 9px; font-size:.8rem; cursor:pointer; color:var(--fg); }
.hswap-p.sel, .hgive-p.sel { border-color:var(--gold); background:rgba(212,175,55,.14); }
/* rigori interattivi: overlay a schermo intero */
.pen-ov { position:fixed; inset:0; z-index:150; display:none; align-items:center; justify-content:center; background:rgba(4,6,12,.86); backdrop-filter:blur(6px); padding:16px; }
.pen-card { width:100%; max-width:420px; text-align:center; }
.pen-card-tb { background:var(--card); border:1px solid var(--gold); border-radius:14px; padding:12px; }
.pen-card-tb .pen-tb-hd { margin-bottom:8px; }
.pen-card-tb .pen-turn, .pen-card-tb .pen-goal, .pen-card-tb .pen-title, .pen-card-tb .pen-msg, .pen-card-tb .pen-last, .pen-card-tb .pen-duel, .pen-card-tb .pen-wait { margin-top:10px; }
.pen-card-tb .pen-kick.pending { opacity:1; border-left:3px solid var(--gold); animation:pulse 1.1s infinite; }
.pen-h { font-size:1.15rem; font-weight:800; margin-bottom:10px; line-height:1.3; }
.pen-strip { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; min-height:24px; margin-bottom:8px; }
.pen-strip .pk { font-size:1.1rem; } .pen-strip .pen-dim { color:var(--muted); }
.pen-last { font-weight:800; font-size:1.05rem; margin:6px 0; }
.pen-last.g { color:var(--green); } .pen-last.x { color:var(--red); }
.pen-turn { margin:10px 0 6px; font-size:.95rem; } .pen-turn small { color:var(--muted); }
/* vista SPETTATORE dei rigori interattivi: chi tira vs chi para (sola lettura, chiara) */
.pen-duel { display:flex; align-items:stretch; justify-content:center; gap:10px; margin:14px 0 6px; }
.pen-side { flex:1; max-width:150px; background:rgba(17,17,21,.5); border:1px solid var(--line); border-radius:10px; padding:10px 8px; }
.pen-side.pen-shoot { border-color:rgba(74,222,128,.5); }
.pen-side.pen-keep { border-color:rgba(245,197,66,.45); }
.pen-role { font-size:.72rem; letter-spacing:.06em; color:var(--muted); font-weight:700; }
.pen-who { font-size:1.05rem; font-weight:800; margin-top:3px; line-height:1.2; }
.pen-club { font-size:.78rem; color:var(--muted); margin-top:2px; }
.pen-vs { align-self:center; font-size:.8rem; color:var(--muted); font-weight:700; }
.pen-wait { margin:10px 0 2px; font-size:.85rem; color:var(--muted); }
.pen-title { font-weight:800; color:var(--gold); margin:12px 0 8px; }
.pen-goal { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr); gap:8px; aspect-ratio:3/1.4;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); border:3px solid rgba(255,255,255,.5); border-radius:8px; padding:8px; }
.pen-z { font-size:1.7rem; background:rgba(17,17,21,.5); border:1px solid var(--line); border-radius:8px; color:#fff; cursor:pointer; touch-action:manipulation; transition:background .1s, transform .1s; }
.pen-z:active { transform:scale(.94); } .pen-z:hover { background:rgba(212,175,55,.18); } .pen-z.sel { background:var(--gold); color:#1a1200; }
.pen-z:disabled { opacity:.5; }
.pen-msg { margin:14px 0; font-size:1rem; font-weight:700; } .pen-msg small { color:var(--muted); font-weight:500; }
.pen-msg.win { color:var(--gold); font-size:1.3rem; }
/* toggle formazione partita-per-partita (single player) */
.permatch-toggle { display:flex; align-items:center; gap:8px; margin-top:10px; font-size:.82rem; color:var(--muted); cursor:pointer; }
.permatch-toggle input { width:18px; height:18px; accent-color:var(--gold); }
/* durata prestito + spostamento budget */
.cm-years { margin:8px 0 12px; }
.ws-ctrl { display:flex; gap:8px; margin-top:6px; }
.ws-ctrl .btn { flex:1; }
.ws-slider { width:100%; margin:8px 0 4px; accent-color:var(--gold); height:26px; }
.ws-nudge { display:flex; gap:8px; margin:2px 0 4px; }
.ws-nudge .btn { flex:1; }
.ws-ends { display:flex; justify-content:space-between; opacity:.55; font-size:.72rem; }
/* 🌱 Giovanili: card a 2 righe (nome pieno + azioni sotto) → leggibile su telefono */
.youth-card { background:rgba(30,30,36,.55); border:1px solid var(--line); border-radius:11px; padding:9px 11px; margin-bottom:6px; }
.youth-card.sold { opacity:.65; }
.yc-head { display:flex; align-items:center; gap:8px; }
.yc-role { flex:0 0 auto; font-size:.62rem; font-weight:800; color:var(--blue); letter-spacing:-.02em; }
.yc-name { flex:1 1 auto; min-width:0; font-weight:800; font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.youth-card .ovr { flex:0 0 auto; font-weight:900; font-size:1.05rem; }
.youth-card .pot { margin-left:0; }
.yc-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:8px; flex-wrap:wrap; }
.yc-meta { font-size:.72rem; color:var(--muted); font-weight:600; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yc-actions { display:flex; gap:6px; flex:1 1 auto; justify-content:flex-end; flex-wrap:wrap; }
.yc-actions .pl-info, .yc-actions .pl-sell, .yc-actions .pl-loan { font-size:.78rem; padding:6px 10px; white-space:nowrap; }
.yc-actions .yc-promote { color:var(--green); border-color:rgba(74,222,128,.5); }
.yc-actions .yc-release { color:#f3a6a6; }
.youth-card.must-decide { border-color:var(--gold); background:rgba(245,197,66,.09); }
/* OFFERTA di prestito in entrata per un tuo giovane: banner evidenziato con accetta/tratta/rifiuta */
.youth-card.has-offer { border-color:rgba(74,222,128,.55); background:rgba(74,222,128,.07); }
.yc-loanoffer { margin-top:8px; padding-top:8px; border-top:1px dashed var(--line); font-size:.82rem; }
.yc-loanoffer .yc-actions { margin-top:7px; }
.yc-loanoffer .btn-mini { padding:7px 10px; font-size:.76rem; }
.yc-loanoffer .yl-acc { background:var(--green); color:#08130a; border-color:var(--green); font-weight:800; }
.yc-loanoffer .yl-rej { color:#f3a6a6; }
/* notizie di mercato (stile breaking-news) */
.news-feed { display:flex; flex-direction:column; gap:5px; margin-bottom:8px; }
.news-row { display:flex; gap:8px; align-items:flex-start; font-size:.8rem; line-height:1.3; background:rgba(30,30,36,.5); border:1px solid var(--line); border-left:3px solid var(--muted); border-radius:9px; padding:7px 10px; }
.news-row.mine { border-left-color:var(--gold); background:rgba(245,197,66,.09); }
.news-badge { flex:0 0 auto; font-size:.6rem; font-weight:900; letter-spacing:.03em; color:#7ee4a3; background:rgba(34,197,94,.14); border-radius:6px; padding:2px 5px; white-space:nowrap; }
.news-badge.loan { color:#8fc7ff; background:rgba(96,165,250,.16); }
/* rose live degli allenatori */
.hsquad { background:rgba(30,30,36,.5); border:1px solid var(--line); border-radius:10px; padding:8px 11px; margin-bottom:5px; }
.hsquad.mine { border-color:var(--gold); background:rgba(245,197,66,.08); }
.hsquad summary { cursor:pointer; font-size:.86rem; list-style:none; }
.hsquad summary::-webkit-details-marker { display:none; }
.hsquad-xi { display:flex; flex-wrap:wrap; gap:5px 10px; margin-top:8px; }
.hx { font-size:.74rem; color:var(--muted); white-space:nowrap; } .hx b { color:var(--gold); }
/* SINGLE PLAYER: obiettivo + fiducia dirigenza */
.board-box { background:linear-gradient(180deg,rgba(30,30,36,.7),rgba(17,17,21,.5)); border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:12px; }
.board-row { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:.84rem; margin-bottom:6px; }
.board-pos { font-weight:900; color:var(--gold); }
.conf-bar { height:8px; background:rgba(255,255,255,.08); border-radius:6px; overflow:hidden; }
.conf-fill { height:100%; border-radius:6px; transition:width .4s; }
.board-status { margin-top:6px; padding:7px 9px; border-radius:8px; font-size:.82rem; background:rgba(255,255,255,.04); display:flex; justify-content:space-between; align-items:center; gap:8px; }
.board-status small { color:var(--muted); flex:0 0 auto; }
.board-status.green { background:rgba(34,197,94,.12); color:#8ef0b0; }
.board-status.gold { background:rgba(245,197,66,.12); color:var(--gold); }
.board-status.red { background:rgba(239,68,68,.12); color:#f3a6a6; }
/* anteprima prossimo avversario */
.next-opp { background:rgba(30,30,36,.5); border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:10px; padding:10px 12px; margin-bottom:8px; }
.no-head { font-size:.9rem; } .no-head small { color:var(--muted); }
.no-note { font-size:.78rem; color:var(--muted); margin-top:4px; }
/* bacheca trofei */
.trophy-grid { display:flex; gap:8px; margin-bottom:10px; }
.trophy-cell { flex:1; text-align:center; background:rgba(30,30,36,.55); border:1px solid var(--line); border-radius:12px; padding:12px 6px; }
.trophy-cell.empty { opacity:.4; }
.tro-ico { font-size:1.5rem; } .tro-n { font-weight:900; font-size:1.2rem; color:var(--gold); } .tro-lab { font-size:.66rem; color:var(--muted); text-transform:uppercase; }
/* toast traguardi */
#dsa-toast { position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(30px); background:var(--gold); color:#1a1200; font-weight:800; font-size:.86rem; padding:11px 18px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.5); z-index:300; opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; max-width:88vw; text-align:center; }
#dsa-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
/* modale esonero */
#sack-list { display:flex; flex-direction:column; gap:8px; }
.sack-club { text-align:left; } .sack-club small { color:var(--muted); margin-left:6px; }
/* interruttore competizione (Serie A / Champions) nel draft */
.comp-toggle { display:flex; gap:6px; background:rgba(30,30,36,.5); border:1px solid var(--line); border-radius:12px; padding:4px; margin-bottom:8px; }
.comp-tab { flex:1; background:none; border:none; color:var(--muted); font-weight:800; font-size:.92rem; padding:10px 6px; border-radius:9px; cursor:pointer; }
.comp-tab.active { background:var(--gold); color:#1a1200; }
.comp-tab:disabled { opacity:.4; }
.comp-note { color:var(--muted); font-size:.78rem; margin:0 2px 12px; line-height:1.35; }
/* gironi Champions */
#cl-body { padding-bottom:30px; }
.cl-group { background:rgba(17,17,21,.5); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-bottom:6px; }
.cl-group .res-row { border-radius:0; border:none; border-top:1px solid var(--line); margin:0; }
.cl-group .res-row:first-child { border-top:none; }
.cl-group .res-row.q { background:rgba(34,197,94,.10); }
.cl-group .res-row.q.mine { background:rgba(245,197,66,.14); }
.cl-group .res-row.po { background:rgba(245,197,66,.09); }
.cl-group .res-row.po.mine { background:rgba(245,197,66,.14); }
.cl-group .clp { color:var(--muted); width:18px; text-align:center; font-weight:700; }
.cl-group .res-row .h { flex:1; text-align:left; }
.cl-group .cls { color:var(--muted); font-size:.72rem; }
.cl-group .clpt { font-weight:900; color:var(--gold); min-width:26px; text-align:right; }
/* intro "formazioni a confronto" prima del fischio d'inizio */
.mt-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; text-align:left; }
.mt-xi { flex:1; display:flex; flex-direction:column; gap:3px; font-size:.72rem; color:#dfe7f5; }
.mt-xi-h { font-weight:900; color:var(--gold); font-size:.8rem; margin-bottom:3px; }
.mt-xi-vs { align-self:center; font-weight:900; color:var(--muted); font-size:.9rem; padding:0 2px; }
.mev.pen { color:var(--gold); font-weight:800; }
.mev.pen-step { border-left:3px solid var(--gold); font-style:italic; opacity:.92; animation:penpulse .78s ease-in-out infinite; }
@keyframes penpulse { 0%,100% { background:var(--card); } 50% { background:rgba(245,197,66,.12); } }

/* INTRO scontro diretto: campo con le due formazioni a confronto (stile modulo, con overall) */
.mt-vs { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:2px 0 4px; font-size:.72rem; }
.mt-vs-t { flex:1; font-weight:800; color:#dfe7f5; line-height:1.15; }
.mt-vs-t.home { text-align:right; }
.mt-vs-t i { font-style:normal; color:var(--muted); font-weight:700; }
.mt-vs-t b { display:inline-block; min-width:24px; text-align:center; margin-left:4px; padding:1px 5px; border-radius:6px; background:#0f172a; font-size:.72rem; }
.mt-vs-t.home b { color:var(--gold); border:1px solid var(--gold); }
.mt-vs-t.away b { color:#7dd3fc; border:1px solid #7dd3fc; }
.mt-vs-x { font-weight:900; color:var(--muted); font-size:1rem; }
.mt-pitch { position:relative; width:100%; aspect-ratio:3/4.3; max-height:66vh;
  background:
    linear-gradient(180deg, rgba(125,211,252,.12) 0%, rgba(125,211,252,.04) 34%, transparent 46% 54%, rgba(245,197,66,.05) 66%, rgba(245,197,66,.13) 100%),
    linear-gradient(180deg,#0e3f24,#166534 50%,#0e3f24);
  border:2px solid #2f7d4f; border-radius:14px; overflow:hidden; }
.mt-pitch::before { content:""; position:absolute; left:0; right:0; top:50%; height:0; border-top:2px dashed rgba(255,255,255,.32); }
.mt-pitch::after { content:""; position:absolute; left:50%; top:50%; width:58px; height:58px; transform:translate(-50%,-50%); border:2px solid rgba(255,255,255,.22); border-radius:50%; }
.mt-p { position:absolute; transform:translate(-50%,-50%); width:46px; text-align:center; z-index:1; display:flex; flex-direction:column; align-items:center; }
.mt-p.away { flex-direction:column-reverse; }   /* ospiti (in alto): nome SOPRA il pallino → non copre la riga sotto */
.mt-p .mt-dot { z-index:2; }
.mt-dot { width:29px; height:29px; margin:0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:.7rem; background:#0f172a; box-shadow:0 2px 6px rgba(0,0,0,.45); }
.mt-p.home .mt-dot { border:2px solid var(--gold); color:var(--gold); }
.mt-p.away .mt-dot { border:2px solid #7dd3fc; color:#7dd3fc; }
.mt-p.empty .mt-dot { border:2px dashed rgba(255,255,255,.35); color:rgba(255,255,255,.55); font-size:.6rem; }
.mt-nm { font-size:.5rem; font-weight:700; color:#fff; text-shadow:0 1px 3px #000, 0 0 3px #000; line-height:1; margin:2px auto 0; max-width:52px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.stag-box { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:14px; }
.stag-box p { margin-bottom:12px; line-height:1.5; } .stag-box .btn { width:100%; }

.ctab { width:100%; border-collapse:collapse; font-size:.84rem; }
.ctab th { color:var(--muted); font-size:.62rem; text-transform:uppercase; padding:5px 4px; text-align:left; }
.ctab td { padding:8px 4px; border-top:1px solid var(--line); }
.ctab td.pos { color:var(--muted); width:22px; } .ctab td.pts { font-weight:900; text-align:right; } .ctab td.ex { color:var(--muted); text-align:right; font-size:.72rem; }
.ctab tr.mine td { background:rgba(245,197,66,.1); font-weight:700; }
.ctab tr.z-ucl td.pos { color:var(--green); font-weight:900; } .ctab tr.z-rel td.pos { color:var(--red); }
/* classifica COMPLETA (V N P GF GS DR PT) — scrollabile in orizzontale se non ci sta */
.ctab-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ctab-full { font-size:.72rem; min-width:340px; }
.ctab-full th, .ctab-full td { padding:6px 4px; text-align:center; white-space:nowrap; }
.ctab-full td.pos { width:16px; }
.ctab-full th:nth-child(2), .ctab-full td.tc-club { text-align:left; }
.ctab-full td.pts { text-align:center; }
.lg-head { width:100%; text-align:left; background:rgba(30,30,36,.55); border:1px solid var(--line); border-radius:11px; color:var(--text); font-weight:800; font-size:.9rem; padding:12px 14px; margin:6px 0; cursor:pointer; }
.lg-head small { color:var(--muted); font-weight:600; margin-left:4px; }
.lg-body { padding:2px 6px 10px; animation:fadein .2s; }

.car-modal { position:fixed; inset:0; z-index:100; background:rgba(4,6,12,.7); backdrop-filter:blur(4px); display:flex; align-items:flex-end; justify-content:center; }
.car-modal.hidden { display:none; }
.car-modal-box { width:100%; max-width:520px; background:var(--bg2); border:1px solid var(--gold); border-radius:20px 20px 0 0; padding:20px 18px calc(24px + env(safe-area-inset-bottom)); position:relative; animation:slideup .25s ease; }
.cm-x { position:absolute; right:14px; top:14px; background:none; border:none; color:var(--muted); font-size:1.2rem; cursor:pointer; }
.car-modal-box h3 { font-size:1.3rem; } .cm-sub { color:var(--muted); font-size:.82rem; margin:3px 0 10px; }
.cm-val { font-size:.85rem; margin-bottom:12px; }
.cm-type { display:flex; gap:8px; margin-bottom:14px; }
.cm-tb { flex:1; padding:11px; border-radius:10px; background:var(--card2); border:1px solid var(--line); color:var(--text); font-weight:700; cursor:pointer; }
.cm-tb.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); }
.cm-lab { display:block; font-size:.85rem; margin-bottom:6px; } .cm-lab b { color:var(--gold); }
#cm-range { width:100%; margin-bottom:14px; accent-color:var(--gold); }
#cm-send { width:100%; }
#cm-result { margin-top:12px; }
.cm-good { color:var(--green); font-weight:700; padding:10px; background:rgba(34,197,94,.12); border-radius:10px; }
.cm-bad { color:#fca5a5; padding:10px; background:rgba(239,68,68,.1); border-radius:10px; }
.cm-counter { padding:10px; background:rgba(245,197,66,.12); border-radius:10px; }
.cm-counter .btn-mini { margin-top:8px; width:100%; background:var(--gold); color:#1a1200; }

/* scambio nel modale */
.cm-swaplist { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; max-height:180px; overflow-y:auto; }
.cm-give { background:var(--card2); border:1px solid var(--line); color:var(--text); border-radius:10px; padding:8px 10px; font-weight:700; font-size:.82rem; cursor:pointer; }
.cm-give.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); }
.cm-give small { color:var(--muted); font-weight:600; } .cm-give.sel small { color:#4a3600; }
#cm-cashr { width:100%; margin-bottom:14px; accent-color:var(--gold); } #cm-swap { width:100%; }

/* offerte in arrivo (mercato) */
.mkt-offers.none { text-align:center; color:var(--muted); padding:14px; font-size:.82rem; background:rgba(30,30,36,.4); border:1px dashed var(--line); border-radius:11px; margin-bottom:10px; }
.offer-row { display:flex; align-items:center; gap:9px; background:rgba(245,197,66,.08); border:1px solid var(--gold); border-radius:11px; padding:9px 11px; margin-bottom:6px; }
.off-actions { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.off-actions .btn-mini { padding:8px 10px; font-size:.78rem; }
.off-acc { background:var(--green) !important; color:#04220f !important; border-color:var(--green) !important; }

/* osservatori (scout) */
.scout-role { color:var(--text); font-weight:800; font-size:.82rem; margin:9px 0 4px; border-left:3px solid var(--gold); padding-left:8px; }
.scout-role small { color:var(--muted); font-weight:600; font-size:.7rem; }
/* TAB Osservatori: tasti richiesta */
.scout-reqs { display:flex; flex-wrap:wrap; gap:7px; margin:4px 0 8px; }
.scout-req { font-size:.8rem; }
.scout-req.sel { background:var(--gold); color:#1a1200; border-color:var(--gold); font-weight:800; }
.scout-hint { font-size:.8rem; color:var(--muted); background:rgba(30,30,36,.4); border:1px dashed var(--line); border-radius:10px; padding:8px 10px; margin-bottom:8px; }
/* fine campionato: risultati prima di Coppa/Champions */
.endrev h3 { font-size:1.15rem; margin-bottom:10px; }
.endrev-row { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 10px; border-radius:9px; background:rgba(30,30,36,.5); border:1px solid var(--line); margin-bottom:5px; font-size:.9rem; }
.endrev-row small { color:var(--muted); }
.endrev-row.win { border-color:var(--gold); background:linear-gradient(90deg,rgba(245,197,66,.16),var(--card)); box-shadow:0 0 14px rgba(245,197,66,.15); }
.endrev-pos { color:var(--gold); font-weight:800; white-space:nowrap; }
.endrev-win { text-align:center; color:var(--gold); font-weight:800; font-size:1.05rem; margin:10px 0 12px; }

/* ============ TEMA FOTOGRAFICO / PREMIUM ============ */
:root{
  --img-stadium:url("https://images.unsplash.com/photo-1522778119026-d647f0596c20?auto=format&fit=crop&w=1200&q=70");
  --img-night:url("https://images.unsplash.com/photo-1489944440615-453fc2b6a9a9?auto=format&fit=crop&w=1400&q=65");
  --img-crowd:url("https://images.unsplash.com/photo-1508098682722-e99c43a406b2?auto=format&fit=crop&w=1400&q=65");
  --img-pitch:url("https://images.unsplash.com/photo-1459865264687-595d652de67e?auto=format&fit=crop&w=1400&q=65");
}
/* sfondo globale: atmosfera stadio notturno.
   Su mobile/iOS 'background-attachment:fixed' è problematico → uso un layer ::before fisso. */
body{ background:var(--bg); overflow-x:hidden; }
body::before{
  content:""; position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(1100px 640px at 50% -120px, rgba(245,197,66,.07) 0%, rgba(245,197,66,.02) 34%, transparent 54%),
    #08080a;
}
#app{ position:relative; z-index:0; }

/* ---- ottimizzazioni MOBILE (gioco pensato per telefono) ---- */
@media (max-width:430px){
  #app{ padding:12px; }
  .home-hero{ padding:44px 16px 28px; }
  .home-hero h1{ font-size:2.6rem; }
  .tagline{ font-size:.85rem; }
  .pcard{ padding:13px 12px; }                 /* tap target più comodo */
  .pcard .pname{ font-size:.9rem; }
  .btn{ padding:16px 18px; }
  .btn-mini{ padding:11px 15px; font-size:.85rem; }
  .btn-roll{ padding:20px; font-size:1.2rem; }
  .standings th{ padding:6px 3px; font-size:.62rem; }
  .standings td{ padding:8px 3px; font-size:.82rem; }
  .res-row{ padding:9px 10px; font-size:.82rem; }
  .reroll-row .btn-mini{ flex:1; }             /* pulsanti reroll a tutta larghezza */
  .reroll-row{ gap:8px; }
  .match-result{ font-size:2.3rem; }
  /* STATISTICHE: la bacheca trofei ha 9 celle flex:1 in fila → sforavano a lato (pagina "desktop"/tagliata).
     Su mobile vanno A CAPO (≈3 per riga) così tutto sta nella larghezza dello schermo. */
  .trophy-grid{ flex-wrap:wrap; }
  .trophy-cell{ flex:1 1 27%; min-width:0; padding:10px 4px; }
  .tro-ico{ font-size:1.25rem; } .tro-n{ font-size:1rem; }
  /* CLASSIFICA completa: colonne compatte così le 10 colonne stanno nello schermo del telefono. */
  .ctab-full{ font-size:.68rem; min-width:0; }
  .ctab-full th, .ctab-full td{ padding:6px 3px; }
}
/* evita zoom automatico di iOS sugli input (font >=16px) e scroll fluido */
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
input[type=text]{ font-size:16px; }
/* HERO home: nero pieno + alone dorato → il logo (già nero) si fonde, niente "taglio" */
.home-hero{
  position:relative; margin:6px 0 2px; padding:44px 20px 30px;
  border-radius:24px; overflow:hidden;
  background:
    radial-gradient(130% 100% at 50% -8%, rgba(245,197,66,.10), rgba(245,197,66,.03) 42%, transparent 64%),
    #060607;
  box-shadow:0 24px 70px rgba(0,0,0,.6), inset 0 0 0 1px rgba(245,197,66,.10);
}
.home-hero::before{ content:""; position:absolute; left:50%; top:-90px; width:420px; height:260px;
  transform:translateX(-50%); background:radial-gradient(closest-side, rgba(245,197,66,.22), transparent 70%);
  filter:blur(10px); pointer-events:none; }
.home-hero h1{ text-shadow:0 6px 26px rgba(0,0,0,.6); }
.logo-ball{ filter:drop-shadow(0 8px 22px rgba(245,197,66,.5)); }
.tagline{ color:#e8e2d6; text-shadow:0 2px 10px rgba(0,0,0,.7); }
.home-buttons{ margin-top:20px; }
.btn-ghost{ background:rgba(30,30,36,.55); backdrop-filter:blur(8px); border-color:rgba(255,255,255,.14); color:#e2dccf; }
input[type=text]{ background:rgba(30,30,36,.72); backdrop-filter:blur(8px); }

/* CARD in vetro */
.lobby-player,.pcard,.res-row,.setup-block .chip,.season-wait,.place-hint{ backdrop-filter:blur(10px); }
.lobby-player{ background:rgba(30,30,36,.62); }
.standings table{ background:rgba(17,17,21,.5); border-radius:14px; overflow:hidden; backdrop-filter:blur(8px); }
.standings{ border-radius:14px; }

/* header sticky con foto sfumata */
.draft-header{ background:linear-gradient(180deg, rgba(7,7,9,.94), rgba(7,7,9,.82)); }
.season-header::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:.5;
  background:linear-gradient(90deg, rgba(7,7,9,.96), rgba(7,7,9,.5)), var(--img-crowd) center/cover no-repeat; }
/* header ANCORATO (Draft Stagione + Champions): resta in alto scorrendo risultati/classifica → sai sempre giornata/fase.
   sticky è comunque un elemento posizionato → il ::before (inset:0) resta agganciato. */
.season-header{ position:sticky; top:0; z-index:12; overflow:hidden; border-radius:0 0 14px 14px; padding-left:12px; padding-right:12px; margin-top:0; }
.season-header h2{ text-shadow:0 2px 12px rgba(0,0,0,.7); }

/* arena scontro diretto: riflettori */
.match-arena{ position:relative; }
.match-arena::before{ content:""; position:absolute; left:50%; top:-40px; width:120%; height:260px; transform:translateX(-50%);
  background:radial-gradient(closest-side, rgba(245,197,66,.14), transparent 70%); pointer-events:none; }

/* FINAL */
.final-verdict { text-align:center; padding:40px 20px 26px; position:relative; overflow:hidden;
  border-radius:22px; margin-bottom:16px;
  background:linear-gradient(180deg, rgba(7,7,9,.55), rgba(7,7,9,.92)), var(--img-crowd) center/cover no-repeat, #0a0a0c;
  box-shadow:0 20px 60px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.06); }
.final-verdict h2 { text-shadow:0 4px 20px rgba(0,0,0,.7); }
.final-verdict .trophy { font-size:4rem; }
.final-verdict h2 { font-size:1.8rem; margin:10px 0 4px; }
.final-verdict p { color:var(--muted); }
/* battute ironiche nelle schermate di vittoria/verdetto */
.verdict-quip { margin-top:12px !important; color:#cdd6e8; font-size:.92rem; font-style:italic; line-height:1.4; opacity:.95; }
.verdict-quip.quip-roast { color:#f3a6a6; opacity:.92; }
#btn-rematch { width:100%; margin-top:18px; }

/* ---- Osservatori: badge potenziale + riga scout nel modale ---- */
.pot { display:inline-block; margin-left:6px; padding:1px 7px; border-radius:8px; font-size:.72rem; font-weight:800; vertical-align:middle; }
.pot.pot-hi { background:rgba(245,197,66,.18); color:var(--gold); border:1px solid var(--gold); }
.pot.pot-mid { background:rgba(74,222,128,.14); color:#4ade80; border:1px solid rgba(74,222,128,.5); }
.pot.pot-flat { background:rgba(139,148,171,.14); color:var(--muted); border:1px solid var(--line); }
.cm-scout { margin:8px 0 4px; font-size:.86rem; color:var(--muted); }
.cm-scout .pot { font-size:.82rem; margin-left:0; }
.cm-scout.scouted { color:var(--text); }

/* ---- Popup "colpo di mercato" (90+) ---- */
.dsa-popup { position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center;
  background:rgba(5,8,16,.72); backdrop-filter:blur(4px); padding:24px; animation:fadein .2s; }
.dsa-popup.show { display:flex; }
.dsa-popup-card { background:linear-gradient(160deg,var(--card2),var(--card)); border:1px solid var(--gold);
  border-radius:20px; padding:26px 22px; max-width:360px; width:100%; text-align:center;
  box-shadow:0 0 0 1px var(--gold), 0 24px 60px rgba(0,0,0,.6); animation:popin .28s cubic-bezier(.2,1.3,.5,1); }
@keyframes popin { from { transform:scale(.8); opacity:0; } to { transform:scale(1); opacity:1; } }
.dsa-popup-badge { display:inline-block; background:var(--gold); color:#1a1200; font-weight:900; letter-spacing:.05em;
  font-size:.78rem; padding:4px 12px; border-radius:999px; margin-bottom:14px; }
.dsa-popup-big { font-size:1.5rem; font-weight:900; color:var(--text); margin-bottom:6px; }
.dsa-popup-big .ovr { margin-left:6px; }
.dsa-popup-sub { color:var(--muted); margin-bottom:12px; }
.dsa-popup-card .btn { margin-top:8px; }

/* ---- Convinzione giocatore (willingness %) + toggle di ricerca ---- */
.cm-will { font-size:.85rem; margin:6px 0 10px; padding:8px 10px; border-radius:10px; }
.cm-will b { font-size:1rem; }
.will-hi { color:var(--green); background:rgba(34,197,94,.10); }
.will-mid { color:var(--gold); background:rgba(245,197,66,.10); }
.will-lo { color:#fca5a5; background:rgba(239,68,68,.10); }
.will-chip { flex:0 0 auto; font-size:.66rem; font-weight:800; padding:2px 5px; border-radius:7px; margin-left:0; }
.will-chip.will-hi { color:var(--green); } .will-chip.will-mid { color:var(--gold); } .will-chip.will-lo { color:#fca5a5; }
.pl-row .pot { flex:0 0 auto; font-size:.62rem; padding:1px 4px; margin-left:2px; }   /* badge potenziale compatto nelle righe */
.mkt-toggles { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.mkt-toggles .chip { flex:1 1 auto; font-size:.8rem; }

/* selettore CAMPIONATO nel pre-lobby (Serie A / Premier / La Liga) */
.car-league { margin:4px 0 6px; }
.lg-pick { display:flex; gap:6px; }
.lg-btn { flex:1 1 0; text-align:center; background:rgba(30,30,36,.62); border:1px solid var(--line); border-radius:12px; padding:9px 6px; cursor:pointer; color:var(--text); font-weight:800; font-size:.82rem; }
.lg-btn.sel { border-color:var(--gold); background:rgba(245,197,66,.18); color:var(--gold); }
.lg-btn:disabled { cursor:default; opacity:.55; }
.lg-btn:disabled.sel { opacity:1; }

/* ====== CARRIERA GIOCATORE (G1) ====== */
#screen-pc-setup .setup-wrap{max-width:520px;margin:0 auto;padding:16px}
#screen-pc-setup h2{margin:8px 0}
#screen-pc-setup input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);margin-bottom:8px}
.pc-role{margin:3px}.pc-role.sel,.pc-club.sel{outline:2px solid var(--gold);color:var(--gold)}
#pc-clubs{max-height:230px;overflow:auto;display:flex;flex-wrap:wrap;gap:6px}
.pc-club{flex:1 1 45%;text-align:left}
.pc-dash{max-width:560px;margin:0 auto;padding:12px}
.pc-dash .sectionheader{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;background:var(--card);border-radius:12px;margin-bottom:10px;border:1px solid var(--line)}
.pc-dash .sectionheader b{font-size:1.1em}
.pc-actions{display:flex;gap:8px;margin:12px 0}
.pc-actions .btn{flex:1}
.pc-table{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:12px}
.pc-trow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:.92em;border-top:1px solid var(--line)}
/* niente overflow: il testo lungo a sinistra si taglia con "…", il numero a destra resta SEMPRE dentro il box (Mario) */
.pc-trow>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-trow>span:last-child{flex:0 0 auto;white-space:nowrap;text-align:right}
.pc-trow:first-child{border-top:none}
.pc-trow.mine{background:rgba(212,175,55,.16);font-weight:700;color:var(--gold)}
.pc-trow small{color:var(--muted)}
.pc-money .st-num{color:var(--gold);font-size:1.05em}
.pc-week{border-color:rgba(96,165,250,.4)}
.pc-week b{color:var(--blue)}
.pc-actions .btn:disabled{opacity:.45;filter:grayscale(.5)}
.pc-pot{color:var(--blue);font-weight:800;margin-left:-2px}
.pc-namerow{display:flex;gap:8px}.pc-namerow input{flex:1;min-width:0}
#home-profile-wrap{margin:0 0 10px}#home-profile-wrap:empty{display:none}
/* Barra a pagine/tab del cruscotto giocatore */
.pc-navbar{display:flex;gap:4px;margin:2px 0 12px;position:sticky;top:0;z-index:5;background:var(--bg);padding:4px 0}
.pc-nav{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:11px;padding:7px 2px;color:var(--muted);font-size:1.15rem;cursor:pointer;line-height:1}
.pc-nav small{font-size:.6rem;font-weight:800}
.pc-nav.sel{border-color:var(--gold);background:rgba(245,197,66,.12);color:var(--gold)}
/* Formazione (campo) */
.pc-pitch{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:linear-gradient(160deg,rgba(34,197,94,.12),rgba(17,24,39,.4));border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px}
.pc-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;background:rgba(30,30,36,.7);border:1px solid var(--line);border-radius:9px;font-size:.66rem;font-weight:800;color:var(--muted);padding:4px 2px}
.pc-slot.me{border-color:var(--gold);background:rgba(245,197,66,.16);color:var(--gold)}
.pc-slot b{font-size:.62rem;color:var(--text);text-align:center;line-height:1.05}
.pc-slot.me b{color:var(--gold)}
/* Campo formazione giocatore: campo verde vero (come la carriera) ma rimpicciolito */
.pc-fpitch{max-width:290px;margin:0 auto 12px;aspect-ratio:3/3.6}
.pc-fpitch .pslot{width:52px}
.pc-fpitch .pslot .dot{width:34px;height:34px;font-size:.62rem}
.pc-fpitch .pslot .nm{font-size:.56rem}
.pc-hint{font-size:.72rem;color:var(--muted);line-height:1.4;margin:2px 0 8px}
/* Fiducia allenatore */
.pc-trust{background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:11px;padding:8px 10px;margin-bottom:6px}
.pc-trust-head{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:5px}
.pc-trust-head b{color:var(--gold)}
.pc-bar{height:8px;background:rgba(255,255,255,.09);border-radius:6px;overflow:hidden}
.pc-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--gold));transition:width .25s}
/* Allenamento mirato: griglia attributi */
.pc-attrs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.pc-attr{display:flex;flex-direction:column;gap:3px;text-align:left;background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:11px;padding:8px 9px;color:var(--text);cursor:pointer}
.pc-attr:active{transform:scale(.98)}
.pc-attr.rel{border-color:var(--gold);background:rgba(245,197,66,.09)}
.pc-attr:disabled{opacity:.45;filter:grayscale(.5);cursor:default}
.pc-attr .pa-lab{font-size:.74rem;font-weight:700}
.pc-attr .pa-val{font-size:1.15rem;font-weight:900}
.pc-attr.rel .pa-val{color:var(--gold)}
.pc-attr .pa-bar{height:5px;background:rgba(255,255,255,.09);border-radius:4px;overflow:hidden}
.pc-attr .pa-bar>i{display:block;height:100%;background:var(--blue);transition:width .55s cubic-bezier(.22,1,.36,1)}
.pc-attr.rel .pa-bar>i{background:var(--gold)}
/* feedback allenamento: la barra CRESCE (transition) + badge "+X.X" verde che pulsa (Mario) */
.pc-attr .pa-val{position:relative}
.pc-attr.trained{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset;animation:pc-trained-pulse .7s ease}
.pc-attr.trained .pa-bar>i{background:var(--green)}
.pa-gain{position:absolute;top:-10px;right:-2px;font-size:.62rem;font-weight:900;color:var(--green);animation:pc-gain-float 1.1s ease forwards;pointer-events:none}
@keyframes pc-gain-float{0%{opacity:0;transform:translateY(4px)}20%{opacity:1}100%{opacity:0;transform:translateY(-10px)}}
/* BANNER "è avanzato il GIORNO" (Mario): pop animato con giorno + azione + guadagno + soldi */
.pc-dayflash{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 10px;padding:11px 14px;border-radius:14px;
  background:linear-gradient(100deg,rgba(46,204,113,.16),rgba(52,152,219,.14));border:1px solid rgba(46,204,113,.4);
  box-shadow:0 6px 22px rgba(0,0,0,.32);animation:pc-dayflash-in .55s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.pc-dayflash .pcf-day{font-weight:900;font-size:1.06rem;letter-spacing:.2px}
.pc-dayflash .pcf-act{opacity:.95;font-weight:700;font-size:.94rem}
.pc-dayflash .pcf-gain{color:var(--green);font-weight:900}
.pc-dayflash .pcf-money{margin-left:auto;font-weight:900;font-size:1rem;padding:2px 9px;border-radius:9px}
.pc-dayflash .pcf-money.pos{color:var(--green);background:rgba(46,204,113,.14)}
.pc-dayflash .pcf-money.neg{color:var(--red,#e74c3c);background:rgba(231,76,60,.14)}
@keyframes pc-dayflash-in{0%{transform:translateY(-16px) scale(.94);opacity:0}55%{transform:translateY(0) scale(1.025);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
/* il portafoglio in header "sussulta" quando cambia (feedback soldi) */
.pc-money-hd{display:inline-block;transition:color .2s}
.pc-money-hd.pc-money-bump{animation:pc-money-bump .6s ease}
@keyframes pc-money-bump{0%{transform:scale(1)}30%{transform:scale(1.22);color:var(--gold)}100%{transform:scale(1)}}
/* PARTITA INTERATTIVA (Mario): pannello scelte con % + cronaca */
.im-panel{margin:8px 0 2px;padding:10px;border-radius:12px;background:rgba(20,28,44,.62);border:1px solid var(--line);animation:pc-dayflash-in .3s ease}
.im-scen{font-weight:900;font-size:1rem;margin-bottom:5px;text-align:center}
.im-hint{font-size:.72rem;color:var(--muted);text-align:center;margin-bottom:8px;line-height:1.3}
.im-hint b{color:var(--gold)}
.im-opts{display:flex;flex-direction:column;gap:7px}
.im-opt{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;padding:10px 13px;border-radius:11px;background:linear-gradient(100deg,rgba(52,152,219,.18),rgba(46,204,113,.11));border:1px solid rgba(120,170,255,.32);color:var(--text);font-weight:800;font-size:.96rem;cursor:pointer;transition:transform .1s,filter .12s}
.im-opt:active{transform:scale(.97)}
.im-opt:hover{filter:brightness(1.13)}
.im-opt .im-opt-l{flex:1}
.im-opt .im-pct{font-weight:900;font-size:.9rem;padding:2px 8px;border-radius:8px;min-width:48px;text-align:center;background:rgba(0,0,0,.3)}
.im-pct.hi{color:#2ecc71}.im-pct.mid{color:#f5c542}.im-pct.lo{color:#e77}
.im-pbar{flex-basis:100%;height:5px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}
.im-pbar>i{display:block;height:100%;border-radius:3px;transition:width .35s ease}
.im-pbar>i.hi{background:#2ecc71}.im-pbar>i.mid{background:#f5c542}.im-pbar>i.lo{background:#e77}
.im-ev{display:flex;align-items:center;gap:8px;padding:4px;border-radius:7px;animation:slideup .2s ease;font-size:.92em}
.im-ev-min{width:30px;text-align:right;font-weight:700;color:var(--muted)}
.im-ev-sc{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums}
.im-ev.mine{background:rgba(212,175,55,.16)}
.im-ev.opp{color:var(--muted)}
.im-ev.miss{opacity:.72}
.im-final{text-align:center;padding:9px;border-radius:11px;font-size:1rem;line-height:1.5}
.im-final.w{background:rgba(46,204,113,.15)}
.im-final.l{background:rgba(231,76,60,.15)}
.im-final.d{background:rgba(148,163,184,.15)}
/* MINI-CAMPO ANIMATO (Mario): i 22 pallini-giocatori che si MUOVONO in base all'azione (TU dorato, compagni blu, avversari rossi) */
.pc-pl-layer{position:absolute;inset:0;pointer-events:none;z-index:2}
.pc-pl{position:absolute;width:10px;height:10px;border-radius:50%;margin:-5px 0 0 -5px;box-shadow:0 2px 3px rgba(0,0,0,.5);transition:left .5s cubic-bezier(.4,.5,.3,1),top .5s cubic-bezier(.4,.5,.3,1);animation:pc-breathe 2.6s ease-in-out infinite}
.pc-pl.team{background:radial-gradient(circle at 35% 30%,#8fd0ff,#2b6fd6);border:1px solid rgba(255,255,255,.55)}
.pc-pl.opp{background:radial-gradient(circle at 35% 30%,#ffa1a1,#c0392b);border:1px solid rgba(255,255,255,.35)}
.pc-pl.gk{filter:saturate(.55) brightness(1.15)}
.pc-pl.opp.foe{width:12px;height:12px;margin:-6px 0 0 -6px;box-shadow:0 0 0 2px rgba(231,76,60,.4),0 2px 3px rgba(0,0,0,.5)}
.pc-pl.team.hi{box-shadow:0 0 0 3px rgba(138,208,255,.6),0 2px 3px rgba(0,0,0,.5)}
.pc-pl.you{width:15px;height:15px;margin:-8px 0 0 -8px;background:radial-gradient(circle at 35% 30%,#ffe89a,#d4af37);border:2px solid #fff;z-index:3;box-shadow:0 0 0 2px rgba(212,175,55,.4),0 2px 5px rgba(0,0,0,.6);animation:none}
.pc-pl.you::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(255,224,138,.55);animation:pc-youpulse 1.5s ease-out infinite}
@keyframes pc-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes pc-youpulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.55);opacity:0}}
@media (prefers-reduced-motion:reduce){.pc-pl{animation:none}.pc-pl.you::after{animation:none}}
/* CAMPO ANIMATO anche in CARRIERA ALLENATORE (Mario batch 3): stessa vista a pallini, display-only sugli eventi già calcolati */
.mt-pitch{position:relative;width:100%;max-width:420px;margin:8px auto 4px;aspect-ratio:2/1.05;background:repeating-linear-gradient(90deg,#2f7d33 0 9%,#348a38 9% 18%);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 26px rgba(0,0,0,.4);perspective:520px}
.mt-line-mid{position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.4)}
.mt-circle{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.38);border-radius:50%}
.mt-box{position:absolute;top:34%;bottom:34%;width:8%;border:2px solid rgba(255,255,255,.38)}
.mt-box-l{left:-1px;border-left:none;border-radius:0 8px 8px 0}
.mt-box-r{right:-1px;border-right:none;border-radius:8px 0 0 8px}
.mt-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 52%,rgba(0,0,0,.30));pointer-events:none;z-index:4}
.mt-ball{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:left .5s cubic-bezier(.4,.5,.3,1),top .5s cubic-bezier(.4,.5,.3,1);font-size:1.2rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));z-index:6}
.mt-flash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.5rem;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.9);opacity:0;transition:opacity .18s;pointer-events:none;z-index:7}
/* RIGORI nei risultati KO (Mario "chi vince, no dcr"): il vincitore ai rigori in ORO col ✓, etichetta chiara */
.res-row .pen-w{color:var(--gold,#e8c86a);font-weight:900}
.res-row .pen-w::after{content:' ✓'}
.res-row .pen-tag{opacity:.72;font-weight:600;font-size:.8em}
/* banner VINCITORE ai supplementari nella cronaca allenatore (Mario: "chi passa" chiaro) */
.mev.mt-winner{justify-content:center;font-weight:900;font-size:1.05rem;color:var(--gold,#e8c86a);background:rgba(212,175,55,.14);border-radius:9px;padding:7px;margin-top:3px;animation:pc-money-bump .5s ease}
/* badge divisione (Serie A/B) nella scelta club online 2-divisioni (Mario) */
.cc-name .cc-div{font-size:.66rem;font-weight:800;padding:1px 5px;border-radius:6px;background:rgba(120,170,255,.22);color:#bcd3ff;vertical-align:middle}
/* AZIONI DELLA GIORNATA compatte in ALTO (Mario): Riposa + Serate, mobile-first, allineate/simmetriche */
.pc-quick{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:2px 0 8px}
.pc-q{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:9px 3px;border-radius:12px;background:rgba(30,30,36,.6);border:1px solid var(--line);color:var(--text);cursor:pointer;font-size:1.18rem;line-height:1.12;transition:transform .1s,filter .12s;text-align:center}
.pc-q b{font-size:.70rem;font-weight:800;white-space:nowrap}
.pc-q small{font-size:.63rem;color:var(--muted)}
.pc-q:active{transform:scale(.95)}
.pc-q:hover{filter:brightness(1.13)}
.pc-q:disabled{opacity:.4;cursor:default}
.pc-q-disco{background:linear-gradient(135deg,rgba(155,89,182,.28),rgba(52,152,219,.14));border-color:rgba(155,89,182,.5)}
.pc-ff-top{width:100%;font-size:.85rem;padding:8px;margin-bottom:2px}
.pc-cat-hint{font-size:.72rem;color:var(--muted);margin:5px 2px 4px;line-height:1.3}
/* barra allenamento: cresce (transition) + GLOW più forte se il guadagno è grande (Mario: niente numeri, solo la barra) */
.pc-attr .pa-bar>i[data-big="1"]{box-shadow:0 0 9px 1px var(--green)}
@keyframes pc-trained-pulse{0%{box-shadow:0 0 0 1px var(--green) inset,0 0 10px rgba(34,197,94,.5)}100%{box-shadow:0 0 0 1px var(--green) inset,0 0 0 rgba(34,197,94,0)}}
/* Infortuni (F3) */
.pc-injury{border-color:rgba(239,68,68,.55)!important;background:rgba(239,68,68,.1)}
.pc-injury b{color:var(--red)}
.pc-care .btn{flex:1;line-height:1.15;font-size:.82rem}
.pc-care .btn small{font-weight:600;opacity:.85}
.pc-care .btn:disabled{opacity:.45;filter:grayscale(.5)}
/* Serate + affinità + news */
.pc-disco-btn{border-color:rgba(192,132,252,.5)!important}
.pc-disco-btn:not(:disabled){color:#e9d5ff}
.pc-affinity .pc-bar.aff>i{background:linear-gradient(90deg,#34d399,#3b82f6)}
.pc-nights{gap:6px}
.pc-nights .btn{flex:1;line-height:1.12;font-size:.76rem;padding:8px 4px}
.pc-nights .btn small{font-weight:600;opacity:.8;font-size:.6rem}
.pc-news .pc-trow{font-size:.82rem}
.pc-news .pc-trow small{color:var(--muted);white-space:nowrap}
.pc-news-good>span:first-child{color:var(--green)}
.pc-news-bad>span:first-child{color:var(--red)}
/* Attributi per categoria (20 attributi in 6 categorie) */
.pc-cats{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.pc-cat{border:1px solid var(--line);border-radius:12px;padding:8px 8px 6px;background:rgba(17,24,39,.35)}
.pc-cat.rel{border-color:rgba(245,197,66,.4);background:rgba(245,197,66,.05)}
.pc-cat-h{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;margin:1px 3px 6px;color:var(--muted)}
.pc-cat.rel .pc-cat-h{color:var(--gold)}
.pc-cat-h span{font-size:1rem;font-weight:900;color:var(--text)}
.pc-cat.rel .pc-cat-h span{color:var(--gold)}
.pc-cat .pc-attrs{margin-bottom:0}
/* Livelli di allenamento */
.pc-tiers{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:5px;margin-bottom:10px}
.pc-tier{display:flex;flex-direction:column;align-items:center;gap:1px;background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:10px;padding:7px 3px;color:var(--text);font-size:.72rem;font-weight:800;cursor:pointer;line-height:1.15}
.pc-tier small{font-weight:600;color:var(--muted);font-size:.64rem}
.pc-tier.sel{border-color:var(--gold);background:rgba(245,197,66,.12);color:var(--gold)}
.pc-tier.sel small{color:var(--gold)}
.pc-tier:disabled{opacity:.4;filter:grayscale(.5);cursor:default}
/* Morale + Negozio di lusso */
.pc-morale .pc-bar.mor>i{background:linear-gradient(90deg,#f472b6,#facc15)}
.pc-shop-btn{border-color:rgba(244,114,182,.4)!important}
.pc-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.pc-lux{display:flex;flex-direction:column;gap:2px;text-align:left;background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:11px;padding:8px 10px;color:var(--text);cursor:pointer}
.pc-lux:active{transform:scale(.98)}
.pc-lux.off{opacity:.4;filter:grayscale(.5);cursor:default}
.pc-lux .lux-l{font-size:.76rem;font-weight:700;line-height:1.2}
.pc-lux .lux-c{font-size:.9rem;font-weight:900;color:var(--gold)}
.pc-lux .lux-m{font-size:.66rem;color:#f472b6;font-weight:800}
/* Mercato / offerte (F5) */
.pc-offers{border-color:rgba(96,165,250,.45)!important}
.pc-offer{background:rgba(17,24,39,.4);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-top:8px}
.po-head b{color:var(--blue)} .po-head small{color:var(--muted)}
.po-body{font-size:.82rem;margin:3px 0}
.po-msg{font-size:.74rem;color:var(--gold);margin:4px 0}
.po-btns{display:flex;gap:6px;margin-top:5px}
.po-btns .btn{flex:1}
.pc-titles{border-color:var(--gold)!important;background:rgba(245,197,66,.12)}
.pc-titles b{color:var(--gold)}
/* Hall of Fame (F6) */
.hof-hero{text-align:center;padding:20px 14px;background:linear-gradient(160deg,rgba(245,197,66,.14),rgba(17,24,39,.4));border:1px solid var(--gold);border-radius:16px;margin-bottom:14px}
.hof-badge{font-size:3.2rem;line-height:1}
.hof-hero h2{margin:6px 0 2px;font-size:1.5rem}
.hof-hero p{color:var(--muted);font-size:.82rem;margin:0}
.hof-title{margin-top:8px;font-weight:900;color:var(--gold);font-size:1.05rem}
/* Classifica online (F7) */
.pc-board-tabs{display:flex!important;grid-template-columns:none!important;gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:3px}
.pc-board-tabs .pc-tier{flex:0 0 auto;min-width:70px;flex-direction:row;gap:3px}
.ovr.ovr-hi{color:var(--green)}
.ovr.ovr-lo{color:var(--red)}
/* ===== RELAZIONI / FAMIGLIA (pop-up in-pagina + card in tab Vita) ===== */
.pc-modal-ov{position:fixed;inset:0;z-index:120;background:rgba(4,6,12,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadein .18s ease}
.pc-modal{width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--bg2);border:1px solid var(--gold);border-radius:18px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 18px 50px rgba(0,0,0,.6);animation:slideup .22s ease;text-align:center}
.pc-modal-h{font-weight:900;font-size:1.05rem;color:var(--gold);margin-bottom:8px}
.pc-modal-b{font-size:.92rem;line-height:1.45;color:var(--text)}
.pc-modal-b b{color:#f9a8d4}
.pc-voto-big{font-size:2.1rem;font-weight:900;color:var(--gold);line-height:1.1;margin:8px 0 2px}
.pc-voto-big small{font-size:1rem;color:var(--muted);font-weight:700}
.pc-modal-rel{font-size:.78rem;color:var(--muted);margin:6px 0 0}
.pc-modal-btns{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.pc-modal-btns .btn{width:100%;line-height:1.2}
.pc-modal-btns .btn small{font-weight:600;opacity:.85;margin-left:4px}
.pc-voto{flex:0 0 auto;font-size:.72rem;font-weight:900;color:#1a1200;background:var(--gold);border-radius:999px;padding:2px 8px;white-space:nowrap}
.pc-rel-card{display:flex;flex-direction:column;gap:2px;background:rgba(244,114,182,.08);border:1px solid rgba(244,114,182,.4);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.pc-rel-nm{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.98rem;min-width:0}
.pc-rel-nm>span:not(.pc-voto){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-rel-sub{font-size:.72rem;color:var(--muted)}
.pc-rel-empty{background:rgba(30,30,36,.55);border:1px dashed var(--line);border-radius:12px;padding:12px;font-size:.86rem;color:var(--muted);text-align:center;margin-bottom:8px}
.pc-rel-kids{margin-bottom:8px}
.pc-rel-btns{flex-direction:column;gap:8px}
.pc-rel-btns .btn{width:100%}
/* Inviti come pop-up in-pagina (riusa .pc-modal-ov / .pc-modal) */
.inv-pop-row{background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;text-align:left}
.inv-pop-row:last-child{margin-bottom:0}
.inv-pop-txt{font-size:.9rem;line-height:1.35;margin-bottom:8px}
.inv-pop-txt b{color:var(--gold)}
.inv-pop-btns{display:flex;gap:8px}
.inv-pop-btns .btn{flex:1}
/* Casinò */
.pc-bet-amts{display:flex;gap:5px;margin-bottom:8px;flex-wrap:wrap}
.pc-bet-amt{flex:1;min-width:60px;background:rgba(30,30,36,.55);border:1px solid var(--line);border-radius:10px;padding:8px 4px;color:var(--text);font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap}
.pc-bet-amt.sel{border-color:var(--gold);background:rgba(245,197,66,.12);color:var(--gold)}
.pc-bet-amt:disabled{opacity:.4;cursor:default}
.pc-bet-result{text-align:center;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;background:rgba(30,30,36,.55)}
.pc-bet-result.win{border-color:var(--green);background:rgba(34,197,94,.1)}
.pc-bet-result.lose{border-color:var(--red);background:rgba(239,68,68,.09)}
.pc-bet-result.push{border-color:var(--gold)}
.pc-bet-label{font-size:1.5rem;line-height:1.2;letter-spacing:2px}
.pc-bet-sub{font-size:.82rem;color:var(--muted);margin-top:2px}
.pc-bet-result.win .pc-bet-sub b{color:var(--green)} .pc-bet-result.lose .pc-bet-sub b{color:var(--red)}
.pc-slot-btn{margin-top:2px} .pc-slot-btn small{font-weight:600;opacity:.8}
/* Dirigenza: trattativa stipendio / cessione */
.pc-dirig .btn{flex:1;line-height:1.15;font-size:.84rem}
.pc-dirig .btn small{font-weight:600;opacity:.8;font-size:.64rem}
.pc-dirig .btn:disabled{opacity:.5}
/* F8 carriera giocatore ONLINE */
.pc-online-box{border-color:rgba(96,165,250,.5)!important;background:rgba(96,165,250,.08)}
.pc-online-box b{color:var(--blue)}
.pc-mates{border-color:rgba(34,197,94,.45)!important;background:rgba(34,197,94,.08)}
.pc-mates b{color:var(--green)}
.pslot.mate .dot{background:#0f172a;border:2px solid var(--green);color:var(--green)}
.pslot.mate .nm{color:var(--green);font-weight:800}

/* ---- NOVITÀ / CHANGELOG ---- */
.cl-btn{ display:inline-flex; align-items:center; gap:6px; margin:10px auto 0; padding:7px 16px; border:none; border-radius:999px;
  background:linear-gradient(135deg,#f5c542,#e8a020); color:#1a1200; font-weight:800; font-size:.9rem; cursor:pointer;
  box-shadow:0 6px 18px rgba(245,197,66,.3); position:relative; }
.cl-btn:active{ transform:scale(.96); }
.cl-badge{ width:11px; height:11px; border-radius:50%; background:var(--red); box-shadow:0 0 0 3px rgba(239,68,68,.35);
  animation:clpulse 1.1s ease-in-out infinite; }
.cl-badge.hidden{ display:none; }
@keyframes clpulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.35); opacity:.7; } }
.cl-overlay{ position:fixed; inset:0; z-index:120; background:rgba(4,6,12,.82); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:16px; }
.cl-overlay.hidden{ display:none; }
.cl-panel{ width:100%; max-width:560px; max-height:90vh; display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(180deg,#141b2e,#0d1322);
  border:1.5px solid var(--gold); border-radius:20px; padding:22px 18px calc(20px + env(safe-area-inset-bottom));
  position:relative; animation:slideup .28s ease; box-shadow:0 20px 60px rgba(0,0,0,.6); }
.cl-x{ position:absolute; top:12px; right:14px; width:34px; height:34px; border:none; border-radius:50%;
  background:rgba(255,255,255,.08); color:var(--text); font-size:1rem; cursor:pointer; }
.cl-title-big{ font-size:1.5rem; font-weight:900; text-align:center; letter-spacing:-.5px;
  background:linear-gradient(135deg,#f5c542,#ffe9a8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cl-sub{ text-align:center; color:var(--muted); font-size:.85rem; margin:4px 0 16px; }
.cl-body{ display:flex; flex-direction:column; gap:14px; overflow-y:auto; flex:1; min-height:0; }
.cl-entry{ background:var(--card); border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:14px; padding:14px 14px 12px; }
.cl-entry:first-child{ border-left-color:var(--green); box-shadow:0 0 0 1px rgba(34,197,94,.25); }
.cl-ehead{ display:flex; align-items:center; gap:11px; margin-bottom:9px; }
.cl-emoji{ font-size:1.9rem; line-height:1; filter:drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.cl-etitle-wrap{ flex:1; min-width:0; }
.cl-etitle{ font-weight:800; font-size:1.02rem; color:var(--text); line-height:1.2; }
.cl-edate{ font-size:.74rem; color:var(--gold); font-weight:700; margin-top:2px; }
.cl-items{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px; }
.cl-items li{ position:relative; padding-left:20px; font-size:.9rem; line-height:1.4; color:#d6dcea; }
.cl-items li::before{ content:'⚡'; position:absolute; left:0; top:0; font-size:.85rem; }
.cl-items li b{ color:#fff; }
.cl-close-btn{ margin-top:16px; width:100%; }
