@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff")}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(./silkscreen-latin-400-normal-CtPo2yA5.woff2)format("woff2"),url(./silkscreen-latin-400-normal-D0DfPJut.woff)format("woff")}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(data:font/woff;base64,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)format("woff")}:root{--void:#f6f4f0;--ink:#2a1e34;--ink-dim:#635a6b;--ink-faint:#6f6676;--pixel:"Silkscreen", var(--mono);--accent:#6b3fa0;--grade-perfect:#6b3fa0;--grade-good:#a466c8;--grade-ok:#f09a3e;--grade-miss:#d23b3b;--ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);margin:0;padding:0}html{background-color:var(--void);background-image:radial-gradient(var(--paper-light-w,110%) var(--paper-light-h,34%) at 50% var(--paper-light-y,42%), rgba(255, 254, 252, var(--paper-light,.5)), #fffefc00);background-repeat:no-repeat;background-size:100% 100%}body{font-family:var(--ui);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:0 0;font-size:15px}html{-webkit-tap-highlight-color:transparent}.ink-layer{z-index:2147482000;pointer-events:none;position:fixed;overflow:hidden}.ink-dot{background:var(--accent);opacity:.16;border-radius:50%;animation:.6s cubic-bezier(.2,.7,.3,1) forwards ink-spread;position:absolute;transform:scale(0)}@keyframes ink-spread{to{opacity:0;transform:scale(1)}}#scene{z-index:0;pointer-events:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#app{z-index:1;min-height:100dvh;position:relative}button,select{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0}button:focus-visible,select:focus-visible{outline:1px solid var(--accent);outline-offset:4px}html,body,#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}*,:before,:after{touch-action:manipulation}.opt,.text-toggle,.results-button,.link-button,.tempo-value{color:var(--ink-faint);transition:color .25s var(--ease), transform .25s var(--ease);position:relative}.opt:after,.results-button:after,.tempo-value:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease), background .25s;background:currentColor;position:absolute;bottom:-6px;left:0;transform:scaleX(0)}@media (hover:hover){.opt:hover,.text-toggle:hover,.results-button:hover,.link-button:hover,.tempo-value:hover{color:var(--ink)}.opt:hover:after,.results-button:hover:after,.tempo-value:hover:after{transform:scaleX(1)}}.opt.active{color:var(--ink)}.opt.active:after{background:var(--accent);width:18px;height:2px;transform:scaleX(1)}.opt:active,.results-button:active{transform:translateY(1px)}.link-button{font-size:12px;font-family:var(--mono);letter-spacing:.04em}.option-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-right:4px;font-size:10px}.home{padding:env(safe-area-inset-top) 0 0;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.home-footer{z-index:5;padding:56px clamp(18px, 5vw, 56px) calc(clamp(12px, 2.5vh, 22px) + env(safe-area-inset-bottom));background:linear-gradient(to bottom, #f6f4f000, #f6f4f0cc 40px, var(--void) 72px);box-shadow:0 120px 0 0 var(--void);margin:auto calc(-1*clamp(18px,5vw,56px)) calc(-1*clamp(18px,4vh,44px));position:sticky;bottom:0}@media (width<=560px){.home-footer .play-cta{text-align:left;grid-template-columns:1fr auto;justify-items:start;width:100%}.home-footer .play-cta-arrow{justify-self:end}.home-footer .play-cta-what{max-width:100%}.home-plate-slot{min-height:170px}.play-cta-word{font-size:48px}}.home-top{justify-content:space-between;align-items:flex-start;gap:16px;padding:clamp(20px,5vh,48px) clamp(18px,5vw,56px) 0;display:flex}.home-title{height:21px;font-family:var(--pixel);letter-spacing:.12em;text-transform:uppercase;animation:rise 1.2s var(--ease) both;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:400;line-height:1;display:flex}.home-title-icon{flex:none;width:14px;height:21px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sound-toggles{flex-direction:column;align-items:flex-end;gap:8px;padding-top:6px;display:flex}.text-toggle{font-family:var(--mono);letter-spacing:.06em;gap:8px;font-size:11px;display:flex}.text-toggle-state{text-align:left;min-width:2.2em}.text-toggle.on .text-toggle-state{color:var(--accent)}.home-plate-slot{flex:none;height:clamp(120px,22vh,260px)}.home-dock{flex-direction:column;flex:1 0 auto;gap:clamp(24px,3.6vh,40px);width:100%;padding:0 clamp(18px,5vw,56px) clamp(18px,4vh,44px);display:flex}.home-dock>*{animation:rise 1.2s .2s var(--ease) both}.hint{color:var(--ink-dim);margin:0;font-size:13px}.option-group{align-items:baseline;gap:14px;display:flex}.opt{font-size:15px}.tempo-step{text-align:center;width:22px;font-size:17px}.tempo-value{font-family:var(--mono);color:var(--ink);text-align:center;min-width:5.5em;font-size:14px}.tempo-value.custom{color:var(--accent)}.text-select{appearance:none;color:var(--ink);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0h8L4 5z' fill='%232a1e34'/%3E%3C/svg%3E") 100% no-repeat;padding-right:16px;font-size:15px}.home-panel{flex-direction:column;gap:clamp(18px,2.6vh,28px);display:flex}.panel-section{flex-direction:column;gap:10px;display:flex}.panel-row{flex-wrap:wrap;align-items:baseline;gap:clamp(16px,2.4vh,24px) 44px;display:flex}.option-group[hidden]{display:none}.panel-note{color:var(--ink-dim);margin:-6px 0 0;font-size:12px}.home-fields{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,2.2vh,22px) 22px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field[hidden]{display:none}.field-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.segmented{min-width:0;display:flex}.segment,.select-button{height:44px;color:var(--ink);transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);background:#ffffffb8;border:1px solid #2a1e3433;font-size:15px}.segment{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--ink-dim);flex:1 1 0;padding:0 10px;position:relative;overflow:hidden}.segment:first-child{border-radius:3px 0 0 3px}.segment:last-child{border-radius:0 3px 3px 0}@media (hover:hover){.segment:hover,.select-button:hover{color:var(--ink);z-index:1;background:#fff;border-color:#2a1e3466}}.segment.selected{z-index:2;background:var(--ink);border-color:var(--ink);color:var(--void)}.segment:focus-visible,.select-button:focus-visible{z-index:3;outline:2px solid var(--accent);outline-offset:1px}.stepper .step{color:var(--ink);flex:0 0 48px;font-size:18px}.stepper .step-value{font-family:var(--mono);color:var(--ink);flex:auto;font-size:14px}.stepper .step-value.custom{color:var(--accent)}.select{min-width:0;position:relative}.select-button{text-align:left;border-radius:3px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:0 14px;display:flex}.select-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select-chevron{width:8px;height:8px;transition:transform .25s var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;flex:none;margin-top:-4px;transform:rotate(45deg)}.select-button[aria-expanded=true] .select-chevron{transform:translateY(4px)rotate(-135deg)}.select-list{z-index:2147482500;overscroll-behavior:contain;touch-action:pan-y;max-height:min(320px,50vh);animation:list-in .18s var(--ease);background:#fbfaf8;border:1px solid #2a1e3433;border-radius:3px;outline:none;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #2a1e341f}.select.upward .select-list{top:auto;bottom:calc(100% + 4px)}.select-list[hidden]{display:none}@keyframes list-in{0%{opacity:0;transform:translateY(-4px)}}.select-option{color:var(--ink);cursor:pointer;justify-content:space-between;gap:12px;padding:11px 14px 11px 18px;font-size:15px;display:flex;position:relative}.select-option.active{background:#6b3fa014}.select-option[aria-selected=true]{font-weight:500}.select-option[aria-selected=true]:before{content:"";background:var(--accent);width:3px;height:14px;margin-top:-7px;position:absolute;top:50%;left:6px}.select-option.disabled{color:var(--ink-faint);cursor:default;text-decoration:line-through}.select-option-hint{color:var(--ink-dim);font-size:12px}.home-footer{justify-content:flex-end;display:flex}.play-cta{color:var(--ink);text-align:right;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what what""word arrow";place-items:baseline end;gap:4px 14px;display:grid}.play-cta-word{grid-area:word}.play-cta-arrow{grid-area:arrow}.play-cta-what{grid-area:what}.play-cta-word{letter-spacing:-.05em;transition:color .3s var(--ease);font-size:clamp(44px,9vw,80px);font-weight:600;line-height:.95}.play-cta-arrow{transition:transform .4s var(--ease), color .3s var(--ease);font-size:clamp(30px,6vw,52px);font-weight:300}.play-cta-what{max-width:min(70vw,520px);font-family:var(--mono);color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}@media (hover:hover){.play-cta:hover .play-cta-word,.play-cta:hover .play-cta-arrow{color:var(--accent)}.play-cta:hover .play-cta-arrow{transform:translate(10px)}}.play-cta:active .play-cta-arrow{transform:translate(14px)}.cal{padding:max(clamp(24px, 6vh, 64px), env(safe-area-inset-top)) clamp(18px, 5vw, 56px) calc(clamp(18px, 4vh, 44px) + env(safe-area-inset-bottom));flex-direction:column;gap:clamp(14px,2.4vh,22px);max-width:760px;margin:0 auto;display:flex;position:fixed;inset:0;overflow-y:auto}.cal-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin:0;font-size:10px}.cal-heading{letter-spacing:-.045em;margin:0;font-size:clamp(36px,8vw,64px);font-weight:600;line-height:.95}.cal-text{max-width:48ch;color:var(--ink-dim);margin:0;font-size:15px;line-height:1.5}.cal-status{min-height:1.4em;margin:0;font-size:19px;font-weight:500}.cal-progress{gap:6px;display:flex}.cal-progress[hidden],.cal-pad[hidden],.cal-result[hidden],.cal-actions[hidden],.cal-button[hidden]{display:none}.cal-progress span{height:3px;transition:background .2s var(--ease);background:#2a1e3424;flex:1}.cal-progress span.on{background:var(--accent)}.cal-pad{min-height:220px;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer;background:#ffffffb8;border:1px solid #2a1e3433;border-radius:3px;flex:auto;justify-content:center;align-items:center;font-size:12px;display:flex}.cal-result{flex-direction:column;gap:12px;display:flex}.cal-number{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(48px,10vw,84px);font-weight:600;line-height:.9}.cal-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.cal-button{height:44px;transition:background .2s var(--ease), border-color .2s var(--ease);border-radius:3px;padding:0 22px;font-size:15px}.cal-button.primary{background:var(--ink);color:var(--void);border:1px solid var(--ink)}.cal-button.secondary{color:var(--ink);background:#ffffffb8;border:1px solid #2a1e3433}@media (hover:hover){.cal-button.secondary:hover{background:#fff;border-color:#2a1e3466}.cal-button.primary:hover{background:var(--accent);border-color:var(--accent)}}.cal-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play-screen{height:100svh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;display:flex;position:relative;overflow:hidden}.play-topbar{z-index:2;align-items:center;gap:14px;padding:16px clamp(14px,4vw,40px) 0;display:flex;position:relative}.home-button{width:32px;height:32px;color:var(--ink-dim);transition:color .25s var(--ease), transform .25s var(--ease);flex:none;place-items:center;display:grid}@media (hover:hover){.home-button:hover{color:var(--ink);transform:translate(-3px)}}.play-title{flex-direction:column;flex:1;min-width:0;display:flex}.play-title-name{overflow-wrap:anywhere;font-size:15px;font-weight:500}@media (width<=700px){.play-title-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}}.play-title-meta{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}.esc-hint{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:10px}@media (hover:none){.esc-hint{display:none}}.run-controls{flex:none;gap:2px;margin-left:auto;display:flex}.icon-button{width:44px;height:44px;color:var(--ink-dim);transition:color .2s var(--ease), background .2s var(--ease);border-radius:50%;place-items:center;display:grid}@media (hover:hover){.icon-button:hover{color:var(--ink);background:#2a1e340f}}.icon-button:active{background:#2a1e341a}.play-screen.finished .run-controls,.play-screen:not(.finished) .home-button{display:none}.hand-switch{z-index:2;flex-wrap:wrap;align-items:center;gap:0 20px;font-size:15px;display:flex;position:relative}.hand-switch .option-label{flex-basis:100%}.hand-switch button{min-height:44px;color:var(--ink-faint)}.hand-switch button[aria-pressed=true]{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;cursor:default;text-decoration-thickness:2px}@media (hover:hover){.hand-switch button[aria-pressed=false]:hover{color:var(--ink-dim)}}.count-in-dots{z-index:2;opacity:.45;width:min(420px,72vw);height:30px;transition:opacity .6s var(--ease);justify-content:space-between;align-items:flex-end;margin:clamp(18px,3vh,28px) auto clamp(22px,4vh,40px);padding-bottom:10px;display:flex;position:relative;container-type:inline-size}.count-in-dots.running{opacity:1}.count-in-dot{transform-origin:bottom;width:22%;height:3px;transition:height .55s var(--ease), background .55s var(--ease);background:#2a1e3424}.count-in-dot.beat{background:#2a1e3452}.count-in-dot.lit{background:var(--ink);height:9px;transition:height 60ms ease-out,background 60ms ease-out}.count-in-dot:first-child.lit{background:var(--accent);height:13px}.beat-sweep{background:#2a1e341f;height:1px;position:absolute;bottom:0;left:0;right:0}.beat-sweep span{background:var(--ink);will-change:transform;border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3px}.bar-counter{white-space:nowrap;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:10px;position:absolute;bottom:6px;right:calc(100% + 18px)}@media (width<=560px){.bar-counter{bottom:32px;left:auto;right:0}}.staff-area{z-index:2;flex:0 auto;align-items:stretch;height:clamp(150px,34%,360px);min-height:0;padding:4px clamp(10px,3vw,32px);display:flex;position:relative}.staff-container{overscroll-behavior-y:contain;width:100%;height:100%;overflow-y:hidden}.staff-container svg{z-index:1;position:relative}.staff-bar-band{z-index:0;pointer-events:none;transition:left .25s var(--ease), top .25s var(--ease), width .25s var(--ease);background:#6b3fa012;position:absolute}.note-pulse-ring{z-index:2;border:2.5px solid var(--pulse-color);background:radial-gradient(circle, color-mix(in srgb, var(--pulse-color) 35%, transparent) 0 45%, transparent 70%);pointer-events:none;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;animation:.7s cubic-bezier(.2,.7,.3,1) forwards note-ring;position:absolute}.note-pulse-ring.strong{box-shadow:0 0 14px color-mix(in srgb, var(--pulse-color) 55%, transparent);animation-duration:.8s}@keyframes note-ring{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(3)}}.note-pulse-ring.strong{animation-name:note-ring-strong}@keyframes note-ring-strong{0%{opacity:.95;transform:scale(.6)}to{opacity:0;transform:scale(3.8)}}.staff-hold{pointer-events:none;background:#2a1e341a;height:2px;position:absolute}.staff-hold-fill{transform-origin:0;background:var(--grade-perfect);position:absolute;inset:0}.staff-hold[data-state=ready] .staff-hold-fill{background:var(--ink)}.staff-hold[data-state=over] .staff-hold-fill{background:var(--grade-miss)}.note-tooltip{z-index:5;color:var(--ink);background:var(--void);font-family:var(--mono);white-space:nowrap;pointer-events:none;padding:4px 8px;font-size:11px;line-height:1.3;position:absolute;transform:translate(-50%,-100%)}.stage{z-index:2;flex:auto;min-height:140px;position:relative}.plate-slot{pointer-events:none;place-items:start center;display:grid;position:absolute;inset:0 8px 24px}.tap-area{display:flex;position:absolute;inset:0}.tap-area[hidden]{display:none}.tap-zone{cursor:pointer;flex:1;justify-content:center;align-items:flex-end;padding-bottom:14px;display:flex}.tap-zone-label{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.grade-flash{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;pointer-events:none;opacity:0;font-size:clamp(11px,3.4vw,14px);font-weight:500;transition:opacity .6s ease-out}.grade-flash.show{opacity:1;transition:none}.grade-flash.grade-perfect{color:var(--grade-perfect)}.grade-flash.grade-good{color:var(--grade-good)}.grade-flash.grade-ok{color:var(--grade-ok)}.grade-flash.grade-miss{color:var(--grade-miss)}.play-screen.finished .count-in-dots,.play-screen.finished .stage{display:none}.play-screen.finished:not(.reviewing) .staff-area{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0;right:0}.play-screen.reviewing .staff-area{flex:auto;min-height:0;padding-top:12px;height:auto!important}.results-overlay{z-index:3;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.results-panel>.bento{animation:rise .8s var(--ease) both}.results-overlay[hidden],.review-bar[hidden]{display:none}.results-figure{pointer-events:none;flex:none;height:clamp(180px,34svh,440px)}.results-body{flex-direction:column;flex:auto;min-height:0;display:flex}.results-panel{--gutter:clamp(16px, 5vw, 56px);width:100%;min-height:0;padding:8px var(--gutter) clamp(12px, 2.5vh, 24px);flex-direction:column;flex:auto;display:flex}.results-panel>.bento{flex:auto;min-height:0}.bento .score-card-value{font-size:clamp(48px,7vw,76px)}.home-panel .home-fields{grid-template-columns:minmax(0,1fr)}@media (width<=719px){.home-fields>.hands-field{order:-2}.home-fields>.relate-field{order:-1}}@media (width>=720px){.home-panel .home-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.home-panel .home-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.home-fields>.relate-field{grid-column:span 2}.home-fields.one-hand>.rhythms-field{grid-column:span 3}}@media (width>=720px) and (width<=1099px){.home-fields.one-hand>.rhythms-field{order:-1}.home-fields.one-hand>.field:last-child{grid-column:1/-1}}.field-off{opacity:.38;pointer-events:none}.home-panel.bento{gap:0}.home-panel .home-fields{gap:0;overflow:clip}.home-panel .field{box-shadow:0 0 0 .5px rgba(42, 30, 52, var(--lines,.12));padding:12px clamp(14px,2.4vw,22px) 14px}.home-panel>.panel-note{margin:0;padding:12px clamp(14px,2.4vw,22px)}.bento{border:1px solid rgba(42, 30, 52, var(--lines,.12));background:rgba(251, 250, 247, var(--glass,.6));-webkit-backdrop-filter:blur(var(--glass-blur,14px)) saturate(1.1);backdrop-filter:blur(var(--glass-blur,14px)) saturate(1.1);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:clip}.bento-cell{flex-direction:column;gap:10px;min-width:0;padding:clamp(14px,2vh,20px) clamp(16px,2.4vw,24px);display:flex}.bento>*+*{border-top:1px solid rgba(42, 30, 52, var(--lines,.12))}.bento-row{display:flex}.bento-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.bento-scroll.more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 40px),#0000);mask-image:linear-gradient(#000 calc(100% - 40px),#0000)}.score-card-verdict{margin:2px 0 6px;font-size:14px;font-weight:500}.chart-caption{margin-top:6px}.bento-scroll>*+*{border-top:1px solid rgba(42, 30, 52, var(--lines,.12))}.bento-row>.bento-cell{flex:1 1 0}.bento-row>*+*{border-left:1px solid rgba(42, 30, 52, var(--lines,.12))}.bento-grow{flex:1 0 auto}.bento>.results-buttons{flex:none;gap:20px}.results-main-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 28px;display:flex}.results-main{min-height:44px;color:var(--ink);align-items:center;gap:12px;display:inline-flex}.results-main-word{letter-spacing:-.04em;font-size:clamp(32px,4vw,44px);font-weight:600;line-height:1}.results-main-arrow{transition:transform .4s var(--ease);font-size:clamp(26px,3.2vw,36px);font-weight:300;line-height:1}@media (hover:hover){.results-main:hover .results-main-arrow{transform:translate(6px)}}.results-main:active{transform:translateY(1px)}.results-other{color:var(--ink)}.results-secondary{flex-wrap:wrap;align-items:center;gap:8px clamp(20px,3vw,36px);display:flex}.results-button{min-height:44px;color:var(--ink-dim);align-items:center;gap:8px;font-size:16px;font-weight:500;display:inline-flex}.results-button:after{bottom:9px}.retry-group{align-items:center;gap:10px;display:inline-flex}.retry-tempo{width:168px}.retry-tempo .segment.segment{height:44px;min-height:44px}.retry-tempo .step{flex-basis:40px}@media (width<=640px){.results-secondary{justify-content:space-between;gap:8px 12px}.results-secondary .home-action{display:none}}.results-panel .hand-switch{z-index:auto;flex-flow:wrap;align-items:center;gap:0 20px}@media (width>=900px) and (aspect-ratio>=1){.results-overlay{flex-direction:row;overflow:hidden}.results-figure{flex:50%;height:auto}.results-body{flex:50%;justify-content:center;max-width:680px;min-height:0}.results-panel{flex:0 auto;padding-top:24px;padding-left:0}.results-panel>.bento{flex:0 auto}}@media (width<=640px) and (aspect-ratio<=9/10){.results-figure{height:12px}.home-plate-slot{flex:0 0 40px;min-height:40px}.home-top{top:calc(-1 * env(safe-area-inset-top,0px));z-index:6;margin-top:calc(-1 * env(safe-area-inset-top,0px));padding-top:calc(env(safe-area-inset-top,0px) + clamp(20px, 5vh, 48px));background:linear-gradient(to bottom, var(--void) 70%, #f6f4f000);padding-bottom:18px;position:sticky}}@media not all and (width<=640px) and (aspect-ratio<=9/10){.home{overflow:hidden}.home-top{flex:none}.home-plate-slot{flex:auto;height:auto;min-height:0}.home-dock{flex:0 auto;min-height:0}.home-dock>.home-panel{overscroll-behavior:contain;flex:0 auto;min-height:0;overflow-y:auto}.home-dock{gap:16px}.home-dock>.home-footer{flex:none;margin-top:0;padding-top:12px;position:relative}.home-footer .play-cta-word{font-size:clamp(44px,8vh,72px)}}.review-link{min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;align-self:flex-start;font-size:15px;font-weight:500;text-decoration-thickness:1.5px}.review-bar{z-index:3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:14px clamp(18px,5vw,56px) clamp(16px,3vh,28px);display:flex;position:relative}.review-hint{color:var(--ink-faint);font-size:13px}.review-bar .results-button{min-height:44px}.results-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vh,32px) clamp(32px,6vw,72px);display:grid}@media (width<=640px){.results-grid{grid-template-columns:minmax(0,1fr)}}.results-numbers{flex-direction:column;gap:16px;display:flex}.results-advice{flex-direction:column;gap:10px;display:flex}.grade-tally{color:var(--ink-dim);flex-wrap:wrap;gap:4px 16px;margin:0;font-size:13px;display:flex}.tally-item b{font-family:var(--mono);margin-right:2px;font-weight:500}.tally-perfect b{color:var(--grade-perfect)}.tally-good b{color:var(--grade-good)}.tally-ok b{color:#b86a14}.tally-miss b{color:var(--grade-miss)}.results-scores{align-items:flex-end;gap:clamp(24px,6vw,64px);display:flex}.score-card{min-width:0}.score-card-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 6px;font-size:10px}.score-card-value{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(48px,9vw,84px);font-weight:600;line-height:.85}.score-card-text{max-width:24ch;margin:0;font-size:17px;font-weight:500;line-height:1.35}.results-detail{color:var(--ink-dim);max-width:52ch;margin:0;font-size:13px;line-height:1.5}.teacher-notes{flex-direction:column;gap:4px;max-width:56ch;margin:0;padding:0;font-size:15px;line-height:1.4;list-style:none;display:flex}.teacher-notes li:before{content:"—";color:var(--accent);margin-right:8px}.ended-title{letter-spacing:-.05em;margin:0;font-size:clamp(40px,9vw,72px);font-weight:600;line-height:.9}.kbd{min-width:2.1em;font-family:var(--mono);letter-spacing:.02em;text-align:center;text-transform:none;color:var(--ink-dim);vertical-align:middle;background:#fff9;border:1px solid #2a1e3438;border-radius:4px;padding:2px 5px 1px;font-size:10px;font-weight:500;line-height:1.3;display:inline-block;box-shadow:0 1px #2a1e3429}.kbd-inline{vertical-align:.1em;margin:0 1px;padding:1px 5px 0;font-size:.8em}@media (hover:none){.kbd:not(.kbd-inline){display:none}}@media (hover:hover){.run-controls .icon-button{border-radius:22px;align-items:center;gap:6px;width:auto;padding:0 10px;display:inline-flex}}.play-cta-arrow{align-items:center;gap:14px;display:inline-flex}.kbd-icon{justify-content:center;align-items:center;display:inline-flex}.kbd-icon svg{width:1.3em;height:1.3em;display:block}.kbd-big{border-radius:6px;min-width:30px;min-height:26px;padding:4px 8px;font-size:12px;line-height:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.track-switch{max-width:360px}.wide-field{grid-column:1/-1}.home-fields[hidden]{display:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:36px;color:var(--ink-dim);white-space:nowrap;transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);background:#ffffffb8;border:1px solid #2a1e3433;border-radius:3px;padding:0 12px;font-size:14px}@media (hover:hover){.chip:not(:disabled):hover{color:var(--ink);background:#fff;border-color:#2a1e3466}}.chip.selected{background:var(--ink);border-color:var(--ink);color:var(--void)}.chip:disabled{opacity:.55;cursor:default}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tempo-chart{flex-direction:column;gap:6px;max-width:520px;display:flex}.tempo-chart-area{height:64px;position:relative}.tempo-chart-plot{width:100%;height:100%;display:block;overflow:visible}.tempo-chart-target{stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.tempo-chart-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tempo-chart-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;position:absolute}.tempo-chart-axis{font-family:var(--mono);color:var(--ink-faint);justify-content:space-between;gap:8px;font-size:10px;display:flex}.home-top-actions{gap:clamp(8px,2.5vw,24px);display:flex}.settings-button{min-width:44px;min-height:44px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin-top:-11.5px;padding:0 4px;font-size:11px}@media (hover:hover){.settings-button:hover{color:var(--ink)}}.settings-page{z-index:50;background:var(--void);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.settings-page[hidden]{display:none}.settings-bar{align-items:center;gap:8px;padding:12px max(16px,4vw) 0;display:flex}.settings-back{width:44px;height:44px;margin-left:-12px}.settings-title{margin:0;font-size:15px;font-weight:500}.settings-rows{flex-direction:column;width:100%;max-width:560px;padding:20px max(16px,4vw) 0;display:flex}.settings-row.text-toggle{text-align:left;width:100%;min-height:52px;color:var(--ink);border-bottom:1px solid #2a1e341f;justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.settings-row .text-toggle-state{text-align:right;min-width:0}.licences-link{color:var(--ink-dim);text-decoration:none}.settings-credit{color:var(--ink-dim);justify-content:center;align-items:center;gap:8px;padding:18px 0 6px;font-size:12px;text-decoration:none;display:flex}.settings-credit:hover,.settings-credit:focus-visible{color:var(--ink)}.settings-row-arrow{color:var(--ink-dim);font-size:18px}@media (pointer:coarse){.home-button{position:relative}.home-button:after,.stepper .step:after{content:"";position:absolute;inset:-6px}.stepper .step{min-height:44px;position:relative}}@media not all and (width<=640px) and (aspect-ratio<=9/10){.settings-page{inset:auto;top:calc(env(safe-area-inset-top) + clamp(20px, 5vh, 48px) + 32px);border:1px solid rgba(42, 30, 52, var(--lines,.12));-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);width:340px;max-height:calc(100vh - 140px);animation:rise .25s var(--ease) both;background:#fbfaf7e0;border-radius:16px;padding:6px 20px 8px;right:clamp(18px,5vw,56px);box-shadow:0 18px 48px -18px #2a1e3447}.settings-bar{padding:12px 0 4px}.settings-back{display:none}.settings-title{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:11px;font-weight:400}.settings-rows{padding:0}.settings-row.text-toggle:last-child{border-bottom:0}}.segment,.select-button,.chip{border:2px solid var(--ink);color:var(--ink);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;background:0 0;border-radius:0;font-size:12px;font-weight:500}.segment+.segment{margin-left:-2px}.segment:first-child,.segment:last-child{border-radius:0}.segment.selected,.chip.selected{background:var(--ink);border-color:var(--ink);color:var(--void)}@media (hover:hover){.segment:not(.selected):hover,.select-button:hover,.chip:not(:disabled):not(.selected):hover{border-color:var(--ink);color:var(--ink);background:#2a1e3412}}.select-button{font-family:var(--ui);letter-spacing:0;text-transform:none;font-size:15px;font-weight:400}.select-list{border:2px solid var(--ink);box-shadow:none;border-radius:0}.stepper .step,.stepper .step-value{letter-spacing:0;text-transform:none;font-size:14px}.home-panel .rhythms-field .chips{gap:4px 22px}.home-panel .rhythms-field .chip{height:auto;color:var(--ink-faint);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0 9px;display:inline-flex}.home-panel .rhythms-field .chip .px-icon{opacity:.6;flex:none;display:block}.home-panel .rhythms-field .chip.selected{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.home-panel .rhythms-field .chip.selected .px-icon{opacity:1}@media (hover:hover){.home-panel .rhythms-field .chip:not(:disabled):not(.selected):hover{color:var(--ink);background:0 0}}.home-panel .rhythms-field .chip:disabled.selected{opacity:.55}.bento,.select-list{border-radius:4px}@media not all and (width<=640px) and (aspect-ratio<=9/10){.settings-page{border-radius:4px}}.kbd,.kbd-big{border-radius:2px}@media (hover:hover){.run-controls .icon-button{border-radius:0}}.cal-button{border:2px solid var(--ink);height:44px;color:var(--ink);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;background:0 0;border-radius:0;padding:0 20px;font-size:12px;font-weight:500}.cal-button.primary{background:var(--ink);border-color:var(--ink);color:var(--void)}.cal-button.secondary{border-color:var(--ink);background:0 0}@media (hover:hover){.cal-button.secondary:hover{background:#2a1e3412}.cal-button.primary:hover{background:#3d2d4b}}.cal-pad{border:2px solid var(--ink);background:#fbfaf799;border-radius:0}.cal-status-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.howto{z-index:60;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise .3s var(--ease) both;background:#f6f4f0cc;place-items:center;display:grid;position:fixed;inset:0}.howto-card{border:2px solid var(--ink);background:var(--void);flex-direction:column;width:min(560px,100%);height:min(500px,100%);display:flex}.howto-top{border-bottom:2px solid var(--ink);align-items:center;gap:14px;padding:10px 10px 10px 18px;display:flex}.howto-name{font-family:var(--pixel);letter-spacing:.12em;text-transform:uppercase;font-size:12px}.howto-pips{flex:auto;gap:4px;display:flex}.howto-pip{border:2px solid var(--ink);width:10px;height:10px}.howto-pip.on{background:var(--ink)}.howto-skip{height:36px;font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:8px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.howto-art-slot{background:#2a1e340d;flex:none;place-items:center;height:150px;margin:18px 18px 0;display:grid}.howto-title{letter-spacing:-.03em;margin:22px 22px 0;font-size:clamp(24px,5vw,30px);font-weight:600;line-height:1.1}.howto-text{min-height:0;color:var(--ink-dim);flex:auto;margin:10px 22px 0;font-size:15px;line-height:1.5;overflow:auto}.howto-actions{justify-content:space-between;gap:10px;padding:14px 18px 18px;display:flex}.howto-key{margin-left:8px}.cal-button.primary .howto-key{box-shadow:none;color:#f6f4f0d9;background:0 0;border-color:#f6f4f066}.howto-art{color:#2a1e3459;justify-content:center;align-items:flex-end;gap:18px;display:flex}.howto-art .px-icon{width:auto;height:78px}.art-note{flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.art-note.lit{color:var(--accent)}.art-bar{background:var(--accent);align-self:flex-start;width:112px;height:6px}.art-hold{align-items:flex-start;gap:72px}.art-hands{align-items:stretch;gap:4px;width:80%;height:100px}.art-half{border:2px solid var(--ink);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink);flex:1 1 0;justify-content:center;align-items:center;gap:10px;font-size:11px;font-weight:500;display:flex}.art-modes{color:var(--ink);align-items:center;gap:8px}.art-step{border:2px solid var(--ink);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:500}.art-step.lit{background:var(--ink);color:var(--void)}.art-arrow{color:var(--ink-dim)}.art-sand svg{width:auto;height:120px;display:block}.art-sand rect{fill:var(--accent)}.art-sand rect.warm{fill:#e0703a}@media (width<=480px){.art-step{padding:8px 6px;font-size:10px}.art-hold{gap:48px}.art-bar{width:84px}}.results-panel.ended-early{justify-content:center}.results-panel.ended-early>.bento{flex:0 auto}.results-panel.ended-early .bento-grow{flex:none}@media (width<=640px){.results-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.results-secondary .retry-group{grid-column:1/-1}.results-secondary .retry-tempo{width:100%}.results-secondary .results-button{justify-self:start;min-height:44px}.results-secondary .results-button+.results-button{justify-self:end}.results-main-row{flex-wrap:nowrap;align-items:center}}
