@font-face{font-family:Sora;src:url(/fonts/sora-latin.woff2)format("woff2");font-weight:600 800;font-display:swap}@font-face{font-family:Inter Tight;src:url(/fonts/inter-tight-latin.woff2)format("woff2");font-weight:400 700;font-display:swap}:root{color-scheme:dark;--background:#0d0f14;--surface:#161a22;--raised:#1e2430;--raised-2:#272f3d;--text:#eef1f6;--muted:#adb6c7;--faint:#8a94a6;--border:#2b3341;--border-strong:#3a4456;--primary:#c6f432;--accent:#c6f432;--on-primary:#182000;--accent-soft:#c6f43221;--accent-glow:#c6f4324d;--ice:#7ad7ff;--gold:#ffcb47;--gold-soft:#ffcb4729;--warning:#ffb7a2;--danger:#ff8a8a;--danger-ground:#2b1419;--danger-border:#5e2230;--pad:#1a2029;--pad-edge:#12161d;--pad-shine:#242c38;--field:#10141a;--shadow:0 1px 0 #ffffff0a inset,0 22px 48px -26px #000000bf;--radius:14px;--radius-l:20px;--radius-xl:26px;--ease:cubic-bezier(.2,.8,.2,1);--body-font:"Inter Tight","Segoe UI",Arial,sans-serif;--heading-font:Sora,"Segoe UI",Arial,sans-serif;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23adb6c7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root[data-theme=light]{color-scheme:light;--background:#f4f6f9;--surface:#fff;--raised:#eef2f6;--raised-2:#e2e8ef;--text:#161c26;--muted:#4f5b6b;--faint:#5f6b7d;--border:#dde3ea;--border-strong:#c6cfda;--primary:#526e00;--accent:#c6f432;--on-primary:#182000;--accent-soft:#6c91001c;--accent-glow:#82af0042;--ice:#086486;--gold:#7a5300;--gold-soft:#ffbe2833;--warning:#9a361b;--danger:#b3261e;--danger-ground:#fdeceb;--danger-border:#f0b9b4;--pad:#fff;--pad-edge:#edf1f5;--pad-shine:#fff;--field:#f7f9fb;--shadow:0 1px 0 #fff inset,0 18px 40px -26px #161c2659;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%234f5b6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:20px}body{background:var(--background);color:var(--text);font:16px/1.6 var(--body-font);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--primary);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button{cursor:pointer}button,input,select{min-height:44px}button,input,select,textarea{border:1px solid var(--border-strong);border-radius:12px}button{background:var(--raised);color:var(--text);transition:background-color .15s,border-color .15s,color .15s,transform .12s var(--ease);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:650;line-height:1.2;display:inline-flex}button svg{flex:none;width:18px;height:18px}button:not(.pad):not(.aim-target):hover:not(:disabled){border-color:var(--primary)}button:not(.pad):not(.aim-target):active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:default;color:var(--faint);background:var(--raised);opacity:.8}input,select,textarea{background:var(--surface);color:var(--text);max-width:100%;padding:9px 12px}select{-webkit-appearance:none;appearance:none;background-image:var(--chevron);cursor:pointer;background-position:right 13px center;background-repeat:no-repeat;padding-right:36px}input:focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical;width:100%}label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}label>input,label>select,label>textarea{color:var(--text);font-size:15px;font-weight:500}h1,h2,h3{font-family:var(--heading-font);letter-spacing:-.035em;margin:0;font-weight:700;line-height:1.15}h1{font-size:clamp(2rem,4vw,3.1rem)}h2{font-size:clamp(1.45rem,2.3vw,1.95rem)}h3{letter-spacing:-.02em;font-size:1.1rem}p{margin:12px 0}li{margin:7px 0}p,li{max-width:76ch}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}::selection{background:var(--accent);color:#182000}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:40;background:var(--surface);clip-path:inset(50%);white-space:nowrap;padding:12px 20px;position:fixed;top:10px;left:12px;overflow:hidden}.skip-link:focus{clip-path:none;overflow:visible}.shell{width:min(100% - 64px,1240px);margin-inline:auto}.primary,button.primary{background:var(--accent);color:var(--on-primary);border-color:var(--accent)}.primary:hover:not(:disabled),button.primary:hover:not(:disabled){background:#d6fb6a;border-color:#d6fb6a}button.accent{background:var(--accent-soft);border-color:color-mix(in srgb,var(--primary) 70%,transparent);color:var(--primary)}button.accent:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 22%,transparent)}button.quiet{background:0 0}.hint{color:var(--muted);margin:0;font-size:13px}.status{color:var(--muted);font-size:14px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin:0 0 8px;font-size:12px;font-weight:700}.say-touch{display:none}@media (hover:none) and (pointer:coarse){.say-mouse{display:none}.say-touch{display:inline}}.keycap,kbd{border:1px solid var(--border-strong);font:600 12px/1.7 var(--body-font);background:var(--raised);color:var(--text);border-bottom-width:3px;border-radius:6px;padding:0 6px;display:inline-block}.site-header{z-index:30;border-bottom:1px solid var(--border);background:var(--background);position:relative}.header-inner{align-items:center;gap:20px;min-height:72px;display:flex}.brand{color:var(--text);font:800 20px/1 var(--heading-font);letter-spacing:-.8px;white-space:nowrap;align-items:center;gap:10px;min-height:44px;text-decoration:none;display:inline-flex}.brand img{border-radius:9px;width:34px;height:34px}.site-nav{align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.test-rail{scrollbar-width:none;overscroll-behavior-x:contain;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.test-rail::-webkit-scrollbar{display:none}.test-rail[data-more-right]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.test-rail[data-more-left]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px);mask-image:linear-gradient(90deg,#0000,#000 32px)}.test-rail[data-more-left][data-more-right]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.test-rail a,.test-rail .nav-current{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.test-rail svg{flex:none;width:17px;height:17px}.test-rail a:hover{color:var(--text);background:var(--raised)}.test-rail .nav-current{color:var(--primary);background:var(--accent-soft)}.theme-toggle{background:0 0;border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:0}.theme-toggle svg{width:20px;height:20px}.menu{position:relative}.menu summary{border:1px solid var(--border-strong);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:8px 14px;font-size:15px;font-weight:600;list-style:none;display:flex}.menu summary svg{width:17px;height:17px;color:var(--primary)}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{border-color:var(--primary)}.menu:not([open]) .menu-panel{display:none}.menu-panel{background:var(--surface);border:1px solid var(--border-strong);overscroll-behavior:contain;z-index:35;border-radius:18px;width:min(940px,100vw - 64px);max-height:min(78vh,760px);padding:12px;position:absolute;top:54px;right:0;overflow-y:auto;box-shadow:0 24px 48px -16px #0000008c}.menu-all{background:var(--accent-soft);justify-content:space-between;margin:0 0 8px;font-weight:700;color:var(--primary)!important;display:flex!important}.menu-groups{columns:3 230px;column-gap:16px}.menu-group{break-inside:avoid;margin:0 0 10px}.menu-group-title{font:700 13px/1.3 var(--heading-font);letter-spacing:-.01em;color:var(--faint);margin:0;padding:10px 12px 2px}.menu-panel a,.menu-current{min-height:44px;color:var(--text);border-radius:10px;align-items:center;padding:8px 12px;font-size:15px;line-height:1.3;text-decoration:none;display:flex}.menu-panel a:hover{background:var(--raised)}.menu-current{color:var(--primary);background:var(--accent-soft);font-weight:700}main{min-height:65vh;padding-top:30px}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.breadcrumbs a{min-width:44px;min-height:44px;color:var(--muted);align-items:center;text-decoration:none;display:inline-flex}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs .separator{color:var(--faint)}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.page-heading p{color:var(--muted);margin:10px 0 0}.home-heading h1{font-size:clamp(2.25rem,4.4vw,3.5rem)}.page-heading .free-line{color:var(--muted);align-items:center;gap:7px;margin:8px 0 0;font-size:13.5px;display:flex}.free-line svg{width:16px;height:16px;color:var(--primary);flex:none}.home-jump{min-height:44px;color:var(--text);white-space:nowrap;align-items:center;gap:12px;font-weight:600;text-decoration:none;display:inline-flex}.home-jump span{color:var(--primary);font-size:20px}.task-layout{grid-template-columns:minmax(0,1fr) 272px;align-items:start;gap:28px;display:grid}.task-layout:not([data-runs]){grid-template-columns:minmax(0,1fr)}.task-layout:not([data-runs])>.task-aside{display:none}.tool{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);min-width:0;overflow:clip}.tool-controls{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:20px 22px 16px;display:flex}.tool-controls>label{min-width:120px;max-width:100%}.tool-controls>label input,.tool-controls>label select{width:100%;min-width:0}.tool-controls>.custom-seconds{flex:0 140px;min-width:110px}.custom-seconds input:invalid{border-color:var(--warning)}.control-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.segments{background:var(--background);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:2px;padding:3px;display:flex}.segments button{font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;border-radius:11px;min-width:48px;padding:8px 13px}.segments button:hover:not(:disabled){background:var(--raised);border-color:#0000}.segments button[aria-pressed=true]{background:var(--accent);color:var(--on-primary);border-color:var(--accent)}.segments button[aria-pressed=true]:disabled{opacity:1;color:var(--on-primary)}.tool-body{padding:24px}.tool-foot{justify-content:space-between;align-items:center;gap:12px;padding:4px 22px 20px;display:flex}.tool-foot .button-row{flex-wrap:nowrap;flex-shrink:0;margin-top:0}.button-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.meter-row{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 24px;padding:14px 0 0;display:grid}.meter-row div+div{border-left:1px solid var(--border);padding-left:14px}.meter-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;display:block}.meter-value{font:700 26px/1.3 var(--heading-font);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.meter-value small{font:14px var(--body-font);color:var(--muted)}.stage{padding:0 22px 14px}.click-scoreboard{align-items:center;gap:18px;padding:2px 2px 14px;display:flex}.live-hero{flex:1;min-width:0}.live-hero .meter-value{font:800 clamp(3.4rem,6.6vw,5.1rem)/1 var(--heading-font);color:var(--primary);letter-spacing:-.055em;white-space:nowrap;display:block}.live-count{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.live-count .meter-value{color:var(--ice);font-size:30px;line-height:1.1}.stage:has(.pad[data-state=running]:not(:disabled)) .live-count{visibility:hidden}.digit{text-align:center;min-width:.62em;display:inline-block}.digit.changed{animation:.16s ease-out digit-in}.digit.dot{min-width:.24em}.timer-ring{font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;width:84px;height:84px;display:grid;position:relative}.timer-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke:var(--raised-2);stroke-width:4px}.timer-ring .ring-progress{stroke:var(--primary);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--remaining,100));stroke-linecap:round;transition:stroke-dashoffset 80ms linear}.timer-ring>span{text-align:center;width:calc(100% - 16px);line-height:1.25;font:700 22px var(--heading-font);flex-direction:column;align-items:center;display:flex}.timer-ring small{white-space:normal;overflow-wrap:anywhere;max-width:100%;font:600 10.5px/1.15 var(--body-font);color:var(--muted);letter-spacing:.02em}.pad{border:1px solid var(--border-strong);width:100%;min-height:clamp(260px,40vh,360px);color:var(--text);background:radial-gradient(120% 95% at 50% 36%,var(--pad-shine) 0%,var(--pad) 52%,var(--pad-edge) 100%);isolation:isolate;-webkit-user-select:none;user-select:none;text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:28px 20px;font-weight:600;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,inset 0 -12px 28px #00000038}.pad:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(color-mix(in srgb,var(--text) 7%,transparent) 1px,transparent 1.5px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 75% at 50% 45%,#000 20%,#0000 100%);mask-image:radial-gradient(75% 75% at 50% 45%,#000 20%,#0000 100%)}.pad:not([data-state]):hover:not(:disabled),.pad[data-state=idle]:hover:not(:disabled),.pad[data-state=between]:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 55%,var(--border-strong))}.tool>.pad{width:calc(100% - 44px);margin:0 22px}.pad:active:not(:disabled){transform:none}.pad:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 75%,transparent);outline-offset:-3px}.pad>strong{z-index:1;font:800 clamp(1.8rem,3.6vw,2.5rem)/1.1 var(--heading-font);letter-spacing:-.035em;transition:transform .12s var(--ease);position:relative}.pad>small{z-index:1;color:var(--muted);font-size:15px;font-weight:500;position:relative}.pad .pad-icon{width:44px;height:44px;color:var(--primary);margin-bottom:10px}.pad .pad-key{width:88px;height:44px}.pad-target{width:88px;height:88px;color:var(--primary);margin-bottom:12px;display:block}.pad-target svg{width:100%;height:100%;display:block;overflow:visible}.pad-target .ring-outer{transform-origin:40px 40px;animation:breathe 2.6s var(--ease) infinite}.pad-heat{z-index:-1;pointer-events:none;background:radial-gradient(55% 55% at 50% 52%,var(--accent-glow),transparent 72%);opacity:var(--heat,0);transition:opacity .3s linear;position:absolute;inset:-10%}.pad-progress{pointer-events:none;background:color-mix(in srgb,var(--primary) 12%,transparent);opacity:0;height:5px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.pad-progress i{background:var(--primary);transform-origin:0;height:100%;transform:scaleX(var(--remaining,1));transition:transform 60ms linear;display:block}.pad[data-state=running]{border-color:var(--primary);box-shadow:inset 0 1px 0 #ffffff0d,0 0 0 3px var(--accent-soft)}.pad[data-state=running] .pad-progress{opacity:1}.pad[data-state=running] .pad-target,.pad[data-state=running] .pad-key,.pad[data-state=waiting] .pad-target,.pad[data-state=waiting] .pad-key{display:none}.pad[data-state=running]>#pad-title{font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(4.2rem,11vw,6.6rem);line-height:1}.pad[data-state=waiting]{background:var(--raised)}.pad[data-state=waiting]>strong{color:var(--primary);font-size:clamp(4rem,11vw,6rem);line-height:1}.pad.is-pressed{box-shadow:inset 0 6px 18px #00000059,0 0 0 3px var(--accent-soft)}.pad.is-pressed>strong{transform:scale(.96)}.pad:disabled{color:var(--muted)}.click-ripple{z-index:0;pointer-events:none;border:2px solid color-mix(in srgb,var(--accent) 80%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 40%,transparent),color-mix(in srgb,var(--accent) 8%,transparent) 60%,transparent 70%);width:110px;height:110px;animation:ripple .5s var(--ease) forwards;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(.2)}.pad-reaction,.pad-reaction>*{transition:none!important}.pad-reaction .pad-bolt{width:46px;height:46px}.pad-reaction[data-state=waiting]{background:var(--danger-ground);border-color:var(--danger-border)}.pad-reaction[data-state=waiting]>strong{color:var(--danger);font-size:clamp(2.2rem,5vw,3.2rem)}.pad-reaction[data-state=waiting]>small{color:color-mix(in srgb,var(--danger) 70%,var(--muted))}.pad-reaction[data-state=ready],.pad-reaction[data-state=ready]:hover:not(:disabled){background:var(--accent);border-color:var(--accent);box-shadow:none}.pad-reaction[data-state=ready]>strong{color:var(--on-primary);font-size:clamp(3.6rem,10vw,6.4rem);line-height:1}.pad-reaction[data-state=ready]>small{color:#354700}.pad-reaction[data-state=ready]:before{display:none}.pad-reaction[data-state=between]>strong{color:var(--primary);font-variant-numeric:tabular-nums;font-size:clamp(3.4rem,9vw,5.4rem);line-height:1}.pad-reaction[data-state=early]{border-color:var(--warning)}.pad-reaction[data-state=early]>strong{color:var(--warning)}.pad-reaction:not([data-state=idle]) .pad-bolt{display:none}.attempt-dots{z-index:1;gap:8px;margin-top:18px;display:flex;position:relative}.attempt-dots:empty{display:none}.attempt-dots i{background:var(--border-strong);border-radius:50%;width:10px;height:10px}.attempt-dots i.done{background:var(--primary)}.attempt-dots i.now{box-shadow:inset 0 0 0 2px var(--primary);background:0 0}.pad-reaction[data-state=ready] .attempt-dots i{box-shadow:none;background:#18200038}.pad-reaction[data-state=ready] .attempt-dots i.done{background:#182000}.lights{gap:12px;margin-bottom:18px;display:flex}.lights i{background:#3a4252;border:2px solid #eef1f6;border-radius:50%;width:28px;height:28px}.lights i.on{background:#ff4d4d;border-color:#ffb3b3;box-shadow:0 0 18px #ff4d4d99}.task-aside{align-content:start;gap:14px;display:grid}.aside-block{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);margin:0;padding:18px}.aside-block h2{letter-spacing:-.01em;font-size:15px}.aside-block p{color:var(--muted);font-size:13.5px}.aside-block .best-score{font:800 40px/1.1 var(--heading-font);color:var(--text);letter-spacing:-.045em;font-variant-numeric:tabular-nums;min-height:47px;margin:12px 0 6px}.aside-block #best-settings{min-height:44px}.best-score small{font:600 14px var(--body-font);letter-spacing:0;color:var(--muted)}.best-crown{object-fit:cover;object-position:center;border-radius:6px;width:44px;height:30px;margin-bottom:6px}.best-empty{color:var(--muted)!important;font-size:24px!important}.best-trend{width:100%;height:48px;margin-top:8px;display:block;overflow:visible}.history{min-height:64px;margin:10px 0 4px;padding:0;font-size:14px;list-style:none}.history li{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;margin:0;padding:8px 0;display:flex}.history li:first-child span{color:var(--text);font-weight:700}.history time{color:var(--faint)}.history li:last-child{border-bottom:0}.text-button{min-height:44px;color:var(--primary);background:0 0;border:0;padding:8px 0;font-size:14px;font-weight:600;text-decoration:underline}.text-button:hover:not(:disabled){background:0 0}.aside-note{color:var(--muted);align-items:flex-start;gap:10px;margin:0;padding:0 4px;display:flex;font-size:13px!important}.aside-note svg{height:18px;color:var(--primary);flex:0 0 18px;margin-top:2px}.result:focus,main:focus{outline:none}.result{border-top:1px solid var(--border);isolation:isolate;min-width:0;max-width:100%;padding:22px;scroll-margin-top:16px;position:relative;overflow:clip}.result>*{min-width:0;max-width:100%}.result:not([hidden]){animation:result-in .3s var(--ease)}.result-hero{border-radius:var(--radius-l);border:1px solid var(--border);background:radial-gradient(120% 150% at 0% 0%,var(--accent-soft),transparent 58%),var(--raised);padding:22px 24px 18px;position:relative;overflow:clip}.result-hero .eyebrow{color:var(--muted);letter-spacing:.1em;margin:0}.result h2{font:700 14px var(--body-font);letter-spacing:.02em;color:var(--text);margin-top:4px}.score{font:800 clamp(64px,15vw,120px)/.95 var(--heading-font);letter-spacing:-.06em;color:var(--primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:12px 0 14px}.score small{font:600 19px var(--body-font);letter-spacing:0;color:var(--muted)}.score .land{animation:land .44s var(--ease) both;animation-delay:calc(var(--i,0)*45ms);display:inline-block}.score .land-comma{margin-right:.07em}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.band-chip{min-height:30px;font:800 14px var(--heading-font);letter-spacing:.01em;color:var(--on-primary);background:var(--accent);border-radius:999px;align-items:center;padding:4px 13px;display:inline-flex}.rank-chip{min-height:30px;color:var(--primary);background:var(--accent-soft);border-radius:999px;align-items:center;gap:7px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.rank-chip:empty{display:none}.result-hero .status{color:var(--muted);margin:12px 0 0}.result.is-best .result-hero{border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:radial-gradient(120% 150% at 0% 0%,var(--gold-soft),transparent 60%),var(--raised)}.result.is-best .score{color:var(--gold)}.result.is-best .rank-chip{color:#1c1400;background:var(--gold)}:root[data-theme=light] .result.is-best .rank-chip{color:#fff}.result.is-best .rank-chip:before{content:"";background:currentColor;width:16px;height:11px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 11'%3E%3Cpath d='M0 2.2 4 5 8 0l4 5 4-2.8L14.4 11H1.6z'/%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 16 11'%3E%3Cpath d='M0 2.2 4 5 8 0l4 5 4-2.8L14.4 11H1.6z'/%3E%3C/svg%3E") 50%/contain no-repeat}.result.is-best .result-hero:after{content:"";pointer-events:none;animation:gold-sweep .7s var(--ease) .15s both;background:linear-gradient(105deg,#0000 30%,#ffcb4742 48%,#0000 66%);position:absolute;inset:0}.result-actions{grid-template-columns:minmax(190px,1.1fr) 2fr;gap:10px;margin:14px 0 4px;animation:.5s step-end both arm;display:grid}.result-actions .share-row{margin:0}.share-row{gap:10px;margin-top:0;display:flex}.share-row>button{white-space:nowrap;flex:1 1 0;min-width:0}button.retry,.result-actions .share-row>button{min-height:54px}button.retry{letter-spacing:-.01em;font-size:17px;font-weight:800}@media (hover:hover) and (pointer:fine){button.retry:after{content:"R" / "";font:700 11px/1.6 var(--body-font);opacity:.7;border:1px solid #18200059;border-bottom-width:2px;border-radius:5px;padding:0 5px;display:inline-block}}.challenge-panel{border:1px dashed color-mix(in srgb,var(--primary) 70%,transparent);border-radius:var(--radius);background:var(--accent-soft);gap:10px;margin-top:12px;padding:14px 16px;display:grid}.challenge-panel input{width:100%}.challenge-panel .hint{margin-top:-4px;font-size:12px}.challenge-message{border:1px solid var(--border);background:var(--surface);border-radius:12px;max-width:none;margin:0;padding:12px 14px;font-weight:600;line-height:1.45}.challenge-send{gap:10px;display:flex}.challenge-send>button{flex:1 1 0;min-width:0;min-height:52px}.challenge-send>#challenge-copy{flex:2 1 0;font-size:16px;font-weight:800}.hero-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 0;padding:12px 0 0;display:grid}.hero-stats div{flex-direction:column;justify-content:space-between;min-width:0;display:flex}.hero-stats dt{color:var(--muted);font-size:12px;line-height:1.3}.hero-stats dd{font:700 22px/1.2 var(--heading-font);color:var(--ice);font-variant-numeric:tabular-nums;margin:3px 0 0}.hero-missed{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font-size:14px}.hero-missed strong{color:var(--text)}.hero-keys{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.hero-keys kbd{border:1px solid var(--border-strong);background:var(--raised);min-width:1.9em;color:var(--text);font:700 14px/1.5 var(--body-font);text-align:center;border-bottom-width:3px;border-radius:7px;margin:0 2px;padding:1px 7px;display:inline-block}.hero-keys button{min-height:44px;padding:6px 14px;font-size:14px}button.practice{min-height:54px;font-size:16px;font-weight:750}.result-actions:has(.practice:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.result-actions:has(.practice:not([hidden]))>.share-row{grid-column:1/-1}.result-more{border-top:1px solid var(--border);margin-top:18px;padding-top:4px}.result-more>summary{align-items:center;font-weight:650;display:flex}.result-more>p{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.challenge-outcome{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface);margin:14px 0 0;padding:16px 18px}.challenge-outcome[data-outcome=win]{border-color:var(--primary);background:radial-gradient(120% 150% at 100% 0%,var(--accent-soft),transparent 60%),var(--surface)}.challenge-outcome p{margin:8px 0 0;font-weight:700}.versus{grid-template-columns:1fr 1fr;gap:10px;display:grid}.versus div{gap:2px;min-width:0;display:grid}.versus span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.versus strong{font:800 32px/1.1 var(--heading-font);font-variant-numeric:tabular-nums}.versus div:first-child strong{color:var(--primary)}.versus small{color:var(--muted);font-size:12px}.band-block{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);margin:16px 0 6px;padding:18px 20px}.band-block h3{font-size:16px}.band-block .hint{margin:12px 0 0}.band-next{margin:6px 0 4px}.band-next strong{color:var(--primary)}.band-ladder{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.band-ladder li{text-align:center;min-width:0;margin:0;padding:14px 2px 0;position:relative}.band-ladder li:before{content:"";background:var(--raised-2);border-radius:99px;height:6px;position:absolute;top:0;left:0;right:0}.band-ladder li:has(~li[aria-current=true]):before{background:color-mix(in srgb,var(--primary) 45%,var(--raised-2))}.band-ladder li[aria-current=true]:before{background:var(--primary);box-shadow:0 0 14px var(--accent-glow)}.band-ladder strong{color:var(--muted);overflow-wrap:anywhere;font-size:13px;display:block}.band-ladder li[aria-current=true] strong{color:var(--primary)}.band-ladder span{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px;display:block}.band-own{flex-wrap:wrap;gap:24px;margin:14px 0 0;display:flex}.band-own div{min-width:0}.band-own dt{color:var(--muted);font-size:12px}.band-own dd{font:700 19px var(--heading-font);color:var(--ice);font-variant-numeric:tabular-nums;margin:0}.band-warning{border-left:3px solid var(--warning);margin:12px 0 0;padding-left:10px;font-size:14px}.result-stats{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin:18px 0;display:grid}.result-stats div{background:var(--raised);color:var(--muted);border-radius:12px;min-width:0;padding:12px 14px;font-size:12.5px}.result-stats strong{font:700 20px/1.25 var(--heading-font);color:var(--ice);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:2px;display:block}.result-files{margin-top:18px}.result-files+.hint{margin-top:14px}.bars{border-bottom:1px solid var(--border);align-items:flex-end;gap:5px;height:110px;margin-top:14px;display:flex}.bar{min-width:0;height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;font-size:11px;display:flex}.bar i{background:linear-gradient(to top,color-mix(in srgb,var(--primary) 70%,transparent),var(--primary));border-radius:5px 5px 2px 2px;width:100%;min-height:2px;display:block}.chart-detail{color:var(--muted);overflow-wrap:anywhere;font-size:13px}#result-chart h3{margin-top:22px}.challenge-banner{border:1px solid var(--primary);border-radius:var(--radius-l);background:radial-gradient(120% 160% at 0% 0%,var(--accent-soft),transparent 60%),var(--raised);align-items:center;gap:14px;margin:0 22px 14px;padding:14px 16px;display:flex}.challenge-banner>svg{height:30px;color:var(--primary);flex:0 0 30px}.challenge-banner>div{flex:1;min-width:0}.challenge-banner .eyebrow{margin:0}.challenge-title{font:800 21px/1.2 var(--heading-font);letter-spacing:-.02em;margin:2px 0}.challenge-banner .text-button{flex-shrink:0}.section-head{justify-content:space-between;align-items:baseline;gap:20px;margin:56px 0 20px;display:flex}.section-head p{color:var(--muted);margin:0;font-size:14px}.section-head>a{align-items:center;min-height:44px;display:inline-flex}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;display:grid}.tool-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);color:var(--text);transition:transform .22s var(--ease),border-color .22s,box-shadow .22s;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.tool-link:hover{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));box-shadow:0 20px 44px -24px var(--accent-glow);transform:translateY(-3px)}.tool-link:focus-visible{outline-offset:2px}.card-art{border-bottom:1px solid var(--border);background:#161a22;height:120px;overflow:hidden}.card-art img{object-fit:contain;width:100%;height:100%;transition:transform .3s var(--ease)}.tool-link:hover .card-art img{transform:scale(1.05)}.card-content{flex-direction:column;flex:1;padding:16px 18px 18px;display:flex}.card-content strong{font:700 16px/1.35 var(--heading-font);letter-spacing:-.03em;display:block}.card-content p{color:var(--muted);margin:6px 0 14px;font-size:14px;line-height:1.45}.card-best{justify-content:space-between;align-items:center;gap:10px;min-height:26px;margin-top:auto;font-size:12px;display:flex}.card-best>span:first-child{background:var(--accent-soft);color:var(--primary);overflow-wrap:anywhere;border-radius:999px;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.card-arrow{color:var(--primary);transition:transform .2s var(--ease);font-size:20px;line-height:1}.tool-link:hover .card-arrow{transform:translate(3px)}.duration-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.route-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.route-row li{min-width:0;max-width:none;margin:0}.route{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);height:100%;color:var(--text);transition:border-color .15s,background-color .15s,transform .2s var(--ease);flex-direction:column;gap:10px;padding:14px;text-decoration:none;display:flex}.route:hover{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));background:var(--raised);transform:translateY(-2px)}.route .glyph{flex:none}.route-words{flex-direction:column;flex:1;min-width:0;display:flex}.route strong{font:700 15px/1.3 var(--heading-font);letter-spacing:-.02em;overflow-wrap:anywhere}:root:not(:lang(en)) .route strong{hyphens:auto}.route small{color:var(--muted);margin:4px 0 10px;font-size:13px;line-height:1.4}.route-best{background:var(--accent-soft);max-width:100%;color:var(--primary);overflow-wrap:anywhere;border-radius:999px;align-self:flex-start;margin-top:auto;padding:3px 9px;font-size:12px;font-weight:700}.duration-card{text-align:left;border-radius:var(--radius);background:var(--surface);border-color:var(--border);flex-direction:column;align-items:flex-start;gap:4px;padding:16px;display:flex}.duration-card:hover:not(:disabled){background:var(--raised)}.duration-card strong{font:800 26px/1.1 var(--heading-font);color:var(--primary);letter-spacing:-.04em}.duration-card small{color:var(--muted);font-size:12px;font-weight:500}.duration-card span{font-size:13.5px}.style-links{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.style-links a{border:1px solid var(--border-strong);min-height:44px;color:var(--text);border-radius:999px;align-items:center;gap:9px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.style-links a:hover{border-color:var(--primary);background:var(--raised)}.style-links svg{width:18px;height:18px;color:var(--primary)}.family-intro{color:var(--muted)}.prose{max-width:80ch;margin-top:44px}.prose h2{margin:34px 0 12px}.prose h3{margin:24px 0 10px}.reading-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:56px;margin:56px 0;padding-top:36px;display:grid}.reading-grid h2{margin-bottom:14px;font-size:24px}.reading-grid p{color:var(--muted)}.read-fold summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;list-style:none;display:flex}.read-fold summary::-webkit-details-marker{display:none}.read-fold summary h2{margin:0}.read-fold summary:after{content:"";border:solid var(--muted);border-width:0 2px 2px 0;flex:0 0 10px;height:10px;margin-right:4px;transition:transform .15s;transform:rotate(45deg)translateY(-3px)}.read-fold[open] summary:after{transform:rotate(225deg)translate(-3px,-1px)}.read-fold[open] summary{margin-bottom:14px}.site-footer{border-top:1px solid var(--border);margin-top:64px;padding:34px 0}.footer-inner{justify-content:space-between;align-items:center;gap:30px;display:flex}.footer-links{flex-wrap:wrap;gap:6px 22px;display:flex}.footer-links a,.footer-links span{min-width:44px;min-height:44px;color:var(--muted);align-items:center;font-size:14px;display:flex}.footer-note{color:var(--muted);font-size:13px}.language-links{flex-wrap:wrap;gap:0 20px;margin:10px 0 6px;display:flex}.language-links a,.language-links span{min-width:44px;min-height:44px;color:var(--muted);align-items:center;font-size:14px;display:flex}.language-links [aria-current]{color:var(--text);font-weight:700}html:not([lang^=en]) a[hreflang=en]:after{content:"EN";letter-spacing:.04em;vertical-align:.12em;opacity:.75;border:1px solid;border-radius:4px;margin-left:.4em;padding:0 .32em;font-size:.68em;font-weight:700;line-height:1.45;text-decoration:none;display:inline-block}.notice{background:var(--raised);border-radius:12px;padding:18px}.trust{max-width:80ch;margin-inline:auto}.trust h1{margin-bottom:20px}.trust h2{margin:34px 0 12px}.trust .lede{color:var(--muted);font-size:20px}.trust>p,.trust section>p{color:var(--muted)}.trust .guide-art{object-fit:cover;border-radius:18px;width:100%;height:auto;max-height:240px;margin:26px 0;display:block}.sources-date{color:var(--muted);font-size:14px}.source-list{grid-template-columns:1fr 1fr;gap:12px 24px;padding-left:20px;display:grid}.source-list li{margin:0}.source-list small{color:var(--muted);display:block}.source-details{border-bottom:1px solid var(--border);padding:12px 0}.source-details summary{font:600 17px/1.4 var(--heading-font);padding:12px 0}.source-details p{color:var(--muted)}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px}caption{text-align:left;font-weight:600}.table-scroll{max-width:100%;overflow:auto}details>summary{cursor:pointer;min-height:44px}.daily-callout{border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:var(--radius-l);background:radial-gradient(120% 200% at 0% 50%,var(--accent-soft),transparent 55%),var(--surface);align-items:center;gap:18px;margin:26px 0 0;padding:18px 22px;display:flex;position:relative}.daily-callout>svg{height:36px;color:var(--primary);flex:0 0 36px}.daily-callout>div{flex:1;min-width:0}.daily-callout h2{font-size:20px}.daily-callout p{color:var(--muted);margin:4px 0 0;font-size:15px}.daily-callout-link{background:var(--accent);min-height:48px;color:var(--on-primary);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-weight:800;text-decoration:none;display:inline-flex}.daily-callout-link:hover{background:#d6fb6a}.input-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.hub-heading p{max-width:70ch}.hub-free{font-size:14px}.hub-jump{flex-wrap:wrap;gap:8px;margin:0 0 6px;display:flex}.hub-jump a{border:1px solid var(--border-strong);min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.hub-jump a:hover{border-color:var(--primary);background:var(--raised)}.hub-group{margin:44px 0 0;scroll-margin-top:16px}.hub-group-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;margin-bottom:14px;padding-bottom:10px;display:flex}.hub-group-head h2{font-size:clamp(1.3rem,2vw,1.6rem)}.hub-group-head p{color:var(--muted);margin:0;font-size:14px}.hub-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,272px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.hub-list li{max-width:none;margin:0}.hub-entry{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:100%;min-height:76px;color:var(--text);align-items:center;gap:14px;padding:12px 14px;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}.hub-entry:hover{border-color:color-mix(in srgb,var(--primary) 60%,var(--border));background:var(--raised)}.hub-entry>span{min-width:0}.hub-entry strong{font:700 15.5px/1.3 var(--heading-font);letter-spacing:-.02em;display:block}.hub-entry small{color:var(--muted);margin-top:3px;font-size:13.5px;line-height:1.35;display:block}.glyph{background:var(--raised);width:48px;height:48px;color:var(--muted);border-radius:12px;flex:0 0 48px;padding:7px}.glyph .a{stroke:var(--primary)}.glyph .f{fill:var(--primary);stroke:none}.hub-entry:hover .glyph{color:var(--text)}.hub-passport{margin-top:56px}.input-links a{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px;text-decoration:none;transition:border-color .2s}.input-links a:hover{border-color:var(--primary)}.input-links strong,.input-links span{display:block}.input-links span{color:var(--muted);margin-top:8px;font-size:15px}.counter-value{font:700 90px var(--heading-font);font-variant-numeric:tabular-nums;color:var(--primary)}.counter-list{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.counter-list button[aria-pressed=true]{background:var(--accent);color:var(--on-primary)}.game-score{font:700 70px var(--heading-font);font-variant-numeric:tabular-nums;color:var(--primary)}.shop{gap:12px;display:grid}.upgrade{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:18px;display:grid}.upgrade p{color:var(--muted);margin:4px 0;font-size:14px}.rhythm{flex-wrap:wrap;gap:4px;display:flex}.rhythm span{background:var(--raised);border-radius:3px;padding:3px 7px;font-size:12px}.rhythm .short{color:var(--warning)}.fallback{border:1px solid var(--warning);margin:15px;padding:15px}.pace-comparison{border-top:1px solid var(--border);margin-top:26px;padding-top:22px}.pace-comparison h3{margin-top:18px}.pace-comparison th,.pace-comparison td{overflow-wrap:anywhere;padding:9px 6px;font-size:14px}.paired-bars{border-bottom:1px solid var(--border);gap:3px;height:130px;margin-top:16px;display:flex}.paired-second{text-align:center;flex-direction:column;flex:1;min-width:0;font-size:12px;display:flex}.paired-second>div{align-items:flex-end;gap:1px;height:106px;display:flex}.paired-second i{width:50%;display:block}.normal-pace{border:2px solid var(--primary);background:var(--surface)}.current-pace{background:var(--primary)}.paired-second i[style="height:0%"]{visibility:hidden}#upgrade-progress{width:100%;height:14px;accent-color:var(--primary);margin:9px 0;display:block}.guide-link{border-radius:10px;min-height:44px;padding:10px 17px;text-decoration:none;display:inline-flex}.task-layout:has(#game-pad){grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)}.input-rhythm{width:100%;height:64px;margin-block:12px;display:block}.not-found{text-align:center}.not-found img{border-radius:18px;width:420px;max-width:100%;height:auto;margin:24px auto}.not-found .button-row{justify-content:center}.not-found ul{flex-wrap:wrap;justify-content:center;gap:8px 20px;padding:0;list-style:none;display:flex}.diagnostic-pad{border:2px solid var(--border);background:var(--background);touch-action:none;user-select:none;border-radius:14px;min-height:220px;padding:24px;position:relative;overflow:clip}.diagnostic-pad strong{z-index:1;font:600 22px var(--heading-font);pointer-events:none;position:relative}.diagnostic-pad svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.key-map{flex-wrap:wrap;gap:8px;margin-block:16px;display:flex}.key-tile{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;padding:10px}.key-tile small{color:var(--muted);display:block}.key-tile.held{background:var(--accent);color:#182000}.key-tile.held small{color:#182000}.controller{width:100%;min-width:0}.controller h3{overflow-wrap:anywhere}.event-log{overflow-wrap:anywhere;max-height:320px;padding-left:25px;font-size:14px;overflow:auto}.rate-track{background:var(--raised);border-radius:7px;height:40px;overflow:hidden}.rate-track span{background:var(--primary);height:100%;display:block}.touch-tip{margin:0 0 12px;font-size:14px;display:none}@media (hover:none) and (pointer:coarse){.touch-tip{display:block}}.diagnostic-pad.has-figure{flex-direction:column;gap:14px;min-height:0;padding:18px 18px 20px;display:flex}.diagnostic-pad.has-figure>strong{color:var(--muted);font-size:16px}.diagnostic-pad .kb,.diagnostic-pad .mouse-figure{height:auto;display:block;position:static;inset:auto}.kb-wrap{z-index:1;position:relative}.diagnostic-pad .kb{width:100%}.kb .k rect{fill:var(--raised);stroke:var(--border-strong);stroke-width:2.5px}.kb .k text{fill:var(--muted);font-family:var(--body-font);text-anchor:middle;font-weight:650}.kb .k.tested rect{fill:var(--accent-soft);stroke:var(--primary)}.kb .k.tested text{fill:var(--text)}.kb .k.down rect{fill:var(--accent);stroke:var(--accent)}.kb .k.down text{fill:var(--on-primary)}.mouse-wrap{z-index:1;justify-content:center;padding:4px 0;display:flex;position:relative}.diagnostic-pad .mouse-figure{width:min(190px,48%)}.mouse-body{fill:var(--raised);stroke:var(--faint);stroke-width:3px}.mouse-figure .part,.pad-figure .part{fill:var(--raised-2);stroke:var(--faint);stroke-width:3px}.mouse-figure .part.tested,.pad-figure .part.tested{fill:var(--accent-soft);stroke:var(--primary)}.mouse-figure .part.down,.pad-figure .part.down{fill:var(--accent);stroke:var(--accent)}.mouse-figure .part.double{stroke:var(--warning);stroke-width:6px}.wheel-dir{fill:var(--border-strong)}.wheel-dir.on{fill:var(--primary)}.pad-figure{width:100%;height:auto;display:block}.pad-body{fill:var(--raised);stroke:var(--faint);stroke-width:3px}.pad-figure .part.trigger{fill:var(--surface)}.trigger-fill{fill:var(--primary);opacity:.85;pointer-events:none}.stick-dot{fill:var(--ice);pointer-events:none}.stick-plots{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stick-plot{text-align:center;margin:0}.stick-plot svg{width:100%;max-width:180px;height:auto;margin:0 auto;display:block}.stick-plot figcaption{color:var(--muted);margin-top:6px;font-size:13px}.plot-edge{fill:var(--field);stroke:var(--border-strong);stroke-width:2px}.plot-cross{stroke:var(--border);stroke-width:1px}.plot-dz{fill:none;stroke:var(--faint);stroke-width:2px;stroke-dasharray:4 4}.plot-trail{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linejoin:round;opacity:.75}.plot-dot{fill:var(--ice)}.plot-dot.outside{fill:var(--warning)}#pad-rumble{grid-column:1/-1;justify-self:start}.diagnostic-pad.pad-box{touch-action:auto;user-select:auto;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:18px;min-height:0;padding:16px;display:grid}.pad-box svg{height:auto;position:static;inset:auto}.pad-box .pad-figure{transition:opacity .2s var(--ease)}.pad-box.is-idle .pad-figure{opacity:.45}.pad-side,.pad-live{gap:14px;min-width:0;display:grid}.pad-side .status{margin:0}.pad-box.is-idle .pad-side .status{font:600 18px/1.35 var(--heading-font);color:var(--text)}.diag-meaning{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--surface);margin:18px 0 8px;padding:16px 18px}.diag-meaning h3{font-size:16px}.diag-meaning p{color:var(--muted);margin:8px 0 0;font-size:15px}.diag-advanced{border-top:1px solid var(--border);margin-top:14px;padding-top:4px}.diag-advanced>summary{align-items:center;font-weight:650;display:flex}.diag-advanced .button-row{margin-top:6px}.memory-board{grid-template-columns:repeat(var(--cells,4),minmax(0,1fr));gap:10px;max-width:480px;margin:18px auto;display:grid}.memory-board button{aspect-ratio:1;min-height:44px;font-size:23px}.memory-board button.lit,.memory-board button.selected{background:var(--accent);border-color:var(--accent);color:#182000}.memory-board button:disabled{opacity:1}.memory-stimulus{font:700 clamp(22px,5vw,44px) var(--heading-font);letter-spacing:.04em;text-align:center;overflow-wrap:anywhere;min-height:55px}.memory-stimulus:empty{display:none}.decision-cue{text-align:center;background:var(--raised);min-height:175px;font:700 32px var(--heading-font);border-radius:15px;place-items:center;padding:35px 20px;display:grid}.decision-cue[data-state=go]{background:var(--accent);color:#182000}.decision-cue[data-state=stop]{border:3px solid var(--warning)}.decision-actions{gap:12px;margin-top:18px;display:flex}.decision-actions button{flex:1;min-height:66px}.memory-links{grid-template-columns:repeat(3,minmax(0,1fr))}#passport-results{padding:0;list-style:none}#passport-results li{border-bottom:1px solid var(--border);padding:12px 0}.tool:has(.diagnostic-pad){width:100%}.task-layout:has([data-diagnostic]){display:block}@media (width<=680px){.memory-links{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-board{gap:7px}.memory-board button{padding:5px}.diagnostic-pad{padding:18px}.tool-controls>input{min-width:0}}.trust h3 a{align-items:center;min-height:44px;padding-block:10px;display:inline-flex}.memory-preview{object-fit:contain;width:min(100%,240px);height:160px;margin:0 auto 12px;display:block}.key-map{margin-top:22px}.keyboard{gap:5px;max-width:520px;margin:12px 0;display:grid}.key-row{justify-content:center;gap:5px;display:flex}.key-row:nth-child(3){padding-left:14px}.key-row:nth-child(4){padding-left:34px}.key{border:1px solid var(--border);background:var(--raised);min-width:0;height:40px;font:600 14px var(--body-font);color:var(--muted);text-transform:uppercase;border-radius:8px;flex:0 42px;place-items:center;display:grid;position:relative}.key-row:last-child .key{text-transform:none;flex:0 260px}.key.missed{color:var(--text);border-color:var(--warning);background:color-mix(in srgb,var(--warning) calc(var(--heat,0)*40%),var(--raised))}.key small{color:var(--text);font-size:10px;position:absolute;top:1px;right:4px}.tool:fullscreen{background:var(--surface);border-radius:0;padding:12px 0;overflow:auto}.tool:fullscreen .aim-field{height:calc(100vh - 260px)}.tool:fullscreen .typing-prompt{min-height:40vh;max-height:none;font-size:26px}.band-table table{table-layout:fixed;border-collapse:collapse;width:100%}.band-table th,.band-table td{text-align:left;overflow-wrap:normal;word-break:normal;padding:8px 6px;font-size:15px}.band-table caption{text-align:left;margin-bottom:6px;font-weight:600}@media (width<=680px){.band-table th,.band-table td{padding:7px 3px;font-size:13px}}.typing-stats{border:0;gap:28px;margin:0 0 14px;padding:0;display:flex}.typing-stats div+div{border-left:0;padding-left:0}.typing-stats #typing-time{color:var(--primary);font-size:30px}.typing-stats .meter-note{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;display:block}.typing-surface{border-radius:var(--radius-l);background:var(--field);border:1px solid var(--border);padding-bottom:18px;transition:border-color .2s,box-shadow .2s;position:relative}.typing-surface:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-soft)}.typing-prompt,.typing-prompt[data-font]{border-radius:inherit;height:calc(5.25em + 18px);min-height:0;max-height:none;font:500 24px/1.75 var(--body-font);letter-spacing:.15px;color:var(--faint);overflow-wrap:anywhere;background:0 0;margin:0;padding:18px 22px 0;transition:opacity .2s;position:relative;overflow:hidden}.typing-prompt[data-font=large]{font-size:28px}.typing-prompt[data-font=xlarge]{height:calc(5.1em + 18px);font-size:33px;line-height:1.7}.typing-prompt .correct{color:var(--text)}.typing-prompt .wrong{color:var(--danger);text-underline-offset:5px;background:color-mix(in srgb,var(--danger) 12%,transparent);border-radius:3px;text-decoration:underline 2px}.typing-prompt[data-set=code]{white-space:pre-wrap}html:not(:lang(ja)):not(:lang(zh)):not(:lang(ko)) .typing-prompt{letter-spacing:0;font-family:ui-monospace,Cascadia Mono,SF Mono,Roboto Mono,Menlo,Consolas,Liberation Mono,monospace;font-weight:450}.typing-prompt .caret{box-shadow:inset 2px 0 0 var(--primary)}.typing-surface[data-state=idle] .typing-prompt .caret{animation:1.05s step-end infinite caret}.typing-prompt[data-caret=block] .caret{box-shadow:none;background:var(--primary);color:var(--on-primary);border-radius:2px}.typing-prompt[data-caret=underline] .caret{box-shadow:inset 0 -3px 0 var(--primary)}.typing-surface[data-state=idle]:not(:focus-within) .typing-prompt{opacity:.72}.typing-input{z-index:2;margin:0;display:block;position:absolute;inset:0}.typing-input textarea,.typing-input textarea:focus{opacity:0;resize:none;cursor:text;caret-color:#0000;border:0;outline:none;width:100%;height:100%;min-height:0;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.typing-cta{z-index:1;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:9px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.typing-cta svg{width:18px;height:18px;color:var(--primary)}.typing-surface:focus-within .typing-cta,.typing-surface:not([data-state=idle]) .typing-cta{display:none}.typing-surface+.hint{margin-top:12px}#custom-text-label{margin-bottom:14px}.aim-field{background-color:var(--field);background-image:radial-gradient(color-mix(in srgb,var(--text) 9%,transparent) 1px,transparent 1.5px);height:360px;box-shadow:inset 0 0 0 1px var(--border);touch-action:none;user-select:none;cursor:crosshair;background-size:24px 24px;border-radius:14px;position:relative;overflow:hidden}.aim-target,.aim-target:hover:not(:disabled){background:radial-gradient(circle,var(--on-primary) 0 14%,var(--accent) 15% 42%,var(--on-primary) 43% 52%,var(--accent) 53% 100%);min-width:44px;min-height:44px;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent),0 6px 22px -6px var(--accent-glow);cursor:crosshair;border:0;border-radius:50%;padding:0;transition:none;position:absolute;transform:translate(-50%,-50%)}.aim-target:after{content:none}.aim-field[data-colour=ice] .aim-target,.aim-field[data-colour=ice] .aim-target:hover:not(:disabled){background:radial-gradient(circle,#06202b 0 14%,var(--ice) 15% 42%,#06202b 43% 52%,var(--ice) 53% 100%);box-shadow:0 0 0 2px var(--ice)}.aim-field[data-colour=gold] .aim-target,.aim-field[data-colour=gold] .aim-target:hover:not(:disabled){background:radial-gradient(circle,#1c1400 0 14%,var(--gold) 15% 42%,#1c1400 43% 52%,var(--gold) 53% 100%);box-shadow:0 0 0 2px var(--gold)}.aim-scoreboard{padding:0 2px 14px}.aim-empty{pointer-events:none;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.aim-empty strong{font:800 24px/1.2 var(--heading-font);color:var(--text);letter-spacing:-.03em}.aim-empty img{border-radius:12px;width:150px;height:100px;margin-bottom:4px}.aim-field:has(.aim-target:not([hidden])) .aim-empty{display:none}.miss-dot{color:var(--warning);pointer-events:none;animation:miss-in .25s var(--ease);font-size:22px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.hit-burst{border:2px solid var(--primary);pointer-events:none;animation:burst .42s var(--ease) forwards;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.trace{background:var(--raised);border-radius:12px;width:100%;height:130px}.aim-body .aim-field{height:420px}.settings-panel{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--raised);margin:0 22px 18px;padding:16px 18px}.settings-panel h3{margin-bottom:10px;font-size:16px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.settings-grid input[type=range]{min-height:44px;accent-color:var(--primary);background:0 0;border:0;padding:0}.settings-toggles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 16px;margin-top:12px;display:grid}.toggle{min-height:44px;color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.toggle input{width:20px;height:20px;min-height:0;accent-color:var(--primary)}.tool-controls+.settings-panel{margin-top:0}.task-layout[data-pad=large] .pad{min-height:clamp(340px,55vh,460px)}.task-layout[data-accent=ice]{--primary:var(--ice)}.task-layout[data-accent=gold]{--primary:var(--gold)}.task-layout[data-contrast=high]{--muted:var(--text);--border:var(--text);--border-strong:var(--text)}.task-layout[data-contrast=high] .pad{border-width:2px}.task-layout.hide-rate .live-hero .meter-value,.task-layout.hide-timer .timer-ring{visibility:hidden}@media (width>=1001px){.task-layout[data-hand=left][data-runs]{grid-template-columns:272px minmax(0,1fr)}.task-layout[data-hand=left]>.task-aside{order:-1}}.daily{padding-bottom:18px}.daily-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:20px 22px 6px;list-style:none;display:grid}.daily-steps li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;margin:0;padding:10px 12px;font-weight:700;display:flex}.daily-steps li span{background:var(--raised-2);width:30px;height:30px;font:800 14px var(--heading-font);border-radius:50%;place-items:center;display:grid}.daily-steps li small{color:var(--ice);font-variant-numeric:tabular-nums;min-height:1em;margin-left:auto;font-size:12px}.daily-steps li[aria-current=step]{border-color:var(--primary);background:var(--accent-soft)}.daily-steps li[aria-current=step] span{background:var(--accent);color:var(--on-primary)}.daily-round{padding:14px 22px 6px}.daily-round .eyebrow{margin:0 0 4px}.daily-brief{margin:0 0 14px}.daily-round .pad{width:100%;margin:0}.daily-round .aim-field{margin-bottom:6px}.daily-results{gap:10px;margin:10px 0 16px;display:grid}.daily-result{border:1px solid var(--border);border-radius:var(--radius);background:var(--raised);grid-template-columns:90px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.daily-result span{color:var(--muted);font-size:14px}.daily-result strong{font:800 21px var(--heading-font);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.daily-streak{font:800 18px var(--heading-font);color:var(--gold)}#daily-share-fallback{margin-top:10px}.challenge-invite{text-align:center;border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(90% 120% at 50% 0%,var(--accent-soft),transparent 60%),var(--surface);max-width:620px;box-shadow:var(--shadow);margin:8px auto 0;padding:34px 28px 26px}.challenge-invite.is-live{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.invite-mark{width:42px;height:42px;color:var(--primary);margin-bottom:10px}.challenge-invite h1{font-size:clamp(1.8rem,4.6vw,2.6rem)}.challenge-invite p{margin-inline:auto}.invite-score{font:800 clamp(64px,16vw,112px)/1 var(--heading-font);letter-spacing:-.06em;color:var(--primary);font-variant-numeric:tabular-nums;margin:16px 0 12px}.invite-score small{font:600 20px var(--body-font);letter-spacing:0;color:var(--muted)}.invite-band{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.invite-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0 8px;display:flex}.button-link{border:1px solid var(--border-strong);background:var(--raised);min-height:52px;color:var(--text);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:800;text-decoration:none;display:inline-flex}.button-link:hover{border-color:var(--primary)}.button-link.primary{background:var(--accent);border-color:var(--accent);color:var(--on-primary);font-size:17px}.button-link.primary:hover{background:#d6fb6a}.challenge-ladder{flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px;margin:22px auto 0;display:flex}.challenge-ladder li{text-align:center;padding:0}.challenge-ladder li:before{content:none}.challenge-ladder a,.challenge-ladder li[aria-current=true] strong{border:1px solid var(--border);min-height:44px;color:var(--muted);border-radius:999px;align-items:center;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.challenge-ladder li[aria-current=true] strong{border-color:var(--primary);color:var(--primary);background:var(--accent-soft)}@keyframes ripple{to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}@keyframes digit-in{0%{opacity:.5;transform:translateY(-14%)}to{opacity:1;transform:translateY(0)}}@keyframes result-in{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gold-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes land{0%{opacity:0;transform:translateY(.32em)scale(.86)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}@keyframes arm{0%{pointer-events:none}to{pointer-events:auto}}@keyframes caret{0%,to{box-shadow:inset 2px 0 0 var(--primary)}50%{box-shadow:inset 2px 0 #0000}}@keyframes burst{to{opacity:0;transform:translate(-50%,-50%)scale(1.9)}}@keyframes miss-in{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}@media (width>=1536px){.shell{width:min(100% - 96px,1360px)}.task-layout{grid-template-columns:minmax(0,1fr) 300px;gap:36px}}@media (width<=1100px){.test-rail a,.test-rail .nav-current{padding:8px 10px;font-size:14px}.test-rail svg{display:none}}@media (width<=1000px){.route-row{grid-template-columns:repeat(4,minmax(0,1fr))}.task-layout,.task-layout[data-runs]{grid-template-columns:minmax(0,1fr);gap:20px}.task-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.aside-note{grid-column:1/-1}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-grid{gap:32px}.result-actions{grid-template-columns:1fr}}@media (width<=680px){.shell{width:calc(100% - 32px)}.header-inner{gap:6px;min-height:60px}.brand{min-width:36px;min-height:44px}.brand-name{display:none}.brand img{width:32px;height:32px}.site-nav{flex:auto;gap:6px}.test-rail a,.test-rail .nav-current{padding:8px 10px;font-size:14px}.menu summary{gap:7px;padding:8px 11px;font-size:14px}.menu{position:static}.menu-panel{width:auto;max-height:calc(100svh - 80px);padding:10px;position:absolute;top:58px;left:12px;right:12px}.menu-groups{columns:2;column-gap:8px}.menu-panel a,.menu-current{padding:8px 10px;font-size:14px}.menu-group-title{padding:10px 10px 2px}main{padding-top:14px}.breadcrumbs{gap:7px;margin-bottom:8px;font-size:13px}.breadcrumbs [aria-current=page],.breadcrumbs .separator:has(+[aria-current=page]){display:none}.page-heading{margin-bottom:16px;display:block}.page-heading h1{font-size:28px;line-height:1.12}.page-heading p{margin-top:8px;font-size:15px;line-height:1.5}.page-heading .free-line{align-items:flex-start;margin-top:6px;font-size:12.5px}.free-line svg{margin-top:2px}.home-heading h1{font-size:30px}.home-jump{display:none}.hub-group{margin-top:34px}.hub-entry{gap:12px;min-height:68px;padding:10px 12px}.glyph{flex-basis:44px;width:44px;height:44px;padding:6px}.eyebrow{margin-bottom:6px;font-size:11px}.task-layout{flex-direction:column;gap:18px;display:flex}.task-layout>.tool{width:100%}.tool{border-radius:22px}.tool-controls{gap:10px;padding:14px 14px 12px}.tool-controls>label{flex:1;min-width:120px}.tool-controls>input{min-width:0}.tool-controls>.custom-seconds{flex:0 152px}.custom-seconds input::placeholder{font-size:14px}.control-time{flex:1 0 100%}.tool-click .control-label{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tool-click .tool-controls>label,.tool:has(#typing-duration) .tool-controls>label{gap:0;font-size:0}.tool-foot,.tool-foot .button-row{flex-wrap:wrap}.tool-click .tool-controls>label>input,.tool-click .tool-controls>label>select{font-size:15px}.segments{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.segments button{min-width:0;padding:8px 4px}[data-tool=spacebar] .segments{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row}.stage{padding:0 14px 12px}.click-scoreboard{gap:12px;padding-bottom:10px}.live-hero .meter-value{font-size:54px}.live-count .meter-value{font-size:24px}.timer-ring{width:78px;height:78px}.timer-ring>span{font-size:18px}.timer-ring small{font-size:9.5px}.pad{border-radius:20px;min-height:max(300px,100svh - 440px);padding:14px 14px 90px}.pad>strong{font-size:28px}.tool>.pad{width:calc(100% - 28px);margin:0 14px}.pad>small{font-size:14px}.pad-target{width:76px;height:76px}.tool-foot{align-items:center;padding:4px 14px 16px}.tool-foot .hint{font-size:12px}.tool-foot .button-row>button{padding-inline:12px}.meter-row{gap:9px;margin:16px 14px;padding-top:12px}.meter-row div+div{padding-left:10px}.meter-value{font-size:22px}.meter-label{font-size:10px}.typing-stats{gap:18px;margin:0 0 12px}.typing-stats #typing-time{font-size:26px}.task-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%}.aside-block{padding:14px}.aside-block .best-score{min-height:36px;font-size:30px}.aside-block h2{font-size:14px}.aside-block p{font-size:12.5px}.aside-note{grid-column:1/-1}.best-crown{width:34px;height:24px}.history{font-size:12.5px}.history li{gap:6px}.result{padding:14px}.result-hero{padding:18px 16px 16px}.score{font-size:clamp(60px,20vw,96px)}.result-actions{grid-template-columns:1fr}button.practice{padding-inline:10px;font-size:15px}button.practice svg{display:none}.share-row{gap:10px;display:flex}.share-row>button{flex:auto}.share-row>#download-result{flex:none}.result-actions .share-row>button{min-height:48px}.share-row>button{gap:7px;padding-inline:8px;font-size:15px}.share-row svg{width:16px;height:16px}.band-block{padding:16px 14px}.band-ladder{gap:4px}.band-ladder strong{font-size:11.5px}.band-ladder span{font-size:11px}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.challenge-banner{flex-wrap:wrap;margin:0 14px 12px}.challenge-title{font-size:18px}.versus strong{font-size:26px}.settings-panel{margin:0 14px 14px;padding:14px}.section-head{margin:38px 0 16px;display:block}.section-head h2{font-size:24px}.section-head p{margin-top:6px}.tool-grid{gap:10px}.card-art{height:96px}.card-content{padding:12px 12px 14px}.card-content strong{font-size:14.5px}.card-content p{margin-bottom:10px;font-size:13px}.card-best{font-size:11px}.card-best>span:first-child{padding:3px 8px}.duration-grid{gap:10px}.duration-card{padding:12px}.duration-card strong{font-size:22px}.duration-card small{font-size:11px}.reading-grid{margin:38px 0;padding-top:26px;display:block}.reading-grid section+section,.reading-grid .read-fold+.read-fold{margin-top:28px}.reading-grid .read-fold:not([open])+.read-fold{margin-top:10px}.style-links{gap:8px}.style-links a{gap:7px;padding:8px 12px;font-size:14.5px}.reading-grid h2{font-size:23px}.site-footer{margin-top:40px;padding:26px 0}.footer-inner{flex-direction:column;align-items:flex-start;gap:16px}.footer-links{gap:0 20px}.tool-body{padding:16px}.aim-field{height:300px}.aim-body .aim-field{height:440px}.typing-surface{padding-bottom:14px}.typing-prompt,.typing-prompt[data-font]{height:calc(5.25em + 14px);padding:14px 16px 0;font-size:20px}.typing-prompt[data-font=large]{font-size:23px}.typing-prompt[data-font=xlarge]{height:calc(5.1em + 14px);font-size:27px}.prose{margin-top:32px}.source-list{grid-template-columns:1fr}.trust .lede{font-size:18px}.trust .guide-art{max-height:190px}.button-row>button{padding-inline:13px}.daily-callout{flex-wrap:wrap;padding:16px}.daily-callout-link{justify-content:center;width:100%}.daily-steps{gap:6px;padding:14px 14px 4px}.daily-steps li{text-align:center;flex-direction:column;justify-content:center;padding:8px 4px;font-size:13px}.daily-steps li span{width:26px;height:26px;margin:0 auto 2px}.daily-steps li small{margin:0}.daily-round{padding:12px 14px 4px}.daily-result{grid-template-columns:1fr auto}.daily-result span{grid-column:1/-1}.challenge-invite{padding:26px 16px 20px}.invite-actions .button-link{width:100%}.input-links{grid-template-columns:1fr}.diagnostic-pad.pad-box{grid-template-columns:1fr;padding:12px}.route-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route{flex-direction:row;align-items:center;gap:10px;padding:10px}.route .glyph{flex-basis:40px;width:40px;height:40px;padding:5px}.route strong{font-size:13.5px}.route small{display:none}.route-best{margin-top:5px;padding:2px 7px;font-size:11px}.route-best:not(.has-best){display:none}.route-row li:last-child:nth-child(odd){grid-column:1/-1}.tool-aim .tool-controls>label{gap:0;font-size:0}.tool-aim .tool-controls>label>select{font-size:15px}.task-layout[data-pad=large] .pad{min-height:max(360px,100svh - 380px)}}@media (width<=380px){.share-row svg{display:none}.hero-stats{gap:8px}.hero-stats dd{font-size:20px}.result{padding:12px}.band-block{padding:14px 10px}.band-ladder{gap:3px}.band-ladder strong{letter-spacing:-.01em;overflow-wrap:normal;word-break:keep-all;font-size:11px}.band-ladder span{font-size:10.5px}.share-row>button{font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.click-ripple,.hit-burst{display:none}}.typing-replay pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--raised);border-radius:12px;max-height:250px;padding:16px;overflow:auto}@media (width<=680px) and (height<=740px){.aim-body .aim-field{height:360px}}@media (width<=680px) and (hover:none) and (pointer:coarse){.tool-aim #aim-start{display:none}}.typing-line{align-items:center}.typing-line>label.compact{flex:0 auto;min-width:0}.typing-line select{width:auto;max-width:100%;min-height:44px}#new-prompt{align-items:center;gap:7px;min-height:44px;display:inline-flex}#new-prompt svg{flex:none;width:18px;height:18px}@media (width<=680px){.typing-line{flex-wrap:nowrap}.typing-line>label.compact{flex:1 1 0;font-size:0}.typing-line>label.compact:first-child{flex:none}.typing-line select{width:100%;font-size:15px}#new-prompt{flex:none;justify-content:center;width:44px;padding:0}#new-prompt .new-label{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=480px){.typing-line{grid-template-columns:minmax(0,1fr) 44px;gap:10px;display:grid}.typing-line>label.compact:first-child{grid-column:1/-1}}.f1-figure{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);margin:18px 0 22px;padding:16px 16px 12px}.f1-figure svg{width:100%;height:auto;display:block}.f1-figure figcaption{color:var(--muted);margin-top:8px;font-size:14px}.f1-axis{stroke:var(--border-strong);stroke-width:2px}.f1-wait{stroke:var(--faint);stroke-width:2px}.f1-gantry{fill:#1b1f27;stroke:var(--border-strong);stroke-width:2px}.f1-go{stroke:var(--primary);stroke-width:3px}.f1-lit{fill:#ff4d4d;stroke:#ffb3b3;stroke-width:1.5px}.f1-off{fill:#3a4252;stroke:#5f6b7d;stroke-width:1.5px}.f1-tick{stroke:var(--faint);stroke-width:2px}.f1-go-tick{stroke:var(--primary)}.f1-time,.f1-note{fill:var(--muted);font:600 14px var(--body-font);text-anchor:middle}.f1-go-text{fill:var(--primary);font-weight:800}@media (width<=680px){.f1-figure{padding:10px 8px 8px}.f1-time,.f1-note{font-size:17px}}.apm-board{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:14px;display:grid}.apm-live strong{font:800 clamp(2.4rem,6vw,3.6rem)/1 var(--heading-font);color:var(--primary);font-variant-numeric:tabular-nums;display:block}.apm-pad{border:2px solid var(--border-strong);background:var(--pad);text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:280px;padding:24px 20px 96px;display:flex;position:relative}.apm-pad:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.apm-pad[data-state=running]{border-color:var(--primary)}.apm-pad strong{font:700 clamp(1.15rem,2.4vw,1.5rem)/1.25 var(--heading-font)}.apm-pad small{color:var(--muted);font-size:14px}.apm-curve{pointer-events:none;align-items:flex-end;gap:6px;height:62px;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.apm-curve span,.apm-bars span{background:color-mix(in srgb,var(--primary) 45%,var(--raised));border-radius:6px 6px 2px 2px;flex:1;min-width:0}.apm-curve span.is-current{background:var(--primary)}.apm-bars{align-items:flex-end;gap:6px;height:90px;margin:8px 0 12px;display:flex}@media (width<=680px){.apm-board{grid-template-columns:repeat(3,minmax(0,1fr))}.apm-live{grid-column:1/-1}.apm-pad{min-height:240px}}.chatter-figure{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);margin:20px 0 26px;padding:16px}.chatter-figure svg{width:100%;height:auto;display:block}.chatter-figure figcaption{color:var(--muted);margin-top:8px;font-size:14px}.cf-base{stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 5}.cf-signal{fill:none;stroke:var(--ice);stroke-width:4px;stroke-linejoin:round}.cf-bad{stroke:var(--warning)}.cf-gap{fill:none;stroke:var(--warning);stroke-width:2px}.cf-row{fill:var(--text);font:700 16px var(--heading-font)}.cf-note{fill:var(--muted);font:600 14px var(--body-font)}.cf-bad-text{fill:var(--warning);text-anchor:middle}@media (width<=680px){.cf-row{font-size:20px}.cf-note{font-size:18px}}.tech-fig{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);max-width:340px;margin:8px 0 18px;padding:10px}.tech-fig svg{width:100%;height:auto;display:block}.tf-body{fill:var(--raised);stroke:var(--faint);stroke-width:3px}.tf-btn{fill:#0000}.tf-line{fill:none;stroke:var(--faint);stroke-width:2px}.tf-wheel{fill:var(--raised-2,var(--raised));stroke:var(--faint);stroke-width:2px}.tf-finger rect{fill:color-mix(in srgb,var(--background) 55%,transparent);stroke:var(--text);stroke-width:2.5px}.tf-motion{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.tf-grip{stroke:var(--muted);stroke-width:2px}.tf-hit{fill:none;stroke:var(--primary);stroke-width:2px;opacity:0}.tech-fig .tf-active{animation:tf-press var(--beat) steps(1) infinite}.tech-fig .tf-hit{animation:tf-ring calc(var(--beat)*6) linear infinite;animation-delay:calc(var(--i)*var(--beat)*2)}.tech-jitter{--beat:90ms}.tech-butterfly{--beat:.1s}.tech-drag{--beat:60ms}.tech-kohi{--beat:.16s}.tech-right-click{--beat:.14s}.tf-buzz{animation:tf-buzz var(--beat) linear infinite}.tf-tap{animation:tf-tap var(--beat) ease-in-out infinite}.tf-f1{animation:tf-alt calc(var(--beat)*2) steps(1) infinite}.tf-f2{animation:tf-alt calc(var(--beat)*2) steps(1) infinite;animation-delay:var(--beat)}.tf-slide{animation:.7s linear infinite tf-slide}@keyframes tf-press{0%{fill:var(--accent-soft)}50%{fill:#0000}}@keyframes tf-buzz{0%,to{transform:translate(0)}50%{transform:translate(1px,2px)}}@keyframes tf-tap{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes tf-alt{0%{transform:translateY(2px)}50%{transform:translateY(-4px)}}@keyframes tf-slide{0%{transform:translateY(-6px)}to{transform:translateY(30px)}}@keyframes tf-ring{0%{opacity:.8}to{opacity:0}}@media (prefers-reduced-motion:reduce){.tech-fig *{animation:none!important}.tech-fig .tf-active{fill:var(--accent-soft)}.tf-hit{opacity:.35}}.bounce-figure{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);margin:18px 0 24px;padding:14px 16px}.bounce-figure svg{width:100%;height:auto;display:block}.bf-mouse{fill:var(--raised);stroke:var(--faint);stroke-width:2.5px}.bf-mouse-line{fill:none;stroke:var(--faint);stroke-width:2px}.bf-press{fill:var(--primary)}.bf-base{stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 5}.bf-signal{fill:none;stroke:var(--ice);stroke-width:4px;stroke-linejoin:round}.bf-bounce{stroke:var(--warning)}.bf-gap{fill:none;stroke:var(--warning);stroke-width:2px}.bf-ms{fill:var(--warning);font:700 15px var(--body-font);text-anchor:middle}.bf-badge{fill:var(--accent-soft);stroke:var(--primary);stroke-width:2.5px}.bf-warn{fill:var(--danger-ground);stroke:var(--warning)}.bf-count{fill:var(--text);font:800 26px var(--heading-font);text-anchor:middle}.bf-warn-text{fill:var(--warning)}.tk-sheet{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:18px;display:grid}.tk-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--field);font:600 22px/1.2 var(--body-font);font-variant-numeric:tabular-nums;margin:0;padding:10px 0;list-style:none}.tk-list li{text-align:right;margin:0;padding:8px 18px}.tk-list .tk-ok{color:var(--faint)}.tk-list .tk-miss{color:var(--warning);text-decoration:line-through}.tk-list .tk-now{background:var(--accent-soft);color:var(--text);box-shadow:inset 3px 0 0 var(--primary);font-weight:800}.tk-list .tk-next{color:var(--muted)}.tk-field{flex-direction:column;gap:8px;min-width:0;font-weight:600;display:flex}.tk-meters{grid-template-columns:repeat(4,minmax(0,1fr))}.tk-field input{width:100%;min-width:0;font:700 30px/1.2 var(--body-font);font-variant-numeric:tabular-nums;text-align:right;min-height:64px}.tk-misses{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.tk-misses li{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:0;padding:6px 10px}@media (width<=680px){.tk-sheet{grid-template-columns:minmax(0,1fr)}.tk-list{font-size:20px}.tk-meters{grid-template-columns:repeat(2,minmax(0,1fr))}.tk-meters div:nth-child(odd){border-left:0;padding-left:0}.stage:has(.tk-sheet){flex-direction:column;display:flex}.stage .tk-meters{order:2}.tk-sheet{gap:12px;margin-top:4px}.tk-list :is(.tk-ok,.tk-miss):has(+:is(.tk-ok,.tk-miss)),.tk-list .tk-now~.tk-next~.tk-next~.tk-next{display:none}}.pad-stage{border:2px solid var(--border-strong);background:var(--pad);text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:14px;padding:28px 18px;display:flex}.pad-glyph{width:120px;height:120px;color:var(--muted)}[data-padspeed][data-state=going] .pad-glyph{color:var(--primary)}[data-padspeed][data-state=going] .pad-stage{border-color:var(--primary)}.pad-live{fill:currentColor}.pad-stage strong{font:700 clamp(1.1rem,2.2vw,1.4rem)/1.3 var(--heading-font)}.pad-stage .meter-row{width:100%}.wpm-calc{margin-bottom:18px}.wpm-h{margin:0 0 12px;font-size:1.15rem}.wpm-count{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 16px;display:flex}.wpm-count .control-label{margin:0}.wpm-inputs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.wpm-convert{grid-template-columns:repeat(3,minmax(0,1fr))}.wpm-inputs label{flex-direction:column;justify-content:flex-end;gap:6px;font-size:14px;font-weight:600;display:flex}.wpm-inputs input{font:700 20px var(--body-font);font-variant-numeric:tabular-nums;min-height:48px}.wpm-out{grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 8px;display:grid}.wpm-out strong{font:800 1.6rem/1.1 var(--heading-font);font-variant-numeric:tabular-nums;display:block}.wpm-main strong{color:var(--primary);font-size:2.6rem}.glossary dt{margin-top:10px;font-weight:800}.glossary dd{margin:2px 0 0}@media (width<=680px){.wpm-inputs,.wpm-out{grid-template-columns:repeat(2,minmax(0,1fr))}.wpm-convert{grid-template-columns:1fr}}.backup-load{cursor:pointer}.backup-load.button-link{min-height:44px;font-weight:650;font-size:inherit;border-radius:12px;padding:10px 16px}.backup-load:focus-within{outline:3px solid var(--primary);outline-offset:3px}.lesson-tool{margin-bottom:22px}.lesson-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:12px;display:flex}.lesson-title{margin:0;font-size:clamp(1.1rem,2vw,1.35rem)}.lesson-keys kbd,.hero-keys kbd{border:1px solid var(--border-strong);background:var(--raised);min-width:1.9em;color:var(--text);font:700 15px/1.5 var(--body-font);text-align:center;border-bottom-width:3px;border-radius:7px;margin:0 2px;padding:1px 7px;display:inline-block}.lesson-text{white-space:pre-wrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--field);color:var(--faint);overflow-wrap:anywhere;cursor:text;padding:16px 18px;font:450 24px/1.7 ui-monospace,Cascadia Mono,SF Mono,Roboto Mono,Menlo,Consolas,monospace}.lesson-text .ok{color:var(--text)}.lesson-text .bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent);border-radius:3px}.lesson-text .now{box-shadow:inset 2px 0 0 var(--primary);color:var(--text)}.lesson-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.lesson-tool:focus-within .lesson-text{border-color:var(--primary)}.finger-wrap{margin-top:16px}.finger-kb{width:100%;height:auto;display:block}.finger-kb .k rect{stroke:var(--border-strong);stroke-width:2.5px}.finger-kb .k text{fill:var(--text);font-family:var(--body-font);text-anchor:middle;font-weight:650}.finger-kb .bump{stroke:var(--text);stroke-width:4px;stroke-linecap:round}.finger-kb .k.f-lp rect,.finger-kb .k.f-rp rect,.swatch.f-lp{fill:color-mix(in srgb,var(--ice) 30%,var(--raised));background:color-mix(in srgb,var(--ice) 30%,var(--raised))}.finger-kb .k.f-lr rect,.finger-kb .k.f-rr rect,.swatch.f-lr{fill:color-mix(in srgb,#b39cff 32%,var(--raised));background:color-mix(in srgb,#b39cff 32%,var(--raised))}.finger-kb .k.f-lm rect,.finger-kb .k.f-rm rect,.swatch.f-lm{fill:color-mix(in srgb,var(--warning) 28%,var(--raised));background:color-mix(in srgb,var(--warning) 28%,var(--raised))}.finger-kb .k.f-li rect,.finger-kb .k.f-ri rect,.swatch.f-li{fill:color-mix(in srgb,var(--primary) 26%,var(--raised));background:color-mix(in srgb,var(--primary) 26%,var(--raised))}.finger-kb .k.f-th rect,.swatch.f-th{fill:color-mix(in srgb,var(--faint) 30%,var(--raised));background:color-mix(in srgb,var(--faint) 30%,var(--raised))}.finger-kb .k.f-none rect{fill:var(--raised)}.finger-kb .k.next rect{stroke:var(--accent);fill:var(--accent)!important}.finger-kb .k.next text{fill:var(--on-primary)}.lesson-finger{min-height:1.4em;color:var(--primary);margin:8px 0 0;font-weight:700}.finger-legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin:0 0 26px;padding:0;font-size:14px;list-style:none;display:flex}.finger-legend li{align-items:center;gap:7px;margin:0;display:flex}.swatch{border:1px solid var(--border-strong);border-radius:5px;width:18px;height:18px;display:inline-block}.lesson-result{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--surface);margin-top:18px;padding:16px 18px}.lesson-result h3{margin:0 0 10px}.lesson-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:8px;margin:0 0 30px;padding:0;list-style:none;display:grid}.lesson-list li{max-width:none;margin:0}.lesson-item{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:56px;color:var(--text);justify-content:flex-start;align-items:center;gap:12px;padding:10px 12px;display:flex}.lesson-item strong{font-size:14.5px;display:block}.lesson-item small{color:var(--muted);font-size:12.5px;display:block}.lesson-n{background:var(--raised);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.lesson-item.is-done .lesson-n{background:var(--accent);color:var(--on-primary)}.lesson-item.is-current{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}@media (width<=680px){.lesson-text{padding:12px;font-size:20px}}.aim-goals{scrollbar-width:none;flex:100%;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.aim-goals::-webkit-scrollbar{display:none}.aim-goal{border:1px solid var(--border-strong);background:var(--surface);min-height:48px;color:var(--text);text-align:left;border-radius:12px;flex:1 0 auto;align-items:center;gap:8px;padding:8px 12px;display:flex}.aim-goal svg{width:22px;height:22px;color:var(--muted);flex:none}.aim-goal strong{font-size:14px;line-height:1.2;display:block}.aim-goal small{color:var(--muted);font-size:12px;line-height:1.2;display:block}.aim-goal[aria-pressed=true]{border-color:var(--primary);background:var(--accent-soft)}.aim-goal[aria-pressed=true] svg{color:var(--primary)}.aim-drill-select{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=680px){.aim-goal small{display:none}.aim-goal{min-height:44px;padding:6px 10px}.tool-aim .tool-controls>label:not(.aim-drill-select){flex:1 0 150px;min-width:150px}.tool-aim #aim-start{white-space:nowrap;flex:auto;padding:10px 12px}}.sheets{gap:18px;margin-bottom:28px;display:grid}.sheet{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);padding:22px 24px}.sheet-head{border-bottom:2px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:10px;padding-bottom:8px;display:flex}.sheet-head h2{margin:0;font-size:1.25rem}.sheet-brand{color:var(--muted);margin:0;font-size:13px}.sheet-keys{letter-spacing:.06em;font-weight:700}.sheet-note{color:var(--muted)}.sheet-drills{padding-left:1.4em}.sheet-line{overflow-wrap:anywhere;margin:0;font:500 19px/1.8 ui-monospace,Cascadia Mono,SF Mono,Roboto Mono,Menlo,Consolas,monospace}.sheet-log{color:var(--muted);margin:4px 0 16px;font-size:14px}@media print{.site-header,.site-footer,.breadcrumbs,.free-line,.print-hide,.skip-link{display:none!important}body,main{color:#000!important;background:#fff!important}.sheets{display:block}.sheet{break-after:page;page-break-after:always;color:#000;background:#fff;border:none;padding:0}.sheet:last-child{break-after:auto;page-break-after:auto}.sheet-note,.sheet-log,.sheet-brand{color:#333}.sheet-line{font-size:16pt}}.speed-figure{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--surface);margin:20px 0 26px;padding:16px 16px 12px}.speed-figure svg{width:100%;height:auto;display:block}.speed-figure figcaption{color:var(--muted);margin-top:8px;font-size:14px}.sf-area{fill:var(--accent-soft)}.sf-curve{fill:none;stroke:var(--primary);stroke-width:3px;stroke-linejoin:round}.sf-axis,.sf-tick{stroke:var(--border-strong);stroke-width:2px}.sf-num,.sf-unit{fill:var(--muted);font:600 13px var(--body-font);text-anchor:middle}.sf-unit{text-anchor:end}.sf-mark{stroke:var(--faint);stroke-width:1.5px;stroke-dasharray:3 4}.sf-label{fill:var(--muted);font:600 13px var(--body-font);text-anchor:middle}.sf-mean{fill:var(--primary);font-weight:800}.sf-you{stroke:var(--ice);stroke-width:2.5px}.sf-you-dot{fill:var(--ice)}.sf-you-text{fill:var(--ice);font:800 13px var(--body-font);text-anchor:middle}@media (width<=680px){.sf-num,.sf-unit,.sf-label,.sf-you-text{font-size:17px}}.word-review{flex-wrap:wrap;gap:6px;margin:8px 0 16px;display:flex}.word-review span{border:1px solid color-mix(in srgb,var(--warning) 55%,var(--border));background:var(--raised);font:600 15px/1.3 var(--body-font);border-radius:999px;padding:4px 10px}.word-practice{margin-top:0}.rhythm-breakdown{border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--surface);font-variant-numeric:tabular-nums;margin:0 0 14px;padding:12px 14px}.arcade-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:28px;display:grid}.arcade-tool{flex-direction:column;display:flex}.arcade-top{justify-content:space-between;align-items:flex-end;gap:16px;padding:20px 22px 14px;display:flex}.arcade-score .game-score{letter-spacing:-.04em;margin-top:4px;font-size:clamp(46px,6.4vw,68px);line-height:1.02}.arcade-rates{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:14px;display:flex}.arcade-rates strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:750}.arcade-clock{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.arcade-clock strong{font:800 30px/1.05 var(--heading-font);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ice)}.arcade-clock small{max-width:24ch;color:var(--muted);font-size:12.5px;line-height:1.35}.arcade-clock small:empty{display:none}.tool>.arcade-pad{min-height:clamp(170px,26vh,230px)}.arcade-pad.hit{animation:pad-hit .14s var(--ease)}.arcade-pad.hit>strong{transform:scale(.95)}.plus-layer{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.plus-layer span{font:800 22px/1 var(--heading-font);color:var(--primary);text-shadow:0 2px 10px var(--accent-glow);animation:plus-up .65s var(--ease) forwards;position:absolute;transform:translate(-50%)}@keyframes pad-hit{0%{transform:scale(1)}40%{transform:scale(.975)}to{transform:scale(1)}}@keyframes plus-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-46px)}}.arcade-progress{padding:14px 22px 0}.arcade-progress label{font-size:13px}.progress-line{justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.progress-line .hint{margin:0}.quick-buy{flex:none;min-height:44px}.quick-buy:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--on-primary)}.quick-buy:hover:not(:disabled){background:#d6fb6a;border-color:#d6fb6a}.milestone-banner{border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:var(--radius);background:var(--gold-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 22px 0;padding:12px 14px;display:grid}.milestone-banner[hidden]{display:none}.milestone-banner>svg{width:28px;height:28px;color:var(--gold)}.milestone-banner strong{font:750 17px/1.25 var(--heading-font)}.milestone-banner p{color:var(--text);margin:2px 0 0;font-size:14px}.arcade-stage{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--field);margin:16px 22px 0;overflow:hidden}.arcade-room{width:100%;height:auto;display:block}.arc-wall{fill:var(--raised)}.arc-wallgrid{stroke:var(--border);stroke-width:1px;opacity:.6}.arc-floor{fill:var(--surface)}.arc-floorline{stroke:var(--border);stroke-width:1.2px;fill:none}.arc-base{stroke:var(--border-strong);stroke-width:2px}.arc-plate{fill:var(--raised-2);stroke:var(--border-strong);stroke-width:1.5px}.arc-keycap{fill:var(--raised-2);stroke:var(--border-strong);stroke-width:2px}.arc-keytop{fill:var(--pad-shine);stroke:var(--border);stroke-width:1px}.arcade-room .arc-obj *{stroke-linecap:round;stroke-linejoin:round}.arcade-room .arc-obj:not(.owned) *{stroke-dasharray:4 5;opacity:.65;fill:none!important;stroke:var(--border-strong)!important;stroke-width:1.5px!important;animation:none!important}.arcade-room .arc-obj:not(.owned) .arc-light,.arcade-room .arc-extra:not(.on){display:none}.arc-body{fill:var(--raised-2);stroke:var(--faint);stroke-width:2px}.arc-trim{fill:var(--primary);opacity:.85}.arc-glass{fill:color-mix(in srgb,var(--ice) 14%,transparent);stroke:var(--ice);stroke-width:1.5px}.arc-line,.arc-wire{fill:none;stroke:var(--faint);stroke-width:2px}.arc-prize{fill:var(--primary)}.arc-prize.arc-alt,.arc-lamp.arc-alt{fill:var(--ice)}.arc-slot{fill:var(--field);stroke:var(--primary);stroke-width:1.5px}.arc-screen{fill:var(--field);stroke:var(--ice);stroke-width:1.5px}.arc-road{fill:color-mix(in srgb,var(--faint) 35%,transparent)}.arc-stripe{stroke:var(--primary);stroke-width:2.5px;stroke-dasharray:5 6}.arc-wheel{fill:none;stroke:var(--text);stroke-width:3px}.arc-lamp{fill:var(--primary)}.arc-ball{fill:var(--text)}.arc-tile{fill:var(--primary);opacity:.35}.arc-light{fill:var(--primary);opacity:.08}.arc-neon{fill:none;stroke:var(--primary);stroke-width:4px;filter:drop-shadow(0 0 5px var(--accent-glow))}.arc-neon-dot{fill:var(--gold)}.arc-bolt{fill:var(--gold);stroke:none}.arc-teeth{fill:none;stroke:var(--ice);stroke-width:7px;stroke-dasharray:3.2 2.8}.arc-hub{fill:var(--ice)}.arc-spring{fill:none;stroke:var(--primary);stroke-width:2.5px}.arc-lid{fill:var(--faint)}.arc-coin{fill:var(--gold)}.arc-badge{display:none}.arc-badge.on{display:inline}.arc-badge rect{fill:var(--background);stroke:var(--primary);stroke-width:1.5px}.arc-badge text{fill:var(--text);font:700 11px var(--body-font);text-anchor:middle;font-variant-numeric:tabular-nums}.arc-obj.owned .arc-gear{transform-box:fill-box;transform-origin:50%;animation:4s linear infinite gear-spin}.arc-obj.owned .arc-gear.arc-rev{animation-duration:3s;animation-direction:reverse}.arc-obj.owned .arc-claw{animation:2.6s ease-in-out infinite alternate claw-bob}.arc-obj.owned .arc-stripe{animation:.7s linear infinite road}.arc-obj.owned .arc-ball{animation:2.2s ease-in-out infinite alternate ball}.arc-obj.owned .arc-tile{animation:1.8s step-end infinite tile;animation-delay:calc(var(--i) * -.3s)}.arc-obj.owned .arc-lamp{animation:1.2s step-end infinite tile}.arc-obj.owned .arc-lamp.arc-alt{animation-delay:-.6s}.arc-obj.fresh{transform-box:fill-box;transform-origin:bottom;animation:machine-in .6s var(--ease)}@keyframes gear-spin{to{transform:rotate(360deg)}}@keyframes claw-bob{to{transform:translateY(16px)}}@keyframes road{to{stroke-dashoffset:-11px}}@keyframes ball{to{transform:translate(52px,-16px)}}@keyframes tile{0%{opacity:.25}50%{opacity:1}}@keyframes machine-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.milestones{margin:16px 22px 0}.milestones ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.milestones li{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:2px;min-width:0;margin:0;padding:9px 10px;display:flex}.milestones li.done{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:var(--accent-soft)}.ms-goal{font:800 17px/1.1 var(--heading-font);letter-spacing:-.02em}.ms-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.milestones li.done .ms-time{color:var(--text);font-weight:700}.ms-best{color:var(--gold);font-variant-numeric:tabular-nums;font-size:11.5px}.ms-best:empty{display:none}.arcade-tool .meter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-foot{padding-top:0}.arcade-foot .button-row{margin-top:4px}#sound-toggle[aria-pressed=false] .sound-wave{opacity:.25}#sound-toggle[aria-pressed=true]{border-color:color-mix(in srgb,var(--primary) 70%,transparent);color:var(--primary)}.arcade-shop{position:sticky;top:16px}.arcade-shop h2{margin-bottom:14px}.arcade-shop .shop{margin:0;padding:0;list-style:none}.arcade-shop .upgrade{max-width:none;margin:0;padding:14px 14px 14px 16px}.arcade-shop .upgrade[hidden]{display:none}.arcade-shop .upgrade h3{font-size:16px}.owned-count{font:600 12.5px var(--body-font);color:var(--muted);letter-spacing:0;margin-left:6px}.arcade-shop .upgrade p{margin:3px 0}.shop-next{font-variant-numeric:tabular-nums}.shop-more{margin:10px 2px 0}@media (width<=1000px){.arcade-layout{grid-template-columns:minmax(0,1fr)}.arcade-shop{position:static}.arcade-shop .shop{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.arcade-top{padding:16px 16px 10px}.arcade-clock strong{font-size:24px}.tool>.arcade-pad{width:calc(100% - 32px);min-height:200px;margin:0 16px}.arcade-progress{padding:12px 16px 0}.milestone-banner{grid-template-columns:auto minmax(0,1fr);margin:12px 16px 0}.milestone-banner button{grid-column:1/-1}.arcade-stage,.milestones{margin:14px 16px 0}.milestones ol{gap:5px}.milestones li{padding:7px 6px}.ms-goal{font-size:14px}.ms-time{font-size:11.5px}.ms-best{font-size:10.5px}.arcade-shop .shop{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.arcade-pad.hit,.arc-obj.owned *,.arc-obj.fresh{animation:none!important}}
