/* Proposta 02: tipografia sportiva, piena e senza contorni. */
:root{--cyan:#6dadec}
body{font-family:Arial,sans-serif}
.brand{font-family:Archivo,Arial,sans-serif;font-weight:900;letter-spacing:-1px;font-size:21px}
.controls h1{font:800 38px/1.1 Archivo,Arial,sans-serif;text-transform:none;letter-spacing:-1.5px}
.eyebrow,.operator-label,.monitor-head,.monitor-foot,.scene-label{letter-spacing:.5px}
.stage-top{top:6%;font-size:1cqw;letter-spacing:.1cqw}
.stage-top b{font:800 1.6cqw Archivo,Arial,sans-serif;letter-spacing:-.04cqw}
.stage-top>span{padding:.6cqw 1cqw;border:1px solid #6ca0d480;background:#0c1014b0}
.stage-bottom{font-size:.95cqw;letter-spacing:.1cqw}
.hero:not(.win):not(.countdown){top:29%;left:7%}
.hero .kicker{font-size:1.15cqw;letter-spacing:.16cqw;font-weight:700;margin-bottom:2cqw}
.hero h2{font-family:Archivo,'Arial Black',Arial,sans-serif;font-size:9.4cqw;line-height:.97;letter-spacing:-.5cqw;font-weight:900}
.outline{color:#6dadec;-webkit-text-stroke:0}
.hero .tagline{font-size:1.8cqw;font-weight:500;letter-spacing:0;margin-top:2.2cqw}
.beam{width:32%;height:2px;box-shadow:0 0 18px #6dadec;animation:breathe 3s ease-in-out infinite;transform-origin:left;margin-top:2.5cqw;background:linear-gradient(90deg,#2065a9,#75baff)}
.match-banner{font:800 2.5cqw/1 Archivo,Arial,sans-serif;letter-spacing:-.08cqw;text-shadow:none}
.match-banner span{font-size:1cqw;letter-spacing:.13cqw}
.corner-label{font-family:Arial,sans-serif;font-size:1cqw;letter-spacing:.06cqw;font-weight:700}
.contender h2{font-family:Archivo,'Arial Black',Arial,sans-serif;font-weight:900;letter-spacing:-.2cqw;font-style:normal;text-shadow:none}
.contender-caption{font-family:Arial,sans-serif;letter-spacing:.1cqw;font-size:.85cqw}
.match-vs b{font:900 5.5cqw/1 Archivo,Arial,sans-serif;transform:none;text-shadow:none;color:#6dadec}
.match-vs:before{opacity:.25;box-shadow:none}
.win h2{font-size:7cqw;letter-spacing:-.3cqw;text-shadow:none}
.win .champion{font:700 1.4cqw Arial,sans-serif;letter-spacing:.15cqw}
.winner-points{font-family:Archivo,Arial,sans-serif;font-weight:800;font-variant-numeric:tabular-nums}
.medal{box-shadow:none;background:#101921aa}
.hero.countdown{animation:none}
.hero.countdown .kicker{animation:none;font-size:1.8cqw;letter-spacing:0;text-transform:none}
.countdown strong{font-family:Archivo,Arial,sans-serif;text-shadow:none;font-variant-numeric:tabular-nums}
.results-scene h2{font-family:Archivo,Arial,sans-serif;font-size:3.4cqw;letter-spacing:-.12cqw;text-transform:none}
.results-scene .kicker{font-size:1cqw;letter-spacing:.1cqw}
.result-name strong,.result-row>b,.position{font-family:Archivo,Arial,sans-serif;font-style:normal;letter-spacing:-.08cqw;font-variant-numeric:tabular-nums}
.result-row{border-radius:0;border:0;border-bottom:1px solid #5587b940;background:#100f0dd9}
.result-row.selected-winner{background:#5d9edf;color:#0b1117}
.selected-winner .position,.selected-winner .result-name small,.selected-winner>b small{color:#102b46}
.result-name small{letter-spacing:.06cqw}
.duel .contender h2,.duel .contender h2 span{overflow-wrap:normal;word-break:normal}
.duel .contender{min-width:0}
.duel .contender h2{min-width:0;width:100%}
.duel .contender h2 span{flex-shrink:0}

/* Logo fornito per il footer dello schermo. */
.stage-bottom{bottom:2%;height:4.5cqw}
.stage-bottom .footer-logo{display:block;width:4.5cqw;height:4.5cqw;object-fit:contain;flex-shrink:0}

/* Il logo nero su bianco viene mostrato bianco sullo sfondo scuro. */
.stage-bottom .footer-logo-vr{width:5cqw;filter:brightness(0) invert(1);mix-blend-mode:normal}
.winner-scene .hero.win{top:16%}
.winner-brand{display:block;width:10cqw;height:10cqw;object-fit:contain;margin:0 auto 1.5cqw}
.winner-scene:has(.winner-brand) .stage-bottom>.footer-logo:first-child{visibility:hidden}
.winner-scene:has(.winner-brand) .stage-bottom>.footer-logo-vr{visibility:hidden}
.winner-scene .hero.win,.winner-scene .stage-top,.winner-scene .stage-bottom{z-index:1}
.winner-scene .win h2,.winner-scene .winner-points{text-shadow:0 2px 18px #000b}
/* Premiazione: luce, oro e ingresso solenne, senza particelle. */
.winner-scene:has(.winner-brand):before{background:radial-gradient(ellipse at 50% 37%,#3b8ee160 0%,#16406a26 32%,#050403c9 76%),linear-gradient(0deg,#030609b0,transparent 70%)}
.winner-scene:has(.winner-brand):after{border:0;inset:0;background:conic-gradient(from 155deg at 50% -20%,transparent 0deg,#a3d1ff18 10deg,transparent 17deg,transparent 27deg,#67b3ff1c 34deg,transparent 42deg,transparent 360deg);pointer-events:none}
.winner-scene .hero.win{top:12%;left:5%;right:5%;animation:award-reveal 1.2s cubic-bezier(.16,1,.3,1) both}
.winner-brand{width:12cqw;height:12cqw;margin-bottom:1.1cqw;filter:drop-shadow(0 0 1.8cqw #5aadff66)}
.win .kicker{display:flex;align-items:center;justify-content:center;gap:1.5cqw;font-size:1.25cqw;letter-spacing:.32cqw;margin:0 0 1.2cqw;color:#bbddff}
.win .kicker:before,.win .kicker:after{content:'';height:1px;width:10cqw;background:linear-gradient(90deg,transparent,#6aabeb)}
.win .kicker:after{transform:scaleX(-1)}
.winner-scene .win h2{font-size:8cqw;line-height:1.05;color:#a0d0ff;background:linear-gradient(180deg,#e7f3ff 5%,#8fc7ff 48%,#2c80d4 95%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 .2cqw .7cqw #0009);letter-spacing:-.25cqw}
.winner-scene .winner-points{font-size:3.6cqw;color:#e5f2ff;margin-top:1.4cqw}
.winner-scene .win .champion{display:inline-block;font-size:1.25cqw;letter-spacing:.25cqw;margin-top:1.5cqw;padding:1cqw 3cqw;border-top:1px solid #63a5e75c;border-bottom:1px solid #63a5e75c;background:linear-gradient(90deg,transparent,#2269af29,transparent);color:#8bc2f8}
@keyframes award-reveal{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
.winner-scene .win h2{font-size:11cqw;line-height:1;letter-spacing:-.3cqw}
.stage-top.brand-header{top:3%;align-items:center;justify-content:center;height:6cqw}
.brand-header .header-logo{display:block;width:6cqw;height:6cqw;object-fit:contain}
.brand-header .header-logo-vr{width:6.5cqw;height:5.5cqw;filter:brightness(0) invert(1)}
@media(prefers-reduced-motion:reduce){.winner-scene .hero.win{animation:none}}

/* Sandbox Torneo — quattro squadre su due righe. */
.brand-header .header-logo,.winner-brand,.stage-bottom .footer-logo{filter:brightness(0) invert(1)}
.stage-top.brand-header{top:2%;height:6cqw}
.brand-header .header-logo{width:7cqw;height:6cqw}
.hero:not(.win):not(.countdown) h2{font-size:9cqw}
.match.multi{inset:17% 5% 8%;gap:1.4cqw}
.multi .match-banner{font-size:2.4cqw}
.multi .match-banner span{margin-top:.65cqw}
.multi .match-lineup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:1.3cqw;padding:0;margin:0;min-height:0;align-items:stretch}
.multi .contender{display:grid;grid-template-rows:1.4cqw minmax(0,1fr) .2cqw;gap:.7cqw;min-width:0;min-height:0;padding:1.2cqw 1.8cqw;background:linear-gradient(120deg,#152534d9,#0b0e10dd);border:1px solid #76afe860;animation:none}
.multi .contender:before{display:none}
.multi .corner-label{text-align:left;font-size:.95cqw;letter-spacing:.12cqw;color:#92c0ed}
.multi .contender h2,.multi .contender h2.medium-name,.multi .contender h2.long-name{font:900 4.4cqw/1.05 Archivo,Arial,sans-serif;letter-spacing:-.1cqw;margin:0;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;text-wrap:balance;overflow-wrap:anywhere}
.multi .contender h2 span{display:block;width:100%;text-wrap:balance}
.multi .contender-rule{height:.2cqw;width:22%;margin:0 auto;box-shadow:none;transform:none}
.multi .match-tagline{display:none}

/* Palette Company Mission: nero e blu elettrico. */
:root{--cyan:#38a8ff;--muted:#9aaec6;--line:#203855}
body{background:#05090f;color:#f3f7ff}
.stage{background-color:#020711}
.outline{color:#38a8ff}
.beam{background:linear-gradient(90deg,#1260e8,#54c5ff);box-shadow:0 0 18px #208aff}
.contender,.contender-1{--team:#38a8ff}
.multi .contender{background:linear-gradient(120deg,#102b50e8,#050c18e8);border-color:#389eff70}
.multi .corner-label{color:#83c9ff}
.result-row.selected-winner{background:#2288ed;color:#fff}
.selected-winner .position,.selected-winner .result-name small,.selected-winner>b small{color:#e6f4ff}
