:root{--inf-bg:#f6f1ea;--inf-paper:#fefbf6;--inf-ink:#2b241f;--inf-line:#8e735f;--inf-soft:#e9dfd2;--inf-caramel:#d8a16a;--inf-green:#78906b;--inf-shadow:rgba(73,43,25,.14)}
:root[data-theme="night"]{--inf-bg:#0f1116;--inf-paper:#181d27;--inf-ink:#f7ead9;--inf-line:#bca182;--inf-soft:#293140;--inf-caramel:#e5a65d;--inf-green:#8fae91;--inf-shadow:rgba(0,0,0,.4)}
*{box-sizing:border-box}body{margin:0;background:var(--inf-bg);color:var(--inf-ink);font-family:"Nunito",system-ui,sans-serif}.infinite-header{background:var(--inf-paper);border-bottom:1px solid var(--inf-soft)}.infinite-header-inner{max-width:1000px;margin:auto;min-height:86px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.infinite-logo{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.infinite-logo-dog{display:grid;place-items:center;width:52px;height:52px;border:2px solid var(--inf-ink);border-radius:50%;font:900 30px/1 Georgia;color:var(--inf-caramel)}.infinite-logo strong{display:block;font:900 clamp(20px,3vw,27px)/1.05 "Baloo 2",system-ui}.infinite-logo small{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;font-weight:900}.infinite-tools{display:flex;align-items:center;gap:9px}.infinite-scoreboard{display:flex;background:var(--inf-paper);border:1px solid var(--inf-soft);border-radius:14px;overflow:hidden}.infinite-scoreboard span{min-width:86px;padding:8px 12px;text-align:center;border-left:1px solid var(--inf-soft)}.infinite-scoreboard span:first-child{border:0}.infinite-scoreboard small,.infinite-scoreboard strong{display:block}.infinite-scoreboard small{font-size:9px;text-transform:uppercase;font-weight:900}.infinite-scoreboard strong{font:900 18px/1.1 monospace}.infinite-icon-button{width:40px;height:40px;border:1px solid var(--inf-soft);border-radius:12px;background:var(--inf-paper);color:var(--inf-ink);cursor:pointer}.infinite-section{padding:24px 16px 34px;background:radial-gradient(circle at 50% 30%,var(--inf-paper),var(--inf-bg) 72%)}.infinite-shell{max-width:820px;margin:auto}.infinite-stage{position:relative;overflow:hidden;aspect-ratio:5/3;border:2px solid var(--inf-ink);border-radius:24px;background:var(--inf-paper);box-shadow:0 15px 35px var(--inf-shadow)}canvas{display:block;width:100%;height:100%;touch-action:none}.infinite-hud{position:absolute;inset:12px 12px auto;display:flex;justify-content:space-between;pointer-events:none}.infinite-hud span{padding:7px 10px;border-radius:9px;background:color-mix(in srgb,var(--inf-paper) 88%,transparent);box-shadow:0 4px 12px var(--inf-shadow);font-size:10px;font-weight:900}.infinite-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:color-mix(in srgb,var(--inf-paper) 87%,transparent);backdrop-filter:blur(3px)}.infinite-overlay[hidden]{display:none}.infinite-overlay h1,.infinite-overlay h2{max-width:580px;margin:5px 0 6px;font:900 clamp(27px,5vw,44px)/1.02 "Baloo 2",system-ui}.infinite-overlay p{max-width:490px;margin:5px auto 14px}.infinite-eyebrow{font-size:10px!important;text-transform:uppercase;letter-spacing:1.5px;font-weight:1000}.infinite-start-dog{height:48px;display:flex;align-items:center}.infinite-start-dog i{display:block;width:43px;height:29px;background:var(--inf-ink);border-radius:48%}.infinite-start-dog i:first-child{width:38px;height:34px;border-radius:55% 48% 45% 52%;position:relative}.infinite-start-dog i:first-child:after{content:"";position:absolute;width:17px;height:11px;right:-8px;top:15px;border-radius:50%;background:var(--inf-caramel)}.infinite-start-dog i:last-child{width:24px;height:9px;border-radius:100% 0 0 100%;transform:rotate(18deg)}.infinite-main-button{background:var(--inf-caramel)!important;color:#2b180d!important}.infinite-overlay small{margin-top:10px;font-weight:800}.infinite-finish-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--inf-caramel)}.infinite-result-stats{display:flex;gap:10px;margin:2px 0 14px}.infinite-result-stats span{min-width:130px;padding:9px 15px;border:1px solid var(--inf-soft);border-radius:12px;background:var(--inf-paper)}.infinite-result-stats small,.infinite-result-stats strong{display:block}.infinite-overlay-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.infinite-overlay-actions a{color:inherit;font-weight:900}.infinite-live-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.infinite-info{background:var(--inf-paper);padding:48px 20px}.infinite-info-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:50px}.infinite-info h2{margin:7px 0;font:900 28px/1.1 "Baloo 2",system-ui}.infinite-info p{line-height:1.65}.infinite-info aside{padding:22px;border:1px solid var(--inf-soft);border-radius:20px;background:var(--inf-bg)}
@media(max-width:720px){.infinite-header-inner{min-height:72px;padding:8px 12px}.infinite-logo-dog{width:43px;height:43px}.infinite-logo strong{font-size:18px}.infinite-logo small{font-size:7px}.infinite-scoreboard span{min-width:60px;padding:6px}.infinite-scoreboard small{font-size:7px}.infinite-scoreboard strong{font-size:14px}.infinite-icon-button{width:34px;height:34px}.infinite-stage{aspect-ratio:4/5;max-height:76vh;border-radius:18px}.infinite-section{padding:12px 8px 25px}.infinite-info-grid{grid-template-columns:1fr;gap:22px}.infinite-overlay{padding:18px}.infinite-overlay h1,.infinite-overlay h2{font-size:29px}.infinite-result-stats span{min-width:112px}.infinite-tools{gap:5px}}
@media(max-width:470px){.infinite-logo small{display:none}.infinite-scoreboard span{min-width:52px;padding:6px 4px}.infinite-scoreboard span:nth-child(2){display:none}.infinite-icon-button{width:32px}.infinite-header-inner{gap:7px}.infinite-overlay p{font-size:14px}.infinite-overlay-actions .games-button{padding:11px 13px}}

.infinite-scoreboard em{display:block;max-width:95px;overflow:hidden;text-overflow:ellipsis;font-size:7px;font-style:normal;font-weight:900;white-space:nowrap}
.infinite-game-over{inset:7% 13%;border:1px solid var(--inf-soft);border-radius:22px;background:color-mix(in srgb,var(--inf-paper) 96%,transparent);box-shadow:0 18px 55px var(--inf-shadow)}
.infinite-game-over.is-record{border-color:var(--inf-caramel);background:linear-gradient(145deg,var(--inf-paper),color-mix(in srgb,var(--inf-caramel) 24%,var(--inf-paper)));box-shadow:0 18px 65px color-mix(in srgb,var(--inf-caramel) 35%,transparent)}
.infinite-game-over .infinite-result-stats{gap:7px;margin-bottom:7px}.infinite-game-over .infinite-result-stats span{min-width:100px;padding:7px 10px}
.infinite-record-gap,.infinite-record-line{margin:2px auto 5px!important;font-size:13px}.infinite-record-line{font-weight:900}
.infinite-record-form{width:min(100%,390px);margin:5px 0}.infinite-record-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:900}.infinite-record-form>div{display:flex;gap:7px}.infinite-record-form input{min-width:0;flex:1;padding:10px 12px;border:1px solid var(--inf-caramel);border-radius:11px;background:var(--inf-paper);color:var(--inf-ink);font:inherit}.infinite-record-form .games-button{padding:10px 13px}.infinite-record-form p{min-height:1em;margin:4px!important;font-size:12px}
@media(max-width:720px){.infinite-game-over{inset:2.5%;padding:12px;overflow-y:auto}.infinite-game-over h2{font-size:29px}.infinite-game-over .infinite-finish-icon{width:40px;height:40px}.infinite-game-over .infinite-result-stats span{min-width:88px;padding:6px}.infinite-record-form>div{flex-direction:column}.infinite-record-form .games-button{width:100%}}

/* Mascote reconhecível da abertura e orelhas de dachshund em movimento. */
.infinite-start-dog{display:block;width:190px;height:78px;overflow:visible}.start-body,.start-head{fill:var(--inf-ink)}.start-muzzle{fill:var(--inf-caramel)}.start-eye,.start-nose{fill:#120e0b}.start-tail,.start-leg{fill:none;stroke:var(--inf-ink);stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.start-ear{fill:#1e1713;stroke:#120e0b;stroke-width:3;transform-box:fill-box;transform-origin:75% 15%}.start-ear--back{opacity:.82;animation:start-ear-back 1s ease-in-out infinite}.start-ear--front{animation:start-ear-front 1s ease-in-out infinite}@keyframes start-ear-front{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(13deg)}}@keyframes start-ear-back{0%,100%{transform:rotate(7deg)}50%{transform:rotate(-8deg)}}
@media(max-width:720px){.infinite-game-over{padding:9px 11px}.infinite-game-over h2{margin:2px;font-size:27px}.infinite-game-over>p{margin:2px auto 6px}.infinite-game-over .infinite-finish-icon{width:34px;height:34px}.infinite-game-over .infinite-result-stats span{min-width:82px;padding:5px}.infinite-game-over .infinite-result-stats small{font-size:10px}.infinite-game-over .infinite-result-stats strong{font-size:14px}.infinite-record-form{margin:2px 0}.infinite-record-form label{margin-bottom:3px;font-size:12px}.infinite-record-form input{padding:8px 10px}.infinite-record-form>div{gap:4px}.infinite-record-form .games-button{padding:8px 12px}.infinite-overlay-actions{gap:5px}.infinite-overlay-actions .games-button{padding:9px 12px}.infinite-start-dog{width:166px;height:68px}}

.infinite-start-dog .start-body,.infinite-start-dog .start-head{fill:#342923}.infinite-start-dog .start-muzzle{fill:#d8a16a}.infinite-start-dog .start-tail,.infinite-start-dog .start-leg{stroke:#342923}.infinite-start-dog .start-ear--back{fill:#76513b}.infinite-start-dog .start-ear--front{fill:#211713}

/* O resultado deve ficar limpo, sem o personagem da partida aparecendo atrás. */
.infinite-game-over{background:var(--inf-paper);backdrop-filter:none}

/* O mascote do jogo vem da folha oficial compartilhada entre os jogos. */
.infinite-start-dog.mascot-sprite{width:178px;height:112px;aspect-ratio:auto;background-size:400% 200%;background-position:0 0;animation:none;filter:drop-shadow(0 7px 5px var(--inf-shadow))}.infinite-finish-icon.is-celebrating{width:112px;height:112px;border-radius:0;background:transparent}.infinite-finish-icon.is-celebrating span{display:block;width:112px;height:112px;background:url('../shared/assets/mascot/salsicha-sprites-official.png') 100% 100%/400% 200% no-repeat;filter:drop-shadow(0 7px 5px var(--inf-shadow));animation:record-celebrate .75s ease-in-out infinite alternate}@keyframes record-celebrate{from{transform:translateY(2px) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}
@media(max-width:720px){.infinite-start-dog.mascot-sprite{width:145px;height:92px}.infinite-finish-icon.is-celebrating,.infinite-finish-icon.is-celebrating span{width:76px;height:76px}}

/* Tela final: painel integral, compacto e sem personagem cortado ao fundo. */
.infinite-game-over{inset:0;border:0;border-radius:21px;padding:16px 24px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--inf-caramel) 22%,transparent),transparent 42%),var(--inf-paper);box-shadow:none;backdrop-filter:none;overflow-y:auto}
.infinite-game-over.is-record{border:0;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--inf-caramel) 30%,transparent),transparent 45%),var(--inf-paper);box-shadow:none}
.infinite-game-over .infinite-finish-icon{width:42px;height:42px;border-radius:50%;flex:0 0 auto;box-shadow:0 8px 22px var(--inf-shadow)}
.infinite-game-over .infinite-finish-icon.is-celebrating,.infinite-game-over .infinite-finish-icon.is-celebrating span{width:64px;height:64px}
.infinite-game-over .infinite-eyebrow{margin:2px 0!important;font-size:9px!important}
.infinite-game-over h2{margin:1px 0 2px;font-size:clamp(28px,4vw,38px)}
.infinite-game-over>p[data-result-message]{margin:2px auto 5px;font-size:13px}
.infinite-game-over .infinite-result-stats{gap:7px;margin:4px 0 5px}
.infinite-game-over .infinite-result-stats span{min-width:100px;padding:6px 9px}
.infinite-game-over .infinite-result-stats small{margin:0;font-size:9px}.infinite-game-over .infinite-result-stats strong{font-size:13px}
.infinite-game-over .infinite-record-gap,.infinite-game-over .infinite-record-line{min-height:0;margin:2px auto!important;font-size:12px}
.infinite-game-over .infinite-record-form{margin:3px 0}.infinite-game-over .infinite-record-form label{margin-bottom:3px;font-size:12px}.infinite-game-over .infinite-record-form input{padding:8px 11px}.infinite-game-over .infinite-record-form .games-button{padding:8px 12px;min-height:40px}.infinite-game-over .infinite-record-form p{min-height:0;margin:2px!important}
.infinite-game-over .infinite-overlay-actions{margin-top:3px}.infinite-game-over .infinite-overlay-actions .games-button{min-height:40px;padding:8px 13px}.infinite-game-over .infinite-overlay-actions a{font-size:12px}.infinite-game-over>p[data-share-status]{min-height:0;margin:1px;font-size:11px}
@media(max-width:720px){.infinite-game-over{inset:0;padding:12px;border-radius:16px}.infinite-game-over .infinite-finish-icon.is-celebrating,.infinite-game-over .infinite-finish-icon.is-celebrating span{width:58px;height:58px}.infinite-game-over .infinite-record-form>div{flex-direction:row}.infinite-game-over .infinite-record-form .games-button{width:auto}}
@media(max-width:470px){.infinite-game-over .infinite-result-stats{gap:4px}.infinite-game-over .infinite-result-stats span{min-width:0;flex:1;padding:5px}.infinite-game-over .infinite-record-form>div{flex-direction:column}.infinite-game-over .infinite-record-form .games-button{width:100%}}
.infinite-result-art{width:150px;height:128px;display:block;object-fit:contain;margin:-8px 0 -15px;filter:drop-shadow(0 8px 8px var(--inf-shadow));animation:result-arrive .55s cubic-bezier(.2,.8,.2,1) both}.infinite-scoreboard em{font-size:9px;line-height:1.15}@keyframes result-arrive{from{opacity:0;transform:translateY(12px) scale(.86)}to{opacity:1;transform:none}}@media(max-width:720px){.infinite-result-art{width:118px;height:104px;margin:-5px 0 -12px}.infinite-scoreboard em{font-size:8px}}
.infinite-result-layout{width:min(100%,700px);display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:26px;align-items:center}.infinite-result-content{min-width:0;text-align:left}.infinite-result-content .infinite-result-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.infinite-result-content .infinite-result-stats span{min-width:0}.infinite-result-content .infinite-overlay-actions{justify-content:flex-start}.infinite-result-content .infinite-record-form{width:100%}.infinite-result-content .infinite-eyebrow,.infinite-result-content h2,.infinite-result-content>p{text-align:left}.infinite-result-art{width:100%;height:auto;max-height:310px;margin:0;align-self:center}
@media(max-width:720px){.infinite-result-layout{grid-template-columns:145px minmax(0,1fr);gap:12px}.infinite-result-art{width:145px;height:175px;max-height:none}.infinite-result-content .infinite-overlay-actions{gap:4px}.infinite-result-content .infinite-overlay-actions .games-button{padding:7px 9px}.infinite-result-content .infinite-overlay-actions a{font-size:10px}}
@media(max-width:520px){.infinite-result-layout{display:flex;flex-direction:column;gap:0}.infinite-result-art{width:110px;height:90px;margin:-5px 0 -8px}.infinite-result-content{text-align:center}.infinite-result-content .infinite-eyebrow,.infinite-result-content h2,.infinite-result-content>p{text-align:center}.infinite-result-content .infinite-overlay-actions{justify-content:center}}
.infinite-result-layout.has-no-medal{width:min(100%,520px);grid-template-columns:minmax(0,1fr)}

.infinite-start-dog.mascot-sprite{width:150px;height:150px;aspect-ratio:1}
@media(max-width:720px){.infinite-start-dog.mascot-sprite{width:126px;height:126px}}
