.coffee-app{width:100%;max-width:480px;margin-inline:auto}.race-settings{justify-content:space-between;gap:8px;margin:0 0 12px;display:flex}.race-stepper{align-items:center;gap:4px;font-size:13px;display:flex}.race-stepper>span{color:var(--muted);margin-right:2px}.race-stepper button{width:44px;height:44px;padding:0;font-size:18px}.race-stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:36px;font-weight:600}.race-stage{border:1px solid var(--line);background:linear-gradient(150deg,var(--surface),var(--soft));isolation:isolate;border-radius:20px;position:relative;overflow:hidden}.race-stage-top{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;padding:14px 16px;font-size:13px;display:flex}.race-lanes{flex-direction:column;margin:0 10px;padding-block:4px;display:flex;position:relative}.race-lane{z-index:1;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent);min-height:24px;position:relative}.race-lane-number{color:var(--muted);font-size:10px;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.race-course{position:absolute;inset:0 66px 0 24px}.race-runner{width:44px;height:40px;transition:left 90ms linear;position:absolute;top:50%;transform:translateY(-50%)}.race-emoji{text-align:center;filter:drop-shadow(0 3px 2px #0002);font-size:30px;line-height:40px;display:block}.race-finish{opacity:.35;background:repeating-conic-gradient(var(--muted) 0% 25%,transparent 0% 50%) 0 0/6px 12px;width:6px;position:absolute;top:0;bottom:0;right:35px}.race-rank{color:var(--text);font-size:13px;font-weight:700;line-height:20px;position:absolute;top:11px;left:-18px}.winner .race-emoji{filter:drop-shadow(0 0 5px #edb943)}.loser .race-rank{color:var(--danger)}.race-stage-hint,.race-loser{text-align:center;min-height:44px;margin:0;padding:12px 14px;font-size:13px}.race-loser{color:var(--danger);background:var(--surface);font-weight:600}.race-speed-lines{pointer-events:none;position:absolute;inset:0;overflow:hidden}.race-speed-lines i{opacity:0;background:linear-gradient(90deg,transparent,var(--primary),transparent);width:80px;height:2px;position:absolute;right:-90px}.running .race-speed-lines i{opacity:.14;animation:.9s linear infinite race-scenery}.running .race-emoji{animation:.19s ease-in-out infinite alternate race-stride}.race-actions{gap:8px;margin:12px 0;display:flex}.race-actions .full{flex:1}.race-standings{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:12px 0;padding:0;list-style:none;overflow:hidden}.race-standings li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.race-standings li:last-child{border:0}.race-standings li>span:first-child{min-width:30px;color:var(--muted)}.race-standings strong{color:var(--danger);margin-left:auto;font-size:12px}.race-standings .last{background:var(--danger-bg)}.snack-burst{pointer-events:none;z-index:3;position:absolute;top:24px;left:0}.snack-burst>span{opacity:0;font-size:22px;line-height:1;animation:1.3s cubic-bezier(.2,.6,.3,1) both snack-eject;position:absolute}.coffee-app button:active{transform:scale(.97)}@keyframes race-stride{0%{transform:translateY(2px)rotate(-5deg)}to{transform:translateY(-3px)rotate(5deg)}}@keyframes race-scenery{0%{transform:translate(0)}to{transform:translate(-560px)}}@keyframes snack-eject{0%{opacity:0;transform:translate(0)scale(.3)}12%{opacity:1}65%{opacity:1;transform:translate(var(--fly-x),var(--fly-y)) rotate(-160deg) scale(1)}to{opacity:0;transform:translate(calc(var(--fly-x) - 24px),110px) rotate(-260deg) scale(.6)}}@media (width<=359px){.race-stepper{gap:0;font-size:12px}.race-stepper output{min-width:30px}.race-stepper>span{margin:0}.race-settings{gap:2px}}@media (prefers-reduced-motion:reduce){.race-runner{transition:none}.running .race-speed-lines i,.running .race-emoji,.snack-burst>span{animation:none}.snack-burst{display:none}}.race-motion-option{color:var(--muted);margin:4px 0}.race-stage .race-lanes{margin-top:18px;margin-bottom:18px}.race-stage .race-course{left:12px}.tap-arena{aspect-ratio:.95;background:radial-gradient(circle at 50% 45%,#f3d1a4,var(--soft) 72%);color:#35243f;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;min-height:320px;margin:12px 0;display:flex;position:relative;overflow:hidden}.tap-arena:disabled{opacity:1}.tap-call{font-size:25px;font-weight:700;animation:.3s ease-out tap-call}.tap-character{filter:none;font-size:95px;line-height:1.2}.tap-playing{background:radial-gradient(circle at 50% 48%,#f5d087,var(--soft) 75%)}.tap-playing .tap-character{animation:.14s ease-out tap-press}.tap-count{font-variant-numeric:tabular-nums;font-size:46px;font-weight:700;line-height:1}.tap-count small{margin-left:6px;font-size:16px}.tap-rate{color:#6b5a75;font-size:13px}.tap-done .tap-character{animation:.6s ease-out tap-finish}.tap-done{background:radial-gradient(circle at 50% 45%,#d7eab5,var(--soft) 75%)}.tap-countdown .tap-call{font-size:70px}.tap-countdown .tap-character{font-size:60px}.tap-burst{pointer-events:none;position:absolute;top:50%;left:50%}.tap-burst i{color:var(--primary);rotate:calc(var(--spark)*45deg);font-size:29px;font-style:normal;animation:.3s ease-out both tap-spark;position:absolute}.tap-reset{min-height:44px;margin:10px auto 16px;display:block}@keyframes tap-spark{0%{opacity:1;transform:translateY(-35px)}to{opacity:0;transform:translateY(-130px)scale(.3)}}@keyframes tap-press{0%{transform:translateY(9px)scale(.85)}to{transform:none}}@keyframes tap-call{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes tap-finish{0%{transform:translateY(40px)rotate(-20deg)scale(.5)}60%{transform:translateY(-10px)rotate(12deg)scale(1.1)}to{transform:none}}@media (prefers-reduced-motion:reduce){.tap-call,.tap-playing .tap-character,.tap-done .tap-character,.tap-burst i{animation:none}.tap-burst{display:none}}.team-modes{background:var(--surface-soft);border:1px solid var(--line);border-radius:15px;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 16px;padding:4px;display:grid}.team-modes button{background:0 0;border-color:#0000}.team-modes [aria-pressed=true]{background:var(--surface);color:var(--primary);box-shadow:0 2px 5px #0000000c}.team-arena{background:radial-gradient(ellipse at top,var(--soft),transparent 68%);isolation:isolate;border-radius:22px;margin:16px 0;transition:height .4s;position:relative}.team-pod{border:1px solid color-mix(in srgb,hsl(var(--team-hue) 60% 65%) 45%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,hsl(var(--team-hue) 70% 75%) 12%,var(--surface)),var(--surface));width:calc(50% - 6px);height:112px;box-shadow:0 5px 0 color-mix(in srgb,hsl(var(--team-hue) 60% 65%) 20%,var(--bg));pointer-events:none;border-radius:22px;transition:top .4s;position:absolute}.team-pod:nth-child(2n){margin-left:6px}.team-pod h2{color:var(--text);margin:10px 14px;font-size:12px;font-weight:600}.team-token{text-align:center;z-index:2;filter:drop-shadow(0 3px 2px #0002);width:34px;height:34px;font-size:28px;line-height:34px;transition:left .7s cubic-bezier(.22,.75,.25,1),top .7s cubic-bezier(.22,.75,.25,1);position:absolute;transform:translate(-50%)}.team-token>span{display:block}.team-token.hopping>span{animation:team-hop .7s var(--hop-delay) both}@keyframes team-hop{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-24px)rotate(-14deg)scale(1.15)}65%{transform:translateY(-12px)rotate(10deg)}88%{transform:translateY(2px)scale(1.1,.85)}}.team-arena.done .team-token{transition-duration:.4s}.team-arena.idle .team-pod{background:var(--surface);border-style:dashed}@media (prefers-reduced-motion:reduce){.team-arena,.team-pod,.team-token{transition:none}.team-token.hopping>span{animation:none}}.team-arena.idle .team-token{transition:none}.ladder-app{max-width:480px;margin:auto}.ladder-controls{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ladder-controls .game-modes{margin:0}.ladder-board-scroll{border:1px solid var(--line);background:linear-gradient(150deg,var(--surface),var(--soft));border-radius:20px;padding:10px 8px;overflow-x:auto}.ladder-entrants,.ladder-outcomes{gap:0;display:grid}.ladder-entrants button{background:0 0;border:0;flex-direction:column;gap:0;min-width:0;min-height:54px;padding:0}.ladder-entrants span{font-size:24px}.ladder-entrants small{color:var(--muted);font-size:10px}.ladder-canvas{width:100%;height:360px;display:block;overflow:visible}.ladder-outcomes>span{text-align:center;min-height:38px;color:var(--muted);justify-content:center;align-items:center;font-size:12px;display:flex}.ladder-outcomes .hit{background:var(--danger-bg);color:var(--danger);border-radius:10px;font-weight:700}.ladder-trail{transition:none}.ladder-status{text-align:center;min-height:24px;color:var(--primary);margin:8px 0;font-size:13px}.ladder-preview{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:20px;padding:48px 24px;font-size:64px}.ladder-preview>span{overflow-wrap:anywhere;font-size:26px;line-height:2;display:block}@media (prefers-reduced-motion:no-preference){.ladder-traveller{animation:.24s ease-in-out infinite alternate ladder-hop}.ladder-entrants button:hover span{transition:transform .16s;transform:translateY(-3px)}}@keyframes ladder-hop{0%{transform:rotate(-7deg)scale(.94)}to{transform:rotate(7deg)scale(1.07)}}.ladder-map{height:360px;position:relative}.ladder-token{background:var(--surface);pointer-events:none;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:23px;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 7px #0002}.ladder-token>span{display:block}@media (prefers-reduced-motion:no-preference){.travelling>span{animation:.24s ease-in-out infinite alternate ladder-hop}}.ladder-rails{stroke:color-mix(in srgb,var(--muted) 36%,var(--line))}.wheel-wrap .wheel-hub{z-index:2;border:0;border-radius:50%;width:16%;height:16%;min-height:44px;padding:0;position:absolute;top:42%;left:42%;background:0 0!important}.wheel-hub:disabled{opacity:1}.wheel-answer{text-align:center;overflow-wrap:anywhere;min-height:50px;margin:8px 0 15px;font-size:18px;font-weight:600;animation:.35s ease-out wheel-answer}.wheel-answer span{font-size:50px;line-height:1.2}.wheel-entry{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:13px;padding:12px;line-height:1.6;display:block}.wheel-mode{margin-top:4px}.wheel-standby svg{transition:transform 3s cubic-bezier(.12,.68,.12,1)}.wheel-wrap:not(.is-spinning) .wheel-standby svg{transition:none}@keyframes wheel-answer{0%{opacity:0;transform:translateY(-8px)scale(.8)}70%{transform:scale(1.08)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wheel-answer{animation:none}.wheel-standby svg{transition:none}}.draw-controls{gap:8px;margin:12px 0;display:grid}.draw-scene{background:radial-gradient(ellipse at 50% 70%,var(--soft),transparent 65%);border-radius:24px;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;min-height:260px;margin:16px 0;padding:25px 10px;display:flex}.draw-dice{perspective:400px;gap:22px}.draw-dice .die-cube{width:72px;height:72px}.dice-total{text-align:center;margin:14px 0;font-size:16px;font-weight:600}.draw-idle{opacity:.7;font-size:75px}.draw-cloud{flex-wrap:wrap;justify-content:center;gap:12px;max-width:100%;display:flex}.draw-cloud>span{font-size:38px;display:inline-block}.drawing .draw-cloud>span{animation:.35s ease-in-out infinite alternate draw-hop;animation-delay:calc(var(--draw-i)*-.08s)}.draw-results{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;display:flex}.draw-results>span{overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);animation:.35s ease-out both draw-land;animation-delay:calc(min(var(--draw-i),10)*25ms);border-radius:17px;padding:12px;font-size:25px;font-weight:600}.draw-random .draw-results>span{font-size:38px}.draw-places{flex-direction:column;gap:22px}.travel-globe{font-size:110px;display:block}.drawing .travel-globe{animation:.7s linear travel-spin}.travel-destination{overflow-wrap:anywhere;text-align:center;font-size:18px;animation:.3s ease-out draw-land}.direction-scene{aspect-ratio:1;place-content:center;width:100%;margin:14px 0;display:grid;position:relative}.direction-ring{border:1px solid var(--line);background:repeating-conic-gradient(from -1deg,var(--line) 0deg 2deg,transparent 2deg 30deg);border-radius:50%;position:absolute;inset:10%;mask:radial-gradient(#0000 66%,#000 67%)}.direction-arrow{color:var(--primary);filter:drop-shadow(0 6px 3px #0002);font-size:180px;line-height:1;transition:transform 1.05s cubic-bezier(.15,.7,.2,1);display:block;rotate:-90deg}.quiet-option{justify-self:end;font-size:12px}@keyframes draw-hop{to{transform:translateY(-25px)rotate(12deg)}}@keyframes draw-land{0%{opacity:0;transform:translateY(-25px)scale(.7)}70%{transform:translateY(3px)scale(1.06)}to{opacity:1;transform:none}}@keyframes travel-spin{to{transform:rotateY(360deg)}}@media (prefers-reduced-motion:reduce){.drawing .draw-cloud>span,.draw-results>span,.drawing .travel-globe,.travel-destination{animation:none}.direction-arrow{transition:none}}.travel-scene{background:radial-gradient(ellipse,var(--soft),transparent 72%);border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;min-height:320px;margin:16px 0;padding:20px 12px;display:flex}.travel-flag{font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:88px;line-height:1.3}.travel-drawing .travel-flag{animation:.22s ease-in-out infinite alternate travel-hop}.travel-card{text-align:center;overflow-wrap:anywhere;flex-direction:column;gap:6px;max-width:100%;animation:.35s ease-out draw-land;display:flex}.travel-card strong{font-size:24px;font-weight:600}.travel-card>span{color:var(--muted);font-size:13px}.travel-source{text-align:center;color:var(--muted);margin:15px 0;font-size:10px;line-height:1.6}.travel-source a{color:inherit}.travel-modes{margin-top:10px}@keyframes travel-hop{to{transform:translateY(-7px)rotate(5deg)}}@media (prefers-reduced-motion:reduce){.travel-drawing .travel-flag,.travel-card{animation:none}}.travel-flag img{object-fit:contain;border-radius:5px;width:112px;height:84px;display:block}.bottle-game{min-width:0}.bottle-scene{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);isolation:isolate;border-radius:24px;place-items:center;width:100%;margin:0 0 14px;display:grid;position:relative;overflow:hidden}.bottle-floor{background:radial-gradient(circle,var(--soft),var(--surface));border:1px solid var(--line);border-radius:50%;position:absolute;inset:7%}.spinning-bottle{transform-origin:50%;filter:drop-shadow(5px 8px 4px #0003);will-change:transform;width:26%;height:66%;position:absolute;top:17%;left:37%}.spinning-bottle svg{width:100%;height:100%;display:block;overflow:visible}.bottle-actions{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.bottle-actions.is-spinning{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.bottle-actions button{min-width:0;min-height:44px;font-size:var(--ui-label);padding:10px 8px;font-weight:400}.bottle-actions button.primary{font-weight:500}@media (prefers-reduced-motion:reduce){.spinning-bottle{transition:none!important}}
