:root{--hot:#f36d43;--ink:#121b17;--dusk:#2338ad;--cobalt:#102185;--creme:#fff4d9;--electric:#fefa72;--powder:#f9b78b}
*{box-sizing:border-box}html{background:var(--hot);-webkit-text-size-adjust:100%}body{margin:0;background:var(--hot);color:var(--ink);font-family:'Arial Narrow', 'Helvetica Neue', Helvetica,Arial,sans-serif;min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--electric);outline-offset:3px}.shell{max-width:1220px;margin:0 auto;padding:0 24px env(safe-area-inset-bottom)}.mast{padding:24px 0 17px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--ink)}.brand{font-size:clamp(48px,8vw,89px);font-stretch:condensed;font-family:Impact,'Arial Black',sans-serif;letter-spacing:-.047em;line-height:.83;font-weight:900}.brand-period{color:var(--creme)}.edition{text-align:right;display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:850;letter-spacing:.21em}.edition strong{font-size:31px;letter-spacing:-.06em;font-family:Impact,'Arial Black',sans-serif;line-height:1}.edition strong span{font-family:Arial,sans-serif;font-size:15px;letter-spacing:0;font-weight:400}.intro{display:flex;justify-content:space-between;align-items:end;padding:19px 0 15px;gap:14px}.step{display:flex;align-items:center;gap:8px;letter-spacing:.13em;font-weight:850;font-size:10px}.pin-dot{width:10px;height:10px;background:var(--ink);border-radius:50%;display:inline-block}.intro h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(43px,6.4vw,79px);letter-spacing:-.035em;font-weight:800;line-height:.93;margin:9px 0 0;text-transform:uppercase}.intro h1 span{color:var(--creme)}.intro p{font-weight:700;font-size:14px;max-width:225px;line-height:1.3;text-align:right;margin:0 0 2px}
.machine{width:min(100%,760px);margin:0 auto}.machine-inner{aspect-ratio:1;position:relative;overflow:hidden;background:var(--dusk);border-radius:47% 53% 47% 53% / 44% 48% 52% 56%;box-shadow:inset 0 0 0 4px rgba(255,239,208,.08),0px 11px 0 rgba(26,39,109,.22),0 17px 22px rgba(100,40,25,.13);isolation:isolate}.machine-inner:before{content:'';position:absolute;inset:9px;border:3px solid rgba(250,246,206,.10);border-radius:inherit;z-index:0;pointer-events:none}.machine-inner:after{content:'';position:absolute;width:70%;height:30%;border-radius:50%;background:rgba(255,244,217,.025);top:0;left:18%;transform:rotate(-29deg);filter:blur(14px);pointer-events:none}.underlay,.tracers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.underlay{opacity:.94}.tracers{z-index:2}#traceGlow{fill:none;stroke:var(--electric);stroke-width:26;opacity:.14;stroke-linecap:round;stroke-linejoin:round}#traceLine{fill:none;stroke:var(--electric);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18 7;animation:seam 2s linear infinite}.wheels{position:absolute;inset:0;z-index:3}.wheel{--rot:0deg;position:absolute;width:max(12.5%,44px);aspect-ratio:1;border:0;padding:0;background:none;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;isolation:isolate;touch-action:manipulation}.wheel::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 160deg,#b2a48e 0deg,#fff6df 70deg,#ded0b4 160deg,#fff3d6 210deg,#a48d70 315deg,#b2a48e 360deg);box-shadow:0 6px 0 #0d195b,0 10px 5px #0d1550aa,inset 0 0 0 3px #10184e;z-index:-1}.wheel::after{content:'';position:absolute;inset:13%;border-radius:50%;background:#20359c;box-shadow:inset 1px 3px 5px #07115199,0 0 0 2px #b8b1a5;z-index:-1}.wheel .vane{width:66%;aspect-ratio:1;transform:rotate(var(--rot));transition:transform 210ms cubic-bezier(.3,1.7,.42,1);position:relative;display:grid;place-items:center}.wheel .vane svg{width:95%;height:95%;filter:drop-shadow(0 1px 0 rgba(0,0,0,.35))}.wheel .vane svg path{stroke:var(--electric);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none}.wheel .needle{position:absolute;right:-13%;top:50%;border-radius:50%;width:17%;height:17%;background:#ffeeaf;border:2px solid #182671;transform:translate(-50%,-50%)}.wheel:active:not(:disabled){filter:brightness(1.2)}.wheel:disabled{cursor:default;opacity:1}.wheel.challenge::before{box-shadow:0 0 0 7px rgba(254,250,114,.2),0 6px 0 #0d195b,0 10px 5px #0d1550aa,inset 0 0 0 3px #10184e;animation:challenge 1.45s ease-in-out infinite}.wheel.wall{pointer-events:none}.wheel.wall::before{background:repeating-linear-gradient(135deg,#1b1643 0 6px,#f59c79 6px 12px);box-shadow:0 6px 0 #091057,inset 0 0 0 4px #27124d}.wheel.wall::after{background:#151956;border:1px solid #f1a283;inset:25%}.wheel.wall .vane{display:none}.wheel.goal::before{background:conic-gradient(#f9e6b4,#fff4da,#a67d52,#f7dcb2);box-shadow:0 6px 0 #07135f,0 0 0 8px rgba(254,250,114,.13)}.wheel.goal::after{inset:20%;background:#030d6b;border:3px solid var(--electric);box-shadow:inset 0 0 0 4px #c58e71}.wheel.goal .vane{display:none}.wheel.has-charge .bead{position:absolute;width:20%;height:20%;border-radius:50%;right:0;bottom:0;background:#ff79ab;box-shadow:0 0 0 3px #171e73,0 0 0 7px #ff79ab55}.wheel.has-charge.gathered .bead{background:transparent;border:2px solid #ff79ab;box-shadow:none}.pulse{position:absolute;z-index:6;width:4.5%;aspect-ratio:1;border-radius:50%;background:#fffd91;border:5px solid #ff77a3;box-shadow:0 0 0 6px rgba(255,253,145,.18),0 0 20px 11px rgba(255,245,144,.35);transform:translate(-50%,-50%);transition:left .25s ease,top .25s ease;pointer-events:none}.pulse::after{content:'';position:absolute;inset:20%;background:#172b97;border-radius:50%}.pulse.ready{animation:breathe 1.5s ease-in-out infinite}.machine-bottom{display:flex;align-items:flex-start;gap:13px;min-height:73px;padding:14px 7px 7px}.hint-arrow{font-size:36px;line-height:1;font-family:Georgia,serif;transform:rotate(-14deg);font-weight:900}.machine-bottom p{flex:1;font-size:12px;line-height:1.25;margin:5px 0;font-weight:900;letter-spacing:.075em}.ticker{display:flex;flex-direction:column;align-items:flex-end;font-family:Impact,'Arial Black',sans-serif;line-height:1}.ticker>span{font-size:45px}.ticker small{font:800 9px Arial,sans-serif;letter-spacing:.14em}.footer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:12px 0}.collection{display:flex;flex-direction:column;gap:2px}.collection>span,.status{font-size:10px;letter-spacing:.08em;font-weight:800}.collection strong{font-size:27px;font-family:Impact,'Arial Black',sans-serif}.status{display:flex;align-items:center;gap:6px}.status-circle{width:9px;height:9px;border-radius:50%;background:var(--ink)}.actions{display:flex;gap:4px}.actions button{border:1.5px solid var(--ink);background:transparent;min-width:42px;min-height:42px;color:var(--ink);font-size:22px;display:flex;align-items:center;justify-content:center;gap:6px}.actions button span{font-size:9px;font-weight:800;letter-spacing:.04em}.actions button:disabled{opacity:.35}.microfooter{font-size:8px;letter-spacing:.15em;display:flex;justify-content:space-between;gap:10px;padding:14px 0 30px;font-weight:900}.finish{position:absolute;z-index:20;inset:0;background:rgba(16,28,113,.95);display:flex;align-items:center;flex-direction:column;justify-content:center;color:var(--creme);text-align:center;padding:15%}.finish[hidden]{display:none}.finish p:first-child{font-size:11px;font-weight:900;letter-spacing:.19em;color:var(--electric)}.finish h2{font-size:clamp(55px,10vw,118px);font-family:Impact,'Arial Black',sans-serif;letter-spacing:-.04em;margin:14px 0 8px;line-height:.9}.finish h2 span{color:var(--electric)}.finish p:nth-child(3){font-size:15px;font-weight:700;line-height:1.4}.next{background:var(--electric);color:#182565;border:0;padding:17px 20px;min-width:200px;display:flex;justify-content:space-between;align-items:center;font-weight:900;letter-spacing:.1em;font-size:13px;margin-top:18px}.next span{font-size:20px}.js-alert{padding:20px;background:#fff;color:#111;font-weight:bold}
@keyframes breathe{50%{box-shadow:0 0 0 10px rgba(255,253,145,.08),0 0 40px 11px rgba(255,245,144,.7)}}@keyframes seam{to{stroke-dashoffset:-100}}@keyframes challenge{50%{box-shadow:0 0 0 14px rgba(254,250,114,.12),0 6px 0 #0d195b,0 10px 5px #0d1550aa,inset 0 0 0 3px #10184e}}
@media(min-width:900px){.shell{padding:0 55px}.mast{padding-top:32px}.shell main{display:grid;grid-template-columns:minmax(0,1fr) minmax(450px,1.23fr);align-items:center;gap:20px 45px}.intro{display:block;align-self:end}.intro h1{font-size:clamp(65px,8vw,140px);max-width:460px;margin-top:25px}.intro p{text-align:left;margin:25px 0 0;max-width:340px;font-size:19px}.machine{grid-column:2;grid-row:1/3;margin:25px auto 0;max-width:600px}.footer-bar{grid-column:1;grid-row:2;align-self:start;margin-top:18px;flex-wrap:wrap}.microfooter{padding-top:25px}}
@media(max-width:370px){.shell{padding-left:13px;padding-right:13px}.mast{padding-top:15px;padding-bottom:14px}.brand{font-size:47px}.intro{padding-top:13px;padding-bottom:12px}.intro h1{font-size:39px}.intro p{font-size:11px;max-width:125px}.machine-bottom{min-height:59px;padding-top:9px}.machine-bottom p{font-size:10px}.ticker>span{font-size:34px}.actions button{min-width:34px;min-height:37px}.actions button span{display:none}.status{font-size:9px}.footer-bar{padding:9px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* FILO VIVO 2.0 — rules with meaning, no ornamental navigation panels */
.brand-small{font-family:Impact,'Arial Black',sans-serif;font-size:.29em;letter-spacing:-.01em;vertical-align:baseline;margin-left:5px;color:var(--creme)}
.game-modes{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0 2px;align-items:stretch}
.game-modes button{background:transparent;border:1.5px solid var(--ink);color:var(--ink);border-radius:100px;padding:10px 12px;font-size:11px;letter-spacing:.025em;font-weight:900;min-height:42px;flex:1 1 auto}
.game-modes button[aria-pressed="true"]{background:var(--ink);color:var(--creme);box-shadow:inset 0 0 0 1px var(--ink)}
.game-modes button:focus-visible{outline:3px solid var(--dusk)}
.daily-marker{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--electric);margin-left:3px;vertical-align:2px}
.below-game{margin:12px auto 0;max-width:760px}.stats-line{display:flex;justify-content:space-between;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:12px 2px}.stats-line>div{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:25%}.stats-line>div+div{border-left:1px solid rgba(20,20,20,.3)}.stats-line small{font-size:10px;font-weight:900;letter-spacing:.13em}.stats-line strong{font-family:Impact,'Arial Black',sans-serif;font-size:26px;line-height:1}.secondary-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.secondary-actions button{flex:1 1 auto;background:transparent;border:0;border-bottom:2px solid var(--ink);font-size:10px;font-weight:900;letter-spacing:.035em;text-align:left;color:var(--ink);padding:10px 4px;min-height:42px}#message:empty{display:none}#message{font-weight:800;font-size:12px;padding:8px 3px}.machine-bottom p{font-size:11px}.machine>.sprint-timer{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 12px;padding:9px 16px;border:2px solid var(--ink);background:var(--electric);color:var(--ink);border-radius:14px;line-height:1;white-space:nowrap}
.machine>.sprint-timer[hidden]{display:none!important}
.machine>.sprint-timer>span{font-size:11px;font-weight:900;letter-spacing:.12em}
.sprint-time{display:flex;align-items:baseline;gap:5px;font-family:Impact,'Arial Black',sans-serif;font-variant-numeric:tabular-nums}
.sprint-time strong{font-size:clamp(27px,6vw,40px);line-height:1}
.sprint-time .sprint-unit{font-family:Arial,sans-serif;font-weight:900;font-size:12px}
@media(max-width:370px){.machine>.sprint-timer{padding:7px 12px;margin-bottom:10px}.machine>.sprint-timer>span{font-size:10px}}
.finish-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.finish-actions .next{margin-top:14px;min-width:195px}.share-result{background:transparent;color:var(--electric);border:2px solid var(--electric);min-height:42px;font-weight:900;font-size:12px}.machine-inner{touch-action:manipulation}.wheel{touch-action:manipulation}
dialog{max-width:min(460px,calc(100vw - 28px));border:3px solid var(--ink);border-radius:18px;background:var(--creme);color:var(--ink);padding:24px;box-shadow:12px 12px 0 var(--ink)}dialog::backdrop{background:rgba(7,9,38,.72)}dialog h2{font-family:Impact,'Arial Black',sans-serif;font-size:40px;line-height:1;margin:4px 0 18px}dialog p{line-height:1.5;font-size:14px;font-weight:600}dialog label{display:block;font-size:11px;font-weight:900;letter-spacing:.05em;margin-top:20px}dialog input{width:100%;min-height:46px;border:2px solid var(--ink);background:#fff;padding:8px 12px;font:700 15px Arial,sans-serif;margin:8px 0}.dialog-action{width:100%;background:var(--dusk);color:#fff;border:0;min-height:47px;margin-top:12px;font-size:12px;font-weight:900}.close-dialog{float:right;border:0;background:transparent;font-size:32px;line-height:1}.privacy-note{font-size:11px;color:#465350}.leaderboard{max-height:250px;overflow:auto;padding-left:25px}.leaderboard li{padding:6px 0;border-bottom:1px solid #a5a8a1;font-weight:700}.error-text{color:#b12442}
@media(min-width:900px){.game-modes{max-width:620px}.shell main{grid-template-rows:auto auto}.intro{padding-top:12px}.machine{margin-top:8px}.below-game{margin-top:15px;max-width:100%}.stats-line{max-width:620px}.microfooter{margin-top:10px}}
@media(max-width:600px){.shell{padding-left:15px;padding-right:15px}.mast{padding-top:14px;padding-bottom:12px}.brand{font-size:51px}.edition>span{font-size:8px}.edition strong{font-size:23px}.game-modes{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:5px;padding-bottom:3px}.game-modes button{flex:0 0 auto;padding:9px 10px;min-height:40px;font-size:10px}.intro{padding:14px 0 10px}.intro h1{font-size:clamp(32px,9vw,43px);margin-top:6px}.intro p{font-size:11px;max-width:128px}.machine-bottom{padding:9px 3px 2px;min-height:58px}.machine-bottom p{font-size:10px}.hint-arrow{font-size:24px}.ticker>span{font-size:36px}.footer-bar{margin-top:1px}.collection strong{font-size:25px}.status{font-size:9px}.microfooter{padding:12px 0 23px}.stats-line small{font-size:8px}.stats-line strong{font-size:23px}.secondary-actions button{font-size:9px}}
@media(max-width:360px){.game-modes button{font-size:9px;padding-left:8px;padding-right:8px}.intro p{max-width:105px}.footer-bar .status{display:none}.machine-bottom p{letter-spacing:0}.actions button{padding:3px}}

.microfooter a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* FILO VIVO / psychology x marketing — feedback reale e informazioni prioritarie */
.machine-inner{transition:box-shadow .25s ease}
.machine-inner:has(.wheel.goal.unlocked){box-shadow:inset 0 0 0 4px rgba(255,239,208,.08),0 0 0 4px rgba(255,238,116,.3),0 14px 24px rgba(100,40,25,.2)}
.wheel.goal.locked{filter:saturate(.48) brightness(.85)}
.wheel.goal.unlocked{filter:drop-shadow(0 0 16px #ffff96)}
.wheel.goal.unlocked::before{animation:gateReady 1.4s ease-in-out infinite alternate}
.charge-flash{position:absolute;z-index:7;left:50%;top:7%;transform:translate(-50%,-14px);opacity:0;pointer-events:none;white-space:nowrap;background:var(--electric);color:var(--ink);padding:10px 15px;font-family:Impact,'Arial Black',sans-serif;font-weight:900;letter-spacing:.05em;font-size:clamp(14px,3.6vw,22px);border:2px solid var(--ink);border-radius:28px;box-shadow:3px 4px 0 #152367;transition:transform .2s ease,opacity .2s ease}
.charge-flash.show{transform:translate(-50%,0);opacity:1}
.stats-line{display:flex;justify-content:space-between;gap:18px;max-width:720px;margin:0 auto;padding:12px 0}
.stats-line>div{flex:1;text-align:center;min-width:0}
.secondary-actions{max-width:720px;margin:0 auto}
.secondary-actions button{min-height:46px}
.machine-bottom{gap:10px}.machine-bottom>p{flex:1}.collection{min-width:108px}
@keyframes gateReady{from{box-shadow:0 4px 0 #0d195b,0 6px 6px #0d1550aa,0 0 4px var(--electric)}to{box-shadow:0 4px 0 #0d195b,0 6px 6px #0d1550aa,0 0 20px var(--electric)}}
@media(max-width:600px){.stats-line .minor-stat{display:none}.stats-line{gap:8px}.collection span{font-size:9px}.machine-bottom{min-height:58px}.hint-arrow{display:none}.secondary-actions button{font-size:10px;padding-inline:6px}}
@media(prefers-reduced-motion: reduce){.wheel.goal.unlocked::before{animation:none}.charge-flash{transition:none}}

/* Gerarchia iPhone: gioco prima, copy minimale */
@media(max-width:600px){
 .intro{display:flex;gap:12px;align-items:center;min-width:0;padding:9px 0 8px}
 .intro>div{flex:1 1 auto;min-width:0}
 .intro h1{font-size:clamp(22px,6.2vw,29px);line-height:1.03;margin:4px 0 0;max-width:none;white-space:normal;overflow-wrap:normal}
 .intro p{max-width:116px;flex:0 0 116px;text-align:right;font-size:11px;line-height:1.25;margin:0}
 .step{font-size:9px}.machine-bottom{border:0}.secondary-actions{margin-top:2px}.stats-line{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:9px 0}.stats-line small{letter-spacing:.07em}
 .collection{min-width:96px;max-width:115px}.footer-bar{gap:6px;padding:10px 0}.footer-bar .status{display:none}.actions{gap:5px}.actions button{padding:6px 7px;min-height:39px}.actions button span{font-size:9px}
}
@media(max-width:360px){.intro h1{font-size:22px}.intro p{flex-basis:100px;max-width:100px}.collection{min-width:96px}.actions button span{display:none}.actions button{min-width:37px}}
