@font-face{font-family:Atkinson;src:url('../splatter/assets/fonts/AtkinsonHyperlegibleNext-Medium.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--bg:#121719;--panel:#1a2022;--panel-deep:#101617;--line:#333c3e;--text:#f0f1e7;--muted:#9baaaa;--red:#ff6954;--yellow:#e7d998;--teal:#8ed6cb;--display:Impact,'Arial Narrow',sans-serif;--body:Atkinson,'Trebuchet MS',sans-serif;color-scheme:dark;font-family:var(--body);color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 15%,#27323250,transparent 52%),var(--bg);min-width:320px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:5px}button{touch-action:manipulation}[hidden]{display:none!important}button svg{pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{max-width:1540px;margin:0 auto;padding:0 42px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:22px;height:99px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:7px;font-size:30px;font-weight:700;letter-spacing:-1.6px}.brand-symbol{font-size:39px;color:var(--bg);background:var(--red);width:39px;height:39px;display:grid;place-items:center;border-radius:11px;margin-right:6px;line-height:.8;padding-bottom:5px}.wordmark-slash{font-size:28px;color:#6b7b7c;margin:0 3px}.wordmark-game{font-weight:400;font-size:25px;letter-spacing:-1px}.header-note{color:var(--muted);font-size:13px}.masthead nav{display:flex;align-items:center;gap:23px}.quiet-button,.text-button,.icon-button{border:0;background:none;padding:0}.quiet-button{font-size:13px}.sound-button{display:flex;align-items:center;gap:9px;color:var(--muted)}.sound-bars{display:flex;gap:2px;align-items:center;height:18px}.sound-bars i{height:7px;width:2px;background:currentColor}.sound-bars i:nth-child(2){height:14px}.sound-bars i:nth-child(3){height:10px}.sound-bars i:nth-child(4){height:17px}.sound-button[aria-pressed=true]{color:var(--teal)}.icon-button{border:1px solid #536063;border-radius:50%;height:25px;width:25px;font-size:15px;color:var(--muted)}.hub-link{font-size:13px;border-left:1px solid var(--line);padding-left:22px}.hub-link span{color:var(--red);margin-left:5px}.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:40px;padding:34px 0 28px}.intro-kicker{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin:0 0 20px}.live-dot{display:inline-block;width:6px;height:6px;flex:none;background:var(--red);border-radius:50%}h1{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:76px;line-height:.95;letter-spacing:.1px;margin:0 0 18px}.beat-word{color:var(--text)}.intro-copy{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 30px}.setlist-heading,.tempo-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}h2,h3,p{overflow-wrap:break-word}.setlist-heading h2,.tempo-heading h2{font-size:13px;font-weight:400;margin:0}.text-button{font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#647373}.text-button:hover{color:var(--text)}fieldset{border:0;margin:0;padding:0;min-width:0}.deck-picker{display:grid;gap:7px}.deck-option{position:relative;display:flex;align-items:center;gap:11px;cursor:pointer;padding:12px 10px;background:#1b2224;border:1px solid #354043;border-radius:6px;transition:border-color .15s,background .15s;min-height:67px}.deck-option input,.mode-picker input{position:absolute;opacity:0;width:1px;height:1px}.deck-option:has(input:checked){border-color:var(--red);background:#352924}.deck-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.deck-copy strong{font-size:14px;font-weight:400}.deck-copy small{font-size:10px;letter-spacing:-.1px;color:var(--muted)}.deck-count{font-size:12px;color:#839090;margin-left:auto}.deck-option:has(input:checked) .deck-count{color:var(--red)}.deck-art{position:relative;width:35px;height:35px;flex:none;display:block}.blood-art i{position:absolute;width:23px;height:17px;background:radial-gradient(ellipse,#8c352d 10%,#e87761 35%,#ff8970 55%,#ce5245 85%);border-radius:50%;transform:rotate(-35deg);left:0;top:0;box-shadow:inset 1px 1px 3px #ffa38c66}.blood-art i:nth-child(2){left:14px;top:13px;transform:rotate(40deg);width:20px}.blood-art i:nth-child(3){left:0;top:24px;width:16px;height:11px}.onc-art{background:radial-gradient(circle at 17px 17px,#bda5d6 0 8px,#5b4d68 10px,#3b333f 15px,transparent 16px)}.onc-art i{position:absolute;top:8px;left:12px;width:11px;height:15px;background:#795484;border-radius:50%}.onc-art i:nth-child(2){top:18px;left:16px;width:8px;height:7px}.mixed-art{display:grid;place-items:center;font-size:33px;color:var(--teal);font-family:Arial,sans-serif}.tempo-heading{margin-top:21px}.tempo-heading>span{font-size:11px;color:var(--teal)}.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);background:#0d1314;padding:4px;border-radius:6px;border:1px solid #333c3e}.mode-picker label{position:relative;cursor:pointer;display:flex;align-items:center;flex-direction:column;gap:3px;padding:9px 2px;border-radius:3px}.mode-picker label:has(input:checked){background:#394144;color:#fff}.mode-picker strong{font-size:12px;font-weight:400}.mode-picker small{font-size:10px;color:var(--muted)}.start-button{border:0;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;background:var(--red);color:#1a1714;font-size:19px;padding:15px 19px;border-radius:5px;font-weight:700;box-shadow:0 4px 0 #953d32;transition:background .15s,transform .15s}.start-button:hover{background:#ff836b;transform:translateY(-1px)}.start-button:active{transform:translateY(2px);box-shadow:0 2px 0 #953d32}.start-arrow{font:32px/1 Arial,sans-serif}#startButton{margin-top:20px}.start-meta{display:flex;align-items:center;justify-content:space-between;margin:13px 0 0;gap:7px}.start-meta>span{font-size:10px;color:var(--muted)}.start-meta button{font-size:10px}.local-best{margin:27px 0 0;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:10px;color:var(--muted);font-size:11px;flex-wrap:wrap}.local-best strong{color:var(--text);font-size:18px}.local-best>span{margin-left:auto;font-size:9px}.session-actions{margin-top:20px}.session-actions>.text-button{margin-top:18px;width:100%}.is-playing .deck-picker,.is-playing .mode-picker{opacity:.5}.is-playing #startButton,.is-playing .start-meta{display:none}.is-playing .session-actions{display:block}
.instrument{min-width:0;border:1px solid #434d4c;border-radius:14px;background:var(--panel);box-shadow:0 22px 90px #0004;align-self:start;position:relative;overflow:hidden}.instrument-top{height:47px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 24px;font-size:11px;color:var(--muted)}.track-indicator{display:flex;align-items:center;gap:8px}.track-indicator .live-dot{background:var(--teal)}.edition{font-size:10px;color:#91a09f}.scoreboard{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:24px;padding:23px 25px 20px;align-items:center}.stat-label{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.score-number{font-size:36px;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-weight:400}.combo-stat{border-left:1px solid var(--line);padding-left:25px}.combo-stat strong{font-size:32px;line-height:1.1;font-weight:400;color:var(--yellow)}.combo-stat small{font-size:18px;margin-left:4px}.signal-stat>div:first-child{display:flex;justify-content:space-between;gap:6px;margin-bottom:7px}.signal-stat .stat-label{margin:0}.signal-stat #signalValue{font-size:11px;color:var(--teal)}.signal-meter{height:7px;border-radius:2px;background:#364341;overflow:hidden}.signal-meter>span{display:block;height:100%;width:100%;background:var(--teal);transition:width .15s}.signal-stat.low #signalValue{color:var(--red)}.signal-stat.low .signal-meter>span{background:var(--red)}.play-area{display:grid;grid-template-columns:minmax(0,1fr) 176px;padding:0 24px;gap:20px}.track-column{min-width:0}.diagnosis-card{padding:16px 17px 17px;background:#293231;border:1px solid #4b5852;border-radius:8px 8px 0 0;min-height:133px;position:relative;z-index:2}.case-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--teal);font-size:10px;line-height:1.4;margin-bottom:8px}.case-line>span:last-child{color:var(--muted);flex-shrink:0}.diagnosis-card h2{font-size:23px;line-height:1.15;font-weight:400;letter-spacing:-.5px;margin:0 0 8px}.diagnosis-card p{color:#bec8c0;font-size:11px;line-height:1.5;margin:0;max-width:62ch}.track{position:relative;height:328px;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#43726430,transparent 65%),#0e1415;border-left:1px solid #3f4946;border-right:1px solid #3f4946;isolation:isolate}.track::after{content:'';position:absolute;inset:0;background:linear-gradient(#0d13148c,transparent 27%);pointer-events:none;z-index:3}.track-grid{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,#48605430 43px,#48605430 44px);transform:perspective(450px) rotateX(18deg) scale(1.25);transform-origin:bottom;opacity:.55}.is-playing .track-grid{background-position-y:var(--grid-offset,0px)}.track-rails{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr)}.track-rails span{border-right:1px solid #50655620;transform:skew(-7deg)}.track-rails span:last-child{border:0}.track-watermark{position:absolute;inset:25px 0 50px;display:flex;align-items:center;justify-content:space-around;font:86px/1 Arial,sans-serif;color:#45625e18;user-select:none}.track-watermark span{font-size:73px}.notes{position:absolute;inset:0;z-index:4}.note{position:absolute;top:0;left:10%;width:80%;height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#2d3633;border:1px solid #c3c9a9;border-radius:5px;padding:0 15px;box-shadow:0 4px 20px #0006;color:#f5f3da;will-change:transform;font-size:18px}.note::before{content:'';width:3px;height:18px;background:var(--yellow);border-radius:2px;margin-right:4px}.note-label{flex:1;line-height:1.15}.note-number{font-size:10px;color:#b5bead}.note.next-note{opacity:.48;background:#1b2524;border-color:#687c70;font-size:15px}.note.long-label{font-size:15px}.note.hittable{background:#414737;border-color:#f1e7b7;box-shadow:0 0 24px #e7d99818}.hit-zone{position:absolute;bottom:49px;height:53px;left:0;right:0;background:#daca8410;border-top:1px solid #e7d99845;border-bottom:2px solid var(--yellow);box-shadow:0 8px 40px #e7d99813;z-index:1}.hit-zone>span{font-size:8px;position:absolute;left:8px;bottom:5px;color:#d8d4a5;writing-mode:vertical-rl;transform:rotate(180deg)}.track-overlay{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(#101617d9,#101617c9 65%,#10161790);padding:20px;text-align:center}.track-overlay strong{font-size:23px;font-weight:400;line-height:1.2}.track-overlay p{font-size:12px;color:var(--muted);line-height:1.5;margin:9px 0 18px;max-width:31ch}.overlay-arrow{font:58px/1 Arial,sans-serif;color:var(--yellow);margin-bottom:18px}.preview-tag{border:1px solid #627064;border-radius:3px;padding:5px 9px;font-size:9px;color:#a5b7a8}.track-overlay.counting{background:#0e141575}.track-overlay.counting strong{font:90px/1 var(--display);color:var(--yellow)}.track-overlay.counting p{font-size:13px}.track-overlay.paused{background:#0e1415ed}.track-overlay .resume-button{margin-top:10px;background:var(--yellow);color:var(--bg);border:0;border-radius:4px;padding:10px 24px}.judgment{position:absolute;inset:auto 0 112px;z-index:6;text-align:center;font-family:var(--display);font-size:44px;line-height:1;color:var(--yellow);text-transform:uppercase;pointer-events:none;text-shadow:0 2px 20px #000;opacity:0;transform:translateY(5px);transition:opacity .1s,transform .15s}.judgment.show{opacity:1;transform:translateY(0)}.judgment.wrong,.judgment.miss{color:var(--red)}.judgment.good{color:var(--teal)}.particles{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:var(--yellow);border-radius:50%;left:50%;bottom:64px;animation:spark .65s ease-out forwards}@keyframes spark{to{transform:translate(var(--px),var(--py));opacity:0}}
.answer-pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"up ." "down normal";gap:8px;width:min(100%,280px);margin:0 auto;padding:12px 0 0}
.answer-pad{--pad:var(--red);position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--pad);border:1px solid color-mix(in srgb,var(--pad) 45%,#303b36);border-bottom-width:4px;border-radius:7px;background:color-mix(in srgb,var(--pad) 7%,#172021);height:76px;min-height:76px;padding:3px 4px 7px;transition:background .09s,transform .09s,box-shadow .15s;user-select:none}
.answer-pad.up{grid-area:up}
.answer-pad.down{grid-area:down;--pad:var(--teal)}
.answer-pad.normal{grid-area:normal;--pad:var(--yellow)}
.answer-pad:hover{background:color-mix(in srgb,var(--pad) 17%,#172021)}
.answer-pad:active,.answer-pad.pressed{background:color-mix(in srgb,var(--pad) 35%,#172021);transform:translateY(3px);border-bottom-width:1px;box-shadow:0 0 25px color-mix(in srgb,var(--pad) 15%,transparent)}
.pad-arrow{font:34px/1 Arial,sans-serif;height:35px}
.pad-label{font-size:11px;color:var(--text)}
kbd{font-family:var(--body);font-size:9px;color:var(--muted);margin-top:4px}
.pad-correction{display:none;position:absolute;bottom:6px;left:0;right:0;font-size:9px;letter-spacing:.25px;color:#e8fff5}
.answer-pad.correct-answer{background:#315e50;border-color:#b4ffda;color:#e8fff5;box-shadow:0 0 0 2px #b4ffda,0 0 28px #87dbb95c,inset 0 0 20px #b4ffda18}
.answer-pad.correct-answer .pad-label{color:#e8fff5}
.answer-pad.correct-answer kbd{visibility:hidden}
.answer-pad.correct-answer .pad-correction{display:block}
.track-footer{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-height:38px;padding:11px 0;font-size:9px;color:var(--muted)}#multiplier{white-space:nowrap;color:var(--yellow)}.insight-rail{border-left:1px solid var(--line);padding-left:19px;min-width:0}.record-visual{height:166px;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:7px}.record{height:140px;width:140px;border-radius:50%;background:repeating-radial-gradient(circle at center,#101819 0 2px,#2a3736 3px,#11191a 4px);box-shadow:0 6px 14px #0007;border:1px solid #445451;display:grid;place-items:center;position:relative}.record::after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent,#a5c5a51a,transparent 25%,transparent 50%,#a5c5a51a,transparent 80%);pointer-events:none}.record-label{height:62px;width:62px;border-radius:50%;background:var(--red);color:#392920;display:flex;align-items:center;flex-direction:column;justify-content:center}.record-label span{font-size:10px;font-weight:700}.record-label b{font:26px/.9 Arial}.record-label small{font-size:6px;margin-top:3px}.record-needle{position:absolute;right:0;top:3px;width:40px;height:82px;border:3px solid #9fac9f;border-left:0;border-bottom:0;transform:rotate(17deg);border-radius:0 12px 0 0}.record-needle::after{content:'';position:absolute;width:10px;height:25px;background:#b6bfac;right:-6px;bottom:-12px;transform:rotate(20deg);border-radius:2px}.is-playing:not(.is-paused) .record{animation:spin 8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rail-heading{display:flex;gap:7px;align-items:center;margin-bottom:10px}.rail-heading .live-dot{width:5px;height:5px}.rail-heading h3{font-weight:400;font-size:12px;margin:0;line-height:1.4}.rail-copy{color:var(--muted);font-size:11px;line-height:1.65;margin:0 0 20px}.finding-feedback{border-top:1px solid var(--line);padding:17px 0 0;min-height:171px;font-size:12px;line-height:1.65}.finding-feedback p{margin:6px 0 0}.finding-feedback p>b{font:26px/1.6 Arial}.finding-feedback .feedback-result{font-size:22px;color:var(--yellow);display:block;line-height:1.2;margin:5px 0 10px}.finding-feedback .feedback-result.bad{color:var(--red)}.finding-feedback .feedback-why{font-size:11px;color:#b7c4bf;line-height:1.6}.up-text{color:var(--red)}.down-text{color:var(--teal)}.normal-text{color:var(--yellow)}.run-progress{margin-top:24px}.run-progress>div:first-child{display:flex;justify-content:space-between;gap:6px;font-size:9px;color:var(--muted)}.progress-track{height:3px;background:#37423d;margin-top:10px}.progress-track>span{display:block;height:100%;width:0;background:var(--red);transition:width .2s}.rail-tip{font-size:10px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.continue-button{margin-top:12px;background:var(--yellow);border:0;padding:10px;border-radius:4px;color:var(--bg);font-size:12px;width:100%}.instrument-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;border-top:1px solid var(--line);padding:10px 24px;color:var(--muted);font-size:9px}.instrument-bottom>span:first-child{display:flex;align-items:center;gap:7px}.instrument-bottom .live-dot{width:4px;height:4px}.page-footer{border-top:1px solid var(--line);padding:19px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.page-footer .text-button{font-size:10px}.footer-divider{color:#607574;margin:0 13px}
.modal{color:var(--text);background:#1b2324;border:1px solid #56625d;border-radius:12px;padding:40px;width:min(640px,calc(100% - 32px));max-height:88dvh;box-shadow:0 30px 100px #000a;overflow:auto;overscroll-behavior:contain}.modal::backdrop{background:#080e10d9;backdrop-filter:blur(8px)}.modal-close{position:absolute;right:15px;top:11px;font:27px/1 Arial,sans-serif;background:none;border:0;color:var(--muted);width:35px;height:35px}.modal h2{font-family:var(--display);text-transform:uppercase;font-size:48px;line-height:1.05;font-weight:400;margin:0 0 19px}.modal p{font-size:13px;line-height:1.65;color:#b9c6be}.modal .modal-kicker{color:var(--red);font-size:12px;margin:0 0 12px}.how-list{padding-left:23px;margin:25px 0}.how-list li{padding-left:8px;margin:0 0 21px;color:var(--red)}.how-list b,.how-list span{display:block;line-height:1.6}.how-list b{font-size:14px;font-weight:400;color:var(--text)}.how-list span{font-size:12px;color:var(--muted);margin-top:5px}.help-footnote{border-top:1px solid var(--line);padding-top:19px;margin-bottom:26px}.results-modal{width:min(780px,calc(100% - 32px))}.results-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.results-header h2{margin-bottom:8px}.results-header p{margin:0}.grade{font:100px/1 var(--display);color:var(--yellow);transform:rotate(-8deg);padding:5px 20px;text-shadow:4px 4px #6b634150}.grade.retry{font-size:48px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:25px 0}.result-stats strong{font-size:32px;font-weight:400;display:block;font-variant-numeric:tabular-nums}.result-stats span{font-size:11px;color:var(--muted)}.result-actions{display:flex;gap:12px}.result-actions .start-button{width:auto;flex:1;font-size:16px}.secondary-button{background:#303c36;color:var(--text);border:1px solid #5f7162;border-radius:5px;padding:13px 18px;font-size:14px}.review-heading{font-size:17px;font-weight:400;margin-top:30px}.review-list{display:grid;gap:9px}.review-row{padding:14px;background:#121a1b;border-radius:5px;border-left:2px solid var(--red)}.review-row.correct{border-left-color:var(--teal)}.review-row-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-row strong{font-weight:400;font-size:13px}.review-row .review-direction{color:var(--yellow);font-size:18px;white-space:nowrap}.review-row small{color:var(--muted);font-size:10px;display:block;margin-top:5px}.review-row p{font-size:12px;margin:7px 0 0}.source-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.source-links a{font-size:10px;color:var(--teal);text-decoration:underline;text-underline-offset:3px}.library-modal{width:min(840px,calc(100% - 32px))}.search-label{display:block;color:var(--muted);font-size:11px;margin:25px 0 7px}input[type=search]{width:100%;padding:13px 15px;border:1px solid #52645a;background:#101819;border-radius:5px;color:var(--text);font-size:14px}.library-list{margin-top:20px;display:grid;gap:10px}.library-case{padding:16px 18px;background:#11191a;border:1px solid #35443b;border-radius:5px}.library-case summary{cursor:pointer;display:list-item;font-size:15px;color:var(--text)}.library-case summary span{color:var(--muted);font-size:10px;float:right;margin-top:4px}.library-case p{font-size:12px}.library-case ul{list-style:none;padding:0;margin:13px 0}.library-case li{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid #2e3a32;font-size:13px}.library-case li b{width:20px;flex:none;font:22px/1 Arial}.library-case li small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:4px}.source-footnote{border-top:1px solid var(--line);padding-top:18px}.source-footnote a{text-decoration:underline;color:var(--teal)}.no-script{text-align:center;padding:30px;background:var(--red);color:var(--bg)}
@media(min-width:1450px){.layout{grid-template-columns:335px minmax(0,1fr);gap:55px;padding-top:40px}h1{font-size:84px}.play-area{grid-template-columns:minmax(0,1fr) 200px;gap:24px}.insight-rail{padding-left:23px}.record-visual{height:176px}.record{width:155px;height:155px}.track{height:350px}.diagnosis-card{min-height:142px}.intro-copy{margin-bottom:34px}}
@media(max-width:1200px){.app{padding:0 28px}.layout{grid-template-columns:275px minmax(0,1fr);gap:25px}.play-area{grid-template-columns:minmax(0,1fr) 145px;gap:15px;padding:0 19px}.insight-rail{padding-left:14px}.record{width:120px;height:120px}.record-visual{height:144px}.record-needle{right:0;height:62px;width:30px}h1{font-size:68px}.header-note{display:none}.deck-copy small{font-size:9px}.deck-copy strong{font-size:13px}.deck-option{gap:7px;padding:10px 8px}.diagnosis-card{min-height:151px}.diagnosis-card h2{font-size:21px}.scoreboard{padding-left:20px;padding-right:20px}.track{height:322px}.note{left:9%;width:82%;font-size:16px}.note.long-label{font-size:13px}}
@media(max-width:1000px) and (min-width:761px){.play-area{grid-template-columns:minmax(0,1fr)}.insight-rail{display:none}.is-playing .insight-rail{display:block;border-left:0;padding:10px 0}.is-playing .insight-rail>*{display:none}.is-playing .insight-rail .finding-feedback{display:block;min-height:0;padding:5px 0;border-top:0}.is-playing .finding-feedback p{margin:0}.is-playing .finding-feedback .feedback-result{font-size:16px;margin:0 0 3px}.is-playing .finding-feedback .stat-label{display:none}.is-playing .insight-rail .continue-button:not([hidden]){display:block}.track{height:337px}.diagnosis-card{min-height:134px}.track-footer{font-size:9px}.edition{display:none}.instrument-top{height:43px}.instrument-bottom{padding:10px 19px;font-size:8px}.scoreboard{gap:15px}.combo-stat{padding-left:17px}}
@media(max-width:760px){.app{padding:0 19px}.masthead{height:77px;gap:12px}.wordmark{font-size:25px;gap:5px}.wordmark-game{font-size:21px}.brand-symbol{width:31px;height:31px;font-size:31px;border-radius:8px;margin-right:3px}.wordmark-slash{font-size:23px}.masthead nav{gap:15px}.hub-link{display:none}.sound-button{font-size:0;gap:0}.sound-bars{height:20px}.sound-bars i{width:3px}.icon-button{width:24px;height:24px}.layout{display:flex;flex-direction:column;gap:25px;padding-top:25px}.intro{position:relative}.intro-kicker{font-size:11px;margin-bottom:14px}h1{font-size:56px;line-height:.95;max-width:400px;margin-bottom:12px}h1 br:first-child{display:none}h1 br:first-child:after{content:' '}.intro-copy{font-size:12px;position:absolute;right:0;bottom:0;max-width:140px;margin-bottom:3px}.intro-copy br{display:none}.setlist-heading{margin-top:24px}.deck-option{min-height:60px;padding:9px 12px;gap:12px}.deck-copy strong{font-size:14px}.deck-copy small{font-size:11px}.deck-count{font-size:12px}.deck-picker{gap:6px}.tempo-heading{margin-top:18px}.mode-picker label{padding:8px}.mode-picker strong{font-size:13px}.mode-picker small{font-size:10px}#startButton{margin-top:18px}.start-meta>span,.start-meta button{font-size:11px}.local-best{margin-top:23px;padding-top:12px}.layout{padding-bottom:23px}.instrument{width:100%;border-radius:10px}.instrument-top{padding:0 15px;height:40px;font-size:10px}.edition{font-size:8px}.scoreboard{padding:17px 16px;gap:17px}.score-number{font-size:29px}.combo-stat{padding-left:20px}.combo-stat strong{font-size:27px}.stat-label{font-size:10px}.signal-stat #signalValue{font-size:10px}.play-area{grid-template-columns:minmax(0,1fr);padding:0 13px;gap:0}.diagnosis-card{min-height:126px;padding:13px 14px}.diagnosis-card h2{font-size:22px}.diagnosis-card p{font-size:11px}.track{height:285px}.insight-rail{display:none}.instrument-bottom{font-size:8px;padding:10px 15px}.page-footer{align-items:flex-start;flex-direction:column;gap:12px;font-size:10px;padding-top:16px}.footer-divider{margin:0 8px}.is-playing .setup{display:none}.is-playing .layout{padding-top:15px}.is-playing .masthead{height:64px}.is-playing .insight-rail{display:block;padding:0 1px;border:0}.is-playing .insight-rail>*{display:none}.is-playing .insight-rail .finding-feedback{display:block;min-height:0;border:0;padding:0 0 14px}.is-playing .finding-feedback p{margin:0}.is-playing .finding-feedback .stat-label{display:none}.is-playing .finding-feedback .feedback-result{font-size:17px;margin:0 0 4px}.is-playing .finding-feedback .feedback-why{font-size:11px}.is-playing .insight-rail .continue-button:not([hidden]){display:block;margin-top:0;margin-bottom:14px}.is-playing .instrument-top{cursor:pointer}.is-playing .track{height:clamp(160px,26dvh,260px)}.is-playing .scoreboard{padding-top:12px;padding-bottom:12px}.is-playing .diagnosis-card{min-height:120px}.is-playing .diagnosis-card p{font-size:10px}.is-playing .diagnosis-card h2{font-size:21px}.is-playing .answer-pads{width:min(100%,256px)}.is-playing .answer-pad{height:70px;min-height:70px}.is-playing .pad-arrow{font-size:30px;height:31px}.is-playing .track-footer{padding:8px 0;min-height:31px}.is-playing .page-footer{display:none}.is-playing .instrument-bottom{display:none}.note{height:45px;font-size:18px}.modal{padding:30px 22px}.modal h2{font-size:39px}.modal-close{right:8px;top:8px}.result-stats{gap:10px}.result-stats strong{font-size:26px}.grade{font-size:78px;padding:5px 9px}.grade.retry{font-size:32px}.result-actions{flex-direction:column;gap:15px}.library-case{padding:13px}.library-case summary span{float:none;display:block;font-size:10px;margin-top:6px}.review-row-header{align-items:flex-start}.review-row .review-direction{font-size:16px}}
@media(max-width:370px){.app{padding:0 12px}.intro-copy{max-width:115px;font-size:11px}h1{font-size:50px}.deck-copy small{font-size:10px}.scoreboard{gap:11px}.combo-stat{padding-left:14px}.instrument-top{font-size:9px}.edition{display:none}}
.pause-end{margin-top:18px}.is-playing .edition{display:none}.review-context{margin-top:12px;font-size:11px;color:var(--muted)}.review-context summary{cursor:pointer;color:var(--teal)}.library-practice{margin-top:15px;font-size:12px;padding:9px 13px}
.finding-feedback .mastery-message{color:var(--yellow);font-size:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.finding-feedback .mastery-message.mastered{color:var(--teal)}
/* Active play gets the window; setup returns when the run ends. */
@media(min-width:761px){
  .app.is-playing{height:100dvh;max-width:1800px;padding:0 24px;display:flex;flex-direction:column}
  .is-playing .masthead{height:60px;flex:0 0 60px}
  .is-playing .layout{display:block;flex:1;min-height:0;padding:14px 0 18px}
  .is-playing .setup,.is-playing .page-footer,.is-playing .instrument-bottom{display:none}
  .is-playing .instrument{height:100%;display:flex;flex-direction:column;width:100%}
  .is-playing .instrument-top{height:34px;flex:0 0 34px;padding:0 20px}
  .is-playing .scoreboard{flex:0 0 72px;padding:10px 20px;grid-template-columns:1fr .7fr 1fr;gap:35px}
  .is-playing .score-number{font-size:32px}
  .is-playing .play-area{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 205px;padding:0 20px;gap:24px}
  .is-playing .track-column{display:flex;flex-direction:column;min-height:0}
  .is-playing .diagnosis-card{min-height:104px;flex-shrink:0;padding:13px 20px}
  .is-playing .diagnosis-card h2{font-size:27px;margin-bottom:6px}
  .is-playing .diagnosis-card p{font-size:12px;max-width:90ch}
  .is-playing .track{flex:1;height:auto;min-height:180px}
  .is-playing .note{left:15%;width:70%;font-size:25px;height:48px;padding:0 22px}
  .is-playing .note.long-label{font-size:22px}
  .is-playing .note.next-note{font-size:21px}
  .is-playing .note-number{font-size:12px}
  .is-playing .answer-pads{flex-shrink:0;padding-top:10px}
  .is-playing .track-footer{min-height:31px;flex:0 0 31px;padding:8px 0;font-size:10px}
  .is-playing .insight-rail{display:block;border-left:1px solid var(--line);padding:0 0 0 23px;overflow-y:auto;overflow-x:hidden}
  .is-playing .insight-rail>*{display:revert}
  .is-playing .insight-rail .record-visual{display:flex;height:170px}
  .is-playing .insight-rail .rail-heading{display:flex}
  .is-playing .insight-rail .finding-feedback{display:block;min-height:130px;padding:17px 0 0;border-top:1px solid var(--line)}
  .is-playing .finding-feedback .stat-label{display:block}
  .is-playing .finding-feedback .feedback-result{font-size:24px;margin:5px 0 10px}
  .is-playing .finding-feedback .feedback-why{font-size:12px}
  .is-playing .rail-copy{font-size:12px}
  .is-playing .track-overlay strong{font-size:32px}
  .is-playing .track-overlay.counting strong{font-size:100px}
  .is-playing .track-overlay p{font-size:14px;max-width:42ch}
  .is-playing .judgment{font-size:56px}
}
@media(min-width:761px) and (max-width:1000px){.is-playing .play-area{grid-template-columns:minmax(0,1fr) 175px;gap:16px;padding:0 15px}.is-playing .insight-rail{padding-left:15px}.is-playing .note{left:10%;width:80%;font-size:21px}.is-playing .note.long-label{font-size:18px}.is-playing .diagnosis-card h2{font-size:23px}}
@media(min-width:761px) and (max-height:650px){.app.is-playing{height:auto;min-height:100dvh}.is-playing .instrument{height:auto}.is-playing .track{flex:none;height:280px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.record{animation:none!important}.track-grid,.track-watermark{display:none}.particle{display:none}}
