:root{--bg:#0b1020;--panel:#151c31;--panel2:#202944;--text:#f8fafc;--muted:#9ca3af;--accent:#7c3aed;--accent2:#06b6d4;--ok:#22c55e;--bad:#ef4444;--warn:#f59e0b;--line:#303a56}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:#a5b4fc}button,input,select,textarea{font:inherit}.btn{border:1px solid #43506f;background:#26314d;color:#fff;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:750}.btn:hover{filter:brightness(1.12)}.btn.primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);border:0}.btn.warning{background:#a16207}.btn.danger{background:#991b1b}.btn.small{padding:6px 9px;font-size:13px}.btn.big{padding:14px 20px;font-size:18px}.buzzer-admin{background:#dc2626;border:0;font-size:22px;padding:17px 26px}.stack{display:grid;gap:14px}.stack label,.settings-form label,.question-form label{display:grid;gap:6px;color:#cbd5e1;font-weight:650}input,select,textarea{width:100%;background:#0f172a;color:#fff;border:1px solid #3c4765;border-radius:9px;padding:10px}textarea{resize:vertical}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#123c2a;border:1px solid #1f7a50}.alert.error{background:#4a1717;border:1px solid #9b2c2c}.muted{color:var(--muted)}.app-credit{text-align:center;color:#7e8aa8;font-size:12px;padding:14px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#242c52,#0b1020 58%)}.auth-card{width:min(440px,100%);background:#151c31;border:1px solid #303a56;border-radius:20px;padding:28px;box-shadow:0 24px 70px #0008}.auth-card.wide{width:min(640px,100%)}.auth-card h1{margin-top:0}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:#0d1325f2;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.topbar>div{display:flex;gap:12px;align-items:center}.topbar nav{display:flex;gap:18px}.admin-wrap{width:min(1500px,96%);margin:18px auto 50px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin:16px 0}.panel h2{margin:0 0 10px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.status-pill{padding:7px 10px;border-radius:99px;background:#273451;font-weight:800;font-size:12px}.status-open{background:#991b1b}.status-answering{background:#92400e}.status-resolved{background:#166534}.current-question{background:#0f172a;border:1px solid #394664;border-radius:14px;padding:18px;margin-top:12px}.current-question h3{font-size:24px;margin:8px 0 14px}.category{color:#a5b4fc;font-weight:800}.answers-preview,.projector-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.answer-preview{background:#19223a;padding:10px;border-radius:9px}.answer-preview b,.projector-option b{display:inline-grid;place-items:center;width:28px;height:28px;background:#334155;border-radius:8px;margin-right:7px}.answer-preview.correct{outline:2px solid var(--ok);background:#123c2a}.question-meta{margin-top:10px;color:#cbd5e1}.queue{margin-top:14px}.queue-list{display:grid;gap:6px}.queue-row{display:grid;grid-template-columns:48px minmax(130px,1fr) 110px 90px 120px;gap:8px;align-items:center;background:#10182c;padding:8px 10px;border-radius:8px}.queue-row.active{outline:2px solid var(--warn)}.queue-row.correct{outline:2px solid var(--ok)}.queue-row.wrong{opacity:.7}.control-actions,.pick-row,.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.control-actions{margin:14px 0}.pick-row{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.admin-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.team-admin-list,.score-admin-list{display:grid;gap:8px;margin-top:12px}.team-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px auto auto;gap:7px;align-items:center;background:#10182c;padding:8px;border-radius:10px}.rename{display:flex;gap:6px}.captain-code{font-size:18px;letter-spacing:2px;background:#050914;padding:8px;border-radius:8px;text-align:center}.score-admin-row{background:#10182c;padding:10px;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.score-admin-row form{grid-column:1/-1}.compact input{max-width:150px}.editor{border:1px solid #303a56;border-radius:10px;padding:12px;margin:10px 0}.editor summary{cursor:pointer}.question-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.question-form .full{grid-column:1/-1}.category-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.chip{border:1px solid #465374;background:#222d48;color:#fff;border-radius:99px;padding:7px 11px;cursor:pointer}.chip.off{opacity:.45;text-decoration:line-through}.question-list{display:grid;gap:10px}.question-row{display:grid;grid-template-columns:1fr auto;gap:12px;background:#10182c;border-radius:12px;padding:12px}.question-row.disabled{opacity:.5}.question-row-main{display:grid;gap:7px}.mini-options{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:13px;color:#cbd5e1}.question-actions{display:flex;gap:6px;align-items:flex-start}.settings-form{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:12px;align-items:end}.check{display:flex!important;align-items:center;gap:7px}.check input{width:auto}.history{display:grid;gap:5px}.history>div{display:grid;grid-template-columns:80px 160px 70px 180px 1fr;gap:8px;background:#10182c;padding:7px;border-radius:7px}.empty-box{padding:22px;text-align:center;color:var(--muted);border:1px dashed #415070;border-radius:12px}
/* proiettore */.projector-body{height:100vh;overflow:hidden;background:radial-gradient(circle at top,#20294a 0,#0b1020 48%)}.projector{height:100vh;display:grid;grid-template-rows:auto minmax(300px,.98fr) minmax(280px,1.02fr) auto;gap:8px;padding:10px 16px 4px}.projector-header{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand img{width:64px;height:64px;object-fit:contain}.brand h1{margin:0;font-size:clamp(26px,3vw,48px)}.brand small{color:#aab4cd;font-size:clamp(12px,1.2vw,18px)}.live-clock{display:flex;gap:12px;align-items:center;font-size:18px}.live-clock span{background:#26314d;padding:8px 12px;border-radius:99px;font-weight:900}.game-stage{background:#11192e;border:1px solid #34415f;border-radius:16px;padding:14px 20px;display:flex;flex-direction:column;justify-content:center;min-height:0}.stage-wait{display:grid;place-items:center;text-align:center;color:#aab4cd;font-size:clamp(24px,4vw,54px);height:100%}.stage-category{text-align:center;color:#c4b5fd;font-weight:900;font-size:clamp(15px,1.7vw,26px)}.stage-question{text-align:center;font-size:clamp(24px,3vw,48px);line-height:1.08;margin:8px auto 13px;max-width:1400px}.projector-options{max-width:1450px;width:100%;margin:auto}.projector-option{background:#1c2640;border:1px solid #3a496a;border-radius:12px;padding:9px 13px;font-size:clamp(17px,1.7vw,28px);display:flex;align-items:center;min-height:52px}.projector-option.correct{background:#14532d;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e55}.stage-banner{text-align:center;font-size:clamp(18px,2vw,31px);font-weight:900;margin-top:10px;padding:8px 12px;border-radius:10px}.stage-banner.info{background:#1e3a8a}.stage-banner.buzzer-open{background:#b91c1c;animation:pulse 1s infinite}.stage-banner.answering{background:#92400e}.stage-banner.resolved{background:#166534}.explanation{text-align:center;color:#d1fae5;margin-top:6px;font-size:15px}@keyframes pulse{50%{filter:brightness(1.35)}}.ranking-area{min-height:0;display:grid;grid-template-rows:auto 1fr}.ranking-title{display:flex;justify-content:space-between;align-items:center}.ranking-title h2{margin:0 0 5px;font-size:clamp(18px,2vw,28px)}.ranking-title span{color:#aab4cd}.ranking-grid{min-height:0;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rank-rows),minmax(0,1fr));grid-auto-columns:minmax(0,1fr);gap:6px}.rank-card{min-width:0;background:#131d34;border:1px solid #34415f;border-radius:10px;padding:5px 9px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.rank-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center}.place{font-size:clamp(18px,1.6vw,29px);color:#facc15}.rank-name{font-size:clamp(17px,1.7vw,30px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-score{font-size:clamp(19px,1.9vw,33px)}.rank-score small{font-size:.5em;color:#aab4cd}.rank-details{display:flex;gap:5px 10px;flex-wrap:wrap;color:#cbd5e1;font-size:clamp(11px,1vw,17px);line-height:1.05;margin-top:2px;overflow:hidden}.rank-details span b{color:#fff}.projector-credit{padding:1px 0 2px}
/* capitano */.captain-body{min-height:100vh;background:linear-gradient(#111827,#070b14);overscroll-behavior:none}.captain-login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;width:min(460px,92%);margin:auto;text-align:center}.captain-login h1{font-size:40px}.code-input{text-align:center;font-size:38px;letter-spacing:10px;font-weight:900}.captain-app{min-height:100vh;display:flex;flex-direction:column;width:min(760px,100%);margin:auto;padding:12px}.captain-header{display:flex;justify-content:space-between;align-items:center;padding:8px}.captain-header small{color:#94a3b8}.captain-header h1{margin:0}.captain-state{flex:1;display:flex;flex-direction:column;justify-content:center}.captain-wait{text-align:center}.wait-icon{font-size:70px}.captain-category{text-align:center;color:#c4b5fd;font-weight:900;font-size:18px}.captain-question{text-align:center;font-size:clamp(25px,7vw,42px);line-height:1.1;margin:10px 0}.captain-options{display:grid;gap:7px}.captain-option{display:flex;gap:10px;align-items:center;background:#182238;border:1px solid #384663;border-radius:12px;padding:10px;font-size:18px}.captain-option b,.captain-answer-buttons button b{display:grid;place-items:center;min-width:38px;height:38px;border-radius:10px;background:#334155;font-size:22px}.captain-message,.wrong-box,.booked-ok,.your-turn,.resolved-box{text-align:center;margin-top:14px;padding:14px;border-radius:12px;font-size:18px;font-weight:800}.captain-buzzer{width:100%;min-height:150px;margin-top:14px;border:0;border-radius:24px;background:radial-gradient(circle,#ef4444,#991b1b);box-shadow:0 9px 0 #5f0b0b,0 18px 45px #0009;color:white;font-size:clamp(38px,11vw,72px);font-weight:1000;cursor:pointer;touch-action:manipulation}.captain-buzzer:active{transform:translateY(6px);box-shadow:0 3px 0 #5f0b0b}.booked-ok{background:#14532d;font-size:32px}.your-turn{background:#92400e;font-size:28px}.wrong-box{background:#7f1d1d}.resolved-box{background:#1e3a5f}.resolved-box.winner{background:#14532d}.resolved-box small{display:block;margin-top:8px}.captain-answer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.captain-answer-buttons button{min-height:92px;background:#263451;border:1px solid #52617d;color:#fff;border-radius:14px;padding:8px;display:flex;gap:8px;align-items:center;text-align:left;font-size:16px;font-weight:750}.dimmed{opacity:.4}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.settings-form,.question-form{grid-template-columns:1fr}.question-form .full{grid-column:auto}.team-admin-row{grid-template-columns:1fr 100px}.queue-row{grid-template-columns:40px 1fr auto}.queue-row>*:nth-child(n+4){display:none}.history>div{grid-template-columns:70px 1fr 60px}.history>div>*:nth-child(n+4){display:none}.projector-body{overflow:auto}.projector{height:auto;min-height:100vh}.ranking-grid{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:1fr}.projector-options{grid-template-columns:1fr}}

/* Trivial SPAP 2.1 - regia mobile + timer */
.live-status-wrap{display:flex;align-items:center;gap:8px}.live-dot{width:9px;height:9px;border-radius:50%;background:#64748b;box-shadow:0 0 0 3px #64748b22}.live-dot.ok{background:#22c55e;box-shadow:0 0 0 3px #22c55e22}.queue-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.queue-title h3{margin-bottom:8px}.queue-title span{font-size:12px;color:#94a3b8;background:#0f172a;border:1px solid #303a56;border-radius:99px;padding:5px 9px}.answer-timer-box{display:none;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 14px;border-radius:12px;background:#2a1e09;border:1px solid #a16207}.answer-timer-box.show{display:flex}.answer-timer-box strong{font-size:30px;line-height:1;color:#fbbf24}.answer-timer-box.expired{background:#4a1717;border-color:#ef4444;animation:pulse 1s infinite}.answer-timer-box.expired strong{color:#fecaca}.mobile-admin-nav,.mobile-quick-links,.copy-toast{display:none}.captain-code{border:1px solid #334155;color:#fff;cursor:pointer;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.copy-toast{position:fixed;z-index:1000;left:50%;bottom:92px;transform:translate(-50%,20px);background:#111827;border:1px solid #475569;color:#fff;padding:10px 14px;border-radius:99px;opacity:0;transition:.2s;pointer-events:none}.copy-toast.show{opacity:1;transform:translate(-50%,0)}
.captain-timer{display:flex;justify-content:center;align-items:center;gap:10px;margin:12px auto 0;width:max-content;max-width:100%;padding:8px 14px;border-radius:99px;background:#3b2a0b;border:1px solid #a16207;font-weight:900}.captain-timer strong{font-size:26px;color:#fbbf24}.captain-timer.expired{background:#4a1717;border-color:#ef4444}.captain-connection{position:fixed;right:10px;bottom:10px;width:11px;height:11px;border-radius:50%;background:#64748b;box-shadow:0 0 0 3px #0006}.captain-connection.ok{background:#22c55e}

@media(max-width:900px){
  .admin-body{padding-bottom:84px}.topbar{padding:10px 12px;min-height:54px}.topbar-brand{gap:7px!important}.topbar-brand strong{font-size:16px}.topbar-brand span{font-size:12px;color:#94a3b8}.topbar nav{gap:8px}.topbar nav a{display:none}.topbar nav a:last-child{display:block;font-size:13px;text-decoration:none;background:#1e293b;padding:7px 9px;border-radius:8px}.admin-wrap{width:100%;margin:0 auto;padding:8px 8px 14px}.panel{margin:8px 0;padding:12px;border-radius:13px}.panel h2{font-size:20px}.panel-head{align-items:center}.panel-head p,.desktop-help{display:none}.mobile-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.mobile-quick-links .btn{text-align:center;text-decoration:none;padding:9px}.current-question{padding:12px;margin-top:8px}.current-question h3{font-size:21px;line-height:1.15;margin:6px 0 10px}.answers-preview{grid-template-columns:1fr;gap:6px}.answer-preview{padding:8px;font-size:14px}.question-meta{font-size:12px}.answer-timer-box{position:sticky;top:62px;z-index:7;padding:9px 12px}.answer-timer-box strong{font-size:34px}.queue{margin-top:10px}.queue-row{grid-template-columns:34px minmax(0,1fr) auto;gap:6px;padding:9px 8px}.queue-row>*:nth-child(3){display:none}.queue-row>*:nth-child(4){display:block;font-size:11px}.queue-row>*:nth-child(5){display:none}.queue-row.active{background:#3d2b0a}.queue-row.correct{background:#123c2a}.control-actions{display:grid;grid-template-columns:1fr;gap:8px}.control-actions form,.control-actions .btn{width:100%}.control-actions .btn{min-height:52px;font-size:16px}.control-actions .buzzer-admin{min-height:72px;font-size:23px}.pick-row{padding-top:10px;margin-top:10px}.pick-question-form{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.pick-question-form .btn,.pick-question-form select{width:100%}.admin-grid{display:block}.team-admin-row{grid-template-columns:1fr 112px;gap:7px;padding:10px}.team-admin-row .rename{grid-column:1/-1}.team-admin-row .rename input{min-width:0}.team-admin-row form:nth-of-type(2),.team-admin-row form:nth-of-type(3){width:100%}.team-admin-row form:nth-of-type(2) .btn,.team-admin-row form:nth-of-type(3) .btn{width:100%;min-height:40px}.captain-code{font-size:20px;min-height:42px}.add-team-form{display:grid;grid-template-columns:1fr auto}.score-admin-row{padding:11px}.score-admin-row b{font-size:16px}.score-admin-row strong{font-size:19px}.score-admin-row form{display:grid;grid-template-columns:90px minmax(0,1fr) auto!important}.compact input{max-width:none}.score-tools{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.score-tools form,.score-tools .btn{width:100%}.question-row{grid-template-columns:1fr;padding:10px}.mini-options{grid-template-columns:1fr;gap:3px}.question-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.question-actions form,.question-actions .btn{width:100%}.question-actions .btn{padding:8px 4px}.category-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.category-chips form{flex:0 0 auto}.editor{padding:10px}.editor summary{padding:4px}.question-form{gap:9px}.settings-form{grid-template-columns:1fr}.settings-form .btn{width:100%;min-height:46px}.history>div{grid-template-columns:64px minmax(0,1fr) 58px;padding:9px}.mobile-admin-nav{display:grid;position:fixed;z-index:50;left:0;right:0;bottom:0;grid-template-columns:repeat(5,1fr);padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:#0b1020f5;border-top:1px solid #303a56;backdrop-filter:blur(14px)}.mobile-admin-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:54px;color:#94a3b8;text-decoration:none;border-radius:10px}.mobile-admin-nav a span{font-size:20px}.mobile-admin-nav a small{font-size:10px;font-weight:800}.mobile-admin-nav a.active{background:#252f4b;color:#fff}.mobile-tabs-ready [data-mobile-tab]{display:none}.mobile-tabs-ready [data-mobile-tab].mobile-active{display:block}.mobile-tabs-ready .admin-grid{display:block}.copy-toast{display:block}.alert{margin:6px 0 8px}.app-credit{padding:10px 0 4px}.question-list{gap:7px}
}
.projector-timer{display:inline-block;margin-left:16px;padding:5px 10px;border-radius:99px;background:#0f172a88;color:#fde68a;font-size:.78em;white-space:nowrap}

/* Trivial SPAP 2.1.1 - QR tavoli */
.team-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 2px}
.small-note{font-size:12px}
.qr-link{text-decoration:none;text-align:center}
@media(min-width:901px){
  .team-admin-row{grid-template-columns:minmax(180px,1fr) 110px 70px 70px auto auto}
}
@media(max-width:900px){
  .team-tools{display:grid;grid-template-columns:1fr;gap:8px}
  .team-admin-row{grid-template-columns:1fr 112px 1fr 1fr;gap:7px;padding:10px}
  .team-admin-row .rename{grid-column:1/-1}
  .team-admin-row form:nth-of-type(2),.team-admin-row form:nth-of-type(3){width:auto}
  .team-admin-row .qr-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
}

/* Trivial SPAP 2.2 - risposte simultanee */
.captain-option.selected{outline:2px solid #60a5fa;background:#172554}
.all-turn{background:#713f12;font-size:24px;letter-spacing:.02em}
.answer-saved{background:#1e3a5f;font-size:24px}
.answer-saved small{display:block;margin-top:6px;font-size:15px;font-weight:700}
.direct-answer-buttons{grid-template-columns:1fr 1fr}
.direct-answer-buttons button{min-height:112px;font-size:18px;touch-action:manipulation}
.stage-banner.simultaneous{font-size:clamp(22px,2.4vw,38px);font-weight:1000}
@media(max-width:900px){
  .question-actions{grid-template-columns:repeat(2,1fr)}
  .direct-answer-buttons button{min-height:105px;font-size:16px}
}

/* Trivial SPAP 2.3.1 - spiegazioni risposta */
.explanation{display:grid;gap:4px;text-align:left;max-width:1450px;width:100%;margin:8px auto 0;padding:9px 13px;border-radius:10px;background:#0f2f26;border:1px solid #287a5a;color:#e7fff4;font-size:clamp(14px,1.25vw,20px);line-height:1.22}
.explanation b{color:#86efac;font-size:.92em;text-transform:uppercase;letter-spacing:.03em}
.explanation span{display:block}
.captain-explanation{display:grid;gap:7px;margin-top:12px;padding:14px 16px;border-radius:14px;background:#102c25;border:1px solid #287a5a;color:#e7fff4;font-size:17px;line-height:1.35;text-align:left}
.captain-explanation b{color:#86efac;font-size:15px;text-transform:uppercase;letter-spacing:.03em}
.admin-explanation{display:grid;gap:5px;margin-top:12px;padding:11px 13px;border-radius:10px;background:#102c25;border:1px solid #287a5a;color:#e7fff4;line-height:1.35}
.admin-explanation b{color:#86efac}
@media(max-width:900px){.captain-explanation{font-size:16px}.explanation{font-size:15px;padding:8px 10px}}

/* Trivial SPAP 2.4.0 - modes + manual reveal */
.mode-switch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}
.mode-switch form{margin:0}
.mode-switch-label,.mode-current-badge{font-size:13px;font-weight:700;color:#475569}
.mode-current-badge{margin-top:4px}
.wait-regia{background:#1f2937;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;text-align:center}
@media (max-width:900px){
  .mode-switch{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .mode-switch-label{grid-column:1/-1}
}

/* Trivial SPAP 2.5.0 - difficolta */
.difficulty-badge,.difficulty-chip{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;font-weight:850;white-space:nowrap}
.difficulty-badge{padding:6px 11px;font-size:13px;border:1px solid rgba(255,255,255,.14)}
.difficulty-chip{padding:3px 8px;font-size:11px;margin-left:6px;vertical-align:middle}
.difficulty-easy{background:#14532d;color:#dcfce7;border-color:#22c55e}
.difficulty-medium{background:#713f12;color:#fef3c7;border-color:#f59e0b}
.difficulty-hard{background:#7f1d1d;color:#fee2e2;border-color:#ef4444}
.stage-meta,.captain-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.difficulty-summary{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.difficulty-summary span{background:#0f172a;border:1px solid #303a56;border-radius:999px;padding:5px 9px;font-size:12px}
@media(max-width:900px){.difficulty-summary{gap:5px}.difficulty-summary span{font-size:11px;padding:5px 7px}}

/* Trivial SPAP 2.5.3 - revisione semantica difficoltà */
.difficulty-edit-form select{min-width:120px;padding:6px 8px;font-size:13px}
@media(max-width:900px){.difficulty-edit-form select{width:100%;min-height:38px}}

/* ===== Trivial SPAP 3.0 - Game Night Engine ===== */
.mode-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.mode-summary>*{background:#0f172a;border:1px solid #334155;border-radius:999px;padding:7px 11px}.game-now{background:#0f172a;border:1px solid #394664;border-radius:16px;padding:16px}.game-now-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.game-type-big{font-size:22px;font-weight:900}.big-admin-timer{font-size:34px;font-weight:1000;text-align:center;margin:12px 0;padding:10px;border-radius:12px;background:#3b2a0b;color:#fbbf24}.big-admin-timer.expired{background:#4a1717;color:#fecaca}.response-monitor{margin-top:12px}.response-monitor h3{display:flex;justify-content:space-between}.response-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) auto;gap:8px;align-items:center;background:#151f36;border-radius:9px;padding:8px;margin:5px 0}.callout{background:#2a1e09;border:1px solid #a16207;padding:12px;border-radius:12px;margin:10px 0}.game-picker{display:grid;gap:9px}.game-launch{background:#10182c;border:1px solid #334155;border-radius:12px;padding:12px}.game-launch summary{cursor:pointer;font-size:18px;font-weight:850}.game-launch form{margin-top:10px}.game-launch form:not(.stack){display:flex;gap:8px;flex-wrap:wrap}.game-launch select{min-width:220px;flex:1}.night-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#10182c;border-radius:13px;padding:14px}.night-card h3{margin:4px 0}.round-history,.night-list{display:grid;gap:6px}.round-history>div,.night-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;background:#10182c;padding:9px 11px;border-radius:9px}.v3-projector .game-stage{min-height:0}.game-scene-title{text-align:center;font-size:clamp(14px,1.3vw,22px);font-weight:1000;letter-spacing:.08em;color:#a5b4fc;text-transform:uppercase;margin-bottom:4px}.v3-wait{text-align:center}.v3-wait>div{font-size:48px}.v3-wait h2{margin:4px 0}.stage-difficulty{margin-left:12px}.tf-projector-answer{font-size:clamp(22px,2.5vw,42px);text-align:center;background:#172036;border-radius:14px;padding:14px;margin:10px auto;max-width:1000px}.tf-projector-buttons,.projector-wagers{display:flex;justify-content:center;gap:20px;margin:14px 0}.tf-projector-buttons span,.projector-wagers span{font-size:clamp(24px,3vw,46px);font-weight:1000;padding:14px 28px;background:#1e293b;border-radius:16px}.buzzer-stage{font-size:clamp(34px,4vw,68px)!important}.buzzer-live{text-align:center;background:#7f1d1d;padding:18px;border-radius:16px;font-size:clamp(25px,3vw,52px);font-weight:1000;animation:pulse 1.4s infinite}.projector-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px auto;max-width:1000px}.projector-order-grid>div{background:#172036;border:1px solid #3b4a68;border-radius:12px;padding:14px;font-size:clamp(20px,2vw,34px);font-weight:800}.projector-order{max-width:900px;margin:10px auto;font-size:clamp(20px,2vw,34px);display:grid;gap:7px}.projector-order li{background:#143023;border-radius:10px;padding:9px 14px}.projector-timer.expired{background:#7f1d1d;color:#fff}.captain-game-label{text-align:center;font-weight:1000;letter-spacing:.05em;color:#a5b4fc;font-size:16px;text-transform:uppercase}.difficulty-badge{display:block;width:max-content;margin:7px auto;padding:5px 10px;border-radius:999px;background:#1e293b;font-weight:900}.tf-statement,.buzzer-prompt,.order-prompt,.wager-title{text-align:center;font-size:clamp(24px,7vw,40px);font-weight:900;line-height:1.15;margin:12px 0}.tf-proposal{display:block;margin-top:12px;font-size:.8em;color:#cbd5e1}.tf-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.tf-buttons button{min-height:130px;border:0;border-radius:20px;color:#fff;font-size:clamp(28px,8vw,48px);font-weight:1000;background:#166534}.tf-buttons button+button{background:#991b1b}.wager-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.wager-buttons button{border:0;border-radius:18px;background:#4f46e5;color:#fff;min-height:120px;font-size:clamp(30px,9vw,56px);font-weight:1000}.wager-buttons small{display:block;font-size:13px}.wager-chip{text-align:center;background:#312e81;padding:10px;border-radius:999px;font-weight:900;margin:10px auto;width:max-content}.order-buttons{display:grid;gap:8px}.order-buttons button{background:#263451;border:1px solid #52617d;color:#fff;border-radius:13px;padding:14px;font-size:18px;font-weight:800}.order-buttons button.picked{opacity:.35}.order-selected{text-align:center;margin:10px 0;color:#cbd5e1}.correct-order{font-size:20px;display:grid;gap:7px}.correct-order li{background:#16351f;border-radius:10px;padding:10px}.v3-captain .captain-state{justify-content:flex-start;padding-top:18px}
@media(max-width:900px){.response-row{grid-template-columns:1fr auto}.response-row form{grid-column:1/-1}.game-launch form:not(.stack){display:grid;grid-template-columns:1fr}.game-launch select,.game-launch .btn{width:100%}.night-card{align-items:stretch;flex-direction:column}.night-card .btn{width:100%}.round-history>div,.night-list>div{grid-template-columns:1fr auto}.round-history>div>*:nth-child(3),.night-list>div>*:nth-child(3){display:none}.tf-buttons button{min-height:110px}.projector-order-grid{grid-template-columns:1fr}.v3-projector .ranking-area{margin-top:8px}.v3-projector .game-stage{padding:8px}.mode-summary{font-size:12px}}

/* ===== Trivial SPAP 3.0.1 - Backoffice a menu ===== */
.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;align-items:start;max-width:1800px;margin:0 auto}
.admin-sidebar{position:sticky;top:68px;height:calc(100vh - 68px);padding:18px 12px 24px;border-right:1px solid var(--line);background:#0d1325;overflow:auto}
.admin-sidebar-title{font-size:11px;font-weight:900;letter-spacing:.14em;color:#64748b;padding:0 10px 10px}
.admin-main-menu{display:grid;gap:6px}
.admin-main-menu a{display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-items:center;padding:10px 11px;border-radius:12px;color:#cbd5e1;text-decoration:none;border:1px solid transparent}
.admin-main-menu a>span{grid-row:1/3;font-size:20px;text-align:center}.admin-main-menu a>b{font-size:14px}.admin-main-menu a>small{font-size:11px;color:#7f8aa3}
.admin-main-menu a:hover{background:#151c31;border-color:#273451}.admin-main-menu a.active{background:#252f4b;border-color:#4f5d82;color:#fff}.admin-main-menu a.active small{color:#cbd5e1}
.admin-wrap{width:100%;max-width:1500px;margin:0;padding:18px 22px 50px;min-width:0}
.admin-page{display:none!important;margin-top:0}.admin-page.admin-page-active{display:block!important}
.admin-mobile-menu-wrap{display:none}
.v3-admin .panel{min-height:0}
#games .game-picker{max-width:1050px}
#questions .question-list{max-height:none}

@media(max-width:900px){
  .admin-body{padding-bottom:0}
  .admin-shell{display:block;max-width:none}
  .admin-sidebar{display:none}
  .admin-mobile-menu-wrap{display:block;position:sticky;top:54px;z-index:40;background:#0b1020f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
  .admin-menu-toggle{width:100%;min-height:48px;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:8px 12px;text-align:left;font-weight:800}
  .admin-menu-toggle span{color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.admin-menu-toggle b{justify-self:end;color:#fff}
  .admin-mobile-menu{display:none;grid-template-columns:1fr 1fr;gap:6px;padding:6px 8px 10px;background:#0d1325;border-top:1px solid #26314d}
  .admin-mobile-menu.open{display:grid}
  .admin-mobile-menu a{padding:11px 10px;border-radius:10px;background:#151c31;border:1px solid #273451;color:#cbd5e1;text-decoration:none;font-size:14px;font-weight:800}
  .admin-mobile-menu a.active{background:#4f46e5;border-color:#6366f1;color:#fff}
  .admin-wrap{width:100%;padding:8px 8px 24px;margin:0}
  .admin-page.admin-page-active{display:block!important}
  .v3-admin .topbar{top:0}
}

/* ===== Trivial SPAP 3.0.2 - Dashboard serata + Impostazioni raggruppate ===== */
.dashboard-page{display:none!important}.dashboard-page.admin-page-active{display:block!important}
.dashboard-head{margin-bottom:12px}.night-dashboard-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:10px 0 14px}.night-dashboard-summary>div{background:#0f172a;border:1px solid #334155;border-radius:12px;padding:10px 12px;min-width:0}.night-dashboard-summary small{display:block;color:#94a3b8;font-size:10px;font-weight:900;letter-spacing:.08em}.night-dashboard-summary strong{display:block;margin-top:4px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:14px;align-items:start}.dashboard-main-column{min-width:0;display:grid;gap:12px}.dashboard-round-card{margin:0}.dashboard-round-card .game-now-top>div{display:grid;gap:3px}.dashboard-round-card .game-now-top small{color:#94a3b8;font-size:11px;font-weight:900;letter-spacing:.08em}.round-status{background:#26314d;border-radius:999px;padding:6px 10px;font-size:12px}.admin-solution-box{margin:12px 0;background:#10251d;border:1px solid #1f7a50;border-radius:13px;padding:12px;display:grid;gap:6px}.admin-solution-box>small{color:#86efac;font-weight:900;letter-spacing:.06em}.admin-solution-box>strong{font-size:20px;color:#dcfce7}.admin-solution-box>span,.admin-solution-box>p{color:#d1fae5;margin:0}.admin-solution-box ol{margin:3px 0 0 22px;padding:0;color:#dcfce7;font-weight:800}.round-progress-card{background:#10182c;border:1px solid #334155;border-radius:12px;padding:10px 12px;margin:10px 0}.round-progress-card>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px}.round-progress-card b{color:#e2e8f0}.round-progress-track{height:9px;background:#0b1020;border-radius:999px;overflow:hidden;margin-top:8px}.round-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#22c55e);border-radius:999px;transition:width .2s}.dashboard-ranking-card{position:sticky;top:86px;background:#0f172a;border:1px solid #34415f;border-radius:16px;padding:14px;max-height:calc(100vh - 110px);overflow:auto}.dashboard-ranking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.dashboard-ranking-head small{color:#22c55e;font-weight:900;letter-spacing:.08em}.dashboard-ranking-head h3{margin:2px 0 0}.dashboard-ranking-head a{font-size:12px}.dashboard-ranking-list{display:grid;gap:6px}.dashboard-rank-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;background:#151f36;border-radius:10px;padding:9px 10px}.dashboard-rank-row>strong{color:#facc15}.dashboard-rank-row>span{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-rank-row>b{font-size:17px}.dashboard-round-history{background:#10182c;border:1px solid #334155;border-radius:13px;padding:12px}.dashboard-round-history h3{margin:0 0 9px}.compact-history>div{grid-template-columns:1fr auto auto!important}.dashboard-empty,.next-round-box{display:grid;gap:10px;justify-items:center}.dashboard-empty .btn,.next-round-box .btn{margin-top:5px;text-decoration:none}
.settings-subnav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:10px;background:#10182c;border:1px solid #303a56;border-radius:14px}.settings-subnav[hidden]{display:none!important}.settings-subnav a{padding:9px 11px;border-radius:10px;background:#182238;border:1px solid #334155;color:#cbd5e1;text-decoration:none;font-size:13px;font-weight:850}.settings-subnav a.active{background:#4f46e5;border-color:#6366f1;color:#fff}.table-lock-banner{display:grid;gap:4px;background:#3a2707;border:1px solid #a16207;border-radius:12px;padding:12px;margin:10px 0}.table-lock-banner b{color:#fde68a}.table-lock-banner span{color:#fef3c7}.team-admin-row.locked{grid-template-columns:minmax(180px,1fr) 110px 70px 70px}.team-readonly-name{padding:8px 10px;background:#10182c;border:1px solid #273451;border-radius:9px}.team-readonly-name b{font-size:15px}
@media(max-width:1200px){.night-dashboard-summary{grid-template-columns:repeat(3,1fr)}.dashboard-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr)}}
@media(max-width:900px){.night-dashboard-summary{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.dashboard-ranking-card{position:static;max-height:none;order:2}.settings-subnav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:9px}.settings-subnav a{flex:0 0 auto}.team-admin-row.locked{grid-template-columns:1fr 112px}.team-admin-row.locked .team-readonly-name{grid-column:1/-1}.team-admin-row.locked .qr-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center}.dashboard-ranking-head{align-items:center}.admin-solution-box>strong{font-size:18px}.round-progress-card>div:first-child{font-size:12px}}

/* Trivial SPAP 3.1 - manche multi-domanda */
.game-settings-box{margin:12px 0 18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#10182c}.game-settings-box h3{margin:0 0 6px}.game-count-settings{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;align-items:end}.game-count-settings label{display:grid;gap:5px;color:#cbd5e1;font-weight:700}.game-count-settings .btn{min-height:44px}.game-launch summary small{color:#94a3b8;font-weight:700}.manche-question-progress{margin:12px 0;padding:10px 12px;border-radius:12px;background:#111a2f;border:1px solid #303a56}.manche-question-progress>span{display:block;margin-bottom:7px;font-size:14px;color:#cbd5e1}.next-order4-box{width:100%;border:1px solid #3b4a6b;border-radius:12px;padding:10px;background:#10182c}.next-order4-box summary{cursor:pointer}.scene-question-progress{display:inline-block;margin-left:10px;padding:3px 8px;border-radius:999px;background:#ffffff14;border:1px solid #ffffff22;font-size:.62em;vertical-align:middle}.captain-question-progress{text-align:center;color:#94a3b8;font-weight:800;font-size:13px;letter-spacing:.04em;margin:4px 0 8px}
@media(max-width:900px){.game-count-settings{grid-template-columns:1fr 1fr}.game-count-settings .btn{grid-column:1/-1}.scene-question-progress{display:block;width:max-content;margin:5px auto 0}}
@media(max-width:520px){.game-count-settings{grid-template-columns:1fr}}

/* Trivial SPAP 3.1.1 - log serata separato dalla dashboard */
.log-page h3{margin:20px 0 9px}.log-night-head{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.2fr;gap:8px;margin:10px 0 16px}.log-night-head>div{background:#10182c;border:1px solid #334155;border-radius:12px;padding:10px 12px}.log-night-head small{display:block;color:#94a3b8;font-size:10px;font-weight:900;letter-spacing:.08em}.log-night-head strong{display:block;margin-top:4px}.log-manches,.log-rounds,.log-scores{display:grid;gap:7px}.log-manche-row,.log-round-row,.log-score-row{background:#10182c;border:1px solid #273451;border-radius:10px;padding:9px 10px}.log-manche-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;gap:10px;align-items:center}.log-manche-row span,.log-manche-row small{color:#cbd5e1}.log-round-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.4fr);gap:12px;align-items:center}.log-round-row>div{display:grid;gap:3px}.log-round-row small{color:#94a3b8}.log-round-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e2e8f0}.log-score-row{display:grid;grid-template-columns:70px minmax(120px,.6fr) 80px minmax(0,1.5fr);gap:10px;align-items:center}.log-score-row small{color:#94a3b8}.log-score-row .positive{color:#86efac}.log-score-row .negative{color:#fca5a5}
@media(max-width:900px){.log-night-head{grid-template-columns:1fr 1fr}.log-manche-row{grid-template-columns:1fr auto}.log-manche-row span:nth-of-type(2),.log-manche-row small{font-size:12px}.log-round-row{grid-template-columns:1fr}.log-round-row>span{white-space:normal}.log-score-row{grid-template-columns:58px minmax(0,1fr) 70px}.log-score-row>span{grid-column:1/-1;color:#cbd5e1;font-size:12px}.dashboard-main-column{gap:8px}}

/* Trivial SPAP 3.2 - serate Standard/Custom e ruota categorie */
.night-create-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.night-create-form label{display:grid;gap:6px}.night-create-form .full{grid-column:1/-1}.night-create-form fieldset{border:1px solid var(--line);border-radius:14px;padding:14px}.night-plan-create{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.night-plan{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:14px}.night-plan-row{display:grid;grid-template-columns:minmax(190px,1fr) 130px auto 44px auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.night-plan-row:last-child{border-bottom:0}.night-plan-row form{margin:0}.night-plan-row b{text-align:center}.compact-start{max-width:520px;margin:12px auto 0}.category-draw-scene{text-align:center;display:grid;gap:14px;place-items:center}.category-draw-scene h2{font-size:clamp(30px,4vw,62px);margin:0}.fortune-wheel-wrap{position:relative;width:min(52vh,480px);aspect-ratio:1}.fortune-wheel{position:absolute;inset:8%;border-radius:50%;background:conic-gradient(#7c3aed 0 60deg,#0891b2 60deg 120deg,#16a34a 120deg 180deg,#ca8a04 180deg 240deg,#dc2626 240deg 300deg,#2563eb 300deg 360deg);border:10px solid #f8fafc;box-shadow:0 0 0 5px #334155,0 18px 50px #0008;animation:spap-wheel-spin .65s linear infinite}.wheel-center{position:absolute;inset:34%;border-radius:50%;display:grid;place-items:center;background:#0f172a;border:6px solid #fff;font-weight:1000;font-size:clamp(20px,3vw,44px)}.fortune-pointer{position:absolute;z-index:4;top:-2%;left:50%;transform:translateX(-50%);font-size:42px;color:#facc15;text-shadow:0 2px 4px #000}.wheel-label{position:absolute;z-index:2;width:34%;font-size:clamp(10px,1.2vw,17px);font-weight:900;text-shadow:0 1px 3px #000}.wheel-label-0{top:8%;left:33%}.wheel-label-1{top:25%;right:2%;transform:rotate(60deg)}.wheel-label-2{bottom:23%;right:3%;transform:rotate(120deg)}.wheel-label-3{bottom:8%;left:33%;transform:rotate(180deg)}.wheel-label-4{bottom:24%;left:2%;transform:rotate(240deg)}.wheel-label-5{top:25%;left:2%;transform:rotate(300deg)}.draw-result{display:grid;gap:4px}.draw-result small{color:#94a3b8;font-weight:800}.draw-result strong{font-size:clamp(24px,3vw,46px);color:#fde68a}@keyframes spap-wheel-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.night-create-form{grid-template-columns:1fr}.night-create-form .full{grid-column:auto}.night-plan-create{grid-template-columns:1fr}.night-plan-row{grid-template-columns:1fr auto auto auto}.night-plan-row small{grid-column:1/-1}.fortune-wheel-wrap{width:min(76vw,420px)}}
.fortune-wheel.wheel-stopping{animation-duration:1.8s}

/* Trivial SPAP 3.2.1 - banca domande, notifiche e log */
.admin-flash{display:flex;align-items:center;justify-content:space-between;gap:14px;transition:opacity .2s ease,transform .2s ease;overflow:hidden}
.admin-flash.hiding{opacity:0;transform:translateY(-6px)}
.alert-close{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:8px;background:#ffffff14;color:#fff;font-size:22px;line-height:1;cursor:pointer}
.alert-close:hover{background:#ffffff24}
.question-bank-summary{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}
.question-bank-summary span{background:#10182c;border:1px solid #334155;border-radius:999px;padding:6px 10px;color:#cbd5e1;font-size:12px}
.question-bank-summary b{color:#fff;margin-left:4px}
.question-filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) minmax(160px,1fr);gap:10px;align-items:end;padding:12px;margin:10px 0 14px;background:#10182c;border:1px solid #334155;border-radius:13px}
.question-filter-bar label{display:grid;gap:5px;color:#cbd5e1;font-weight:750}
.question-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:16px 0 2px}
.question-pagination a{text-decoration:none}
.page-link{min-width:34px;height:34px;display:inline-grid;place-items:center;border-radius:9px;background:#182238;border:1px solid #334155;color:#cbd5e1;font-weight:800}
.page-link.active{background:#4f46e5;border-color:#6366f1;color:#fff}
.pagination-info{width:100%;text-align:center;color:#94a3b8;font-size:12px;margin-top:4px}
.settings-form-expanded{grid-template-columns:repeat(3,minmax(180px,1fr))}
.settings-form-expanded label small{font-size:11px;color:#94a3b8;font-weight:500}
.log-page .panel-head form{margin:0}
@media(max-width:900px){
 .question-filter-bar{grid-template-columns:1fr}.question-bank-summary{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.question-bank-summary span{flex:0 0 auto}.question-pagination{justify-content:flex-start}.settings-form-expanded{grid-template-columns:1fr}.log-page .panel-head{align-items:flex-start}.log-page .panel-head form{flex:0 0 auto}.log-page .panel-head .btn{white-space:nowrap}
}

/* v3.2.5 - esito risposte smartphone */
.captain-option.correct{background:#14532d;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e66,0 0 22px #22c55e44}.captain-option.wrong-selected{background:#7f1d1d;border-color:#ef4444;box-shadow:0 0 0 2px #ef444466,0 0 22px #ef444444}.captain-option.selected-answer{font-weight:900}.captain-option{position:relative}.answer-result-icon{margin-left:auto;display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;font-style:normal;font-size:24px;font-weight:1000;background:#ffffff18}.answer-flash-correct{animation:spapCorrectFlash 1.05s ease-in-out 4}.answer-flash-wrong{animation:spapWrongFlash .7s ease-in-out 6}.tf-result-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.tf-result-option{min-height:88px;display:flex;align-items:center;justify-content:center;gap:14px;border-radius:18px;background:#263451;border:1px solid #52617d;font-size:clamp(25px,7vw,40px);font-weight:1000}.tf-result-option span{font-size:1.15em}.tf-result-option.correct{background:#14532d;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e66,0 0 22px #22c55e44}.tf-result-option.wrong-selected{background:#7f1d1d;border-color:#ef4444;box-shadow:0 0 0 2px #ef444466,0 0 22px #ef444444}@keyframes spapCorrectFlash{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.45);transform:scale(1.015)}}@keyframes spapWrongFlash{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.55);transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.answer-flash-correct,.answer-flash-wrong{animation:none}}

/* v3.3.1 - comportamento chiusura risposte per singola serata */
.night-behavior-box{margin:14px 0;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}
.night-behavior-box h3{margin:0 0 12px}.night-behavior-form{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.check-row{display:flex!important;gap:12px;align-items:flex-start!important;cursor:pointer}.check-row input[type="checkbox"]{width:22px;height:22px;min-width:22px;margin-top:2px}.check-row span{display:flex;flex-direction:column;gap:4px}.check-row small{font-weight:400;opacity:.72;line-height:1.35}
@media(max-width:720px){.night-behavior-form{display:block}.night-behavior-form .btn{width:100%;margin-top:12px}}

/* v3.4.0 - telone a scene, profilo tavolo e presentazione squadre */
.admin-solution-box.solution-hidden{background:#172033;border-color:#475569}.admin-solution-box.solution-hidden>small{color:#cbd5e1}.admin-solution-box.solution-hidden>strong{color:#f8fafc;font-size:17px}.admin-solution-box.solution-hidden>span{color:#94a3b8}.tf-admin-suffix{display:inline-block;color:#fde68a;margin-left:6px}.projector-control-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;margin:10px 0;background:#111a2f;border:1px solid #34415f;border-radius:13px}.projector-control-strip>div{display:grid;gap:3px}.projector-control-strip span{color:#94a3b8;font-size:13px}.projector-control-strip form{margin:0}
.captain-team-profile{margin:4px 8px 10px;border:1px solid #334155;background:#10182c;border-radius:14px;overflow:hidden}.captain-team-profile summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 13px;cursor:pointer;font-weight:850}.captain-team-profile summary small{color:#94a3b8;font-weight:700}.captain-profile-body{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:0 13px 13px}.captain-profile-preview{width:120px;height:120px;border-radius:14px;overflow:hidden;background:#0b1020;border:1px solid #334155;display:grid;place-items:center;font-size:42px}.captain-profile-preview img{width:100%;height:100%;object-fit:cover}.captain-profile-body label small{color:#94a3b8;font-weight:500}.tf-question-suffix{color:#fde68a}.tf-statement{font-size:clamp(24px,6vw,38px);line-height:1.18;text-align:center;font-weight:850;margin:12px 0}.tf-projector-suffix{color:#fde68a;white-space:nowrap}
.projector{height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:10px 16px 4px}.game-stage,.ranking-area{min-height:0;height:100%;overflow:hidden}.game-stage[hidden],.ranking-area[hidden]{display:none!important}.ranking-area{display:grid;grid-template-rows:auto minmax(0,1fr);padding:12px 0 4px}.ranking-title{padding:0 4px 8px}.ranking-title h2{font-size:clamp(28px,3.2vw,54px)}.ranking-title span{font-size:clamp(14px,1.3vw,21px);font-weight:800}.ranking-grid{height:100%;min-height:0}.rank-card{padding:8px 12px}.rank-main{grid-template-columns:54px minmax(0,1fr) auto}.rank-name{font-size:clamp(21px,2.1vw,38px)}.rank-score{font-size:clamp(23px,2.3vw,42px)}.place{font-size:clamp(21px,2vw,36px)}.rank-details{font-size:clamp(12px,1.05vw,18px)}
.v3-stage{padding:18px 28px}.game-scene-title{text-align:center;font-weight:950;letter-spacing:.06em;color:#cbd5e1;font-size:clamp(18px,1.6vw,28px);margin-bottom:6px}.stage-question{font-size:clamp(30px,3.8vw,62px);line-height:1.06;max-width:1500px;margin:10px auto 18px}.projector-option{min-height:64px;font-size:clamp(21px,2vw,34px);padding:12px 16px}.projector-option b{width:38px;height:38px}.stage-banner{font-size:clamp(21px,2.2vw,36px);padding:10px 14px}.explanation{font-size:clamp(14px,1.15vw,20px)}
.category-draw-scene{height:100%;align-content:center}.category-draw-scene h2{font-size:clamp(34px,4.2vw,68px)}.fortune-wheel-wrap{width:min(47vh,430px)}.draw-result strong{font-size:clamp(34px,4.4vw,72px)}.draw-result small{font-size:clamp(15px,1.5vw,24px)}
.team-intro-scene{height:100%;display:grid;align-content:center;justify-items:center;gap:18px}.team-intro-kicker{font-size:clamp(18px,1.8vw,30px);font-weight:950;letter-spacing:.08em;color:#c4b5fd}.team-intro-card{width:min(1200px,92vw);display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:32px;align-items:center;background:linear-gradient(135deg,#17203a,#10182c);border:2px solid #475569;border-radius:28px;padding:28px;box-shadow:0 28px 80px #0008}.team-intro-photo{aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#0b1020;border:2px solid #475569;display:grid;place-items:center}.team-intro-photo img{width:100%;height:100%;object-fit:cover}.team-intro-placeholder{font-size:96px;opacity:.5}.team-intro-copy small{color:#94a3b8;font-size:clamp(16px,1.4vw,24px);font-weight:900;letter-spacing:.14em}.team-intro-copy h2{font-size:clamp(48px,6vw,96px);line-height:.96;margin:8px 0 18px}.team-intro-copy blockquote{margin:0;color:#fde68a;font-size:clamp(24px,2.8vw,48px);font-weight:850;line-height:1.15}.projector-audio-enable{position:fixed;right:20px;bottom:34px;z-index:20;border:0;border-radius:999px;padding:12px 18px;background:#7c3aed;color:#fff;font-weight:900;box-shadow:0 8px 30px #0008;cursor:pointer}
@media(max-width:900px){.projector-control-strip{align-items:flex-start;flex-direction:column}.captain-profile-body{grid-template-columns:1fr}.captain-profile-preview{width:100%;height:auto;aspect-ratio:16/9}.v3-stage{padding:14px}.team-intro-card{grid-template-columns:1fr;gap:14px;padding:16px}.team-intro-photo{max-height:45vh}.team-intro-copy{text-align:center}.team-intro-copy h2{font-size:clamp(36px,10vw,64px)}.stage-question{font-size:clamp(26px,6vw,46px)}}
@media(max-height:720px) and (min-width:900px){.projector-header .brand img{width:48px;height:48px}.brand h1{font-size:32px}.v3-stage{padding:10px 20px}.stage-question{font-size:clamp(24px,3vw,46px);margin:6px auto 10px}.projector-option{min-height:50px;padding:8px 12px;font-size:clamp(17px,1.6vw,27px)}.team-intro-card{padding:18px;gap:22px}.team-intro-photo{max-height:55vh}.projector-credit{font-size:10px}}
.admin-question-options{margin:10px 0}.admin-question-options .answer-preview{display:flex;align-items:center;gap:8px}.admin-question-options .answer-preview b{flex:0 0 30px}.admin-tf-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.admin-tf-preview span{display:grid;place-items:center;min-height:54px;border:1px solid #475569;border-radius:12px;background:#182238;font-weight:900;font-size:18px}

/* v3.4.2 - selfie diretto dalla fotocamera del capitano */
.captain-selfie-control{display:grid;gap:7px}.captain-selfie-control small{color:#94a3b8;line-height:1.35}.captain-camera-btn{min-height:54px;font-size:17px;font-weight:900}.captain-camera-panel{display:grid;gap:10px;padding:10px;border:1px solid #475569;border-radius:16px;background:#070c18}.captain-camera-panel[hidden]{display:none!important}.captain-camera-panel video{display:block;width:100%;max-height:56vh;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#000;transform:scaleX(-1)}.captain-camera-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.captain-camera-actions .btn{min-height:50px}.captain-profile-preview img{image-orientation:from-image}
@media(max-width:600px){.captain-camera-actions{grid-template-columns:1fr 1fr}.captain-camera-actions .btn{width:100%}}

/* v3.4.3 - selfie ritagliabile, intro sincronizzata con musica e fix telone */
.captain-profile-preview{width:140px;height:140px;aspect-ratio:1;border-radius:50%;overflow:hidden;justify-self:center;border:3px solid #64748b;box-shadow:0 10px 30px #0006}
.captain-profile-preview img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.captain-crop-panel{display:grid;gap:12px;padding:12px;border:1px solid #475569;border-radius:18px;background:#070c18}
.captain-crop-panel[hidden]{display:none!important}.captain-crop-help{display:grid;gap:3px;text-align:center}.captain-crop-help span{color:#94a3b8;font-size:13px}
.captain-crop-stage{position:relative;width:min(74vw,340px);aspect-ratio:1;margin:0 auto;border-radius:50%;background:#020617;box-shadow:0 0 0 8px #111827,0 0 0 10px #64748b,0 18px 46px #0009}
.captain-crop-stage canvas{display:block;width:100%;height:100%;border-radius:50%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.captain-crop-stage canvas:active{cursor:grabbing}
.captain-crop-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 0 4px #fff8,inset 0 0 36px #0008}
.captain-zoom-row{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px!important;align-items:center!important}.captain-zoom-row input{padding:0}
.captain-crop-actions{display:grid;grid-template-columns:auto 1fr auto;gap:8px}.captain-crop-actions .btn{min-height:48px}
@media(max-width:600px){.captain-profile-body{grid-template-columns:1fr}.captain-profile-preview{width:min(46vw,180px);height:auto}.captain-crop-actions{grid-template-columns:1fr 1fr}.captain-crop-actions .btn:last-child{grid-column:1/-1}.captain-crop-stage{width:min(82vw,360px)}}

.team-intro-prelude{text-align:center}.team-intro-prelude h2{margin:0;font-size:clamp(46px,6.5vw,104px);line-height:1}.team-intro-prelude p{margin:0;color:#cbd5e1;font-size:clamp(18px,1.8vw,30px)}.team-intro-music{font-size:clamp(76px,10vw,160px);filter:drop-shadow(0 16px 28px #0008)}.pulse-music{animation:introMusicPulse 1.2s ease-in-out infinite}
.team-intro-card{overflow:hidden}.team-intro-photo{width:min(38vw,430px);max-width:100%;aspect-ratio:1;border-radius:50%;justify-self:center;box-shadow:0 0 0 8px #ffffff1a,0 0 0 11px #64748b,0 26px 60px #0008}.team-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:50%}
.team-intro-card.intro-zoom-pop{animation:introZoomPop .95s cubic-bezier(.2,.9,.25,1.15) both}.team-intro-card.intro-slide-left{animation:introSlideLeft .9s cubic-bezier(.2,.85,.3,1) both}.team-intro-card.intro-slide-right{animation:introSlideRight .9s cubic-bezier(.2,.85,.3,1) both}.team-intro-card.intro-rise-up{animation:introRiseUp .9s cubic-bezier(.2,.85,.3,1) both}.team-intro-card.intro-flip-in{animation:introFlipIn .9s cubic-bezier(.2,.85,.3,1) both;transform-origin:center}.team-intro-card.intro-swing-in{animation:introSwingIn 1s cubic-bezier(.2,.85,.3,1) both;transform-origin:50% 10%}
@keyframes introMusicPulse{50%{transform:scale(1.08);filter:drop-shadow(0 18px 38px #7c3aedaa)}}
@keyframes introZoomPop{0%{opacity:0;transform:scale(.45) rotate(-3deg)}75%{opacity:1;transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes introSlideLeft{0%{opacity:0;transform:translateX(-24vw) rotate(-5deg)}100%{opacity:1;transform:none}}
@keyframes introSlideRight{0%{opacity:0;transform:translateX(24vw) rotate(5deg)}100%{opacity:1;transform:none}}
@keyframes introRiseUp{0%{opacity:0;transform:translateY(24vh) scale(.86)}100%{opacity:1;transform:none}}
@keyframes introFlipIn{0%{opacity:0;transform:perspective(900px) rotateY(85deg) scale(.8)}100%{opacity:1;transform:perspective(900px) rotateY(0) scale(1)}}
@keyframes introSwingIn{0%{opacity:0;transform:rotate(10deg) translateY(-12vh) scale(.82)}55%{opacity:1;transform:rotate(-2deg)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pulse-music,.team-intro-card[class*="intro-"]{animation:none!important}}

/* Il telone deve sempre restare entro il viewport, anche con domande/opzioni molto lunghe. */
.projector-body,.projector{width:100%;max-width:100vw;min-width:0;overflow:hidden}.projector-header,.projector-header>*{min-width:0}.projector-header{max-width:100%;overflow:hidden}.brand{min-width:0}.brand>div{min-width:0}.brand h1,.brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-clock{flex:0 0 auto}
.v3-projector .game-stage,.v3-projector .v3-stage{width:100%;max-width:100%;min-width:0;overflow:hidden}.stage-question{width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}.projector-options{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.projector-option{min-width:0;max-width:100%;overflow:hidden}.projector-option span{min-width:0;overflow-wrap:anywhere;word-break:normal}.explanation{width:100%;max-width:100%;min-width:0;overflow:hidden}.explanation span{overflow-wrap:anywhere}.stage-banner{max-width:100%;overflow-wrap:anywhere}.game-scene-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-height:720px) and (min-width:901px){.team-intro-prelude h2{font-size:clamp(38px,5vw,72px)}.team-intro-music{font-size:90px}.team-intro-card{max-height:72vh}.team-intro-photo{width:min(32vw,330px)}.stage-question{font-size:clamp(23px,2.8vw,44px);line-height:1.02;margin:5px auto 8px}.projector-option{font-size:clamp(16px,1.45vw,24px);min-height:46px;padding:7px 10px}.stage-banner{margin-top:6px;padding:7px 10px}.explanation{margin-top:5px;padding:6px 10px;font-size:clamp(12px,1vw,16px)}}


/* v3.4.4 - CTA profilo squadra e finale presentazione */
.captain-team-profile>summary{position:relative;min-height:72px;padding:14px 16px!important;background:linear-gradient(135deg,#172554,#312e81);border-bottom:1px solid #6366f155;box-shadow:inset 0 0 0 1px #818cf833;transition:transform .18s ease,filter .18s ease;list-style:none}.captain-team-profile>summary::-webkit-details-marker{display:none}.captain-team-profile>summary:hover{filter:brightness(1.08)}.captain-team-profile>summary:active{transform:scale(.985)}
.captain-team-profile>summary>span{display:grid;gap:4px;min-width:0}.captain-team-profile>summary strong{font-size:17px;letter-spacing:.02em;color:#fff}.captain-team-profile>summary small{font-size:12px;color:#c7d2fe!important}.captain-profile-summary-action{flex:0 0 auto;border-radius:999px;padding:8px 11px;background:#fbbf24;color:#261b00;font-size:11px;letter-spacing:.07em;box-shadow:0 5px 18px #0005}
.captain-team-profile.profile-incomplete>summary{animation:captainProfileCta 2.2s ease-in-out infinite}.captain-team-profile.profile-complete>summary{background:linear-gradient(135deg,#123427,#164e3a)}.captain-team-profile.profile-complete .captain-profile-summary-action{background:#86efac;color:#052e16}
@keyframes captainProfileCta{50%{box-shadow:inset 0 0 0 1px #818cf866,0 0 0 4px #6366f122,0 8px 24px #0005}}
.team-intro-finale{animation:introFinaleIn .6s ease-out both}.team-intro-finale h2{color:#fde68a}.team-intro-finale .team-intro-music{filter:drop-shadow(0 16px 28px #f59e0b55)}
@keyframes introFinaleIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.captain-team-profile.profile-incomplete>summary,.team-intro-finale{animation:none!important}}

/* v3.5.1 - UI capitano compatta, punteggio live e gameplay senza scrolling */
.captain-header-right{display:flex;align-items:center;gap:10px}.captain-score-box{display:grid;place-items:center;min-width:74px;padding:6px 10px;border:1px solid #475569;border-radius:14px;background:linear-gradient(135deg,#172554,#312e81);box-shadow:0 8px 22px #0005}.captain-score-box small{font-size:9px;letter-spacing:.12em;color:#c7d2fe;font-weight:900}.captain-score-box strong{font-size:25px;line-height:1;color:#fff}.captain-header-right>a{font-size:12px;white-space:nowrap}
.night-difficulty-control form{margin-top:4px}.night-difficulty-control select{min-width:128px;padding:6px 8px;font-weight:850}
@media(max-width:700px){
  .captain-game-running{height:100dvh;min-height:100dvh;overflow:hidden}
  .captain-game-running .captain-app{height:100dvh;min-height:0;overflow:hidden;padding:5px 7px;display:grid;grid-template-rows:auto minmax(0,1fr)}
  .captain-game-running .captain-header{padding:3px 4px 5px;min-height:50px}
  .captain-game-running .captain-team-title small{font-size:8px}.captain-game-running .captain-team-title h1{font-size:19px;line-height:1.05;max-width:47vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .captain-game-running .captain-header-right{gap:6px}.captain-game-running .captain-score-box{min-width:62px;padding:4px 8px;border-radius:11px}.captain-game-running .captain-score-box small{font-size:8px}.captain-game-running .captain-score-box strong{font-size:21px}.captain-game-running .captain-header-right>a{font-size:10px}
  .captain-game-running .captain-state{min-height:0;height:100%;overflow:hidden;padding-top:2px!important;display:flex;flex-direction:column;justify-content:flex-start}
  .captain-game-running .app-credit{display:none}
  .captain-game-label{font-size:12px;line-height:1.05}.captain-question-progress{font-size:10px;margin:2px 0 3px}.captain-category{font-size:13px;line-height:1.05}.captain-question{font-size:clamp(17px,4.8vw,24px);line-height:1.05;margin:4px 0 5px}
  .captain-timer{margin:4px auto 0;padding:4px 10px;font-size:12px}.captain-timer strong{font-size:20px}.your-turn{font-size:16px;margin-top:5px;padding:6px}.captain-message,.wrong-box,.booked-ok,.resolved-box{margin-top:6px;padding:8px;font-size:15px}
  .captain-answer-buttons{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;margin-top:6px}.captain-answer-buttons button{min-height:0;height:100%;padding:5px 7px;border-radius:11px;font-size:clamp(12px,3.6vw,16px);line-height:1.08;overflow:hidden}.captain-answer-buttons button b{min-width:31px;height:31px;font-size:17px;border-radius:8px}
  .captain-options{gap:5px}.captain-option{padding:6px;font-size:14px;line-height:1.08}.captain-option b{min-width:30px;height:30px;font-size:17px}.answer-result-icon{min-width:28px;height:28px;font-size:18px}
  .tf-statement,.buzzer-prompt,.order-prompt,.wager-title{font-size:clamp(18px,5.2vw,28px);line-height:1.08;margin:5px 0}.tf-buttons{flex:1;min-height:0;margin-top:6px;gap:6px}.tf-buttons button{min-height:0;height:100%;font-size:clamp(25px,8vw,42px);border-radius:16px}.tf-result-options{margin:6px 0;gap:6px}.tf-result-option{min-height:62px;font-size:clamp(20px,6vw,32px);border-radius:14px}
  .wager-title{margin-top:8px}.wager-buttons{flex:1;min-height:0;gap:6px}.wager-buttons button{min-height:0;height:100%;font-size:clamp(28px,9vw,48px);border-radius:14px}.wager-chip{margin:4px auto;padding:5px 10px;font-size:13px}
  .order-buttons{flex:1;min-height:0;gap:5px}.order-buttons button{min-height:0;padding:8px;font-size:14px}.order-selected{margin:4px 0;font-size:12px}.correct-order{font-size:15px;gap:4px}.correct-order li{padding:6px}
  .captain-buzzer{flex:1;min-height:0;height:100%;margin-top:6px;font-size:clamp(36px,11vw,64px)}
  .captain-wait{margin:auto}.captain-wait .wait-icon{font-size:46px}.captain-wait h2{font-size:21px;margin:5px 0}.captain-wait p{font-size:13px;margin:4px 0}
  .captain-compact-1 .captain-question{font-size:clamp(15px,4.3vw,21px)}.captain-compact-1 .captain-category{font-size:11px}.captain-compact-1 .captain-answer-buttons button{font-size:clamp(11px,3.2vw,14px)}.captain-compact-1 .tf-statement,.captain-compact-1 .order-prompt,.captain-compact-1 .buzzer-prompt{font-size:clamp(16px,4.5vw,23px)}
  .captain-compact-2 .captain-game-label{font-size:10px}.captain-compact-2 .captain-question-progress{font-size:9px}.captain-compact-2 .captain-question{font-size:clamp(14px,4vw,19px);margin:2px 0}.captain-compact-2 .captain-timer{padding:3px 8px;margin-top:2px}.captain-compact-2 .captain-timer strong{font-size:17px}.captain-compact-2 .your-turn{display:none}.captain-compact-2 .captain-answer-buttons{margin-top:3px}.captain-compact-2 .captain-answer-buttons button{font-size:clamp(10px,3vw,13px);padding:3px 5px}.captain-compact-2 .captain-answer-buttons button b{min-width:26px;height:26px;font-size:15px}
}


/* v3.5.3 - fix navigazione backoffice e allineamento impostazioni */
@media(min-width:901px){
  .admin-shell{min-height:calc(100vh - 58px);align-items:start}
  .admin-wrap{align-self:start;min-height:0}
  .admin-page.admin-page-active{margin-top:0!important}
  .settings-subnav:not([hidden]){display:flex;position:sticky;top:62px;z-index:9;margin-top:0;background:#10182cf5;backdrop-filter:blur(10px)}
}

/* v3.5.4 - impostazioni generali raggruppate per funzione */
.settings-form-grouped{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}
.settings-group{border:1px solid #303a56;background:#10182c;border-radius:14px;padding:14px}
.settings-group h3{margin:0 0 12px;font-size:16px;color:#e2e8f0}
.settings-group-grid{display:grid;gap:12px;align-items:start}
.settings-group-grid-3{grid-template-columns:repeat(3,minmax(180px,1fr))}
.settings-group-grid-2{grid-template-columns:repeat(2,minmax(220px,1fr))}
.settings-control-block{display:grid;gap:8px;align-content:start}
.settings-remove{margin-top:0;padding:8px 10px;border:1px solid #303a56;border-radius:9px;background:#0b1224;color:#e2e8f0!important;font-weight:650!important}
.settings-save-row{display:flex;justify-content:flex-end}
.settings-save-row .btn{min-width:280px}
@media(max-width:1100px){.settings-group-grid-3{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:900px){.settings-group-grid-3,.settings-group-grid-2{grid-template-columns:1fr}.settings-save-row .btn{width:100%;min-width:0}}
.dashboard-score-corrections{margin-top:12px;border-top:1px solid #303a56;padding-top:10px}.dashboard-score-corrections>summary{cursor:pointer;font-weight:850;color:#cbd5e1;padding:5px 0}.dashboard-score-corrections .score-admin-list{margin-top:9px}.dashboard-score-corrections .score-admin-row{padding:9px}.dashboard-score-corrections .score-admin-row form{grid-template-columns:90px minmax(0,1fr) auto}.dashboard-score-undo{margin-top:9px}.dashboard-score-undo .btn{width:100%}

/* v3.5.6 - banca Metti in ordine */
.question-bank-section{margin:18px 0 24px;padding:18px;border:1px solid var(--border,#30405f);border-radius:16px;background:rgba(255,255,255,.015)}
.question-bank-divider{border:0;border-top:1px solid var(--border,#30405f);margin:26px 0 20px}
.order-bank-preview{margin:8px 0 4px;padding-left:24px;display:grid;gap:3px}
.order-question-list{margin-top:14px}
@media(max-width:760px){.question-bank-section{padding:12px}.order-bank-preview{font-size:.94rem}}

/* v3.5.7 - selettore tra banca standard e Metti in ordine */
.question-bank-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.question-bank-switch-item{display:grid;gap:4px;padding:14px 16px;border:1px solid #34415f;border-radius:13px;background:#10182c;color:#dbe5ff;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.question-bank-switch-item strong{font-size:15px;color:#fff}
.question-bank-switch-item small{font-size:12px;color:#8fa0c3;line-height:1.35}
.question-bank-switch-item:hover{border-color:#59698f;background:#151f37}
.question-bank-switch-item.active{border-color:#7057ff;background:linear-gradient(135deg,#2b245d,#171f3b);box-shadow:inset 0 0 0 1px #7057ff55}
.question-bank-section-selected{margin-top:0}
@media(max-width:760px){.question-bank-switch{grid-template-columns:1fr;gap:8px}.question-bank-switch-item{padding:11px 12px}}

/* v3.5.8 - Metti in ordine mobile drag & drop */
.order-sortable{display:flex;flex-direction:column;gap:10px;touch-action:none}
.order-drag-item{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;overscroll-behavior:contain}
.order-drag-item.dragging{cursor:grabbing;position:relative;z-index:5;transform:scale(1.015);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.order-drag-handle{touch-action:none;font-size:1.25em}

/* v3.5.8 - Premiazione finale */
.awards-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100%}
.award-card{min-width:min(720px,82vw);padding:42px 50px;border-radius:30px;background:linear-gradient(180deg,rgba(30,41,59,.96),rgba(15,23,42,.96));border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 70px rgba(0,0,0,.42);animation:awardPop .7s ease both}
.award-medal{font-size:6rem;line-height:1;margin-bottom:14px}
.award-card small{display:block;font-size:1.35rem;letter-spacing:.14em;font-weight:800;opacity:.85}
.award-card h2{font-size:clamp(3rem,7vw,6.5rem);margin:.16em 0 .12em;line-height:1}
.award-card strong{font-size:clamp(1.8rem,3vw,3rem)}
.award-place-1{transform:scale(1.06)}
@keyframes awardPop{from{opacity:0;transform:translateY(40px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}

/* v3.5.9 - premiazione finale: selfie, posizioni reali, podio e musica completa */
.award-card{display:grid;justify-items:center}
.award-photo{width:180px;height:180px;border-radius:50%;overflow:hidden;border:5px solid rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(0,0,0,.38);margin-bottom:18px;background:#0b1020;display:grid;place-items:center}
.award-photo img,.podium-selfie img{width:100%;height:100%;object-fit:cover}
.award-photo-placeholder{font-size:4rem;opacity:.55}
.awards-podium{gap:24px}
.awards-podium>h2{margin:0;font-size:clamp(2rem,4vw,4rem)}
.podium-grid{width:min(1100px,94vw);display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:18px;margin-top:24px}
.podium-entry{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}
.podium-selfie{width:150px;height:150px;border-radius:50%;overflow:hidden;border:5px solid #fff;box-shadow:0 16px 36px rgba(0,0,0,.42);background:#0b1020;display:grid;place-items:center;margin-bottom:-28px;z-index:2}
.podium-place-1 .podium-selfie{width:190px;height:190px;border-color:#facc15}
.podium-place-2 .podium-selfie{border-color:#cbd5e1}
.podium-place-3 .podium-selfie{border-color:#d97706}
.podium-step{width:100%;border-radius:22px 22px 10px 10px;padding:42px 16px 18px;background:linear-gradient(180deg,#27334d,#152039);border:2px solid rgba(255,255,255,.14);box-shadow:0 18px 40px rgba(0,0,0,.28);display:grid;gap:7px;text-align:center}
.podium-place-1 .podium-step{min-height:280px;background:linear-gradient(180deg,#5d4a12,#2d2510);border-color:#facc15}
.podium-place-2 .podium-step{min-height:220px;border-color:#cbd5e1}
.podium-place-3 .podium-step{min-height:175px;border-color:#d97706}
.podium-step span{font-size:clamp(2.2rem,5vw,4.8rem);font-weight:1000;line-height:1}
.podium-step strong{font-size:clamp(1.2rem,2.2vw,2rem);overflow-wrap:anywhere}
.podium-step small{font-size:clamp(1rem,1.5vw,1.35rem);font-weight:800;opacity:.8}
@media(max-width:760px){.podium-grid{gap:8px}.podium-selfie{width:90px;height:90px}.podium-place-1 .podium-selfie{width:110px;height:110px}.podium-step{padding:32px 7px 12px}.podium-place-1 .podium-step{min-height:210px}.podium-place-2 .podium-step{min-height:170px}.podium-place-3 .podium-step{min-height:135px}.award-photo{width:130px;height:130px}}

/* v3.6.1 - schermata telone a serata terminata / nessuna serata attiva */
.projector-body.projector-idle .projector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,5vh,64px);padding:clamp(24px,5vw,80px)}
.projector-body.projector-idle .projector-header{width:100%;justify-content:center;overflow:visible}
.projector-body.projector-idle .projector-header .brand{flex-direction:column;justify-content:center;gap:clamp(14px,2vh,28px);text-align:center}
.projector-body.projector-idle .projector-header .brand img{width:clamp(120px,18vw,260px);height:clamp(120px,18vw,260px)}
.projector-body.projector-idle .projector-header .brand h1{font-size:clamp(38px,6vw,86px);white-space:normal;text-align:center}
.projector-body.projector-idle .projector-header .brand small,.projector-body.projector-idle .live-clock,.projector-body.projector-idle .projector-credit,.projector-body.projector-idle #enable-audio{display:none!important}
.projector-body.projector-idle .game-stage{width:100%;min-height:auto;background:transparent;border:0;padding:0;box-shadow:none}
.projector-body.projector-idle .stage-idle{display:flex;align-items:center;justify-content:center;text-align:center;width:100%}
.projector-body.projector-idle .stage-idle p{margin:0;color:#cbd5e1;font-size:clamp(24px,2.8vw,46px);font-weight:700;line-height:1.25}
