/* Skyline originale; logo del gioco con titolarità indicata nel footer. */
:root{--bg:#0c0c19;--panel:#141527;--text:#fff4f8;--muted:#c5b9cd;--accent:#ff91cc;--secondary:#fe9b55;--border:#38334c;--action:#fe9b55}
html{scroll-padding-top:var(--dock-clearance,24px)}
body.game-theme{background:radial-gradient(ellipse at 5% 25%,#481c402e,transparent 45%),var(--bg)}
.city-backdrop{position:absolute;inset:0 0 auto;height:1150px;background:linear-gradient(90deg,#0c0c19eb 0%,#0c0c19a6 50%,#0c0c1959),linear-gradient(0deg,var(--bg),transparent 70%),url("skyline.svg") center top/cover no-repeat;pointer-events:none;z-index:-1}
.game-theme .nav{border-color:#ff91cc30}
/* Unico box azioni: resta nel flusso e aderisce al bordo alto senza overlay iniziali. */
.enrollment-dock{position:sticky;top:max(8px,env(safe-area-inset-top));z-index:5;margin:18px auto 0;padding:18px 22px;width:calc(100% - 80px);max-width:1160px;border:1px solid #fe9b5599;border-radius:16px;background:#201727;box-shadow:0 12px 35px #0006;transition:padding .55s cubic-bezier(.22,1,.36,1),border-radius .55s cubic-bezier(.22,1,.36,1),background-color .55s ease,max-width .55s cubic-bezier(.22,1,.36,1),width .55s cubic-bezier(.22,1,.36,1),top .55s cubic-bezier(.22,1,.36,1)}
.game-theme .enrollment-dock .code-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 16px;align-items:center;margin:0;padding:0;border:0}
.enrollment-dock .dock-label{grid-column:1/-1;color:var(--muted);font-size:13px;line-height:1.5;margin:0;max-height:4em;overflow:hidden;opacity:1;transition:max-height .55s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.enrollment-dock code{transition:font-size .55s cubic-bezier(.22,1,.36,1)}
.game-theme .enrollment-dock .button{transition:padding .55s cubic-bezier(.22,1,.36,1),background-color .2s ease,transform .15s ease}
.enrollment-dock code{min-width:0;font-size:20px}
.enrollment-dock .copy-status{grid-column:1/-1}
.enrollment-dock.dock-compact{max-width:880px;padding:10px 16px;border-radius:10px;background:#191320}
.enrollment-dock.dock-compact .dock-label{max-height:0;opacity:0}
.enrollment-dock.dock-compact code{font-size:16px}
.enrollment-dock.dock-compact .button{padding-block:10px;min-height:44px}
.enrollment-dock.dock-static{position:relative;top:auto;box-shadow:none}
.game-theme :is(a,button,summary,[tabindex]){scroll-margin-block:16px}
@media(max-width:800px){.enrollment-dock{width:calc(100% - 40px);padding:12px;margin-top:8px;border-radius:12px}.game-theme .enrollment-dock .code-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.enrollment-dock code{grid-column:1/-1;font-size:18px}.enrollment-dock .button{padding:10px 8px;font-size:13px}.enrollment-dock.dock-compact{width:100%;max-width:100%;top:0;padding:calc(8px + env(safe-area-inset-top)) 16px 10px;border-radius:0;border-inline:0}.enrollment-dock .dock-label{font-size:12px}.enrollment-dock.dock-compact .dock-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.enrollment-dock,.enrollment-dock .dock-label,.enrollment-dock code,.game-theme .enrollment-dock .button{transition:none}}
.game-theme .brand{letter-spacing:1px;font-size:15px}
.game-theme .brand-game-logo{display:block;width:72px;height:auto;flex-shrink:0;object-fit:contain}
.game-theme .hero{column-gap:54px;row-gap:0;align-items:start;grid-template-areas:"intro bonus" "details bonus";grid-template-rows:auto 1fr;padding-top:54px}
.game-theme .hero-copy{grid-area:intro}
.game-theme .hero-details{grid-area:details;min-width:0;background:#0c0c19e8;padding:0 20px 20px;border-radius:0 0 12px 12px;overflow-wrap:anywhere}
.game-theme .bonus-card{grid-area:bonus}
.hero-short-note{margin:18px 0 0;font-size:13px;color:var(--muted)}
.hero-details>.button{display:inline-flex}
@media(min-width:801px){.game-theme .hero-copy{border-radius:12px 12px 0 0;padding-bottom:0}.hero-short-note{display:none}}
.game-theme .hero-copy{min-width:0}
.game-theme .scenarios{display:none}
.game-theme .eyebrow{letter-spacing:1.7px}
.game-tag{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;font:700 10px/1.4 monospace;letter-spacing:2px}
.game-tag span{padding:6px 10px;border:1px solid var(--accent);background:#ff91cc0a;color:var(--accent)}
.game-tag span:last-child{color:var(--secondary);border-color:#fe9b5550;background:#fe9b550a}
.game-theme h1{font-size:clamp(48px,5.7vw,82px);letter-spacing:-3px;text-transform:uppercase;line-height:.98;font-weight:900}
.game-theme h1 em{margin-top:10px;color:#ffc0de;text-shadow:0 0 45px #ff91cc30}
.game-theme .lead{font-size:17px;color:#dfd3e3;max-width:48ch}
.claim-disclosure{font-size:12px;line-height:1.75;color:var(--muted);border-left:2px solid var(--secondary);padding-left:14px;margin:0 0 24px;max-width:58ch}
.claim-disclosure strong{color:var(--secondary)}
.game-theme .offer-notice{background:#141527e8;border-left-color:var(--accent)}
.game-theme .bonus-card{background:linear-gradient(145deg,#25182fe8,#101727f5);border-color:#ff91cc70;box-shadow:0 20px 90px #0006,0 0 50px #ff91cc0b}
.game-theme .card-top{align-items:center;gap:18px}
.card-game-logo{display:block;width:88px;height:auto;flex-shrink:0;object-fit:contain}
.game-theme .button{border-radius:8px}
/* Arancione #fe9b55 presente nel logo: CTA piena, documenti e copia più tenui. */
.game-theme .button-outline,.game-theme .secondary{border-color:#fe9b5580;color:var(--action);background:#fe9b550a}
.game-theme .button-outline:hover,.game-theme .secondary:hover{background:#fe9b551a;border-color:var(--action)}
.game-theme .primary,.game-theme .button[data-open]{background:var(--action);border-color:var(--action);color:var(--bg)}
.game-theme .button[data-open]:hover{background:#ffb67f;border-color:#ffb67f}
.game-theme .button[data-rules]{background:linear-gradient(135deg,#fe9b5526,#fe9b550d);border-color:#fe9b5599;color:#ffd0ac}
.game-theme .button[data-rules]:hover{background:linear-gradient(135deg,#fe9b5538,#fe9b551a);border-color:#fe9b5599;color:#ffe4cf}
.game-theme .countdown>div{background:#0c0c19a8;border:1px solid #ff91cc15;border-radius:6px}
.game-theme .countdown b{font-family:monospace}
.game-theme .code-panel code{color:var(--secondary)}
.game-theme .step{background:linear-gradient(150deg,#1e192f,#121423);border-radius:12px}
.game-theme .step-number{font-family:monospace;color:var(--accent)}
.game-theme .step-icon{color:var(--secondary)}
.game-theme .cta{background:linear-gradient(120deg,#27182f,#332018);border-color:#ff91cc50;border-radius:12px}
.game-theme[data-phase=base] .bonus-card{background:linear-gradient(145deg,#38251ded,#141527);border-color:#fe9b5580}
.game-theme[data-phase=ended] .city-backdrop,.game-theme[data-phase=unavailable] .city-backdrop{opacity:.38}
.game-theme[data-phase=ended] .bonus-card,.game-theme[data-phase=unavailable] .bonus-card{background:var(--panel);border-color:var(--border);box-shadow:none}
.game-theme[data-phase=ended] h1,.game-theme[data-phase=unavailable] h1{font-size:clamp(40px,4.4vw,64px)}
.game-theme[data-phase=ended] .cta{background:var(--panel)}
/* WCAG: reflow, focus, controllo timer e dimensioni leggibili. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.offer-status:focus{position:static;width:auto;height:auto;margin:20px 0 0;padding:12px 16px;overflow:visible;clip-path:none;white-space:normal;border:1px solid var(--secondary);border-radius:8px;background:var(--panel);color:var(--text)}
.skip-link{position:fixed;top:12px;left:12px;z-index:10;transform:translateY(-180%);padding:12px 18px;background:var(--action);color:var(--bg);font-weight:700;border-radius:6px}
.skip-link:focus{transform:none}
.game-theme :is(a,button,summary):focus-visible{outline:3px solid var(--secondary);outline-offset:4px;box-shadow:0 0 0 3px var(--bg)}
.game-theme :is(main,#offer-notice):focus{outline:2px solid var(--secondary);outline-offset:4px}
.game-theme :is(.button,summary,.nav-link){min-height:44px}
.game-theme .nav-link{display:inline-flex;align-items:center;padding:8px}
.game-theme summary{padding:8px 4px}
.game-theme .claim-disclosure,.game-theme .deadline-text,.game-theme .card-foot,.game-theme .copy-status,.game-theme .footer p,.game-theme .milestone div>span,.game-theme .micro-proof{font-size:13px!important}
.game-theme :is(.eyebrow,.step-number,.card-top,.game-tag,.phase-badge,.milestone strong,.countdown span){font-size:12px}
.game-theme .bonus-card{background:linear-gradient(145deg,#25182f,#101727)}
.game-theme .hero-copy{background:#0c0c19e8;border-radius:12px;padding:20px}
.game-theme .step-game-logo{display:block;width:64px;height:auto}
.game-theme .timer-toggle{display:block;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid var(--secondary);border-radius:6px;background:transparent;color:var(--secondary);font-size:13px}
.game-theme :is(.step,.bonus-card,.cta,.hero-copy){overflow-wrap:anywhere}
.game-theme .brand,.game-theme .nav-link{overflow-wrap:normal}
.game-theme .card-top>span{min-width:0}
.game-theme .hero,.game-theme .step-grid{min-width:0}
@media(max-width:380px){.game-theme .nav{gap:8px;flex-wrap:wrap}.game-theme .card-top{flex-wrap:wrap}.game-theme .hero-copy{padding:14px}.game-theme .bonus-card{padding:22px}.game-theme .amount{font-size:96px}}
@media(forced-colors:active){.game-theme .button,.game-theme .timer-toggle{border:2px solid ButtonText}.game-theme :is(a,button,summary):focus-visible{outline-color:Highlight}.city-backdrop{display:none}}
@media(max-width:800px){.game-theme .brand{font-size:12px;letter-spacing:.5px}.game-theme .brand-game-logo{width:56px}.game-theme .hero{grid-template-areas:"intro" "bonus" "details";grid-template-rows:auto;grid-template-columns:minmax(0,1fr);padding-top:22px;gap:20px}.game-theme h1{font-size:clamp(46px,10vw,72px);letter-spacing:-2px}.game-theme .lead{font-size:16px}.game-tag{letter-spacing:1px}.city-backdrop{height:950px;background-position:center top,center top,65% top}.game-theme .nav-link{white-space:nowrap}.game-theme .wrap{padding-inline:20px}
.game-theme .nav{padding-block:14px}
.game-theme h1{font-size:clamp(34px,8.5vw,54px);letter-spacing:-1.5px}
.game-theme .hero-copy{padding:16px}
.game-theme .hero-copy .eyebrow{margin-bottom:14px;font-size:11px}
.game-theme .game-tag{display:none}
.game-theme .hero-details{padding:0 16px 16px;border-radius:12px}
.game-theme .bonus-card{padding:20px}
.game-theme .bonus-card .card-top{display:none}
.game-theme .phase-badge{margin-top:0}
.game-theme .bonus-label{margin-top:12px}
.game-theme .amount{font-size:76px;letter-spacing:-5px;margin:4px 0}
.game-theme .currency{font-size:40px;letter-spacing:-2px}
.game-theme .code-panel{margin-top:16px;padding-top:14px}
}
