*{box-sizing:border-box}:root{--background-art:url(/assets/fundo-doodles-morsa.png);--background-art-size:400px 400px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--background-art) center top / var(--background-art-size) repeat}button,input{font:inherit}button{border:1px solid var(--border);min-height:42px;color:var(--primaryText);background:var(--primary);cursor:pointer;border-radius:10px;padding:10px 15px;font-size:13px;font-weight:700;transition:background .15s}button:hover{background:var(--primaryHover)}button:focus-visible,input:focus-visible{outline:2px solid var(--brand);outline-offset:3px}button:disabled{opacity:1;color:var(--muted);background:var(--disabled);border-color:var(--border);cursor:not-allowed}button#leave-room,button#copy-invite{background:var(--surface);color:var(--text);border-color:var(--border)}[hidden]{display:none!important}#renderCanvas{touch-action:none;outline:none;width:calc(100% - 294px);height:calc(100svh - 176px);display:block;position:absolute;top:108px;left:270px}#hud{z-index:2;border-bottom:1px solid var(--border);background:#fffffff0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:23px 30px;display:flex;position:fixed;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:36px;color:var(--brand);flex:0 0 36px;justify-content:center;align-self:flex-start;align-items:center;margin-top:2px;font-size:17px;display:inline-flex}.brand strong{color:var(--brand);letter-spacing:.18em;font-size:17px;display:block}.brand small{color:var(--muted);margin-top:3px;font-size:11px;display:block}#level{color:var(--accentText);margin-top:5px;font-size:12px;font-weight:650;display:block}#checkpoint-status{color:var(--accentText);margin-top:3px;font-size:11px;display:block}#level-name{color:var(--text);margin-top:3px;font-size:12px;line-height:1.4;display:block}.hud-score{text-align:right}#timing{font-variant-numeric:tabular-nums;align-items:baseline;gap:22px;display:flex}#time{letter-spacing:-.02em;font-size:23px;font-weight:750}#best{color:var(--muted);font-size:12px}#race-progress{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:flex-end;gap:14px;margin-top:6px;font-size:11px;display:flex}#race-legend{color:var(--muted);justify-content:flex-end;gap:18px;margin-top:8px;font-size:11px;display:flex}#race-legend span{align-items:center;gap:6px;display:inline-flex}#race-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-you{background:var(--playerBall);box-shadow:0 0 8px #0000}.legend-opponent{background:var(--ghost);border:1px solid var(--ghost)}#instructions{text-align:center;color:var(--muted);pointer-events:none;background:#fffffff0;border-radius:10px;padding:7px 10px;font-size:13px;position:fixed;bottom:25px;left:270px;right:24px}body:has(#result-panel:not([hidden])) #instructions{display:none}#multiplayer{z-index:2;border:1px solid var(--border);background:var(--surface);border-radius:16px;width:224px;max-height:calc(100svh - 155px);padding:17px;font-size:12px;line-height:1.5;position:fixed;top:122px;left:24px;overflow-y:auto}.room-title{margin-bottom:10px;font-size:14px;display:block}#players{color:var(--muted);margin-bottom:12px;display:block}.room-actions{flex-wrap:wrap;gap:8px;display:flex}#multiplayer p{color:var(--muted);margin:12px 0 0;font-size:11px}#identity{color:var(--accentText);margin-top:12px;display:block}#ready{width:100%;margin-top:10px}#invite-area{margin-top:14px}#invite-area label{color:var(--muted);font-size:11px}#invite{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;margin:5px 0 8px;padding:9px;font-size:12px}#multiplayer[data-phase=running] .room-title,#multiplayer[data-phase=running] #create-room,#multiplayer[data-phase=running] #invite-area,#multiplayer[data-phase=running] #room-message:not(.room-error),#multiplayer[data-phase=running] #ready,#multiplayer[data-phase=running] #race-message{display:none}#multiplayer .room-error{color:var(--dangerInk);flex-basis:100%}#multiplayer[data-phase=running]:has(.room-error){flex-wrap:wrap;max-height:110px}#result-panel{z-index:5;text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:22px;width:min(400px,100% - 32px);padding:30px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 65px #1f27422e}.eyebrow{color:var(--accentText);letter-spacing:.2em;font-size:10px;font-weight:700}#result-title{margin:16px 0 10px;font-size:28px;line-height:1.2}#result-detail{color:var(--muted);white-space:pre-line;font-size:14px;line-height:1.6}#result-panel:has(#solo-stars:not([hidden])){max-height:calc(100svh - 24px);overflow-y:auto}#attempt-stars{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#best-stars,#next-star-target{color:var(--muted);margin:7px 0;font-size:12px;line-height:1.5}#next-star-target{color:var(--accentText)}.result-actions{gap:10px;margin-top:16px;display:grid}.result-actions button{width:100%}#result-action{background:var(--surface);color:var(--text);border-color:var(--border)}#touch-controls{display:none}@media (width<=760px),(pointer:coarse){#hud{padding:max(12px, env(safe-area-inset-top)) 16px 12px;min-height:88px}.brand-mark,.brand small{display:none}.brand strong{letter-spacing:.12em;font-size:12px}#level{font-size:11px}#level-name{max-width:min(280px,100vw - 64px);font-size:11px}#timing{flex-direction:column;align-items:flex-end;gap:2px}#time{font-size:19px}#best{font-size:10px}#race-progress{flex-direction:column;gap:1px;margin-top:3px;font-size:10px}#race-legend{gap:12px;margin-top:5px;font-size:10px}#multiplayer{border-radius:12px;width:calc(100% - 24px);max-height:128px;padding:10px 12px;top:104px;left:12px}.room-title{display:none}#players{margin:0 12px 5px 0;display:inline-block}.room-actions{display:inline-flex}#identity{margin:0 12px 0 0;font-size:11px;display:inline-block}#ready{width:auto;margin-top:6px}#multiplayer p{margin-top:5px}#invite{font-size:16px}#multiplayer[data-phase=running]{justify-content:space-between;align-items:center;gap:8px;max-height:65px;display:flex}#multiplayer[data-phase=running] #players{margin:0;font-size:10px}#multiplayer[data-phase=running] #identity{margin:0}#multiplayer[data-phase=running] .room-actions{order:3}#renderCanvas{width:calc(100% - 16px);height:calc(100svh - 434px - env(safe-area-inset-bottom));min-height:140px;top:240px;left:8px}body:has(#multiplayer[data-phase=running]) #renderCanvas{height:calc(100svh - 366px - env(safe-area-inset-bottom));top:172px}#instructions{left:12px;right:12px;bottom:calc(174px + env(safe-area-inset-bottom));font-size:11px}#touch-controls{z-index:3;bottom:max(12px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed}#touch-controls button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;font-size:20px}#touch-controls [data-control=KeyR]{padding:12px 16px;font-size:11px}#touch-controls button.pressed{background:var(--primary);border-color:var(--accentText)}}@media (height<=540px) and (orientation:landscape){#hud{min-height:64px;padding:8px 16px}#multiplayer{width:190px;max-height:calc(100svh - 210px);top:80px;left:12px}#renderCanvas{width:calc(100% - 306px);height:calc(100svh - 116px);top:72px;left:210px}body:has(#multiplayer[data-phase=running]) #renderCanvas{width:calc(100% - 306px);height:calc(100svh - 116px);top:72px;left:210px}#multiplayer[data-phase=running]{max-height:110px;display:block}#instructions{bottom:12px;left:210px;right:96px}#touch-controls{left:12px;right:12px}}.menu-screen{z-index:10;background:0 0;place-items:center;padding:40px 24px;display:grid;position:fixed;inset:0;overflow-y:auto}.menu-content{text-align:center;width:min(420px,100%)}.menu-brand{color:var(--brand);letter-spacing:.17em;align-items:center;gap:.55em;font-size:14px;font-weight:700;display:inline-flex}.menu-content h1{margin:28px 0 18px;font-size:clamp(38px,6vw,64px);line-height:1.1}.menu-screen p{color:var(--muted);line-height:1.5}.mode-actions{gap:14px;margin-top:32px;display:grid}.mode-actions button{min-height:60px;font-size:18px}#start-race,.secondary-button{background:var(--surface);border-color:var(--border);color:var(--text)}#start-race:hover,.secondary-button:hover{background:var(--primarySoft)}.adventure-content{width:min(960px,100%)}.adventure-heading{justify-content:space-between;align-items:center;gap:16px;margin:24px 0;display:flex}.adventure-heading h1{margin:0;font-size:32px}#adventure-total{color:var(--text);white-space:nowrap;font-size:16px}.phase-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.phase-card{min-height:230px;color:var(--text);background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:18px;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;display:flex;position:relative}.phase-card:hover:not(:disabled){background:var(--primarySoft);border-color:var(--accentText)}.phase-card:disabled{cursor:not-allowed;opacity:1;color:var(--muted);background:var(--disabled)}.phase-number{color:var(--muted);font-size:12px}.phase-card strong{font-size:20px}.phase-stars{color:var(--ball);-webkit-text-stroke:1px var(--starOutline);letter-spacing:5px;font-size:28px}.phase-time{color:var(--muted);font-size:12px;font-weight:400}.phase-lock{font-size:17px;position:absolute;top:19px;right:18px}#solo-selection{z-index:4;position:fixed;top:126px;left:30px}body:not([data-screen=solo]) #solo-selection,body:not([data-screen=race]) #multiplayer,body[data-screen=home] #renderCanvas,body[data-screen=adventure] #renderCanvas,body[data-screen=home] #hud,body[data-screen=adventure] #hud,body[data-screen=home] #instructions,body[data-screen=adventure] #instructions,body[data-screen=home] #result-panel,body[data-screen=adventure] #result-panel,body[data-screen=home] #touch-controls,body[data-screen=adventure] #touch-controls{display:none}@media (width<=760px){.menu-screen{padding:28px 16px}.phase-list{grid-template-columns:1fr;gap:12px;margin:18px 0}.phase-card{gap:9px;min-height:170px;padding:18px 20px}.adventure-heading h1{font-size:27px}#solo-selection{top:118px;left:16px}body[data-screen=solo] #renderCanvas{height:calc(100svh - 366px - env(safe-area-inset-bottom));top:172px}}@media (height<=540px) and (orientation:landscape){.menu-screen{display:block}.menu-content{margin:auto}.phase-list{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-card{min-height:190px}#solo-selection{top:84px;left:16px}body[data-screen=solo] #renderCanvas{height:calc(100svh - 116px);top:72px}}button:active:not(:disabled){background:var(--primaryHover);color:var(--primaryText)}#leave-room:hover,#copy-invite:hover,#result-action:hover{background:var(--primarySoft)}#touch-controls button.pressed,body[data-screen=race] #result-action{color:var(--primaryText);background:var(--primary);border-color:var(--accentText)}body[data-screen=race] #result-action:hover{background:var(--primaryHover)}.phase-card:focus-visible{border-color:var(--accentText)}#time{white-space:nowrap}.legend-you{border:1px solid var(--starOutline)}.legend-opponent{opacity:.65}.phase-card:active:not(:disabled){background:var(--primarySoft);color:var(--text)}#goal-feedback{z-index:7;color:var(--goal);pointer-events:none;text-shadow:0 2px 0 var(--surface);font-size:76px;font-weight:800;line-height:1;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%)}#renderCanvas,#hud,#instructions,#goal-feedback,#touch-controls,#touch-controls *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#joystick{border:2px solid var(--border);background:var(--surfaceSoft);pointer-events:auto;touch-action:none;cursor:grab;border-radius:50%;flex:0 0 144px;width:144px;height:144px;position:relative;box-shadow:inset 0 2px 7px #1f274212}#joystick.pressed{cursor:grabbing;border-color:var(--resin)}#joystick[aria-disabled=true]{opacity:.5}.joystick-guide{border:1px solid var(--border);pointer-events:none;border-radius:50%;position:absolute;inset:22px}#joystick-thumb{border:2px solid var(--structural);background:var(--resin);width:60px;height:60px;transform:translate(calc(-50% + var(--stick-x,0px)),calc(-50% + var(--stick-y,0px)));pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 3px 5px #1f27421f}#touch-controls{touch-action:none}.phase-card[data-tutorial] .phase-stars{color:var(--text);-webkit-text-stroke:0;letter-spacing:0;font-size:12px}#tutorial-heading,#tutorial-icon{display:none}body[data-tutorial]{--tutorial-card-height:112px;--tutorial-card-gap:12px}body[data-tutorial] #instructions{z-index:3;top:calc(var(--tutorial-header-bottom,138px) + var(--tutorial-card-gap));width:min(640px,100% - 240px);height:var(--tutorial-card-height);border:1px solid var(--primary);border-color:color-mix(in srgb, var(--primary) 35%, white);color:var(--text);text-align:left;background:#fff;border-radius:18px;grid-template-rows:auto 1fr;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:6px 14px;padding:16px 20px;display:grid;position:fixed;bottom:auto;left:50%;right:auto;transform:translate(-50%);box-shadow:0 6px 22px #1f27421a}body[data-tutorial] #tutorial-heading{color:var(--accentText);letter-spacing:.15em;grid-column:2;font-size:10px;font-weight:750;line-height:1.2;display:block}body[data-tutorial] #status{grid-column:2;align-self:center;font-size:20px;font-weight:700;line-height:1.3}body[data-tutorial] #tutorial-icon{color:var(--accentText);grid-area:1/1/3;width:40px;height:40px;display:block}#tutorial-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:none}#instructions[data-action=arrows] [data-action=arrows],#instructions[data-action=joystick] [data-action=joystick],#instructions[data-action=checkpoint] [data-action=checkpoint],#instructions[data-action=flag] [data-action=flag]{display:block}body[data-tutorial] #renderCanvas{top:calc(var(--tutorial-header-bottom,138px) + var(--tutorial-card-height) + 2 * var(--tutorial-card-gap));height:calc(100svh - var(--tutorial-header-bottom,138px) - var(--tutorial-card-height) - 2 * var(--tutorial-card-gap) - 24px);min-height:0}body[data-tutorial] #solo-selection{top:calc(var(--tutorial-header-bottom,138px) + var(--tutorial-card-gap))}#tutorial-heading,#tutorial-icon{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (width<=760px),(pointer:coarse){body[data-tutorial]{--tutorial-card-height:136px;--tutorial-card-gap:10px}body[data-tutorial] #instructions{border-radius:16px;grid-template-columns:32px minmax(0,1fr);column-gap:12px;width:min(640px,100% - 24px);padding:12px 14px}body[data-tutorial] #status{font-size:18px}body[data-tutorial] #tutorial-icon{width:32px;height:32px}body[data-tutorial] #renderCanvas{height:calc(100svh - var(--tutorial-header-bottom,102px) - var(--tutorial-card-height) - 2 * var(--tutorial-card-gap) - 184px - env(safe-area-inset-bottom))}body[data-tutorial] #solo-selection{top:auto;left:auto;right:max(16px, env(safe-area-inset-right));bottom:calc(136px + env(safe-area-inset-bottom))}}@media (height<=540px) and (orientation:landscape){body[data-tutorial]{--tutorial-card-height:100px;--tutorial-card-gap:10px}body[data-tutorial] .brand strong{display:none}body[data-tutorial] #level,body[data-tutorial] #level-name,body[data-tutorial] #checkpoint-status{margin-top:0}body[data-tutorial] #instructions{padding:10px 16px}body[data-tutorial] #renderCanvas{height:calc(100svh - var(--tutorial-header-bottom,64px) - var(--tutorial-card-height) - 2 * var(--tutorial-card-gap) - 16px - env(safe-area-inset-bottom))}}#result-panel[data-goal=true]{width:280px;padding:14px;inset:auto 16px 16px auto;transform:none}#result-panel[data-goal=true][data-side=left]{left:16px;right:auto}#result-panel[data-goal=true] .eyebrow{display:none}#result-panel[data-goal=true] h1{margin:0 0 6px;font-size:20px}#result-panel[data-goal=true] #result-detail{margin:6px 0;font-size:12px;line-height:1.35}#result-panel[data-goal=true] .result-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}#result-panel[data-goal=true] .result-actions button{padding:10px;font-size:12px}#result-panel[data-goal=true] #best-stars,#result-panel[data-goal=true] #next-star-target{margin:5px 0;font-size:11px;line-height:1.3}@media (width<=760px) and (orientation:portrait){#result-panel[data-goal=true],#result-panel[data-goal=true][data-side=left]{width:calc(100% - 24px);left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));padding:12px}}@media (height<=540px) and (orientation:landscape){#result-panel[data-goal=true]{width:220px;padding:10px;bottom:8px}#result-panel[data-goal=true] h1{font-size:17px}}#goal-feedback.goal-arrival{width:120px;height:96px;text-shadow:none;top:130px;left:50%;transform:translate(-50%)}#goal-feedback.goal-arrival svg{width:100%;height:100%;display:block;overflow:visible}.goal-arrival .arrival-ball{transform-origin:80px 76px;animation:.48s ease-out both arrival-seat}.goal-arrival .arrival-cloth{transform-origin:121px 12px;animation:.65s ease-out both arrival-cloth}@keyframes arrival-seat{0%{transform:translateY(-10px)}65%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes arrival-cloth{0%,to{transform:skewY(0)}25%{transform:skewY(-4deg)}60%{transform:skewY(3deg)}}@media (height<=540px) and (orientation:landscape){#goal-feedback.goal-arrival{width:95px;height:76px;top:88px}}@media (prefers-reduced-motion:reduce){.goal-arrival .arrival-ball,.goal-arrival .arrival-cloth{animation:none}}#result-panel[data-over=true]{border:2px solid var(--danger)}#result-panel[data-over=true] h1{color:var(--danger)}#result-panel[data-over=true] .result-actions{grid-template-columns:1fr}#result-panel[data-over=true] button{min-height:48px}body[data-joystick-side=right] #touch-controls{flex-direction:row-reverse}#settings-dialog{border:1px solid var(--border);width:min(420px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--surface);border-radius:22px;padding:28px;overflow:auto;box-shadow:0 16px 60px #1f274233}#settings-dialog::backdrop{background:#1f274252}#settings-dialog h1{margin:0 0 28px;font-size:26px}#settings-dialog fieldset{border:0;min-width:0;margin:0 0 28px;padding:0}#settings-dialog legend{margin-bottom:16px;font-size:17px;font-weight:650}.joystick-side-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.joystick-side-options label{border:2px solid var(--border);cursor:pointer;background:var(--surface);border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:56px;padding:12px;font-weight:650;display:flex}.joystick-side-options label:has(:checked){color:var(--primaryText);background:var(--primarySoft);border-color:var(--accentText)}.joystick-side-options label:has(:focus-visible){outline:2px solid var(--brand);outline-offset:3px}.joystick-side-options input{accent-color:var(--accentText);width:18px;height:18px;margin:0}#settings-dialog form button{width:100%;min-height:46px}#game-settings{z-index:4;position:fixed;top:180px;left:30px}body:not([data-screen=solo]) #game-settings{display:none}@media (width<=760px){#game-settings{top:118px;left:100px}}@media (height<=540px) and (orientation:landscape){#game-settings{left:max(16px,env(safe-area-inset-left));top:134px}#touch-controls{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}#settings-dialog{padding:20px}#settings-dialog h1,#settings-dialog fieldset{margin-bottom:18px}}@media (width<=760px),(pointer:coarse){body[data-tutorial] #game-settings{top:auto;left:max(16px,env(safe-area-inset-left));bottom:calc(136px + env(safe-area-inset-bottom))}body[data-tutorial] #solo-selection,body[data-tutorial] #game-settings{bottom:calc(164px + env(safe-area-inset-bottom))}}@media (height<=540px) and (orientation:landscape){body[data-joystick-side=right] #instructions{right:max(168px,env(safe-area-inset-right))}}.joystick-side-options label{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.brand-symbols{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.brand-duck{flex:none;width:1.35em;height:1em;display:block}#result-panel[data-over=true]{isolation:isolate;width:min(400px,100% - 32px);max-height:calc(100svh - 32px);padding:28px;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)rotate(0)}#result-panel[data-over=true] .result-actions{grid-template-columns:minmax(0,300px);justify-content:center}#result-panel[data-over=true] button{text-align:center;transform:rotate(0)}.mode-actions button{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:84px;padding:12px 18px;display:flex}.mode-actions .mode-label{font-size:18px;font-weight:700;line-height:1.3}.mode-actions .mode-label strong{font-weight:850}.mode-actions small{color:inherit;font-size:13px;font-weight:500;line-height:1.35}.home-language{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));color:var(--text);z-index:1;align-items:center;gap:7px;display:flex;position:absolute}.home-language svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:21px;height:21px}[data-language-select]{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:min(280px,100vw - 64px);min-height:40px;padding:6px 9px;font-size:14px}[data-language-select]:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.settings-language{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0;font-weight:650;display:flex}.settings-language select{width:100%;max-width:none}@media (width<=760px){#start-screen .menu-content{margin-top:50px}.home-language{font-size:13px}[data-language-select]{max-width:calc(100vw - 64px);font-size:13px}}#quick-race{width:100%;margin:10px 0}#quick-search{gap:8px;margin:10px 0;display:grid}#quick-search[hidden]{display:none}#quick-search button{white-space:normal;min-height:44px}.race-kind{letter-spacing:.04em;background:var(--primarySoft);color:var(--text);border-radius:6px;padding:3px 6px;font-size:10px;font-weight:800}#opponent-kind{margin-top:8px;display:inline-block}#opponent-kind[hidden],#multiplayer[data-phase=running] #opponent-kind-detail{display:none}#multiplayer:has(#quick-search:not([hidden])){max-height:calc(100svh - 170px)}.mode-actions button{min-height:96px}@media (width<=760px){#multiplayer[data-phase=running] #players,#multiplayer[data-phase=running] #identity{display:none}#multiplayer[data-phase=running]{align-items:center;gap:8px}#multiplayer[data-phase=running] .room-actions{flex:0 auto;margin:0}#multiplayer[data-phase=running] button{white-space:nowrap;min-height:40px;padding:8px 10px;font-size:12px}#multiplayer[data-phase=running] #opponent-kind{white-space:nowrap;margin:0;font-size:9px}}@media (width<=760px) and (orientation:portrait){body[data-screen=race] #multiplayer{top:calc(var(--race-hud-bottom,96px) + 8px)}body[data-screen=race]:has(#multiplayer[data-phase=running]) #renderCanvas{top:calc(var(--race-panel-bottom,164px) + 8px);height:calc(100svh - var(--race-panel-bottom,164px) - 202px - env(safe-area-inset-bottom))}}.audio-volume-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin-bottom:16px;display:grid}.audio-volume-row label{font-size:14px;font-weight:600;line-height:1.4}.audio-volume-row output{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.audio-volume-row input[type=range]{width:100%;min-width:0;min-height:32px;accent-color:var(--accentText);cursor:pointer;grid-column:1/-1;margin:0}.audio-volume-row input:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}.audio-mute{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:600;display:flex}.audio-mute input{width:19px;height:19px;accent-color:var(--accentText);margin:0}.audio-mute:has(:focus-visible){outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}#hud{background:#fff;align-items:flex-start;height:170px;min-height:170px;padding:18px 24px}.hud-course{width:calc(50% - 140px);max-width:440px}#hud .brand{white-space:nowrap;gap:10px;margin-bottom:14px}#hud .brand-mark{flex-basis:22px;width:22px;height:22px;margin:0;display:inline-flex}#hud .brand strong{font-size:13px}.hud-level-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}#hud #level{color:var(--brand);margin:0;font-size:14px;font-weight:750}#hud #level-name{max-width:none;margin-top:6px;font-size:21px;font-weight:750;line-height:1.2}#hud #checkpoint-status{color:var(--muted);align-items:center;gap:5px;margin-top:12px;font-size:13px;display:flex}#checkpoint-dots{gap:6px;margin-right:4px;display:flex}#checkpoint-dots i{background:#d6e5e8;border-radius:50%;width:8px;height:8px}#checkpoint-dots i.collected{background:var(--brand)}#hud-stage{color:var(--muted);margin-top:5px;font-size:11px;display:block}#hud .hud-score{text-align:center;width:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#hud #timing{flex-direction:column;align-items:center;gap:9px;display:flex}.time-label{letter-spacing:.15em;color:var(--muted);font-size:12px;font-weight:700}.time-value{white-space:nowrap;justify-content:center;align-items:baseline;gap:4px;display:flex}#hud #time{font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1.1}.time-unit{font-size:20px;font-weight:750}#hud #best{font-size:13px}#hud .hud-controls{grid-template-rows:48px 48px;grid-template-columns:106px 120px;gap:14px 10px;margin-left:auto;display:grid}#hud .hud-action{background:var(--surface);width:100%;height:48px;min-height:48px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:8px;margin:0;padding:6px;font-size:16px;line-height:1.15;display:flex;position:static}#hud .hud-action:hover{background:var(--primarySoft)}.hud-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}#hud #hud-sound svg{width:26px;height:26px}#hud #game-home .mobile-home-icon{display:none}#hud #solo-selection{display:flex}html[lang=pt-BR] #hud #game-settings{gap:5px;font-size:12px}#hud #race-progress{flex-direction:column;justify-content:center;gap:1px;margin-top:5px;font-size:9px}#hud #race-legend{justify-content:center;gap:5px;margin-top:4px;font-size:9px}body:not([data-tutorial]) #instructions{display:none}body[data-screen=solo] #renderCanvas,body[data-screen=race] #renderCanvas{height:calc(100svh - 204px);top:180px}body[data-screen=race] #multiplayer{max-height:calc(100svh - 210px);top:184px}@media (width<=760px),(pointer:coarse){#hud{height:180px;min-height:180px;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}.hud-course{width:calc(50% - 68px)}#hud .brand{gap:6px;width:max-content;margin-bottom:14px}#hud .brand strong{letter-spacing:.12em;font-size:10px}#hud .brand-mark{flex-basis:17px;width:17px;height:17px}#hud #level{font-size:12px}.hud-level-row{gap:5px}#hud #level-name{margin-top:6px;font-size:16px}#hud #checkpoint-status{gap:4px;margin-top:8px;font-size:11px}#checkpoint-label{display:none}#checkpoint-dots{gap:4px;margin:0}#checkpoint-dots i{width:6px;height:6px}#hud .hud-score{width:118px}#hud #timing{gap:7px}.time-label{font-size:10px}#hud #time{font-size:30px}.time-unit{font-size:12px}#hud #best{font-size:10px}#hud .hud-controls{grid-template-rows:44px 44px;grid-template-columns:44px 44px;gap:10px 6px}#hud .hud-action{width:44px;height:44px;min-height:44px;padding:6px}#hud .hud-action>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#hud #game-home .mobile-home-icon{display:block}body[data-screen=solo] #renderCanvas{height:calc(100svh - 374px - env(safe-area-inset-bottom));top:190px}body[data-screen=race] #multiplayer{max-height:128px;top:188px}body[data-screen=race] #renderCanvas{height:calc(100svh - 512px - env(safe-area-inset-bottom));top:328px}body[data-screen=race]:has(#multiplayer[data-phase=running]) #renderCanvas{top:calc(var(--race-panel-bottom,252px) + 8px);height:calc(100svh - var(--race-panel-bottom,252px) - 202px - env(safe-area-inset-bottom))}}@media (height<=540px) and (orientation:landscape){#hud{height:108px;min-height:108px;padding:6px 12px}.hud-course{width:calc(50% - 100px)}#hud .brand{margin-bottom:4px}#hud #level-name{font-size:16px}#hud #checkpoint-status{margin-top:5px}#hud .hud-score{top:50px}#hud .hud-controls{gap:6px}#hud .hud-action{height:44px;min-height:44px}body[data-screen=solo] #renderCanvas{width:calc(100% - 252px);height:calc(100svh - 126px);top:114px;left:164px}body[data-screen=race] #multiplayer{max-height:110px;top:114px}:is(body[data-screen=race] #renderCanvas,body[data-screen=race]:has(#multiplayer[data-phase=running]) #renderCanvas){width:calc(100% - 306px);height:calc(100svh - 126px);top:114px;left:210px}}body[data-tutorial] #renderCanvas{top:calc(var(--tutorial-header-bottom,170px) + var(--tutorial-card-height) + 2 * var(--tutorial-card-gap));height:calc(100svh - var(--tutorial-header-bottom,170px) - var(--tutorial-card-height) - 2 * var(--tutorial-card-gap) - 24px)}body[data-screen=race][data-race-phase=countdown] #instructions{z-index:4;font-size:36px;display:block;inset:180px auto auto 50%;transform:translate(-50%)}@media (width<=760px),(pointer:coarse){body[data-tutorial] #renderCanvas{height:calc(100svh - var(--tutorial-header-bottom,180px) - var(--tutorial-card-height) - 2 * var(--tutorial-card-gap) - 184px - env(safe-area-inset-bottom))}}#hud #game-settings{display:flex}#death-backdrop{z-index:4;-webkit-backdrop-filter:grayscale()blur(2px);background:#1e244026;display:none;position:fixed;inset:0}body:has(#result-panel[data-over=true]:not([hidden])) #death-backdrop{display:block}.game-over-ball,#result-home,#game-over-key{display:none}#result-panel[data-over=true]{background:#fff;border:0;border-radius:27px;width:min(380px,100% - 32px);max-height:calc(100svh - 32px);padding:12px 30px 24px;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)rotate(0);box-shadow:0 14px 38px #1e244029}#result-panel[data-over=true] .eyebrow{display:none}#result-panel[data-over=true] .game-over-ball{width:180px;height:100px;margin:-4px auto 0;display:block}#result-panel[data-over=true] #result-title{letter-spacing:-.04em;color:#1e2440;margin:8px 0 14px;font-size:43px;font-weight:800;line-height:1.1}#result-panel[data-over=true] #result-detail{color:#6b7b97;margin:0 0 28px;font-size:15px;line-height:1.5}#result-panel[data-over=true] .result-actions{grid-template-columns:minmax(0,1fr);gap:0;margin:0;display:grid}#result-panel[data-over=true] #result-action{color:#1e2440;background:#80cad8;border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px;font-size:18px;font-weight:750;transition:background .15s,box-shadow .15s,translate .15s;display:flex;box-shadow:0 4px #55a7b7,0 6px 10px #2874841f}#result-panel[data-over=true] #result-action:before{content:"";background:currentColor;flex:none;width:18px;height:18px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5v6h6M4.6 10A8 8 0 1 1 5 17' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5v6h6M4.6 10A8 8 0 1 1 5 17' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}#result-panel[data-over=true] #result-action:hover{background:#6abccb}#result-panel[data-over=true] #result-action:active{translate:0 3px;box-shadow:0 1px #55a7b7}#result-panel[data-over=true] #result-home{color:#536681;width:auto;min-height:44px;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;gap:9px;margin:14px auto 0;padding:8px 12px;font-size:13px;display:flex}#result-panel[data-over=true] #result-home:hover{background:#f0f7f9}#result-panel[data-over=true] #game-over-key{color:#7e8ca5;margin:20px 0 0;font-size:11px;line-height:1.6;display:block}#game-over-key kbd{font:inherit;color:#61738d;background:#f7f9fb;border:1px solid #dde4ec;border-radius:3px;margin-right:4px;padding:2px 5px}#result-panel button:focus-visible{outline-offset:5px;outline:3px solid #087f8c}@media (width<=760px),(pointer:coarse){#result-panel[data-over=true]{padding:12px 24px 20px}#result-panel[data-over=true] #game-over-key{display:none}#result-panel[data-over=true] #result-title{font-size:clamp(32px,10vw,43px)}}@media (height<=470px) and (orientation:landscape){#result-panel[data-over=true]{padding:0 24px 12px}#result-panel[data-over=true] .game-over-ball{height:68px}#result-panel[data-over=true] #result-title{margin:0 0 8px;font-size:32px}#result-panel[data-over=true] #result-detail{margin-bottom:14px}#result-panel[data-over=true] #result-home{margin-top:8px}}#start-screen{padding:76px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));align-items:safe center}#start-screen .menu-content{width:min(720px,100%);margin:0 auto}#start-screen #start-title{color:var(--brand);letter-spacing:.015em;white-space:nowrap;justify-content:center;align-items:center;gap:14px;margin:0;font-size:clamp(32px,5.3vw,72px);font-weight:850;line-height:1.12;display:flex}#start-screen #start-title .brand-duck{width:1.05em;height:1em}#start-screen .menu-slogan{color:#1e2440;margin:12px 0 0;font-size:22px;font-weight:700;line-height:1.3}#start-screen .menu-prompt{margin:8px 0 0;font-size:14px;line-height:1.4}#start-screen .mode-actions{gap:13px;width:min(420px,100%);margin:28px auto 0}#start-screen .mode-actions button{color:#1e2440;border-radius:12px;height:auto;min-height:78px;padding:12px 16px;font-size:23px}#start-screen .mode-actions small{color:#1e2440;margin-top:4px;font-size:14px;font-weight:450;line-height:1.35;display:block}#start-screen .menu-utilities{grid-template-columns:1fr max-content 20px 1fr;gap:11px 8px;width:min(420px,100%);margin:23px auto 0;display:grid}#start-screen .menu-utilities button{grid-column:1/-1;grid-template-columns:subgrid;color:#1e2440;border-radius:12px;align-items:center;height:54px;min-height:54px;padding:0 16px;font-size:18px;display:grid}#start-screen .menu-utilities button span{grid-column:2;justify-self:end}#start-screen .menu-utilities svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;grid-column:3;width:20px;height:20px}.menu-future-banner-space{pointer-events:none;background:0 0;border:0;width:100%;height:90px;margin-top:44px}#credits-dialog{border:1px solid var(--border);background:var(--surface);width:min(480px,100% - 32px);max-height:calc(100svh - 32px);color:var(--text);border-radius:22px;padding:28px;overflow-y:auto;box-shadow:0 16px 50px #1e244029}#credits-dialog::backdrop{background:#1e244038}#credits-dialog h1{color:var(--brand);margin:0 0 24px;font-size:28px}#credits-dialog h2{margin:20px 0 7px;font-size:14px}#credits-dialog p,#credits-dialog ul{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}#credits-dialog ul{padding-left:20px}#credits-dialog form{margin-top:26px}#credits-dialog form button{width:100%;min-height:48px}@media (width<=760px){#start-screen{padding-top:84px;display:grid}#start-screen #start-title{letter-spacing:0;gap:12px;font-size:clamp(27px,7.7vw,48px)}#start-screen .menu-slogan{font-size:20px}#start-screen .mode-actions{margin-top:24px}#start-screen .mode-actions button{font-size:22px}#start-screen .mode-actions small{font-size:13px}#credits-dialog{padding:22px}}#start-screen #start-adventure{background:#80cad8}#start-screen #start-adventure:hover{background:#6abccb}#adventure-screen{padding-bottom:24px;scroll-padding-top:144px}#adventure-screen .adventure-content{padding-top:24px}#adventure-screen .phase-list{margin:24px 0 0}.adventure-header{top:max(12px,env(safe-area-inset-top));z-index:2;box-sizing:border-box;border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;height:auto;padding:16px 24px;display:grid;position:sticky;box-shadow:0 4px 10px #1e24400a}.adventure-header .adventure-heading{flex-wrap:wrap;justify-content:flex-start;gap:8px 18px;margin:8px 0 0}.adventure-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.adventure-actions button{white-space:nowrap;min-height:44px}@media (width<=760px){#adventure-screen{scroll-padding-top:200px}.adventure-header{grid-template-columns:minmax(0,1fr);gap:12px}.adventure-actions{width:100%}.adventure-actions button{padding:10px 14px}}#adventure-screen{padding-top:0}.adventure-header{background:#fff}#hud-mode{display:none}body[data-screen=race] #hud-mode{color:var(--brand);margin:4px 0;font-size:11px;font-weight:750;display:block}body[data-screen=race] #hud #solo-selection{display:none}body[data-screen=race] #hud #game-settings{grid-column:1/-1;width:100%}body[data-screen=race] #hud .hud-controls{grid-template-rows:48px 48px}body[data-screen=race] #renderCanvas,body[data-screen=race] #touch-controls{display:none}body[data-screen=race][data-race-phase=running] #renderCanvas,body[data-screen=race][data-race-phase=finished] #renderCanvas{width:calc(100% - 48px);height:calc(100svh - 204px);display:block;top:180px;left:24px}body[data-screen=race]:not([data-race-phase=running]):not([data-race-phase=finished]) #hud .hud-score,body[data-screen=race]:not([data-race-phase=running]):not([data-race-phase=finished]) #hud .hud-course>:not(.brand),body[data-screen=race] #instructions{display:none!important}body[data-screen=race] #multiplayer{z-index:3;border:1px solid var(--border);text-align:center;background:#fff;border-radius:22px;width:min(440px,100% - 32px);max-height:calc(100svh - 210px);padding:28px;display:block;position:fixed;inset:calc(50% + 60px) auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 36px #1e24401a}body[data-screen=race] #multiplayer[data-phase=running],body[data-screen=race] #multiplayer[data-phase=finished],body[data-screen=race] #multiplayer[data-phase=aborted]{display:none}body[data-screen=race] #multiplayer .room-title{margin-bottom:8px;font-size:28px;display:block}body[data-screen=race] #multiplayer .race-description{margin:0 0 24px;font-size:14px}#quick-race,#friend-entry{width:100%;min-height:48px;margin:6px 0}#private-actions{gap:10px;display:grid}#private-actions[hidden]{display:none}.search-state{justify-content:center;align-items:center;gap:10px;font-size:18px;display:flex}.search-spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;flex:none;width:18px;height:18px;animation:1s linear infinite race-spin}@keyframes race-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.search-spinner{animation:none}}#search-elapsed{color:var(--muted);font-size:12px}.live-only-option{cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.live-only-option input{width:18px;height:18px;accent-color:var(--brand)}body[data-screen=race] #multiplayer #race-message{margin:14px 0;font-size:15px;display:block}body[data-screen=race] #multiplayer[data-phase=countdown] #race-message{color:var(--text);font-size:64px;font-weight:800;line-height:1.2}body[data-screen=race] #multiplayer #opponent-kind{margin-top:14px}@media (width<=760px),(pointer:coarse){body[data-screen=race] #hud .hud-controls{grid-template-rows:44px 44px}body[data-screen=race] #multiplayer{padding:24px 20px;top:calc(50% + 62px)}body[data-screen=race][data-race-phase=running] #renderCanvas,body[data-screen=race][data-race-phase=finished] #renderCanvas{width:calc(100% - 16px);height:calc(100svh - 374px - env(safe-area-inset-bottom));top:190px;left:8px}body[data-screen=race][data-race-phase=running] #touch-controls{display:flex}}@media (height<=540px) and (orientation:landscape){body[data-screen=race] #multiplayer{max-height:calc(100svh - 128px);padding:16px;top:calc(50% + 48px)}body[data-screen=race][data-race-phase=running] #renderCanvas,body[data-screen=race][data-race-phase=finished] #renderCanvas{width:calc(100% - 252px);height:calc(100svh - 126px);top:114px;left:164px}}.world-title{color:var(--brand);grid-column:1/-1;margin:12px 0 0;font-size:20px}#next-world{width:100%;min-height:44px;margin-top:12px}html[lang] #hud #game-settings{color:#1e2440;gap:8px}#hud #game-settings>svg{flex:0 0 22px;width:22px;height:22px}#hud #hud-sound{color:#1e2440}#hud #hud-sound>svg{flex:0 0 26px;width:26px;height:26px}#hud #game-settings>svg,#hud #hud-sound>svg{aspect-ratio:1;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}#multiplayer .private-back{align-items:center;gap:7px;width:auto;min-height:44px;margin:0 0 12px;padding:8px 12px;font-size:14px;display:flex}#multiplayer .private-back[hidden]{display:none}#multiplayer .private-back svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}#invite-scope,#copy-feedback{color:var(--muted);margin:0 0 10px;font-size:12px;line-height:1.4;display:block}#invite-scope[hidden],#copy-feedback:empty{display:none}#settings-dialog .settings-about{width:100%;min-height:44px;color:var(--muted);margin-top:18px;font-size:14px}#credits-dialog{box-sizing:border-box;width:min(620px,100% - 32px)}#credits-dialog .about-game{color:var(--text);margin-bottom:14px;font-size:20px;font-weight:700}#about-version{color:var(--muted);font-size:13px;font-weight:400;display:block}#credits-dialog a{color:var(--brand);text-underline-offset:3px;overflow-wrap:anywhere}#credits-dialog>p{margin:12px 0}#about-components details{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:10px;margin:12px 0;padding:10px 12px}#about-components summary{cursor:pointer;padding:4px 0;font-size:14px;font-weight:600}#about-components details p{margin:10px 0}#about-components pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-width:100%;font:12px/1.55 ui-monospace,monospace}#credits-dialog :focus-visible{outline:3px solid var(--brand);outline-offset:3px}#preparation-dialog{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:min(560px,100% - 32px);max-height:calc(100svh - 32px);color:var(--text);border-radius:24px;padding:26px;overflow:auto}#preparation-dialog::backdrop{background:#1e244059}.prepare-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.prepare-heading h1{color:var(--brand);margin:0;font-size:26px}.prepare-language{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.prepare-language select{max-width:180px;min-height:44px}#preparation-dialog h2{font-size:20px;line-height:1.4}#preparation-dialog p{color:var(--muted);font-size:14px;line-height:1.5}.prepare-sides{grid-template-columns:1fr 1fr;gap:14px;display:grid}.prepare-sides button{border:2px solid var(--border);color:var(--text);background:#fff;border-radius:14px;gap:8px;padding:12px;display:grid}.prepare-sides button[aria-pressed=true]{border-color:var(--brand);background:var(--primarySoft);box-shadow:0 0 0 2px var(--primary)}.side-selected{min-height:18px;font-size:12px}.side-preview{border:1px solid var(--border);background:#f5fafb;border-radius:8px;height:90px;display:block;position:relative}.preview-board{background:#abcaa5;border:5px solid #80cad8;border-radius:5px;width:50%;height:48%;position:absolute;top:15%;left:25%;transform:skewY(-8deg)}.preview-stick{background:#e7f5f8;border:2px solid #80cad8;border-radius:50%;width:28px;height:28px;position:absolute;bottom:8px}.preview-stick:after{content:"";background:#80cad8;border-radius:50%;position:absolute;inset:7px}.preview-stick.left{left:8px}.preview-stick.right{right:8px}.prepare-arrows{text-align:center;color:var(--brand);margin-top:16px;font-size:36px;line-height:1.4}.prepare-actions{gap:10px;margin-top:22px;display:grid}.prepare-actions button{min-height:48px}.prepare-text-button{color:var(--text);text-underline-offset:3px;background:0 0;border:0;min-height:44px;font-size:14px;text-decoration:underline}#preparation-dialog :focus-visible,#practice-toolbar :focus-visible,#comfort-hint :focus-visible{outline:3px solid var(--brand);outline-offset:3px}#practice-toolbar{z-index:7;bottom:max(12px,env(safe-area-inset-bottom));box-sizing:border-box;border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;width:min(420px,100% - 32px);padding:10px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #1e24401a}#practice-toolbar span{margin-bottom:6px;font-size:13px;display:block}#practice-toolbar button{min-height:44px;padding:8px 12px;font-size:14px}body[data-input-method=touch][data-practice=true] #practice-toolbar{bottom:max(165px,calc(env(safe-area-inset-bottom) + 150px))}#comfort-hint{z-index:8;box-sizing:border-box;width:min(280px,100% - 32px);color:var(--text);border:2px solid var(--primary);pointer-events:none;background:#fff;border-radius:12px;padding:10px;font-size:14px;position:fixed;box-shadow:0 4px 16px #1e24401a}#comfort-hint button{pointer-events:auto;min-height:44px;margin-top:8px;font-size:14px}body[data-input-method=touch]:is([data-screen=solo],[data-screen=race][data-race-phase=running]) #touch-controls{z-index:3;bottom:max(12px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed}body[data-input-method=touch]:is([data-screen=solo],[data-screen=race][data-race-phase=running]) #touch-controls button{pointer-events:auto;min-height:44px}body[data-screen=race] #result-panel .result-actions{flex-direction:column;justify-content:center;align-items:center;display:flex}body[data-screen=race] #result-panel #result-action{align-self:center;width:auto;min-width:130px;max-width:100%}body[data-screen=race] #result-panel #result-title,body[data-screen=race] #result-panel #result-detail{text-align:center}#privacy-dialog{box-sizing:border-box;width:min(540px,100% - 32px);max-height:calc(100svh - 32px);color:var(--text);border:1px solid var(--border);background:#fff;border-radius:22px;padding:26px;overflow:auto}#privacy-dialog::backdrop{background:#1e244040}#privacy-dialog h1{color:var(--brand);font-size:24px}#privacy-dialog p{color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:1.55}#privacy-dialog label,#privacy-status{margin:14px 0 8px;font-size:14px;display:block}#privacy-dialog input{box-sizing:border-box;width:100%;min-height:44px}#privacy-dialog button{width:100%;min-height:44px;margin:8px 0 0}.feedback-menu-hint{max-width:420px;color:var(--muted,#566480);margin:12px auto 0;font-size:13px;line-height:1.5}#start-feedback.feedback-highlight{border:2px solid #087f8c;box-shadow:0 0 0 3px #80cad830}#feedback-reminder{color:#087f8c;font-weight:600}#feedback-dialog{box-sizing:border-box;overscroll-behavior:contain;color:#1e2440;background:#fff;border:1px solid #ccd7e2;border-radius:22px;width:min(690px,100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;scroll-padding:24px;overflow-y:auto}#feedback-dialog::backdrop{background:#1e244055}#feedback-dialog .feedback-header{justify-content:space-between;align-items:center;gap:16px;display:flex}#feedback-dialog h1{color:#087f8c;font-size:28px;line-height:1.2}#feedback-dialog p{line-height:1.5}#feedback-dialog fieldset{border:1px solid #d9e3e7;border-radius:14px;min-width:0;margin:24px 0;padding:18px}#feedback-dialog legend{max-width:100%;padding:0 6px;font-size:18px;font-weight:700}#feedback-dialog .feedback-field{gap:7px;margin:14px 0;display:grid}#feedback-dialog .feedback-field[hidden]{display:none}#feedback-dialog label{font-size:15px;line-height:1.4}#feedback-dialog input,#feedback-dialog select,#feedback-dialog textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;color:#1e2440;background:#fff;border:1px solid #b8c8d5;border-radius:9px;padding:10px;font-size:16px;display:block}#feedback-dialog textarea{resize:vertical}#feedback-dialog button{min-height:44px}#feedback-dialog #feedback-submit{width:100%;min-height:50px}#feedback-dialog :focus-visible{outline-offset:3px;outline:3px solid #087f8c}#feedback-dialog .feedback-privacy{background:#edf7f9;border-radius:12px;padding:16px;font-size:14px}#feedback-status{overflow-wrap:anywhere}#feedback-status.feedback-success{color:#087f8c;font-weight:600}@media (width<=480px){#feedback-dialog{padding:16px}#feedback-dialog h1{font-size:24px}#feedback-dialog fieldset{padding:12px}#feedback-dialog legend{font-size:17px}}#start-screen #start-feedback span{grid-column:1/-1;justify-self:center}
