.ui-switch{border:var(--border-width) solid var(--border);background:var(--muted);width:40px;height:24px;color:var(--muted-foreground);cursor:var(--cursor-action);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background var(--motion-fast) var(--motion-ease);border-radius:999px;flex-shrink:0;padding:2px}.ui-switch>span{width:16px;height:16px;transition:transform var(--motion-fast) var(--motion-ease);background:currentColor;border-radius:50%;display:block}.ui-switch[aria-checked=true]{background:var(--primary);color:var(--primary-foreground)}.ui-switch[aria-checked=true]>span{transform:translate(16px)}.ui-switch:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.ui-switch,.ui-switch>span{transition:none}}
.header-action-slot,.header-center-slot,.header-links-slot{position:relative}.app-navigation-header .home-navigation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;display:grid}.app-navigation-header .home-navigation-start{grid-area:1/1;gap:8px;min-width:0}.app-navigation-header .home-header-logo{flex-shrink:0}.app-navigation-header .header-links-slot{margin-inline-start:8px}.app-navigation-header .global-navigation-back{width:var(--control-height);min-width:0;height:var(--control-height);opacity:1;transition:width var(--motion-fast) var(--motion-ease), margin-right var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease), visibility var(--motion-fast);flex-shrink:0;margin-right:0;padding:0;overflow:hidden;transform:translate(0)}.app-navigation-header .global-navigation-back[data-visible=false]{visibility:hidden;opacity:0;pointer-events:none;border-width:0;width:0;margin-right:-8px;transform:translate(-8px)}.app-navigation-header .native-navigation-title,.app-navigation-header .header-center-slot{grid-area:1/2;min-width:0}.app-navigation-header .native-navigation-title{text-overflow:ellipsis;white-space:nowrap;max-width:min(480px,100vw - 240px);overflow:hidden}.app-navigation-header .navigation-actions{grid-area:1/3;justify-self:end;gap:4px}.app-navigation-header .menu-trigger{width:calc(var(--control-height) + var(--menu-identity-extra,32px));height:var(--control-height);flex-shrink:0}.game-header-actions{align-items:center;gap:4px;display:flex}.app-navigation-header .game-stats{text-align:center;flex-shrink:0;grid-template-columns:48px 32px;gap:8px;display:grid}.app-navigation-header .game-stats>div{flex-direction:column;display:flex}.app-navigation-header .game-stats strong{font-variant-numeric:tabular-nums;white-space:nowrap;padding-inline:4px;font-size:16px;font-weight:700;line-height:24px}.app-navigation-header .game-stats span{color:var(--muted-foreground);font-size:10px;line-height:14px}@media (max-width:639px){.web-layout .app-navigation-header .home-navigation{grid-template-columns:40px minmax(0,1fr) auto}.web-layout .app-navigation-header .header-action-slot{flex-shrink:0;justify-content:flex-end;width:84px;min-height:40px;display:flex}.app-navigation-header .header-center-slot{justify-self:center}.app-navigation-header .navigation-actions{gap:12px}.app-navigation-header .menu-trigger{gap:4px}.app-navigation-header .global-navigation-back{width:40px;height:40px}.app-navigation-header .global-navigation-back[data-visible=false]{width:0}.game-header-actions .ui-button-icon{width:40px;height:40px}}@media (max-width:359px){.app-navigation-header .navigation-actions{gap:4px}.app-navigation-header .menu-trigger{width:calc(32px + var(--menu-identity-extra,32px));gap:4px}.app-navigation-header .home-navigation{padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));gap:4px}}.header-content{align-items:center;display:flex}.header-content-outgoing{pointer-events:none;position:absolute;top:50%;right:0;transform:translateY(-50%)}.header-center-slot>.header-content-outgoing{left:50%;right:auto;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.app-navigation-header .global-navigation-back{transition:none}}.header-links-slot>.header-content-outgoing{left:0;right:auto}@media (max-width:639px){.app-navigation-header[data-game] .home-header-logo,.header-links-slot{display:none}}.app-navigation-header[data-admin]{background:color-mix(in srgb, var(--background) 90%, var(--daily-hard-card))}.navigation-blog-link{align-items:center;gap:8px;display:inline-flex}
.post-game-sharing{flex-direction:column;align-items:stretch;gap:4px;width:100%;display:flex}.result-share-button{width:100%;min-height:var(--control-height)}.result-share-label{justify-content:center;align-items:center;gap:8px;display:flex}.result-share-label svg{animation:sharing-spin var(--motion-normal) linear infinite;display:block}.replay-option{width:100%;min-height:var(--control-height);color:var(--muted-foreground);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease);justify-content:center;align-items:center;gap:10px;padding:4px 12px;display:flex}.replay-option input{width:18px;height:18px;accent-color:var(--primary);margin:0}.replay-option:hover{color:var(--foreground)}.replay-option:focus-within{outline:2px solid var(--ring);outline-offset:2px}.replay-share-help{text-align:center;min-height:0;color:var(--muted-foreground);margin:0;font-size:12px}.replay-share-help,.post-game-sharing>[role=alert],.post-game-sharing>[role=status],.post-game-sharing textarea{animation:sharing-enter var(--motion-normal) var(--motion-ease) both}.post-game-sharing textarea{width:100%;min-height:160px;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:12px}@keyframes sharing-spin{to{transform:rotate(360deg)}}@keyframes sharing-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.replay-option{transition:none}.result-share-label svg,.replay-share-help,.post-game-sharing>[role=alert],.post-game-sharing>[role=status],.post-game-sharing textarea{animation:none}}.replay-preview-frame{border-radius:var(--radius);background:var(--muted);width:100%;max-width:360px;color:var(--muted-foreground);place-items:center;margin:0 auto;font-size:13px;display:grid;overflow:hidden}.replay-preview{object-fit:contain;width:100%;height:100%;animation:sharing-enter var(--motion-normal) var(--motion-ease) both}@media (prefers-reduced-motion:reduce){.replay-preview{animation:none}}.replay-availability{opacity:1;transition:grid-template-rows var(--motion-normal) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);grid-template-rows:1fr;display:grid}.replay-availability>div{min-height:0;overflow:hidden}.replay-availability[data-unavailable=true]{opacity:0;grid-template-rows:0fr}@media (prefers-reduced-motion:reduce){.replay-availability{transition:none}}.share-result-summary{color:var(--foreground);animation:sharing-enter var(--motion-normal) var(--motion-ease) both}.share-result-summary h3{margin:0 0 8px;font-size:16px}.share-result-summary p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted-foreground);margin:0}@media (prefers-reduced-motion:reduce){.share-result-summary{animation:none}}
.postgame-distribution{border:1px solid var(--border);border-radius:calc(var(--radius) + 12px);background:var(--card);min-width:0;color:var(--card-foreground);padding:12px}.postgame-chart-tabs{background:var(--muted);border-radius:calc(var(--radius) + 6px);grid-template-columns:repeat(5,minmax(44px,1fr));gap:3px;padding:4px;display:grid;overflow-x:auto}.postgame-chart-tabs>button{border-radius:calc(var(--radius) + 3px);min-width:0;min-height:56px;color:var(--muted-foreground);font:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 2px;font-size:11px;font-weight:600;display:flex}.postgame-chart-tabs svg{width:20px;height:20px;display:block}.postgame-chart-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-foreground)}.postgame-chart-titles{text-align:center;letter-spacing:.12em;color:var(--muted-foreground);margin:24px 0 12px;font-size:11px}.postgame-chart{width:100%;height:clamp(160px,28vw,240px);display:block;overflow:visible}.postgame-chart text{font-size:12px;font-family:var(--font-sans);fill:var(--muted-foreground)}.chart-grid{stroke:var(--border);stroke-width:1px;opacity:.4}.chart-point,.chart-bar{fill:var(--accent)}.chart-point{fill:var(--muted-foreground);fill-opacity:.55;stroke:none}.chart-current{fill:var(--brand);fill-opacity:1;stroke:var(--foreground);stroke-width:2px;opacity:1}.postgame-chart [data-chart-index]{transition:opacity var(--motion-fast) var(--motion-ease), fill var(--motion-normal) var(--motion-ease), stroke var(--motion-fast) var(--motion-ease), width var(--motion-normal) var(--motion-ease), height var(--motion-normal) var(--motion-ease), x var(--motion-normal) var(--motion-ease), y var(--motion-normal) var(--motion-ease), cx var(--motion-normal) var(--motion-ease), cy var(--motion-normal) var(--motion-ease)}.postgame-chart circle[fill=transparent]{fill:var(--accent);fill-opacity:.4;stroke:#0000;stroke-width:20px}.chart-tier-lightning{fill:var(--brand);background:var(--brand)}.chart-tier-quick{fill:var(--accent);background:var(--accent)}.chart-tier-steady{fill:var(--primary);background:var(--primary)}.chart-tier-marathon{fill:var(--secondary);background:var(--secondary)}.postgame-chart-legend,.postgame-tier-legend{min-height:28px;color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;margin-top:12px;font-size:12px;display:flex}.postgame-chart-legend span,.postgame-tier-legend span{align-items:center;gap:6px;display:inline-flex}.postgame-chart-legend i,.postgame-tier-legend i{border-radius:50%;width:10px;height:10px}.postgame-chart-legend i{background:var(--accent)}.postgame-chart-legend[data-scatter=true] i:not(.chart-you){background:var(--muted-foreground)}.postgame-chart-legend i.chart-you{background:var(--brand);outline:1px solid var(--foreground)}.tier-current{color:var(--foreground);font-weight:700}.postgame-distribution button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.postgame-chart-caption{text-align:center;margin:12px 0 0;font-size:13px;line-height:1.5}.postgame-chart-viewport{touch-action:pan-y;overflow:hidden}.postgame-chart-empty{text-align:center;min-height:120px;color:var(--muted-foreground);place-items:center;margin:0;padding:24px;display:grid}.postgame-chart-skeleton{aspect-ratio:426/340;border-radius:var(--radius);background:var(--muted);width:100%;display:block}.postgame-chart-interaction,.postgame-chart-tabs,.postgame-chart-titles{animation:distribution-enter var(--motion-normal) var(--motion-ease) both}.postgame-chart .chart-point,.postgame-chart .chart-bar,.postgame-chart .chart-tier{transform-box:fill-box;transform-origin:bottom;animation:distribution-mark-enter var(--motion-normal) var(--motion-ease) both}.postgame-chart path:not(.chart-tier){animation:distribution-enter var(--motion-normal) var(--motion-ease) both}@keyframes distribution-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes distribution-mark-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (min-width:640px){.postgame-distribution{padding:20px}}@media (prefers-reduced-motion:reduce){.postgame-distribution.postgame-distribution *,.postgame-distribution :before,.postgame-distribution :after{transition:none;animation:none}}.postgame-chart .postgame-tier-center{fill:var(--foreground);font-size:24px;font-weight:700}.postgame-chart-panels{display:grid}.postgame-chart-panel{min-width:0;transition:transform var(--motion-normal) var(--motion-ease);grid-area:1/1}@media (prefers-reduced-motion:reduce){.postgame-chart-panel{transition:none}}.postgame-chart-titles{display:grid}.postgame-chart-titles>span{font:inherit;opacity:0;transition:opacity var(--motion-normal) var(--motion-ease);grid-area:1/1;margin:0}.postgame-chart-titles>span[data-active=true]{opacity:1}@media (prefers-reduced-motion:reduce){.postgame-chart-titles>span{transition:none}}.postgame-chart-wide{max-height:none}.chart-axis-break{fill:none;stroke:var(--muted-foreground);stroke-width:1.5px;stroke-linecap:round}.postgame-chart-panel[data-visited=false] *{animation-play-state:paused}.postgame-chart-interaction{height:100%}.postgame-bell-legend{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;margin-top:12px;font-size:12px;display:flex}.postgame-bell-legend>span{align-items:center;gap:6px;display:inline-flex}.postgame-bell-legend i{border:1px solid var(--foreground);border-radius:50%;width:10px;height:10px}
