:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06070a;--panel:#0e1118e6;--panel-solid:#0e1118;--panel-2:#161a24;--panel-3:#1e2330;--line:#20263399;--line-strong:#2c3343;--text:#eef2fa;--muted:#8a93a6;--faint:#596174;--deck1:#19e3ff;--deck2:#ff2e88;--accent:#19e3ff;--accent-2:#ff2e88;--hot:#ff2e88;--ok:#3dffb0;--warn:#ffd23f;--danger:#ff4d6d;--lit:#3dffb0;--glow-1:0 0 14px #19e3ff8c;--glow-2:0 0 14px #ff2e888c;--neon:linear-gradient(90deg, var(--deck1), #7b61ff 55%, var(--deck2));--display:"Bahnschrift SemiCondensed", "Bahnschrift", "Arial Narrow", "Segoe UI", sans-serif;--body:"BIZ UDPGothic", "Yu Gothic UI", "Meiryo", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;--mono:"Bahnschrift", "Cascadia Mono", Consolas, monospace}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0f5;--panel:#ffffffeb;--panel-solid:#fff;--panel-2:#e7eaf1;--panel-3:#dde1ea;--line:#cfd5e0;--line-strong:#b9c1cf;--text:#12151c;--muted:#545d6e;--faint:#7a8293;--deck1:#007399;--deck2:#d6176b;--accent:#007399;--accent-2:#d6176b;--hot:#d6176b;--ok:#07784e;--warn:#8a5f00;--danger:#c62845;--lit:#07784e;--glow-1:0 0 0 2px #00739940;--glow-2:0 0 0 2px #d6176b40;--neon:linear-gradient(90deg, var(--deck1), #6248e8 55%, var(--deck2))}:root[data-theme=contrast]{--bg:#000;--panel:#000;--panel-solid:#000;--panel-2:#0d0d0d;--panel-3:#1a1a1a;--line:#fff;--line-strong:#fff;--text:#fff;--muted:#e6e6e6;--faint:#cfcfcf;--deck1:#00f0ff;--deck2:#ff4fa3;--accent:#00f0ff;--hot:#ff4fa3;--ok:#3dffb0;--warn:#ffe14d;--danger:#ff6b6b;--lit:#00ffa3}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] :before,:root[data-reduce-motion=true] :after{transition:none!important;animation:none!important}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);font:15px/1.6 var(--body);background:radial-gradient(1200px 600px at -10% -20%, #19e3ff1a, transparent 60%), radial-gradient(1000px 700px at 110% 120%, #ff2e881a, transparent 60%), var(--bg);background-attachment:fixed;margin:0}:root[data-theme=light] body{background:var(--bg)}h1,h2,h3{margin:0}h1{font:700 20px var(--display);letter-spacing:.14em}h2{font-size:17px;font-weight:700}h3{color:var(--muted);letter-spacing:.04em;margin-bottom:4px;font-size:13px;font-weight:600}ruby rt{color:var(--muted);font-size:.55em}.muted{color:var(--muted)}.small{font-size:12px}.ok{color:var(--ok)}.warn{color:var(--warn)}.grow{flex:1}.icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.error{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:#ff4d6d14;border-radius:10px;margin:8px 16px;padding:10px 14px}button{font:600 14px var(--body);color:var(--text);background:linear-gradient(180deg, var(--panel-3), var(--panel-2));border:1px solid var(--line-strong);cursor:pointer;letter-spacing:.02em;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;transition:border-color .12s,box-shadow .12s,background .12s,transform 60ms;display:inline-flex}button:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--glow-1)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--neon);color:#05060a;border-color:#0000;box-shadow:0 0 18px #19e3ff4d,0 0 22px #ff2e8833}button.primary:hover:not(:disabled){box-shadow:0 0 22px #19e3ff80,0 0 26px #ff2e8859}button.on{border-color:var(--hot);color:#fff;box-shadow:var(--glow-2), inset 0 0 14px #ff2e8833;background:#ff2e8824}button.big{padding:12px 22px;font-size:1.05em}button.small{padding:3px 9px;font-size:12px}button.danger{border-color:var(--danger);color:var(--danger)}:root[data-theme=light] button.on{color:var(--text)}input,select{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line-strong);border-radius:9px;padding:7px 11px}input:focus,select:focus{border-color:var(--accent);box-shadow:var(--glow-1);outline:none}input[type=range]{appearance:none;height:22px;box-shadow:none;background:0 0;border:none;padding:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--panel-3), var(--line-strong));border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);width:16px;height:16px;box-shadow:var(--glow-1);background:#fff;border-radius:50%;margin-top:-6px}input[type=range]:disabled::-webkit-slider-thumb{border-color:var(--faint);box-shadow:none}.deck2 input[type=range]::-webkit-slider-thumb{border-color:var(--deck2);box-shadow:var(--glow-2)}.ch2 input[type=range]::-webkit-slider-thumb{border-color:var(--deck2);box-shadow:var(--glow-2)}kbd{text-align:center;min-width:1.9em;font:700 12px var(--mono);border:1px solid var(--line-strong);background:var(--panel-2);border-bottom-width:3px;border-radius:6px;padding:1px 6px;display:inline-block}.bar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #0000;border-image:var(--neon) 1;background:#06070ad1;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 18px;display:flex;position:sticky;top:0}:root[data-theme=light] .bar{background:#ffffffe6}.brand{align-items:center;gap:10px;display:inline-flex}.brand img{width:30px;height:30px;box-shadow:var(--glow-1);border-radius:8px}.brand h1{background:var(--neon);color:#0000;-webkit-background-clip:text;background-clip:text}.tabs{gap:4px;display:flex}.tab{color:var(--muted);background:0 0;border-color:#0000;padding:7px 12px}.tab:hover:not(:disabled){box-shadow:none;color:var(--text);border-color:#0000}.tab.on{color:var(--text);border-color:#0000;border-bottom:2px solid var(--accent);box-shadow:0 6px 12px -8px var(--accent);background:0 0;border-radius:9px 9px 2px 2px}.conn{gap:12px;font-size:13px;display:inline-flex}.conn span{align-items:center;gap:4px;display:inline-flex}.profile-chip{padding:4px 12px 4px 6px}.profile-chip .avatar-icon{width:26px;height:26px}.screen{gap:14px;padding:16px 18px 28px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:0;padding:14px 16px;box-shadow:inset 0 1px #ffffff0a,0 14px 34px #00000059}.row{align-items:center;gap:8px;margin:8px 0;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.hint{color:var(--hot);margin:4px 0 0;font-weight:700}.badge{font:700 11px var(--display);letter-spacing:.12em;color:#05060a;background:var(--accent);box-shadow:var(--glow-1);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.tag{font:700 11px var(--display);letter-spacing:.08em;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:3px;padding:0 8px;display:inline-flex}.hero-banner{border:1px solid var(--line-strong);background:#000 url(../art/hero.jpg) 50% 35%/cover no-repeat;border-radius:20px;align-items:flex-end;min-height:220px;padding:24px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.hero-banner:before{content:"";background:linear-gradient(90deg,#06070aeb 0%,#06070a8c 45%,#06070a00 75%),linear-gradient(#0000 40%,#06070abf);position:absolute;inset:0}.hero-banner>*{position:relative}.hero-title{font:700 52px/1 var(--display);letter-spacing:.08em;background:var(--neon);color:#0000;filter:drop-shadow(0 0 18px #19e3ff59);-webkit-background-clip:text;background-clip:text;margin:0}.hero-sub{color:#dfe6f3;max-width:34em;margin:8px 0 0;font-size:16px}.start{width:100%;max-width:920px;margin:0 auto}.profiles{flex-wrap:wrap;gap:12px;display:flex}.profile-card{flex-direction:column;align-items:center;gap:6px;display:flex}.profile-pick{flex-direction:column;gap:4px;min-width:130px;padding:14px 12px 10px}.profile-pick b{font-size:15px}.profile-pick .avatar-icon{width:64px;height:64px}.new-profile{gap:12px;display:grid}.new-profile input{font-size:16px}.transfer{justify-items:start;gap:8px;margin-top:12px;display:grid}.transfer.confirm{border:1px solid var(--accent);box-shadow:var(--glow-1);background:#19e3ff0f;border-radius:12px;padding:12px 14px}.transfer .avatar-icon{width:40px;height:40px}.settings .row.wrap .transfer{margin-top:0}.facts code{font:12px var(--mono);word-break:break-all}.avatars{flex-wrap:wrap;gap:8px;display:flex}.avatar-pick{border-radius:12px;padding:4px}.avatar-pick .avatar-icon{width:44px;height:44px}.avatar-pick.on{border-color:var(--accent);box-shadow:var(--glow-1);background:#19e3ff14}.avatar-icon .a{stroke:var(--deck1)}.avatar-icon .b{stroke:var(--deck2);color:var(--deck2)}.avatar-icon{filter:drop-shadow(0 0 4px #ff2e888c)}.avatar-icon.big{width:76px;height:76px}.checklist{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.checklist li{align-items:center;gap:8px;display:flex}.me{flex-wrap:wrap;align-items:center;gap:14px 18px;display:flex}.me h2{align-items:center;gap:8px;font-size:20px;display:flex}.level{font:700 18px var(--display);letter-spacing:.06em;align-items:center;gap:10px;margin:6px 0 0;display:flex}.xp-bar{background:var(--panel-3);border-radius:4px;width:180px;height:8px;display:inline-block;overflow:hidden}.xp-bar i{background:var(--neon);height:100%;box-shadow:var(--glow-1);display:block}.title-badge{font:700 12px var(--display);letter-spacing:.06em;color:var(--hot);border:1px solid var(--hot);box-shadow:var(--glow-2);border-radius:999px;padding:0 8px}.stages{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.home-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=760px){.home-row{grid-template-columns:1fr}}.missions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.missions li{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.missions li.done{border-color:var(--ok)}.missions li.done .icon{color:var(--ok)}.mission-count{font:700 13px var(--mono);color:var(--muted)}.skill-radar svg{width:100%;max-width:320px;margin:0 auto;display:block}.radar-ring{fill:none;stroke:var(--line-strong);stroke-width:1px}.radar-axis{stroke:var(--line-strong);stroke-width:1px}.radar-label{font:700 11px var(--display);fill:var(--muted)}.radar-now{fill:color-mix(in srgb, var(--deck1) 22%, transparent);stroke:var(--deck1);stroke-width:2px}.radar-before{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:4 3}.stage{flex-direction:column;padding:0;display:flex;overflow:hidden}.stage-art{background:#000 50%/cover no-repeat;height:120px;position:relative}.stage-art:after{content:"";background:linear-gradient(0deg, var(--panel-solid), transparent 70%);position:absolute;inset:0}.stage header{align-items:baseline;gap:10px;margin:-26px 0 8px;padding:0 16px;display:flex;position:relative}.stage header h3{color:var(--text);margin:0;font-size:16px}.stage-no{font:800 26px/1 var(--display);letter-spacing:.04em;background:var(--neon);color:#0000;-webkit-background-clip:text;background-clip:text}.stage .lessons,.stage>p{margin:0;padding:0 12px 14px}.stage.locked .stage-art{filter:grayscale()brightness(.45)}.stage.just-opened{animation:2.4s ease-out stage-open-glow}.stage.just-opened .stage-art{animation:1.6s ease-out stage-open-color}.stage.just-opened .stage-art:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%) 0 0/250% 100%;animation:1.4s ease-out .4s both stage-open-sweep;position:absolute;inset:0}@keyframes stage-open-color{0%{filter:grayscale()brightness(.45)}to{filter:none}}@keyframes stage-open-sweep{0%{opacity:1;background-position:120% 0}to{opacity:0;background-position:-20% 0}}@keyframes stage-open-glow{0%,to{box-shadow:none}40%{box-shadow:0 0 0 2px var(--deck1), 0 0 30px var(--deck1)}}.stage.locked>p{align-items:center;gap:6px;padding:4px 16px 16px;display:flex}.lessons{gap:5px;list-style:none;display:grid}.lessons li{background:0 0;padding:0;display:block}.lesson-row{text-align:left;background:#ffffff05;border-radius:10px;grid-template-columns:2.6em 1fr auto;justify-content:stretch;align-items:center;gap:8px;width:100%;padding:6px 10px;display:grid}.lessons li.challenge .lesson-row{background:#ff2e880f;border-color:#ff2e8899}.lesson-no{font:700 13px var(--display);letter-spacing:.06em;color:var(--accent)}.lessons li.challenge .lesson-no{color:var(--hot)}.lesson-title{font-weight:700}.tag.new{color:#05060a;background:var(--ok);border-color:var(--ok)}.tag.stars{color:var(--warn);border-color:#ffd23f80}.play-screen{gap:12px;display:grid}.play{grid-template-columns:1fr minmax(320px,1.05fr) 1fr;gap:12px;display:grid}.deck{position:relative;overflow:hidden}.deck:before{content:"";height:3px;position:absolute;inset:0 0 auto}.deck.deck1:before{background:var(--deck1);box-shadow:0 0 18px 2px var(--deck1)}.deck.deck2:before{background:var(--deck2);box-shadow:0 0 18px 2px var(--deck2)}.deck-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.deck-head h2{font:700 15px var(--display);letter-spacing:.1em;align-items:center;gap:8px;display:flex}.deck-no{color:#05060a;width:1.7em;height:1.7em;font:800 14px var(--display);border-radius:6px;place-items:center;display:inline-grid}.deck1 .deck-no{background:var(--deck1);box-shadow:var(--glow-1)}.deck2 .deck-no{background:var(--deck2);box-shadow:var(--glow-2)}.deck-head .bpm{font:700 26px var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums}.deck1 .bpm{color:var(--deck1);text-shadow:0 0 12px #19e3ff99}.deck2 .bpm{color:var(--deck2);text-shadow:0 0 12px #ff2e8899}.deck-head .bpm small{color:var(--muted);text-shadow:none;letter-spacing:.12em;font-size:12px}.track-name{text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:16px;font-weight:700;overflow:hidden}.track-row{align-items:center;gap:8px;margin-top:8px;display:flex}.track-row .track-name{flex:1;min-width:0;margin:0}.pick-track{flex:none}.track-picker{background:var(--panel-solid);grid-template-rows:auto auto auto 1fr auto;gap:10px;width:min(760px,100vw - 32px);max-height:80vh;display:grid}.track-picker h2{align-items:center;gap:8px;display:flex}.track-picker input[type=search]{width:100%}.picker-list{border:1px solid var(--line);border-radius:10px;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.picker-list li+li{border-top:1px solid var(--line)}.picker-row{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:1.4em minmax(0,1fr) minmax(0,.6fr) 6.5em 4.5em 9.5em;align-items:center;gap:12px;width:100%;padding:10px 12px;display:grid}.picker-row.on{box-shadow:none;background:#19e3ff14}.track-picker.for-deck2 .picker-row.on{background:#ff2e8814}.for-deck1 .deck-no{background:var(--deck1);box-shadow:var(--glow-1)}.for-deck2 .deck-no{background:var(--deck2);box-shadow:var(--glow-2)}.picker-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.picker-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.picker-decks{gap:4px;display:flex}.deck-tag.on-deck1{color:var(--deck1);border-color:var(--deck1)}.deck-tag.on-deck2{color:var(--deck2);border-color:var(--deck2)}.picker-none,.picker-empty{padding:12px}@media (width<=640px){.picker-row{grid-template-columns:1.4em minmax(0,1fr) 6.5em}.picker-artist,.picker-row .picker-num.muted{display:none}.picker-decks{grid-column:1/-1}}.artist{margin:0;font-size:13px}.time{font:700 32px var(--display);letter-spacing:.03em;font-variant-numeric:tabular-nums;margin:2px 0 0}.meter,.level-meter{background:var(--panel-3);border-radius:3px;height:6px;overflow:hidden}.meter>div,.level-meter>div{background:linear-gradient(90deg, var(--ok), var(--warn) 85%, var(--danger));width:0;height:100%;transition:width 50ms linear}.level-meter>div.over{background:var(--danger)}.phrase{white-space:nowrap;align-items:center;gap:12px;min-height:28px;margin:4px 0 8px;display:flex;overflow:hidden}.phrase-bar{font:700 18px var(--display);letter-spacing:.04em}.beat-dots{gap:5px;display:inline-flex}.beat-dots i{background:var(--panel-3);border:1px solid var(--line-strong);border-radius:3px;width:11px;height:11px;transform:rotate(45deg)}.deck1 .beat-dots i.on{background:var(--deck1);border-color:var(--deck1);box-shadow:var(--glow-1)}.deck2 .beat-dots i.on{background:var(--deck2);border-color:var(--deck2);box-shadow:var(--glow-2)}.beat-dots i.on:first-child{background:#fff;border-color:#fff}.phrase .hint{margin:0}.section-now{white-space:nowrap;align-items:center;gap:8px;min-height:1.6em;margin:0 0 8px;display:flex;overflow:hidden}.deck-status{white-space:nowrap;text-overflow:ellipsis;height:1.6em;margin:2px 0 4px;line-height:1.6em;overflow:hidden}.section-now .muted{align-items:center;gap:6px;display:inline-flex}.section-chip{color:#05060a;border-radius:999px;padding:1px 8px;font-size:.9em;font-weight:700}.scratch-count{background:var(--panel-2);font-family:var(--mono);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-weight:700;display:inline-flex}.certificate-note{font-weight:700}@media screen{.certificate-print{display:none}}@media print{@page{size:A4 landscape;margin:12mm}html,body{background:#fff!important}body>:not(.certificate-print){display:none!important}.certificate-print{color:#111;display:block}}.certificate{box-sizing:border-box;text-align:center;min-height:180mm;font-family:var(--body);border:6px double #1b1f3a;flex-direction:column;justify-content:space-between;padding:14mm 18mm;display:flex}.certificate-brand{letter-spacing:.4em;color:#555;margin:0;font-weight:700}.certificate h1{letter-spacing:.3em;margin:4mm 0;font-size:40pt}.certificate-name{border-bottom:1px solid #333;margin:6mm auto;padding:0 2em 2mm;font-size:26pt}.certificate-body{max-width:210mm;margin:0 auto;font-size:15pt;line-height:2.1}.certificate-score{color:#a07300;margin:4mm 0;font-size:20pt}.certificate-foot{justify-content:space-between;align-items:flex-end;font-size:13pt;display:flex}.certificate-sign{text-align:left;border-bottom:1px solid #333;min-width:70mm;padding-bottom:1mm}.tracks.history .history-day th{text-align:left;padding-top:12px;font-weight:400}.tracks.history .history-day th span{margin-right:10px;font-weight:700}.vocal-swatch{vertical-align:middle;border-radius:2px;width:18px;height:4px;display:inline-block}.transport button.primary.waiting{animation:.9s ease-in-out infinite guide-blink}.transport button{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.transport button.primary{flex:1.4}.transport.big button{white-space:nowrap;padding:13px 8px;font-size:1.05em}.deck1 .transport button.primary{background:var(--deck1);box-shadow:var(--glow-1)}.deck2 .transport button.primary{background:var(--deck2);box-shadow:var(--glow-2);color:#05060a}.deck1 .transport button.primary.on{color:#05060a;box-shadow:0 0 22px var(--deck1);border-color:var(--deck1);background:#fff}.deck2 .transport button.primary.on{color:#05060a;box-shadow:0 0 22px var(--deck2);border-color:var(--deck2);background:#fff}.deck1 button.on{border-color:var(--deck1);box-shadow:var(--glow-1), inset 0 0 14px #19e3ff33;background:#19e3ff24}.mixer h2{font:700 15px var(--display);letter-spacing:.14em}.mixer .channels{grid-template-columns:1fr 1fr;gap:14px;margin:8px 0;display:grid}.channel{gap:5px;display:grid}.channel h3{font:700 13px var(--display);letter-spacing:.14em}.ch1 h3{color:var(--deck1)}.ch2 h3{color:var(--deck2)}.channel button{padding:6px 4px}.slider{grid-template-columns:6.5em minmax(0,1fr) 4em;align-items:center;gap:6px;display:grid;position:relative}.channel .slider{grid-template-columns:3.4em minmax(0,1fr) 2.8em;gap:4px}.slider input{width:100%}.slider output{font:600 12px var(--mono);text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.slider-label{font:700 12px var(--display);letter-spacing:.08em;color:var(--muted)}.slider-track{border-radius:6px;display:block;position:relative}.slider-track .ghost{border:2px dashed var(--warn);pointer-events:none;z-index:1;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%}.slider.waiting output{color:var(--warn)}.channel .knobs{flex-direction:column;align-items:center;gap:2px;display:flex}.knob{justify-items:center;gap:0;width:52px;display:grid}.knob-dial{cursor:ns-resize;touch-action:none;border-radius:50%;width:44px;height:44px}.knob-dial:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.knob-dial svg{width:100%;height:100%;display:block;overflow:visible}.knob-track{fill:none;stroke:var(--panel-3);stroke-width:3.5px;stroke-linecap:round}.knob-value{fill:none;stroke:var(--deck1);stroke-width:3.5px;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--deck1))}.ch2 .knob-value{stroke:var(--deck2);filter:drop-shadow(0 0 3px var(--deck2))}.knob-cap{fill:#1c2130;stroke:var(--line-strong);stroke-width:1px}.knob-pointer{stroke:#fff;stroke-width:2.4px;stroke-linecap:round}.knob-ghost{fill:none;stroke:var(--warn);stroke-width:1.4px;stroke-dasharray:2 1.5}.knob-label{font:700 11px var(--display);letter-spacing:.08em;color:var(--muted);white-space:nowrap}.knob.lit .knob-dial{box-shadow:0 0 0 2px var(--lit), 0 0 16px var(--lit)}.knob.guide .knob-dial{animation:.9s ease-in-out infinite guide-blink}.knob.waiting .knob-label{color:var(--warn)}:root[data-theme=light] .knob-cap{fill:#f4f6fa}:root[data-theme=light] .knob-pointer{stroke:#12151c}.channel .fader-row{justify-content:center;align-items:flex-end;gap:8px;display:flex}.level-meter.vertical{align-items:flex-end;width:6px;height:120px;display:flex}.level-meter.vertical>div{background:linear-gradient(0deg, var(--ok), var(--warn) 85%, var(--danger));width:100%;height:0;transition:height 50ms linear}.slider.vertical{grid-template-columns:auto;justify-items:center;gap:4px;display:grid}.slider.vertical .slider-label{order:3}.slider.vertical .slider-track{justify-content:center;width:28px;height:120px;display:flex}.slider.vertical input{writing-mode:vertical-lr;direction:rtl;width:28px;height:120px}.slider.vertical input::-webkit-slider-runnable-track{background:linear-gradient(0deg, var(--panel-3), var(--line-strong));width:4px;height:auto}.slider.vertical .slider-track .ghost{margin:0 0 -7px -7px;top:auto}.slider.vertical output{text-align:center}.slider.xfader{grid-template-columns:minmax(0,1fr) 3em;margin-top:6px}.slider.xfader .slider-label{grid-column:1/-1}.overview-wrap{position:relative}.pick-track.big{border-style:dashed;width:fit-content;height:fit-content;margin:auto;padding:8px 18px;font-weight:700;position:absolute;inset:8px 0}.deck-mid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.deck-info{min-width:0}.jog-wheel{--jog:var(--deck1);touch-action:none;cursor:grab;width:112px;height:112px;display:block}.deck2 .jog-wheel{--jog:var(--deck2)}.jog-wheel:active{cursor:grabbing}.jog-wheel.empty{opacity:.45;cursor:default}.jog-seg{fill:none;stroke:var(--panel-3);stroke-width:6px;stroke-linecap:round;transition:stroke .12s}.jog-seg.on{stroke:color-mix(in srgb, var(--jog) 40%, var(--panel-3))}.jog-seg.now{stroke:var(--jog);filter:drop-shadow(0 0 4px var(--jog))}.jog-wheel.flash .jog-seg{stroke:var(--jog);filter:drop-shadow(0 0 6px var(--jog))}.jog-rim{fill:none;stroke:var(--line-strong);stroke-width:2px}.jog-platter{fill:#0c0f18;stroke:#262c3d;stroke-width:1.5px}.jog-groove{fill:none;stroke:#ffffff0f;stroke-width:1px}.jog-marker{stroke:var(--jog);stroke-width:3px;stroke-linecap:round}.jog-label{fill:var(--jog);opacity:.85}.jog-wheel.touched .jog-platter{stroke:var(--jog);filter:drop-shadow(0 0 8px var(--jog))}.brand img.pulse{box-shadow:var(--glow-1), 0 0 calc(var(--pulse,0) * 22px) rgba(123, 97, 255, calc(var(--pulse,0) * .9))}.wave.zoom.pulse{box-shadow:inset 0 0 40px #000c, 0 0 calc(var(--pulse,0) * 18px) rgba(123, 97, 255, calc(var(--pulse,0) * .45))}.mix-flash-layer{pointer-events:none;z-index:50;opacity:0;position:fixed;inset:0}.mix-flash-layer.on{animation:1.3s ease-out forwards edge-flash}.mix-flash-layer.deck1{box-shadow:inset 0 0 80px 6px var(--deck1)}.mix-flash-layer.deck2{box-shadow:inset 0 0 80px 6px var(--deck2)}@keyframes edge-flash{0%{opacity:0}15%{opacity:.75}to{opacity:0}}.review{position:relative;overflow:hidden}.review .stars .icon.on{animation:.5s cubic-bezier(.2,1.6,.4,1) both star-pop}.review .stars .icon.on:nth-child(2){animation-delay:.18s}.review .stars .icon.on:nth-child(3){animation-delay:.36s}@keyframes star-pop{0%{opacity:0;transform:scale(.2)rotate(-30deg)}to{opacity:1;transform:none}}.review .level-up{animation:1.6s ease-in-out 2 level-glow}@keyframes level-glow{50%{text-shadow:0 0 16px var(--hot)}}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;width:7px;height:12px;animation:1.8s ease-in forwards confetti-fall;position:absolute;top:-12px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--drift), 260px) rotate(var(--spin))}}:root[data-reduce-motion=true] .confetti,:root[data-reduce-motion=true] .mix-flash-layer{display:none}.wave{width:100%;display:block}.wave.overview{cursor:pointer;border:1px solid var(--line);background:#05060a;border-radius:8px;height:46px;margin:8px 0}.wave.zoom{border:1px solid var(--line-strong);background:#030406;border-radius:14px;height:132px;box-shadow:inset 0 0 40px #000c}.wave.grid-preview{background:#030406;border-radius:10px;height:120px;margin:6px 0}.wave.sections-preview{background:#030406;border-radius:10px;height:90px;margin:6px 0}.pads{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.pads h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:8px;display:flex}.pad-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.pad{touch-action:none;background:#0b0d12;border-width:2px;border-radius:10px;flex-direction:column;padding:8px 4px}.pad b{font:800 16px var(--display)}.pad small{font:600 11px var(--mono);color:var(--muted)}.pad.set{box-shadow:inset 0 0 18px #ffffff0f}.pad.set small{color:var(--text)}button.lit,.slider.lit .slider-track{box-shadow:0 0 0 2px var(--lit), 0 0 16px var(--lit)}button.guide,.slider.guide .slider-track{animation:.9s ease-in-out infinite guide-blink}@keyframes guide-blink{50%{box-shadow:0 0 0 3px var(--warn), 0 0 22px var(--warn)}}button.guide,.slider.guide .slider-track,.knob.guide .knob-dial{outline:2px dashed var(--warn);outline-offset:2px}:root[data-reduce-motion=true] :is(button.guide,.slider.guide .slider-track,.knob.guide .knob-dial,.transport button.primary.waiting,.sampler-pad.on){box-shadow:0 0 0 3px var(--warn), 0 0 16px var(--warn)}.flx4{--lit:#3dffb0;--ok:#3dffb0;--warn:#ffd23f;width:100%;height:auto;max-height:420px;display:block}.flx4 .body{fill:#0b0d12;stroke:var(--line-strong);stroke-width:2px}.flx4 .divider{stroke:#1d2230;stroke-width:2px}.flx4 .area{fill:#5b6375;font:700 13px var(--display);letter-spacing:.1em;text-anchor:middle}.flx4 .part{fill:#12151d;stroke:#4a5266;stroke-width:1.5px}.flx4 .part.inner{fill:#161a24}.flx4 .part.dot{fill:#1f2430}.flx4 .part.knob{fill:#07080c}.flx4 .track{fill:#3a4152}.flx4 .label{fill:#aeb6c6;font:600 9px var(--display);letter-spacing:.04em;text-anchor:middle;pointer-events:none}.flx4 .ctl.inactive .part{opacity:.6}.flx4 .ctl.inactive .label{opacity:.7}.flx4 .ctl.done .part{stroke:var(--ok);stroke-width:2.5px;filter:drop-shadow(0 0 3px var(--ok))}.flx4 .ctl.lit .part{fill:var(--lit);stroke:#fff;filter:drop-shadow(0 0 6px var(--lit))}.flx4 .ctl.lit .label{fill:#000}.flx4 .ctl.guide .part{stroke:var(--warn);stroke-width:3px;stroke-dasharray:5 3;filter:drop-shadow(0 0 6px var(--warn));animation:.8s steps(2,start) infinite blink}@keyframes blink{to{fill:var(--warn)}}.library-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.library-head h2{font:700 16px var(--display);letter-spacing:.12em;align-items:center;gap:6px;display:flex}.library-head input[type=search]{min-width:230px}.library-head label{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.library-body{grid-template-columns:210px 1fr;gap:12px;min-height:240px;display:grid}.playlists{border-radius:10px;align-content:start;gap:5px;padding:4px;display:grid}.playlists .item{text-align:left;justify-content:flex-start;width:100%}.playlists .item.on{border-color:var(--accent);box-shadow:var(--glow-1);background:#19e3ff1a}.playlist-row{grid-template-columns:1fr auto;gap:4px;display:grid}.playlists input{width:100%}.focused{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--glow-1)}.tracks{border:1px solid var(--line);border-radius:10px;max-height:380px;overflow:auto}.tracks table{border-collapse:collapse;width:100%;font-size:14px}.tracks th,.tracks td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 10px}.tracks th{background:var(--panel-solid);color:var(--muted);font:700 12px var(--display);letter-spacing:.1em;position:sticky;top:0}.tracks td:first-child{text-overflow:ellipsis;max-width:320px;font-weight:700;overflow:hidden}.tracks .num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.tracks tr:hover td{background:#ffffff06}.tracks tr.cursor td{background:#19e3ff1a}.tracks tr.cursor td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.tracks .load button{margin-right:4px;padding:2px 10px}.row-actions{gap:4px;display:inline-flex}.empty{padding:24px}.toast{border:1px solid var(--lit);z-index:20;pointer-events:none;background:#0a0c11f2;border-radius:999px;padding:9px 20px;font-weight:700;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 0 22px #3dffb059,0 10px 30px #00000080}:root[data-theme=light] .toast{background:#fff}.mix-hint{background:#ffd23f12;border:1px solid #ffd23f99;border-radius:999px;flex:1;align-items:center;gap:6px;min-width:0;padding:3px 10px;font-weight:700;display:flex}.mix-hint .icon{color:var(--warn);flex:none}.mix-hint-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#000000a6;place-items:center;display:grid;position:fixed;inset:0}.keys-help{max-width:580px;max-height:80vh;overflow:auto}.keys-help h2{align-items:center;gap:8px;display:flex}.keys-help td{padding:3px 12px 3px 0}.coach{background:linear-gradient(var(--panel-solid), var(--panel-solid)) padding-box, var(--neon) border-box;border:1px solid #0000;grid-template-columns:76px minmax(0,1fr);align-items:start;column-gap:14px;display:grid;position:relative;box-shadow:0 0 30px #19e3ff1f,0 0 30px #ff2e881a}.coach-body{gap:8px;min-width:0;display:grid}.coach-navi{justify-items:center;padding-top:2px;display:grid}@media (width<=640px){.coach{grid-template-columns:52px minmax(0,1fr);column-gap:10px}.coach-navi .navi{width:52px;height:52px}}.panel.mixer{position:relative}.mixer-navi{pointer-events:none;z-index:1;position:absolute;top:6px;right:8px}.navi{filter:drop-shadow(0 0 10px #19e3ff47);--hop:0;--squash:0;--spin:0;--mouth:0;--look:0;--lean:0;--armL:0;--armR:0;flex:none;animation:.45s cubic-bezier(.2,1.6,.4,1) both navi-pop;display:block;overflow:visible}.navi-cheer{--armL:1.6;--armR:1.6;animation:.45s cubic-bezier(.2,1.6,.4,1) both navi-pop,.7s ease-in-out .45s 3 navi-hop}.navi-body{transform-box:view-box;transform-origin:50px 93px;transform:translateY(calc(var(--hop) * -6px)) rotate(calc(var(--lean) * 8deg)) scale(calc(1 + var(--squash) * .07), calc(1 - var(--squash) * .1))}.navi-arm{transform-box:view-box}.navi-arm-l{transform-origin:19px 60px;transform:rotate(calc((var(--armL) * 75 - 45) * 1deg))}.navi-arm-r{transform-origin:81px 60px;transform:rotate(calc((var(--armR) * 75 - 45) * -1deg))}.navi-pupil{transform:translateX(calc(var(--look) * 2.2px))}.navi-smile-line{opacity:calc(1 - var(--mouth) * 4)}.navi-mouth-open{transform-box:view-box;transform-origin:50px 61px;transform:scaleY(var(--mouth));opacity:calc(var(--mouth) * 4)}.navi-spin{transform-box:view-box;transform-origin:50px 53px;transform:rotate(calc(var(--spin) * 1deg));animation:3.2s linear infinite navi-spin}.navi[data-live=true] .navi-spin{animation:none}@keyframes navi-pop{0%{transform:scale(.82)translateY(5px)}to{transform:none}}@keyframes navi-hop{50%{transform:translateY(-6px)}}@keyframes navi-spin{to{transform:rotate(360deg)}}.coach .coach-say,.navi-bubble{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:12px;padding:8px 14px;position:relative}.coach .coach-say:before,.navi-bubble:before{content:"";background:var(--panel-2);border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);width:12px;height:12px;position:absolute;top:16px;left:-7px;transform:rotate(45deg)}.navi-says{align-items:center;gap:12px;margin-bottom:10px;display:flex}.navi-bubble{flex:1;align-items:center;min-width:0;min-height:calc(3.2em + 18px);font-weight:700;line-height:1.6;display:flex}.navi-bubble:before{margin-top:-6px;top:50%}.coach.demo{background:linear-gradient(var(--panel-solid), var(--panel-solid)) padding-box, linear-gradient(90deg, var(--hot), var(--warn)) border-box}.coach.challenge{background:linear-gradient(var(--panel-solid), var(--panel-solid)) padding-box, linear-gradient(90deg, var(--warn), var(--hot)) border-box}.coach h2{font-size:22px}.coach-kicker{font:700 12px var(--display);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin:0}.coach-goal,.coach-say,.coach-hint,.praise,.next-step,.level-up,.unlock{align-items:flex-start;gap:8px;display:flex}.coach-goal{margin:0;font-size:17px}.coach-goal .icon{color:var(--hot);margin-top:.25em}.coach-say{min-height:calc(3.4em + 18px);margin:0;font-size:19px;font-weight:700;line-height:1.7}.coach-hint{background:#ffd23f14;border:1px solid #ffd23f66;border-radius:10px;margin:0;padding:8px 12px}.coach-hint .icon{color:var(--warn);margin-top:.2em}.coach-hint.empty{visibility:hidden}.tap-pad{min-width:12em;font-size:1.2em}.stars{vertical-align:middle;gap:2px;display:inline-flex}.stars .icon{width:34px;height:34px;color:var(--panel-3)}.stars .on .icon,.stars .icon.on{color:var(--warn);filter:drop-shadow(0 0 8px #ffd23fcc)}.score{font:800 34px var(--display);vertical-align:middle;margin-left:12px}.score small{color:var(--muted);font-size:14px}.praise{margin:0;font-size:18px;font-weight:700}.praise .icon{color:var(--ok);margin-top:.2em}.next-step{margin:0}.next-step .icon{color:var(--accent);margin-top:.25em}.metrics{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.metrics b{color:var(--text);font:700 16px var(--display)}.reward{gap:4px;display:grid}.xp-gain{font:800 26px var(--display);letter-spacing:.04em;color:var(--ok);text-shadow:0 0 14px #3dffb080;align-items:center;gap:6px;margin:0;display:flex}.level-up,.unlock{margin:0;font-weight:700}.level-up .icon{color:var(--hot)}.unlock .icon{color:var(--ok)}.facts th{text-align:left;color:var(--muted);white-space:nowrap;vertical-align:top;padding:3px 14px 3px 0;font-weight:600}.setting{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0;display:flex}.setting-label{min-width:10em;color:var(--muted);font-size:14px}.segmented{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.segmented button{background:0 0;border-color:#0000;padding:5px 12px}.segmented button.on{border-color:var(--accent);box-shadow:var(--glow-1);background:#19e3ff1f}.hotcue-list td,.sections-list td{padding:3px 8px 3px 0}.sections-list input[type=number]{width:5em}.attempt-log{border:1px solid var(--line);border-radius:10px;max-height:360px;margin-top:10px;overflow:auto}.attempt-log table{border-collapse:collapse;width:100%;font-size:13px}.attempt-log th,.attempt-log td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:5px 10px}.attempt-log th{background:var(--panel-solid);color:var(--muted);font:700 12px var(--display);letter-spacing:.06em;position:sticky;top:0}.attempt-log .num{text-align:right;font-variant-numeric:tabular-nums}.attempt-log td.stuck{white-space:normal}.attempt-log .stuck span{margin-right:12px;display:inline-block}.attempt-log p{margin:6px 10px}.class-screen h2.section-title{font-size:17px}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.tile{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;gap:2px;padding:12px 14px;display:grid}.tile b{font:800 30px/1.1 var(--display);color:var(--accent)}.tile span{font-weight:700}.swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;display:inline-block;box-shadow:0 0 8px}.lyrics{white-space:pre-wrap;background:var(--panel-2);max-height:280px;font:13px/1.6 var(--body);border-radius:10px;padding:10px;overflow:auto}button.tap{min-width:7em;font-family:var(--mono)}.section-title{align-items:center;gap:6px;display:flex}:root[data-theme=light] :is(button.primary,.deck-no,.badge,.tag.new){color:#fff}:root[data-theme=light] .panel{box-shadow:0 6px 18px #141e3214}:root[data-theme=light] .pad{background:var(--panel-2)}:root[data-theme=light] .beat-dots i.on:first-child{background:var(--text);border-color:var(--text)}:root[data-theme=light] :is(.bpm,.xp-gain){text-shadow:none}:root[data-theme=light] .tracks tr:hover td{background:#00000008}@media (width<=1100px){.play,.library-body{grid-template-columns:1fr}.hero-title{font-size:40px}}.icon.rec{color:var(--danger)}.record-bar{align-items:center;gap:10px;min-height:52px;padding:8px 14px;display:flex}.record-bar>button{flex:none}.record-bar .desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.record-bar.on{border-color:var(--danger)}.rec-dot{background:var(--danger);width:12px;height:12px;box-shadow:0 0 10px var(--danger);border-radius:50%;animation:1s steps(2,start) infinite rec-blink}@keyframes rec-blink{to{visibility:hidden}}.record-bar .num,.replay-bar .num{font:700 16px var(--mono)}.replay-bar{padding:10px 14px}.replay-progress{background:var(--panel-3);border-radius:3px;height:6px;overflow:hidden}.replay-progress>div{background:var(--accent);height:100%;transition:width .1s linear}.replay-steps{gap:2px;margin:8px 0 4px;padding:0;list-style:none;display:grid}.replay-steps li{color:var(--muted);border-radius:6px;padding:2px 8px}.replay-steps li .num{margin-right:6px;font-size:13px}.replay-steps li.now{color:var(--text);background:var(--panel-3);font-weight:700}.recordings .recording-title{font:700 18px var(--display);width:min(100%,420px)}.recordings .credits{margin:4px 0 8px;padding-left:1.4em}.recordings h3.small{margin:8px 0 0}.rec-chip{border-color:var(--danger)}.beat-fx{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.beat-fx h3{align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.beat-fx .row{margin:6px 0}.build-up{border-top:1px solid var(--line);gap:6px;margin-top:10px;padding-top:8px;display:grid}.build-up h3{align-items:center;gap:6px;margin:0;display:flex}.build-up-slider{grid-template-columns:3.4em minmax(0,1fr) 2.6em}.build-up button.primary{justify-self:stretch}.beat-fx .fx-kind{flex:1;min-width:0}.beat-fx .fx-tip{min-height:2.4em;margin:0 0 4px}.beat-fx .fx-beats{text-align:center;font:700 16px var(--mono);flex:1}.beat-fx .segmented{margin:6px 0;display:flex}.beat-fx .segmented button{flex:1}.beat-fx .fx-on{width:100%;margin-top:6px;font-weight:700}.beat-fx .fx-on.on{animation:.9s ease-in-out infinite guide-blink}.automix-bar .automix-songs{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 2px;font-weight:700;display:flex}.automix-bar .automix-step{margin:0 0 4px}.key-row{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.key-row .key-name strong{font-family:var(--mono)}.key-row button.small{min-width:2.2em}.key-cell{white-space:nowrap;font-family:var(--mono)}.tracks th.match-col,.tracks td.match-cell{text-align:center;width:2.6em;min-width:2.6em;padding-left:2px;padding-right:2px}.match-mark{text-align:center;width:1.3em;color:var(--ok);font-weight:800;line-height:1;display:inline-block}.match-mark.best{text-shadow:0 0 8px var(--ok)}.match-mark.none{color:var(--faint);font-weight:400}.match-mark.now{color:var(--muted)}:root[data-theme=light] .match-mark.best{text-shadow:none}.pro-row{align-items:center;margin:6px 0}.pro-row button{touch-action:none}.pads h3 .grow{flex:1}.pad.on{border-color:var(--hot);box-shadow:var(--glow-2), inset 0 0 18px #ff2e8840}.pad.padfx small{font-size:10px;line-height:1.2}.pad b .icon{vertical-align:-1px;width:13px;height:13px;margin-left:3px}.sampler{margin-top:12px}.sampler-head{flex-wrap:wrap;align-items:center;gap:10px}.sampler-head h2{align-items:center;gap:6px;margin:0;display:flex}.sampler-banks{grid-template-columns:1fr 1fr;gap:18px;margin:10px 0;display:grid}.sampler-pad small{font-family:var(--body,inherit);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.2;overflow:hidden}.sampler-pad.on{animation:.25s ease-in-out infinite alternate guide-blink}.sampler-pad.editing{border-color:var(--accent);box-shadow:var(--glow-1)}.sampler-editor{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.sampler-editor h3{margin:0 0 6px}.sampler-editor h4{color:var(--muted);margin:12px 0 4px;font-size:13px}.sampler-editor .row{align-items:center;gap:6px;margin:6px 0}.sample-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sample-list li{align-items:center;gap:8px;display:flex}.sample-list li button:first-child{text-align:left;min-width:9em}@media (width<=900px){.sampler-banks{grid-template-columns:1fr}}.stems-row{margin:6px 0}.stems-title{margin:0 0 4px}.stems-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.stem-part{gap:4px;display:grid}.stem-part button{white-space:nowrap;text-overflow:ellipsis;padding:6px 4px;overflow:hidden}.stem-part button.stem-mute:not(.on){color:var(--muted);border-style:dashed;text-decoration:line-through}.stem-part input{width:100%}.stems-list td{padding:3px 8px 3px 0}.stems-list .stem-file{text-overflow:ellipsis;white-space:nowrap;max-width:28em;overflow:hidden}.stem-tag{margin-left:6px;font-size:10px}.ai-separation{align-items:center;gap:8px;margin:8px 0}.ai-separation progress{flex:1;min-width:120px;max-width:320px}.licenses input[type=search]{width:100%;max-width:420px}.license-group h3{margin-top:0}.license-item{border-top:1px solid var(--line);padding:6px 0}.license-item summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.license-what{flex-basis:100%}.license-body{padding:6px 0 4px 16px}.license-url{word-break:break-all}.license-text{white-space:pre-wrap;word-break:break-word;font:12px/1.5 var(--mono);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;max-height:360px;padding:10px;overflow:auto}.sequencer{border-top:1px solid var(--line);gap:8px;margin-top:10px;padding-top:8px;display:grid}.sequencer h3{align-items:center;gap:6px;margin:0;display:flex}.seq-grid{gap:4px;display:grid;overflow-x:auto}.seq-row{grid-template-columns:9em repeat(16,minmax(18px,1fr));align-items:center;gap:3px;display:grid}.seq-row select{min-width:0;font-size:12px}.seq-step{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:5px;min-width:0;height:26px;padding:0}.seq-step.beat{border-left:2px solid var(--line-strong);background:var(--panel-3)}.seq-step.on{background:var(--hot);border-color:var(--hot);box-shadow:0 0 8px var(--hot)}.seq-step.now{outline:2px solid var(--lit);outline-offset:-1px}.special-title{margin-top:12px}.mission-how{margin-top:2px;display:block}.rating{gap:0;display:inline-flex}.rating .star{min-width:0;box-shadow:none;color:var(--muted);opacity:1;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.rating .star.on{color:var(--warn)}.rating .star:hover{color:var(--warn);box-shadow:none}.rating-cell{white-space:nowrap}.track-meta{align-items:center;margin-top:8px}.tags-input{flex:1;align-items:center;gap:8px;min-width:240px;display:flex}.tags-input input{flex:1}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root[data-fit=true] body{min-height:0;overflow:hidden}:root[data-fit=true] .app{height:var(--app-h,100vh);flex-direction:column;display:flex;overflow:hidden}:root[data-fit=true] .app>.bar{flex:none;padding-top:7px;padding-bottom:7px;position:relative}:root[data-fit=true] .app{position:relative}:root[data-fit=true] .app>.error{z-index:12;background:var(--panel-solid);margin:0;position:absolute;top:52px;left:12px;right:12px;box-shadow:0 10px 30px #00000080}:root[data-fit=true] .play-screen{flex:1;grid-template-rows:auto auto auto minmax(0,1fr);gap:8px;min-height:0;padding:8px 12px 10px}:root[data-fit=true] .play{grid-template-columns:repeat(3,minmax(0,1fr))}:is(.play-screen,.lesson-screen) .play{align-items:stretch;gap:10px}:is(.play-screen,.lesson-screen) .panel{border-radius:14px;padding:10px 12px}.play-top{min-width:0;height:40px}.play-top>.panel{white-space:nowrap;align-items:center;gap:10px;height:100%;min-height:0;padding:0 12px;display:flex;position:relative;overflow:hidden}.play-top .record-bar>button,.play-top .replay-bar>button{flex:none;padding:5px 12px}.play-top .replay-bar strong{flex:none}.play-top .replay-title{text-overflow:ellipsis;max-width:26%;overflow:hidden}.play-top .replay-steps{flex:1;gap:4px;min-width:0;margin:0;display:flex;overflow:hidden}.play-top .replay-steps li{text-overflow:ellipsis;flex:none;max-width:48%;padding:1px 8px;overflow:hidden}.play-top .replay-steps li.done{opacity:.7}.play-top .replay-progress{border-radius:0;height:3px;position:absolute;bottom:0;left:0;right:0}.play-top .automix-songs{text-overflow:ellipsis;flex:0 auto;align-items:center;gap:4px;min-width:0;max-width:22%;margin:0;display:inline-flex;overflow:hidden}.play-top .automix-step{text-overflow:ellipsis;flex:1;min-width:0;margin:0;overflow:hidden}.play-top .automix-rec{color:var(--danger);flex:none;align-items:center;gap:4px;font-weight:700;display:inline-flex}.play-screen .wave.zoom{border-radius:12px;height:80px}.deck.compact{align-content:start;gap:6px;display:grid}.deck.compact>*{margin:0}.deck.compact .deck-head{justify-content:flex-start;gap:8px;min-width:0;height:28px}.deck.compact .deck-head h2{flex:none}.deck.compact .deck-head .track-name{flex:0 auto;min-width:0;margin:0;font-size:15px}.deck.compact .deck-head .artist{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;font-size:12px;overflow:hidden}.deck.compact .deck-head .badge{flex:none}.deck.compact .deck-head .pick-track{flex:none;margin-left:auto}.deck.compact .wave.overview{height:32px;margin:0}.deck.compact .pick-track.big{padding:4px 14px;inset:0}.deck.compact .deck-mid{gap:8px}.deck.compact .jog-wheel{width:92px;height:92px}.deck.compact .time{white-space:nowrap;align-items:baseline;gap:6px;margin:0;font-size:22px;line-height:1.15;display:flex;overflow:hidden}.deck.compact .time .bpm{font:700 20px var(--display);font-variant-numeric:tabular-nums;margin-left:auto}.deck.compact .time .bpm small{color:var(--muted);text-shadow:none;letter-spacing:.1em;font-size:11px}.deck.compact .phrase{gap:10px;min-height:22px;margin:0}.deck.compact .phrase-bar{font-size:16px}.deck.compact .deck-info{align-content:center;gap:2px;display:grid}.deck.compact .deck-info>p:not(.time){line-height:22px}.deck.compact .phrase,.deck.compact .section-now{height:27px;min-height:0}:is(.play-screen,.lesson-screen) .slider:not(.vertical) .slider-track input{display:block}.deck.compact .section-now{min-height:22px;margin:0}.deck.compact .deck-status{margin:0;font-size:13px}.deck-status.mix-cue{color:var(--ok)}.deck-status.mix-cue.now{font-weight:800}.deck-status.mix-cue.now .icon{filter:drop-shadow(0 0 4px var(--ok))}.deck.compact .transport{gap:6px;margin:0}.deck.compact .transport button{padding:6px 8px}.deck.compact .transport.big button{padding:10px 8px}.deck.compact .transport button,.pads.tabbed .stem-part button{touch-action:none}.tempo-row{align-items:center;gap:8px;min-width:0;display:flex}.tempo-row .slider{flex:1;grid-template-columns:3.4em minmax(0,1fr) 3.6em;min-width:0}.tempo-row>button{flex:none}.deck.compact .deck-options{white-space:nowrap;gap:6px;min-width:0;margin:0}.deck.compact .deck-options button{flex:none}.key-badge{font:600 13px var(--body);color:var(--muted);white-space:nowrap}.key-badge strong{color:var(--text);font-family:var(--mono)}.deck.compact .pro-row{gap:6px;margin:0}.deck.compact .pro-row button{padding:4px 10px;font-size:13px}.pads.tabbed{border-top:1px solid var(--line);gap:5px;margin:0;padding:6px 0 0;display:grid}.pad-tabs{align-items:center;gap:3px;min-width:0;display:flex}.pad-tablist{gap:3px;min-width:0;display:flex}.pad-tab{min-width:0;color:var(--muted);white-space:nowrap;background:0 0;border-color:#0000;border-radius:7px;flex:0 auto;padding:3px 8px;font-size:12px;position:relative}.pad-tab:hover:not(:disabled){box-shadow:none;color:var(--text);border-color:var(--line-strong)}.pad-tab.on{color:var(--text);background:var(--panel-3);border-color:var(--line-strong)}.deck1 .pad-tab.on{border-color:var(--deck1);box-shadow:inset 0 -2px 0 var(--deck1)}.deck2 .pad-tab.on{border-color:var(--deck2);box-shadow:inset 0 -2px 0 var(--deck2)}.pad-tab .tab-mark{box-sizing:border-box;pointer-events:none;position:absolute}.pad-tab .tab-mark-mode{background:var(--lit);width:7px;height:7px;box-shadow:0 0 0 1.5px var(--panel-solid), 0 0 7px var(--lit);border-radius:1.5px;top:-1px;right:-1px}.pad-tab .tab-mark-loop{border:2px solid var(--hot);background:var(--panel-solid);width:10px;height:10px;box-shadow:0 0 0 1.5px var(--panel-solid), 0 0 7px var(--hot);border-radius:50%;top:-2px;left:-2px}.pad-tab-extra{flex:none;gap:3px;margin-left:auto;display:inline-flex}.pad-tab-extra button.small{padding:1px 7px;font-size:11px}.pad-area{min-width:0;height:68px;overflow:hidden}.pads.tabbed .pad-grid{gap:5px}.pads.tabbed .pad{border-radius:8px;gap:0;height:31px;min-height:0;padding:2px 4px}.pads.tabbed .pad b{font-size:13px;line-height:1.1}.pads.tabbed .pad small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.15;overflow:hidden}.loop-area{gap:5px;display:grid}.loop-row{grid-template-columns:auto auto minmax(0,1.5fr) auto auto minmax(0,1fr);gap:4px;display:grid}.loop-area.no-beat-loop .loop-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.loop-row button{white-space:nowrap;text-overflow:ellipsis;min-width:0;height:31px;padding:4px 6px;font-size:12px;overflow:hidden}.beat-loop-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.beat-loop{min-width:0;height:31px;font:700 12px var(--mono);border-radius:8px;padding:2px 0}.pads.tabbed .pad.jump small{align-items:center;gap:2px;display:inline-flex}.pads.tabbed .pad.jump .icon{width:10px;height:10px}.pad-note{text-align:center;justify-content:center;align-items:center;gap:6px;height:100%;margin:0;display:flex}.pads.tabbed .stems-row{margin:0}.pads.tabbed .stems-title{display:none}.pads.tabbed .stems-grid{gap:4px 6px}.pads.tabbed .stem-part{gap:1px}.pads.tabbed .stem-part button{padding:2px 4px;font-size:12px}.pads.tabbed .stem-part input[type=range]{height:16px}.pads.tabbed .key-row{gap:6px 8px;margin:0}.mixer.compact{grid-template:"title side""ch side""xf side"1fr/minmax(0,1fr) 184px;align-content:start;gap:4px 12px;display:grid}.mixer.compact>h2{grid-area:title;font-size:13px;line-height:20px}.mixer.compact .channels{grid-area:ch;gap:8px;margin:0}.mixer.compact .mixer-fader{grid-area:xf;align-content:start;gap:6px;display:grid}.mixer.compact .mixer-side{grid-area:side;align-content:start;gap:6px;min-width:0;display:grid}.mixer.compact .mixer-side>*{min-width:0}.mixer.compact .mixer-side>button,.mixer.compact .mixer-fader>button{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mixer.compact .mixer-navi{top:4px;right:6px}.mixer.compact .channel{gap:4px}.mixer.compact .channel h3{text-align:center;margin:0;font-size:12px}.mixer.compact .strip{justify-content:center;align-items:flex-end;gap:4px;display:flex}.mixer.compact .channel .knobs{gap:1px}.mixer.compact .knob{width:38px}.mixer.compact .knob-dial{width:28px;height:28px}.mixer.compact .knob-label{font-size:10px;line-height:1.15}.mixer.compact .channel .fader-row{gap:4px}.mixer.compact .level-meter.vertical{width:5px;height:156px}.mixer.compact .slider.vertical{gap:2px}.mixer.compact .slider.vertical .slider-track,.mixer.compact .slider.vertical input{width:24px;height:156px}.mixer.compact .slider.vertical .slider-label{font-size:11px}.mixer.compact .channel button{padding:4px;font-size:12px}.mixer.compact .slider.xfader{row-gap:0;margin:0}.mixer.compact .mixer-fader>button{padding:5px 8px;font-size:13px}.hp-knobs{gap:4px;min-height:44px;display:flex}.mixer.has-navi .hp-knobs{min-height:48px;padding-right:50px}.mixer.compact .hp-knobs .knob{width:52px}.mixer.compact .mixer-side>button{padding:5px 8px;font-size:12px}.mixer.compact .beat-fx{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6px;margin:0;padding-top:6px;display:grid}.mixer.compact .beat-fx>*{grid-column:1/-1;min-width:0}.mixer.compact .beat-fx>.row:has(.fx-beats){grid-column:1}.mixer.compact .beat-fx>.segmented{grid-column:2;align-self:center}.mixer.compact .beat-fx .fx-beats{white-space:nowrap;min-width:0}.mixer.compact .beat-fx h3{white-space:nowrap;margin:0 0 2px;font-size:12px;overflow:hidden}.mixer.compact .beat-fx h3 .small{text-overflow:ellipsis;overflow:hidden}.mixer.compact .beat-fx .row{gap:4px;margin:3px 0}.mixer.compact .beat-fx button{padding:3px 7px}.mixer.compact .beat-fx .fx-kind{width:100%;min-width:0;padding:3px 6px;font-size:13px}.mixer.compact .beat-fx .row>button{flex:none}.mixer.compact .beat-fx .fx-tip{white-space:nowrap;text-overflow:ellipsis;min-height:0;margin:0;font-size:11px;overflow:hidden}.mixer.compact .beat-fx .fx-beats{font-size:14px}.mixer.compact .beat-fx .segmented{margin:3px 0;padding:2px}.mixer.compact .beat-fx .segmented button{min-width:0;padding:2px 3px;font-size:12px}.mixer.compact .beat-fx>.row:has(.fx-beats)>button{padding:2px 4px}.mixer.compact .beat-fx .slider{grid-template-columns:4.6em minmax(0,1fr) 2.6em;gap:4px}.mixer.compact .beat-fx .slider-label{font-size:10px}.mixer.compact .beat-fx .fx-on{margin-top:3px;padding:4px}.mixer.compact .build-up{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 6px;margin:0;padding-top:6px}.mixer.compact .build-up h3{grid-column:1/-1}.mixer.compact .build-up-slider{grid-template-columns:2.8em minmax(0,1fr) 1.8em;gap:3px}.mixer.compact .build-up button.primary{white-space:nowrap;text-overflow:ellipsis;justify-self:end;max-width:88px;overflow:hidden}.mixer.compact .build-up h3{font-size:12px}.mixer.compact .build-up button{padding:4px 8px;font-size:13px}.dock{grid-template-columns:auto minmax(0,1fr);gap:10px;height:440px;min-height:0;display:grid}.dock.has-side{grid-template-columns:auto minmax(0,1fr) auto}:root[data-fit=true] .dock{container:dock/size}.dock-side{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}:root[data-fit=true] .dock-side{width:min(192.3cqh,52cqw)}.dock-side .flx4{width:100%;max-width:100%;height:auto;max-height:100%}:root:not([data-fit=true]) .dock.has-side{grid-template-rows:420px auto;height:auto}:root:not([data-fit=true]) .dock-side{grid-column:1/-1}:root[data-fit=true] .dock{height:auto}.dock-tabs{flex-direction:column;gap:4px;display:flex}.dock-tab{color:var(--muted);white-space:nowrap;background:0 0;border-color:#0000;justify-content:flex-start;padding:6px 12px;font-size:13px}.dock-tab:hover:not(:disabled){box-shadow:none;color:var(--text);border-color:var(--line-strong)}.dock-tab.on{color:var(--text);border-color:var(--accent);box-shadow:var(--glow-1);background:#19e3ff14}.dock-body{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.dock-body>.panel{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;margin:0;padding:0}.dock .library{flex-direction:column;display:flex}.dock .library-head{flex-wrap:nowrap;flex:none;gap:6px;min-width:0;margin-bottom:6px}.dock .library-head h2,.dock .library>p.muted{display:none}.dock .library-head button,.dock .library-head select,.dock .library-head input{padding:4px 9px;font-size:13px}.dock .library-head button,.dock .library-head select,.dock .library-head label{white-space:nowrap;flex:none}.dock .library-head input[type=search]{flex:160px;min-width:90px}.dock .library-head select{max-width:124px}.dock .library-head label{white-space:nowrap;font-size:13px}.dock .library-head>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dock .library-body{flex:1;grid-template-columns:128px minmax(0,1fr);gap:6px;min-height:0;container:libbody/inline-size}.dock .btn-label{display:none}.dock .library-head>button{padding:4px 8px}.dock .tracks table{font-size:13px}.dock .tracks td:first-child{max-width:170px}.dock .tracks td.col-artist{text-overflow:ellipsis;max-width:80px;overflow:hidden}.dock .tracks .stem-tag{margin-left:4px;padding:0 5px;font-size:9px}.dock .rating .star{padding:0 1px;font-size:12px}.dock .tracks .load button{margin-right:2px;padding:1px 7px}.dock .tracks td select{max-width:96px;padding:1px 4px;font-size:12px}@container libbody (width<=900px){.dock .col-tempo{display:none}}@container libbody (width<=750px){.dock .col-artist{display:none}}.dock .playlists{gap:3px;min-height:0;padding:2px;overflow:auto}.dock .playlists .item,.dock .playlists input{padding:4px 8px;font-size:13px}.dock .tracks{height:100%;min-height:0;max-height:none}.dock .tracks th,.dock .tracks td{padding:3px 4px}.dock .tracks .load button{padding:1px 7px}.dock .tracks th.match-col,.dock .tracks td.match-cell{width:23px;min-width:23px;padding-left:0;padding-right:0}.dock .tracks th.match-col{letter-spacing:0;font-size:11px}.dock .empty{padding:12px}.dock .grid-nudge{grid-template-columns:auto auto minmax(0,1fr);align-content:start;gap:4px 22px;display:grid;overflow:auto}.dock .grid-nudge>h3,.dock .grid-nudge>p{grid-column:1/-1;margin:0}.dock .grid-nudge .row{flex-wrap:nowrap;margin:0}.dock .grid-nudge .setting-label{white-space:nowrap;min-width:0}.dock .grid-nudge button{white-space:nowrap;padding:5px 10px}.dock .sampler{flex-direction:column;gap:4px;display:flex}.dock .sampler-head{flex-wrap:nowrap;flex:none;min-width:0;margin:0}.dock .sampler-head h2{display:none}.dock .sampler-head>.muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dock .sampler-head button{flex:none}.dock .sampler-head .slider{flex:0 0 210px;grid-template-columns:3em minmax(0,1fr) 3em}.sampler-left{min-height:0;overflow:auto}.sampler-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-height:0;display:grid}.sampler-left{align-content:start;gap:6px;min-width:0;display:grid}.sampler-right{min-width:0;min-height:0;overflow:auto}.dock .sampler-banks{grid-template-columns:1fr 1fr;gap:10px;margin:0}.dock .sampler-pad{padding:3px 4px}.dock .sequencer{border-top:0;gap:4px;margin:0;padding-top:0}.dock .sequencer .row{margin:0}.dock .seq-step{height:22px}.dock .sampler-editor{border-top:0;margin:0;padding-top:0}:root[data-fit=true] .lesson-screen{flex:1;grid-template-rows:auto minmax(64px,1fr) auto;gap:8px;min-height:0;padding:8px 12px 10px}:root[data-fit=true] .lesson-screen.with-dock{grid-template-rows:auto 64px auto minmax(0,1fr)}:root[data-fit=true] .lesson-screen .wave.zoom{height:100%;min-height:0}.lesson-screen .wave.zoom{border-radius:12px;height:80px}.lesson-top{grid-template-columns:minmax(0,1fr) 380px;gap:10px;min-height:0;display:grid}:root[data-fit=true] .lesson-top{height:234px}:root[data-fit=true] .lesson-screen.with-dock .lesson-top{grid-template-columns:minmax(0,1fr) 356px;height:216px}.lesson-screen.with-dock .lesson-top .coach-say{min-height:calc(3.2em + 12px);padding-top:6px;padding-bottom:6px;font-size:17px}.lesson-top .flx4-panel{justify-content:center;align-items:center;min-width:0;padding:6px 8px;display:flex}.lesson-top .flx4{width:100%;height:auto;max-height:100%}.lesson-top .coach{min-height:0;padding:12px 16px;overflow:auto}.lesson-top .coach-body{gap:6px}.lesson-top .coach h2{font-size:20px}.lesson-top .coach-say{min-height:calc(3.2em + 16px);font-size:18px;line-height:1.6}.lesson-top .coach-goal{font-size:16px}.lesson-top .coach .row{margin:4px 0 0}.coach-foot{align-items:center;gap:10px;min-width:0;display:flex}.coach-foot .coach-hint{flex:1;align-items:center;min-width:0;min-height:calc(3.2em + 12px);padding:6px 12px;line-height:1.6}.coach-foot .coach-actions{flex:none;gap:4px;margin:0 0 0 auto}.coach-foot .coach-actions button:not(.big){white-space:nowrap;padding:4px 7px;font-size:13px}.lesson-top .tap-pad{min-width:10em;padding:10px 16px;font-size:1.1em}.coach.review .coach-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;column-gap:18px}.review-main,.review-side{align-content:start;gap:2px;min-width:0;display:grid}.review-side .muted.small{margin:0}.lesson-top .stars .icon{width:28px;height:28px}.lesson-top .score{font-size:28px}.lesson-top .praise{font-size:16px}.lesson-top .xp-gain{font-size:20px;line-height:1.3}.lesson-top .level-up,.lesson-top .unlock,.lesson-top .praise,.lesson-top .next-step{line-height:1.5}.lesson-top .coach.review .row{margin:2px 0}:root:not([data-fit=true]) .lesson-top{grid-template-columns:1fr}:root:not([data-fit=true]) .lesson-top .flx4-panel{justify-self:center;width:100%;max-width:520px}:root:not([data-fit=true]) .dock{grid-template-columns:1fr;height:auto}:root:not([data-fit=true]) .dock.has-side{grid-template-rows:auto;grid-template-columns:1fr}:root:not([data-fit=true]) .dock-tabs{flex-flow:wrap}:root:not([data-fit=true]) .dock-body{height:420px}:root:not([data-fit=true]) .dock .library-body{grid-template-columns:1fr}:root:not([data-fit=true]) .dock .playlists{flex-wrap:wrap;display:flex}:root:not([data-fit=true]) .play-top{height:auto}:root:not([data-fit=true]) .play-top>.panel{white-space:normal;flex-wrap:wrap;padding:6px 12px}:root:not([data-fit=true]) .sampler-main{grid-template-columns:1fr}@media print{:root{zoom:1!important}html,body{height:auto!important;overflow:visible!important}}.backup{gap:8px;display:grid}.backup p{margin:0}.backup-status{min-height:1.6em}.backup-found{border-color:var(--accent);box-shadow:var(--glow-1)}.backup-note{align-items:center;gap:6px;margin:4px 0 8px;display:flex}.backup-dir{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mix-timeline{gap:6px;min-width:0;display:grid}.mt-rows{gap:4px;min-width:0;display:grid}.mt-row{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:8px;min-width:0;display:grid}.mt-row:not(:has(.mt-who)){grid-template-columns:minmax(0,1fr)}.mt-who{width:3.6em;font:700 12px var(--display);color:var(--muted);letter-spacing:.06em;align-self:center}.mt-lane{border:1px solid var(--line-strong);--deck1:#19e3ff;--deck2:#ff2e88;background:#030406;border-radius:10px;height:96px;position:relative;overflow:hidden}.mix-timeline.compact .mt-lane{height:64px}.mt-chart{width:100%;height:100%;display:block}.mt-deck-label{font:700 11px var(--display);pointer-events:none;z-index:1;position:absolute;left:6px}.mt-deck-label1{color:#19e3ff;top:3px}.mt-deck-label2{color:#ff2e88;bottom:3px}.mt-center{stroke:#ffffff40;stroke-width:1px;vector-effect:non-scaling-stroke}.mt-volume{stroke-width:1.2px;vector-effect:non-scaling-stroke}.mt-deck1 .mt-volume{fill:#19e3ff47;stroke:#19e3ff}.mt-deck2 .mt-volume{fill:#ff2e8847;stroke:#ff2e88}.mt-deck1 .mt-bass{fill:#19e3ff}.mt-deck2 .mt-bass{fill:#ff2e88}.mt-clash{fill:#ffd23f52}.mt-silent{fill:#a0a8b866}.mt-loud{fill:#ff4d6d}.mt-mix rect{fill:none;stroke:#ffffffbf;stroke-width:1.2px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.mt-edge{stroke-width:3px;vector-effect:non-scaling-stroke}.mt-edge.ok{stroke:#3dffb0}.mt-edge.off{stroke:#ffd23f;stroke-dasharray:5 4}.mt-axis{height:16px;font:600 11px var(--mono);color:var(--muted);position:relative}.mt-axis.with-who{margin-left:calc(3.6em + 8px)}.mt-axis span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.mt-axis span:first-child{transform:none}.mt-legend{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.mt-legend li{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.mt-swatch{border-radius:2px;flex:none;width:16px;height:10px;display:inline-block}.mt-swatch-deck1{background:#19e3ff59;border:1px solid #19e3ff}.mt-swatch-deck2{background:#ff2e8859;border:1px solid #ff2e88}.mt-swatch-bass{background:linear-gradient(#19e3ff 50%,#ff2e88 50%)}.mt-swatch-mix{border:1px dashed var(--text);background:0 0;border-left:3px solid #3dffb0;border-right:3px dashed #ffd23f}.mt-swatch-clash{background:#ffd23f99}.mt-swatch-loud{box-shadow:inset 0 0 0 1px var(--line-strong);background:linear-gradient(#ff4d6d 0 35%,#0000 35%)}.mt-swatch-silent{box-shadow:inset 0 0 0 1px var(--line-strong);background:linear-gradient(#0000 0 30%,#a0a8b8d9 30% 70%,#0000 70%)}.mt-marks{gap:2px;max-height:132px;margin:0;padding:0;font-size:13px;list-style:none;display:grid;overflow:auto}.mt-marks li{border-left:3px solid var(--line-strong);border-radius:6px;padding:2px 8px}.mt-marks .num{font:700 12px var(--mono);margin-right:4px}.mt-mark-mix{border-left-color:var(--ok)!important}.mt-mark-clash{border-left-color:var(--warn)!important}.mt-mark-loud{border-left-color:var(--danger)!important}.mt-mark-silent{border-left-color:var(--muted)!important}.mix-report{gap:10px;min-width:0;display:grid}.mix-report .navi-says{margin:0}.mix-report-words{gap:4px;display:grid}.mix-report-words .praise,.mix-report-words .next-step{font-size:15px;font-weight:700}.mix-report-facts{gap:4px 22px}.metric-bars{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 22px;margin:0;padding:0;list-style:none;display:grid}.metric-bars li{grid-template-columns:8.5em minmax(0,1fr) 2.4em;align-items:center;gap:8px;font-size:13px;display:grid}.metric-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.metric-bar{background:var(--panel-3);border-radius:4px;height:8px;display:block;overflow:hidden}.metric-bar i{background:var(--accent);height:100%;display:block}.metric-bar i.good{background:var(--ok)}.metric-bar i.low{background:var(--warn)}.metric-bars .num{font:700 13px var(--mono);text-align:right}.mix-report-dialog{background:var(--panel-solid);gap:12px;width:min(980px,100% - 32px);max-height:92%;display:grid;overflow:auto}.mix-report-dialog h2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mix-report-dialog .row{margin:0}.recording-report{margin:8px 0}.recording-report summary{cursor:pointer;align-items:center;gap:6px;padding:4px 0;font-weight:700;display:inline-flex}.recording-report[open] summary{margin-bottom:8px}.lesson-trace{align-content:start;gap:10px;min-height:0;display:grid;overflow:auto}.lesson-trace h2{align-items:center;gap:8px;font-size:16px;display:flex}.lesson-trace .mt-lane{height:128px}.lesson-trace .mt-marks{max-height:none}:root[data-fit=true] .lesson-screen.reviewing{grid-template-rows:auto minmax(0,1fr)}:root[data-fit=true] .lesson-screen.reviewing .lesson-top{height:auto;min-height:234px}.lesson-screen.reviewing .lesson-top .coach{overflow:hidden}.play-screen{position:relative}.play-top{gap:8px;display:flex}.play-top>.panel{flex:1;min-width:0}.play-view-switch{border:1px solid var(--line-strong);background:var(--panel-solid);border-radius:12px;flex:none;align-items:stretch;display:flex;overflow:hidden}.play-view-switch button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:5px;padding:0 12px;font-size:13px;display:inline-flex}.play-view-switch button+button{border-left:1px solid var(--line)}.play-view-switch button:hover:not(:disabled){box-shadow:none;color:var(--text)}.play-view-switch button.on{color:var(--text);box-shadow:inset 0 -3px 0 var(--accent);background:#19e3ff1f;font-weight:700}:root[data-fit=true] .play-screen.view-stage{grid-template-rows:auto minmax(0,1fr) auto auto}.stage-waves{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;min-height:0;display:grid}.stage-waves.has-side{grid-template-columns:minmax(0,1fr) auto}:root[data-fit=true] .stage-waves{container:stagewaves/size}:root[data-fit=true] .play-screen .stage-waves .wave.zoom{height:100%}.stage-side{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}:root[data-fit=true] .stage-side{width:min(192.3cqh,34cqw)}.stage-side .flx4{width:100%;height:auto;max-height:100%}:root:not([data-fit=true]) .play-screen .stage-waves .wave.zoom{height:120px}:root:not([data-fit=true]) .stage-waves.has-side{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}:root[data-fit=true] .play-screen.view-show{grid-template-rows:auto auto auto minmax(0,1fr) auto}.play-screen.view-show .wave.zoom{height:100px}.show-decks{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;min-width:0;display:grid}.play-screen .show-deck{border-top:3px solid var(--deck1);align-items:center;gap:12px;min-width:0;height:84px;padding:6px 14px;display:flex;overflow:hidden}.play-screen .show-deck.deck2{border-top-color:var(--deck2)}.show-deck-no{width:46px;height:46px;font:800 26px var(--mono);color:var(--deck1);border:2px solid;border-radius:50%;flex:none;place-items:center;display:grid}.show-deck.deck2 .show-deck-no{color:var(--deck2)}.show-deck.playing .show-deck-no{box-shadow:0 0 16px,inset 0 0 10px}.show-deck-main{flex:1;gap:2px;min-width:0;display:grid}.show-deck-title{white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.show-deck-state{white-space:nowrap;align-items:center;gap:8px;font-size:15px;display:flex;overflow:hidden}.show-deck.playing .show-deck-state{color:var(--ok);font-weight:700}.show-deck-bpm{font:800 32px var(--mono);white-space:nowrap;flex:none}.show-deck-bpm small{color:var(--muted);margin-left:4px;font-size:12px}.play-screen .show-mix{align-items:flex-end;gap:12px;height:84px;padding:6px 14px;display:flex;overflow:hidden}.show-meter,.show-cross{justify-items:center;gap:2px;display:grid}.show-meter-track{background:var(--panel-3);border:1px solid var(--line-strong);border-radius:7px;width:14px;height:36px;display:block;position:relative;overflow:hidden}.show-meter-fill{background:var(--deck1);position:absolute;bottom:0;left:0;right:0}.show-meter.ch2 .show-meter-fill{background:var(--deck2)}.show-meter-label{height:24px;color:var(--muted);white-space:nowrap;font-size:11px;line-height:24px}.show-cross-track{border:1px solid var(--line-strong);background:linear-gradient(90deg, var(--deck1), var(--panel-3) 50%, var(--deck2));border-radius:6px;width:120px;height:12px;margin:12px 0;display:block;position:relative}.show-cross-knob{background:var(--text);border:2px solid var(--bg);border-radius:4px;width:12px;height:26px;margin-left:-6px;position:absolute;top:-8px}.show-board{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;display:grid}:root[data-fit=true] .show-board{container:showboard/size}.play-screen .show-flx4{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}:root[data-fit=true] .play-screen .show-flx4{width:min(192.3cqh - 14.46px,68cqw)}.show-flx4 .flx4{width:100%;height:auto;max-height:100%}.play-screen .show-words{grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden;container:showwords/inline-size}.show-words h2{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:15px;display:flex}.show-now{overflow-wrap:anywhere;align-self:center;max-height:100%;margin:0;font-size:clamp(22px,7.4cqw,44px);font-weight:800;line-height:1.4;overflow:hidden}.show-now .muted{font-size:.62em;font-weight:400}.show-before{border-top:1px solid var(--line);margin:0;padding:6px 0 0;list-style:none;display:grid}.show-before li{height:30px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:15px;line-height:30px;overflow:hidden}:root:not([data-fit=true]) .show-decks,:root:not([data-fit=true]) .show-board{grid-template-columns:minmax(0,1fr)}:root:not([data-fit=true]) .play-screen .show-words{min-height:220px}.play-screen .library-handle{white-space:nowrap;border-radius:12px;align-items:center;gap:12px;min-width:0;height:36px;padding:0 10px;display:flex;overflow:hidden}.library-handle>button{flex:none;padding:3px 10px}.library-handle>button.on{border-color:var(--accent);color:var(--text);box-shadow:var(--glow-1)}.library-handle-now{flex:0 auto;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.library-handle-now>*{flex:none}.library-handle-now>strong{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.library-handle-tip{text-align:right;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.play-screen .library-drawer{z-index:15;background:var(--panel-solid);border-color:var(--accent);height:min(48%,380px);box-shadow:0 -12px 40px #0000008c, var(--glow-1);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:6px;position:absolute;bottom:54px;left:12px;right:12px}:root[data-fit=true] .play-screen .library-drawer{height:min(48%,380px)}.library-drawer-head{white-space:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.library-drawer-head strong{flex:none;align-items:center;gap:6px;display:inline-flex}.library-drawer-head>.muted{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.library-drawer-head button{flex:none;padding:3px 10px}:root:not([data-fit=true]) .play-screen .library-drawer{height:62vh;position:fixed;bottom:8px;left:8px;right:8px}@media (width<=899px){.play-view-switch .label,.library-handle-tip{display:none}}.ear-screen{justify-items:center}:root[data-fit=true] .ear-screen{flex:1;align-content:start;min-height:0;padding:12px 16px 14px;overflow:auto}.ear-card{gap:14px;width:min(860px,100%);display:grid}.ear-head{align-items:center;gap:14px;display:flex}.ear-head h2{white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.ear-steps{flex:1;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ear-steps li{background:var(--panel-3);border:1px solid var(--line-strong);border-radius:4px;width:34px;height:8px}.ear-steps li.now{background:var(--accent);border-color:var(--accent);box-shadow:var(--glow-1)}.ear-steps li.right{background:var(--ok);border-color:var(--ok)}.ear-steps li.wrong{border-color:var(--warn);background:0 0;border-style:dashed}.ear-intro,.ear-question,.ear-result{gap:14px;display:grid}.ear-screen .navi-says{margin:0}.ear-kinds{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ear-kinds li{border:1px solid var(--line-strong);background:var(--panel-2);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.ear-kinds li.locked{background:0 0;border-style:dashed}.ear-kind-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.ear-kind-note{white-space:nowrap}.ear-level{flex:none;gap:4px;display:inline-flex}.ear-level i{border:1px solid var(--muted);border-radius:50%;width:9px;height:9px}.ear-level i.on{background:var(--accent);border-color:var(--accent)}.ear-error{min-height:22px;color:var(--danger);margin:0;font-weight:700}.ear-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ear-kind{align-items:center;gap:10px;margin:0;display:flex}.ear-kind-badge{border:1px solid var(--accent);border-radius:999px;padding:2px 12px;font-size:13px;font-weight:700}.ear-ask{color:var(--text);align-items:center;min-height:66px;margin:0;font-size:22px;line-height:1.5;display:flex}.ear-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;height:236px;display:grid}.ear-choice{border:2px solid var(--line-strong);background:var(--panel-2);border-radius:16px;align-content:center;justify-items:center;gap:8px;padding:12px 14px;display:grid}.ear-choice.playing{border-color:var(--accent);box-shadow:var(--glow-1)}.ear-choice.right{border-color:var(--ok)}.ear-choice.wrong{border-color:var(--warn);border-style:dashed}.ear-letter{font:800 56px/1 var(--mono)}.ear-choice-state{height:30px;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:inline-flex}.ear-choice.playing .ear-choice-state{color:var(--accent);font-weight:700}.ear-choice.right .ear-choice-state{color:var(--ok);font-weight:700}.ear-choice button{justify-content:center;min-width:180px}.ear-bars{align-items:flex-end;gap:2px;height:16px;display:inline-flex}.ear-bars i{transform-origin:bottom;background:currentColor;border-radius:1px;width:3px;height:100%;animation:.5s ease-in-out infinite alternate ear-bar}.ear-bars i:nth-child(2){animation-delay:.12s}.ear-bars i:nth-child(3){animation-delay:.24s}.ear-bars i:nth-child(4){animation-delay:.36s}@keyframes ear-bar{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}:root[data-reduce-motion=true] .ear-bars i{animation:none}@media (prefers-reduced-motion:reduce){.ear-bars i{animation:none}}.ear-tap{border:2px solid var(--line-strong);background:var(--panel-2);border-radius:16px;align-content:center;justify-items:center;gap:12px;height:236px;padding:14px;display:grid}.ear-tap.playing{border-color:var(--accent);box-shadow:var(--glow-1)}.ear-tap-button{border-radius:20px;justify-content:center;width:min(360px,100%);height:120px;font-size:40px;font-weight:800}.ear-feedback{border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 14px;min-height:112px;padding:10px 14px;display:grid}.ear-feedback.right{border-color:var(--ok);background:#3dffb00f}.ear-feedback.wrong{border-color:var(--warn);background:#ffd23f0f}.ear-feedback strong{white-space:nowrap;align-items:center;gap:6px;font-size:18px;display:inline-flex}.ear-feedback.right strong{color:var(--ok)}.ear-feedback.wrong strong{color:var(--warn)}.ear-explain{line-height:1.6}.ear-feedback button{white-space:nowrap}.ear-score{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;font-size:18px;display:flex}.ear-score .num{font:800 44px/1 var(--mono)}.ear-xp{color:var(--ok);margin-left:auto;font-weight:700}.ear-marks{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ear-marks li{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:14px;display:inline-flex}.ear-marks li.right{border-color:var(--ok)}.ear-marks li.right .icon{color:var(--ok)}.ear-marks li.wrong{border-color:var(--warn);border-style:dashed}.ear-marks li.wrong .icon{color:var(--warn)}.ear-changes{gap:4px;min-height:24px;margin:0;padding:0;list-style:none;display:grid}.ear-changes li{align-items:center;gap:6px;display:flex}@media (width<=640px){.ear-kinds{grid-template-columns:minmax(0,1fr)}.ear-choice button{width:100%;min-width:0}.ear-feedback{grid-template-columns:minmax(0,1fr)}.ear-ask{font-size:18px}}.plan-today{border-color:#19e3ff73}.plan-head{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.plan-head .section-title{flex-wrap:wrap;margin:0}.plan-title{color:var(--muted);margin-left:6px;font-weight:600}.plan-count{font:700 13px var(--display);min-width:8em}.plan-note{background:var(--panel-2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;margin:8px 0 0;padding:7px 12px}.plan-note b{color:var(--accent);margin-right:10px;font-size:12px}.plan-items{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.plan-item{text-align:left;background:var(--panel-2);border-radius:10px;grid-template-columns:2em minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px;width:100%;height:100%;padding:8px 10px;display:grid}.plan-items li.next .plan-item{border-color:var(--accent);box-shadow:var(--glow-1)}.plan-items li.done .plan-item{border-color:var(--ok)}.plan-no{border:1px solid var(--line-strong);width:1.9em;height:1.9em;font:700 13px var(--display);border-radius:50%;place-items:center;display:inline-grid}.plan-items li.done .plan-no{color:var(--ok);border-color:var(--ok)}.plan-text{gap:1px;min-width:0;display:grid}.plan-label{overflow-wrap:anywhere;font-weight:700}.plan-text small{font-size:12px}.plan-stars{color:var(--warn)}.tag.plan-done{color:var(--ok);border-color:var(--ok)}.plan-screen h2.section-title{font-size:17px}.plan-form{gap:10px;max-width:640px;margin-top:10px;display:grid}.plan-form label{gap:3px;display:grid}.plan-form label>span{font-size:13px;font-weight:700}.plan-form input{width:100%}.plan-form input[type=date]{width:12em}.plan-edit{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.plan-edit li{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:2em minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.plan-empty{border:1px dashed var(--line-strong);border-radius:10px;margin:8px 0 0;padding:12px}.plan-add{border-top:1px solid var(--line);margin-top:10px;padding-top:6px}.plan-add select{max-width:100%}.plan-status{min-height:1.6em;margin:4px 0}.plan-how{gap:3px;margin:6px 0 0;padding-left:1.3em;display:grid}.plan-current{margin:10px 0 0}.bundle-names{overflow-wrap:anywhere;margin:0}.plan-chip{border-color:var(--accent);width:7.6em;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:5px;padding:4px 8px;font-weight:700;display:inline-flex}.plan-chip.up{background:var(--warn);border-color:var(--warn);color:#05060a}.pair-entry{white-space:nowrap;flex:none;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.pair-chip{border-color:var(--line-strong);white-space:nowrap;border-radius:999px;flex:none;justify-content:space-between;align-items:center;gap:8px;width:13em;padding:4px 10px;display:inline-flex}.pair-chip .pair-dj{text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.pair-chip b{flex:none;align-items:center;gap:3px;display:inline-flex}.pair-chip.ready{border-color:var(--ok);box-shadow:0 0 12px #3ddc9773}.pair-chip.ready b{color:var(--ok)}.pair-dialog{background:var(--panel-solid);gap:12px;width:min(720px,100% - 32px);max-height:92%;display:grid;overflow:auto}.pair-dialog h2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pair-dialog .row,.pair-dialog p{margin:0}.pair-field{gap:4px;display:grid}.pair-field>span{font-size:13px;font-weight:700}.pair-field input{max-width:22em;font-size:16px}.pair-others{margin:0}.pair-note{min-height:1.6em}.pair-pick{border:1px solid var(--line-strong);border-radius:10px;flex:none;justify-self:start;display:inline-flex;overflow:hidden}.pair-pick button{white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:0;max-width:14em;padding:5px 12px;overflow:hidden}.pair-pick button+button{border-left:1px solid var(--line)}.pair-pick button.on{box-shadow:inset 0 -3px 0 var(--accent);background:#19e3ff29;font-weight:700}.pair-questions{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pair-questions li{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.pair-q{font-weight:600}.pair-cheers{flex-wrap:wrap;gap:6px;display:flex}.pair-cheers button.on{border-color:var(--warn);font-weight:700;box-shadow:0 0 10px #ffd23f59}.pair-table{max-height:none;margin-top:0}.pair-table td .icon{vertical-align:-3px}.pair-words{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;gap:4px;padding:8px 12px;display:grid}.pair-words .praise,.pair-words .next-step,.pair-words .pair-cheer{font-weight:700}.pair-roles{font-weight:400}.home-col{align-content:start;gap:14px;min-width:0;display:grid}.drill-home .section-title{flex-wrap:wrap}.drill-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.drill-item{text-align:left;background:var(--panel-2);border-radius:10px;grid-template-columns:2.6em minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px;width:100%;padding:6px 10px;display:grid}.drill-text{gap:1px;min-width:0;display:grid}.drill-say{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drill-text small{font-size:12px}.drill-left{text-align:right;font-variant-numeric:tabular-nums;min-width:1.4em;display:inline-block}.drill-item .lesson-no{color:var(--text)}.checklist .health-lines{color:var(--muted);margin-left:1.9em;font-size:12px;display:block}.checklist li.audio-health{flex-wrap:wrap;row-gap:0}.checklist li.audio-health .health-lines{flex-basis:100%}.tour{z-index:40;position:fixed;inset:0;overflow:hidden}.tour-spot{border:2px solid var(--text);pointer-events:none;border-radius:16px;transition:left .25s,top .25s,width .25s,height .25s;position:absolute;box-shadow:0 0 0 9999px #000000ad,0 0 22px #ffffff59}.tour-card{gap:10px;width:min(480px,100% - 24px);margin:0;padding:14px 16px 12px;transition:left .25s,top .25s;display:grid;position:absolute;box-shadow:0 10px 40px #0009}.tour-card .tour-says{align-items:flex-start;margin:0}.tour-card .navi-bubble{align-items:flex-start;min-height:calc(6.4em + 18px)}.tour-foot{align-items:center;gap:8px;display:flex}.tour-count{min-width:3.2em;font:700 14px var(--mono);color:var(--muted)}.tour-foot button{white-space:nowrap}.set-link{align-items:baseline;gap:6px;display:inline-flex}.set-link-mark{text-align:center;width:1.3em;color:var(--ok);font-weight:800;line-height:1;display:inline-block}.set-link.hard .set-link-mark{color:var(--warn)}.set-link-text{color:var(--muted);font-size:13px}.set-today{border-color:#ff2e8866}.set-today .set-about{margin:0}.set-line{flex-wrap:wrap;align-items:center;gap:4px 6px;margin:8px 0 10px;padding:0;list-style:none;display:flex}.set-line-track{border:1px solid var(--line-strong);background:var(--panel-2);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:18em;padding:3px 10px;overflow:hidden}.set-line-track b{font:700 13px var(--mono);color:var(--muted);margin-right:4px}.set-done{align-items:center;gap:4px;display:inline-flex}.set-screen{width:100%;max-width:1180px;margin:0 auto}.set-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:14px;display:grid}@media (width<=860px){.set-cols{grid-template-columns:1fr}}.set-pick,.set-order{align-content:start;gap:10px;display:grid}.set-pick .section-title,.set-order .section-title{align-items:center;gap:8px;margin:0;display:flex}.set-picked{font:700 14px var(--mono);margin-left:auto}.set-list{border:1px solid var(--line);border-radius:12px;max-height:52vh;margin:0;padding:0;list-style:none;overflow:auto}.set-list li+li{border-top:1px solid var(--line)}.set-row{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:1.6em minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 12px;display:grid}.set-row.on{box-shadow:none;color:var(--text);background:#ff2e881a}.set-check{border:2px solid var(--line-strong);border-radius:6px;place-items:center;width:1.4em;height:1.4em;display:inline-grid}.set-row.on .set-check{border-color:var(--hot);color:var(--hot)}.set-row-title,.set-step-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.set-row-info,.set-step-info{white-space:nowrap;font-variant-numeric:tabular-nums}.set-none,.set-empty{margin:0;padding:14px}.set-steps{gap:2px;margin:0;padding:0;list-style:none;display:grid}.set-step{border:1px solid var(--line-strong);background:var(--panel-2);border-radius:10px;grid-template-columns:2em minmax(0,1fr) auto auto auto auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.set-no{font:800 16px var(--mono);text-align:center}.set-step-link{padding:1px 0 1px 2.4em}.set-status{min-height:1.7em;margin:0;font-weight:700}.set-status .muted{font-weight:400}.set-legend{margin:0}.set-chip{border:1px solid var(--hot);background:var(--panel-solid);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;width:31em;height:100%;padding:0 6px 0 10px;font-size:13px;display:inline-flex}.set-chip .set-count{font:700 14px var(--mono);flex:none;align-items:center;gap:4px;display:inline-flex}.set-chip .set-text{text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.set-chip button.small{flex:none;padding:2px 8px}.tag.set-tag{color:var(--hot);border-color:var(--hot);margin-right:6px}:root[data-touch=true]{--tap:44px}:root[data-touch=true] :is(button,select,[role=tab]){min-height:var(--tap);min-width:var(--tap)}:root[data-touch=true] :is(input[type=search],input[type=text],input:not([type])){min-height:var(--tap)}:root[data-touch=true] button.small{padding-left:12px;padding-right:12px}:root[data-touch=true] input[type=range]{height:var(--tap)}:root[data-touch=true] input[type=range]::-webkit-slider-thumb{width:26px;height:26px;margin-top:-11px}:root[data-touch=true] .slider.vertical .slider-track,:root[data-touch=true] .slider.vertical input{width:var(--tap)}:root[data-touch=true] .slider.vertical input::-webkit-slider-thumb{margin-top:0;margin-left:-11px}:root[data-touch=true] .pads.tabbed .stem-part input[type=range]{height:var(--tap)}:root[data-touch=true] .knob-dial,:root[data-touch=true] .mixer.compact .knob-dial{width:var(--tap);height:var(--tap)}:root[data-touch=true] .mixer.compact .knob{width:46px}:root[data-touch=true] .rating .star,:root[data-touch=true] .dock .rating .star{padding:0 6px;font-size:22px}:root[data-touch=true][data-fit=true] .app>.bar{padding-top:5px;padding-bottom:5px}:root[data-touch=true] .play-top{height:48px}:root[data-touch=true] .deck.compact .deck-head{height:var(--tap)}:root[data-touch=true] .deck.compact .transport button,:root[data-touch=true] .deck.compact .transport.big button{padding-top:4px;padding-bottom:4px}:root[data-touch=true] .pad-tab{padding:3px 9px;font-size:13px}:root[data-touch=true] .pad-tab-extra button.small{padding:1px 10px;font-size:13px}:root[data-touch=true] .pad-area{height:calc(var(--tap) * 2 + 6px)}:root[data-touch=true] .pads.tabbed .pad,:root[data-touch=true] .loop-row button,:root[data-touch=true] .beat-loop{height:var(--tap)}:root[data-touch=true] .pads.tabbed .pad b{font-size:15px}:root[data-touch=true] .pads.tabbed .pad small{font-size:11px}:root[data-touch=true][data-fit=true] .play{grid-template-columns:minmax(0,1fr) minmax(0,1.14fr) minmax(0,1fr)}:root[data-touch=true] .mixer.compact .channel button{min-width:0}:root[data-touch=true] .mixer.compact .slider.vertical .slider-track,:root[data-touch=true] .mixer.compact .slider.vertical input{width:var(--tap)}:root[data-touch=true] .mixer.compact .beat-fx .segmented button{padding-left:4px;padding-right:4px}:is(:root[data-touch=true] .mixer.compact .beat-fx>.row:has(.fx-beats),:root[data-touch=true] .mixer.compact .beat-fx>.segmented){grid-column:1/-1}:root[data-touch=true] .mixer.compact .beat-fx>.segmented{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}:root[data-touch=true] .mixer.compact .build-up{grid-template-columns:minmax(0,1fr) 88px}:root[data-touch=true] .mixer.compact .build-up-slider{grid-template-columns:minmax(0,1fr)}:root[data-touch=true] .mixer.compact .build-up-slider :is(.slider-label,output){display:none}:root[data-touch=true] .library-handle{height:52px}:root[data-touch=true] .play-screen .library-drawer,:root[data-touch=true][data-fit=true] .play-screen .library-drawer{height:min(62%,520px);bottom:70px}:root[data-touch=true] .seq-step{min-width:0;height:var(--tap)}:root[data-touch=true] .library-drawer .sampler-main{grid-template-columns:minmax(0,1fr)}.navi-dress-button{align-items:center;gap:6px;display:inline-flex}.navi-dress-button .navi-dress-icon{filter:none;animation:none}.navi-new{margin-left:2px}.navi-new.hidden{visibility:hidden}.navi-dresser{gap:12px;width:min(760px,100vw - 24px);max-height:calc(100vh - 24px);display:grid;overflow:auto}.navi-dresser-body{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=640px){.navi-dresser-body{grid-template-columns:1fr}}.navi-dresser-now{text-align:center;border:1px solid var(--line);background:var(--panel-2);border-radius:14px;justify-items:center;gap:8px;padding:14px 8px;display:grid}.navi-dresser-now p{min-height:3.2em;margin:0}.navi-dresser-picks{gap:8px;display:grid}.navi-dresser-picks .section-title{margin:0}.navi-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.navi-tile{border-radius:12px;justify-items:center;gap:2px;min-height:112px;padding:8px 4px 6px;display:grid}.navi-tile .navi{filter:none;animation:none}.navi-tile .navi.locked{opacity:.35;filter:grayscale()}.navi-tile.on{border-color:var(--accent);box-shadow:var(--glow-1);color:var(--text);background:#19e3ff14}.navi-tile-name{white-space:nowrap;font-size:13px;font-weight:700}.navi-tile-lv{align-items:center;gap:3px;min-height:1.4em;display:inline-flex}.navi-next{min-height:1.6em;margin:0}.recital{z-index:15;color:var(--text);background:radial-gradient(90cqw 60cqh at 0% 0%, #19e3ff29, transparent 60%), radial-gradient(90cqw 60cqh at 100% 100%, #ff2e8829, transparent 60%), var(--bg);grid-template-rows:auto minmax(0,30fr) minmax(0,46fr) auto;gap:2cqh;padding:2.4cqh 2.4cqw 1.6cqh;display:grid;position:fixed;inset:0;overflow:hidden;container-type:size}.recital-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:2cqw;display:grid}.recital-head h1{font:800 clamp(22px, 5.4cqh, 64px) var(--display);letter-spacing:.04em;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:var(--neon);color:#0000;-webkit-background-clip:text;background-clip:text;max-width:56cqw;margin:0;overflow:hidden}:root[data-theme=contrast] .recital-head h1{color:var(--text);background:0 0}.recital-rec{font:700 clamp(13px, 2.4cqh, 24px) var(--body);color:var(--danger);visibility:hidden;justify-self:start;align-items:center;gap:8px;display:inline-flex}.recital-rec.on{visibility:visible}.recital-clock{justify-self:end;justify-items:end;line-height:1.1;display:grid}.recital-clock b{font:800 clamp(30px, 8cqh, 96px) var(--mono);font-variant-numeric:tabular-nums}.recital-clock small{color:var(--muted);white-space:nowrap;font-size:clamp(12px,2.2cqh,22px)}.recital.phase-over .recital-clock b{color:var(--warn)}.recital.phase-over .recital-clock small{color:var(--warn);font-weight:700}.recital-waves{min-height:0}.recital .recital-waves .wave.zoom{border-radius:18px;height:100%}.recital-stage{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:2.4cqw;min-height:0;display:grid}.recital-deck{border:2px solid var(--line-strong);background:var(--panel);opacity:.62;border-radius:22px;align-content:center;gap:1cqh;min-width:0;min-height:0;padding:2cqh 2cqw;display:grid;overflow:hidden}.recital-deck.live{opacity:1}.recital-deck.deck1.live{border-color:var(--deck1);box-shadow:var(--glow-1)}.recital-deck.deck2.live{border-color:var(--deck2);box-shadow:var(--glow-2)}.recital-deck>*{min-width:0;margin:0}.recital-deck-state{font:700 clamp(13px, 2.6cqh, 26px) var(--body);white-space:nowrap;align-items:center;gap:8px;display:flex}.recital-deck-no{width:1.7em;height:1.7em;font:800 1em var(--mono);color:#05060a;border-radius:8px;place-items:center;display:inline-grid}.deck1 .recital-deck-no{background:var(--deck1)}.deck2 .recital-deck-no{background:var(--deck2)}.recital-track{font:800 clamp(20px, 5.6cqh, 60px) var(--body);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.recital-artist{white-space:nowrap;text-overflow:ellipsis;min-height:1.5em;font-size:clamp(14px,3.2cqh,34px);overflow:hidden}.recital-bpm{font:700 clamp(12px, 2.4cqh, 24px) var(--mono);min-height:1.4em}.recital-pick{min-height:34px}.recital-pick.hidden,.recital-setup.hidden{visibility:hidden}.recital-center{align-content:center;justify-items:center;gap:1.2cqh;min-height:0;display:grid}.recital .recital-navi{filter:drop-shadow(0 0 26px #7b61ff73);width:min(30cqh,22cqw);height:min(30cqh,22cqw)}.recital-setup{justify-items:center;gap:6px;display:grid}.recital-hint{color:var(--muted);text-align:center;max-width:30cqw;margin:0;font-size:clamp(12px,2.1cqh,20px)}.recital-foot{opacity:.7;align-items:center;gap:10px;min-width:0;transition:opacity .2s;display:flex}.recital-foot:hover,.recital-foot:focus-within,.recital.phase-ready .recital-foot{opacity:1}.recital-foot>button{white-space:nowrap;flex:none}.recital-play.deck1.on{border-color:var(--deck1);box-shadow:var(--glow-1);background:#19e3ff24}.recital-play.deck2.on{border-color:var(--deck2);box-shadow:var(--glow-2);background:#ff2e8824}.recital-foot .recital-xfader{flex:0 0 220px;margin:0}.recital-cursor{text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1;min-width:0;overflow:hidden}.recital-result{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2;background:#0009;place-items:center;display:grid;position:absolute;inset:0}.recital-result-card{text-align:center;justify-items:center;gap:10px;width:min(640px,92cqw);max-height:88cqh;padding:22px 26px;display:grid;overflow:auto}.recital-result-card h2{font:800 clamp(24px, 6cqh, 48px) var(--display);margin:0}.recital-result-card p{margin:0}.recital-result-title{color:var(--muted);font-weight:700}.recital-credits{text-align:left;gap:3px;max-width:100%;margin:0;padding:0 0 0 1.4em;display:grid}.recital-credits li{overflow-wrap:anywhere}.update-banner{border-color:var(--accent);align-items:center;gap:12px;display:flex}.update-banner>.icon{width:1.6em;height:1.6em;color:var(--accent);flex:none}.update-banner .update-text{flex:1;gap:2px;min-width:0;display:grid}.update-banner .update-notes{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.update-banner button{white-space:nowrap;flex:none}.update-banner button.primary{min-width:8.5em}.update-banner.floating{z-index:20;background:var(--panel-solid);width:min(620px,100% - 32px);box-shadow:0 10px 34px #0000008c, var(--glow-1);position:fixed;bottom:16px;right:16px}.update-setting{gap:4px;margin-bottom:10px;display:grid}.update-setting .update-line{min-height:1.6em;margin:0}.master-menu{border-color:#ffd23f73}.master-menu .master-about{margin:0}.master-menu .master-summary{color:var(--warn);white-space:nowrap;font-weight:700}.medal{width:1.7em;height:1.7em;font:700 12px var(--display);color:#05060a;border-radius:50%;flex:none;place-items:center;display:inline-grid}.medal.none{border:1px dashed var(--line);background:0 0}.medal.gold{background:#ffd23f}.medal.silver{background:#cfd6e4}.medal.bronze{background:#e0965a}.tag.dare-times{color:var(--warn);border-color:#ffd23f80}.dare-rules{vertical-align:middle;flex-wrap:wrap;gap:4px;display:inline-flex}.dare-screen{width:100%;max-width:1180px;margin:0 auto}.dare-screen .dare-about{margin:0 0 10px}.dare-layout{grid-template-columns:minmax(280px,1fr) minmax(0,1.5fr);align-items:start;gap:14px;display:grid}.dare-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dare-card{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.dare-card.on{border-color:var(--accent);box-shadow:var(--glow-1);background:#19e3ff14}.dare-card-head{align-items:center;gap:8px;min-width:0;display:inline-flex}.dare-card-best{flex:none;align-items:center;gap:8px;font-size:15px;display:inline-flex}.dare-card-best .num{text-align:right;min-width:3.2em}.dare-detail{gap:10px;display:grid}.dare-detail h3{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.dare-detail p{margin:0}.dare-notes{gap:2px;margin:0;padding-left:1.2em;display:grid}.dare-mine{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dare-mine b{font-size:20px}.dare-detail .dare-locked{min-height:1.6em}.dare-ranking h4{color:var(--muted);align-items:center;gap:6px;margin:0 0 4px;font-size:14px;display:flex}.dare-ranking ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.dare-ranking li{background:var(--panel-2);border-radius:8px;align-items:center;gap:8px;padding:3px 8px;display:flex}.dare-ranking li.me{outline:1px solid var(--accent)}.dare-ranking .dare-rank{text-align:right;width:1.4em;color:var(--muted)}.dare-ranking .dare-rank-name{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.dare-ranking p{margin:0}.play-top .dare-bar{border-color:#ffd23f99;gap:8px}.play-top .dare-bar .dare-bar-title{color:var(--warn);flex:none;align-items:center;gap:5px;display:inline-flex}.play-top .dare-bar .dare-clock{text-align:center;width:3.1em;font:700 18px var(--mono);flex:none}.play-top .dare-bar .dare-clock.soon{color:var(--warn)}.play-top .dare-bar .dare-count{flex:none;align-items:center;gap:3px;min-width:6.4em;font-size:13px;display:inline-flex}.play-top .dare-bar .dare-count.ok{color:var(--ok)}.play-top .dare-bar .dare-count .icon{width:1em;height:1em}.play-top .dare-bar .dare-bar-line{text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.play-top .dare-bar .dare-bar-locks{flex:none;gap:4px;display:inline-flex}.play-top .dare-bar button.small{flex:none;padding:3px 9px}:root[data-dare-hide~=wave] canvas.wave{filter:brightness(0)}:root[data-dare-hide~=wave] .mix-cue,:root[data-dare-hide~=bpm] .deck .bpm,:root[data-dare-hide~=bpm] .show-deck-bpm,:root[data-dare-hide~=bpm] .bpm-cell,:root[data-dare-hide~=bpm] .col-tempo,:root[data-dare-hide~=bpm] .picker-num,:root[data-dare-hide~=bpm] .match-mark{visibility:hidden}.dare-result{background:var(--panel-solid);gap:12px;width:min(980px,100% - 32px);max-height:92%;display:grid;overflow:auto}.dare-result h2{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.dare-result .row{margin:0}.dare-result-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.dare-score{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;justify-items:start;gap:4px;padding:12px 14px;display:grid}.dare-score.cleared{border-color:var(--ok)}.dare-score .dare-verdict{font:700 16px var(--display);letter-spacing:.06em;align-items:center;gap:6px;display:inline-flex}.dare-score.cleared .dare-verdict{color:var(--ok)}.dare-score .dare-points{font:700 46px/1.05 var(--mono);color:var(--warn)}.dare-score .dare-medal-line,.dare-score .dare-best{align-items:center;gap:8px;display:inline-flex}.dare-score .dare-best.new{color:var(--ok);font-weight:700}.dare-lacks{gap:3px;margin:4px 0;padding:0;font-weight:700;list-style:none;display:grid}.dare-lacks li{align-items:center;gap:6px;display:flex}@media (width<=760px){.dare-layout,.dare-result-top{grid-template-columns:1fr}}.master-menu .master-row{margin:0}.master-menu .master-row+.master-row{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.master-menu .master-row button{justify-content:center;min-width:11.5em}.dojo-screen{gap:8px;width:100%;max-width:1280px;margin:0 auto}.dojo-screen>header h2{margin:0}.dojo-layout{grid-template-columns:290px minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.dojo-side{align-content:start;gap:8px;display:grid}.dojo-side .section-title{margin:0}.dojo-kinds{gap:5px;margin:0;padding:0;list-style:none;display:grid}.dojo-kind{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.dojo-kind.on{border-color:var(--accent);box-shadow:var(--glow-1);background:#19e3ff14}.dojo-ranks{flex:none;gap:4px;display:inline-flex}.dojo-rank{border:1px solid var(--line-strong);width:1.6em;height:1.6em;font:700 12px var(--display);color:var(--muted);border-radius:6px;flex:none;place-items:center;display:inline-grid}.dojo-rank.r-S,.dojo-rank.r-A,.dojo-rank.r-B{color:var(--ok);border-color:var(--ok)}.dojo-rank.r-S{background:#3dffb024}.dojo-rank.r-C{color:var(--warn);border-color:#ffd23f99}.dojo-rank.big{border-width:2px;width:1.7em;height:1.7em;font-size:26px}.dojo-speeds{display:flex}.dojo-speeds button{flex:1;padding:5px 4px;font-size:12px}.dojo-field{gap:3px;font-size:13px;display:grid}.dojo-field>span{color:var(--muted)}.dojo-field select{width:100%;min-width:0}.dojo-late{flex-wrap:nowrap;gap:6px;margin:0}.dojo-late b{text-align:center;min-width:4.6em}.dojo-late button.small{white-space:nowrap;flex:none;padding:2px 9px}.dojo-main{align-content:start;gap:10px;min-width:0;display:grid}.dojo-stage{gap:6px;display:grid}.dojo-title{white-space:nowrap;align-items:baseline;gap:12px;min-width:0;display:flex}.dojo-title strong{flex:none;font-size:17px}.dojo-title span{text-overflow:ellipsis;min-width:0;overflow:hidden}.dojo-highway{border:1px solid var(--line-strong);background:#05060a;border-radius:10px;height:240px;position:relative;overflow:hidden}.dojo-highway canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.dojo-lanes{z-index:1;font:700 12px var(--display);color:#8a93a6;pointer-events:none;grid-template-rows:repeat(3,1fr);padding-left:8px;display:grid;position:absolute;inset:0 auto 0 0}.dojo-lanes span{align-items:flex-start;padding-top:4px;display:flex}.dojo-foot{align-items:center;gap:12px;min-width:0;display:flex}.dojo-status{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;min-height:1.9em;margin:0;font-weight:700;overflow:hidden}.dojo-bottom{grid-template-columns:minmax(0,1.45fr) minmax(0,1.1fr) minmax(0,1fr);grid-auto-rows:232px;align-items:stretch;gap:10px;display:grid}.dojo-bottom>.panel{min-height:0;overflow:hidden}.dojo-hands{align-items:center;gap:14px;min-width:0;display:flex}.dojo-hands .jog-wheel{flex:none;width:150px;height:150px}.dojo-hands .slider.vertical{flex:none;height:150px}.dojo-hands-right{flex:1;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;height:100%;display:grid}.dojo-hands-right .dojo-how{margin:0;overflow:hidden}.dojo-buttons{flex-wrap:nowrap;flex:none;gap:6px;margin:0}.dojo-buttons button{white-space:nowrap;flex:none;justify-content:center;min-width:7.6em;padding:7px 12px}.dojo-score{align-content:start;gap:4px;min-width:0;display:grid}.dojo-score-top{align-items:center;gap:10px;min-width:0;height:52px;display:flex}.dojo-score .dojo-points{font:700 40px/1 var(--mono);color:var(--warn)}.dojo-score .dojo-last{font:700 20px var(--display);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dojo-score .dojo-last[data-grade=perfect]{color:var(--ok)}.dojo-score .dojo-last[data-grade=good]{color:var(--warn)}.dojo-score .dojo-last[data-grade=extra]{color:var(--muted)}.dojo-score .dojo-best{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-height:1.6em;display:flex;overflow:hidden}.dojo-score .dojo-best.new{color:var(--ok);font-weight:700}.dojo-counts{grid-template-columns:1fr 1fr;gap:2px 12px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.dojo-counts li{white-space:nowrap;justify-content:space-between;gap:6px;display:flex}.dojo-score .dojo-off{white-space:nowrap;text-overflow:ellipsis;min-height:1.5em;overflow:hidden}.dojo-flx4{place-items:center;min-width:0;padding:8px;display:grid}.dojo-flx4 .flx4{width:100%;height:auto;max-height:206px}:root[data-theme=light] .dojo-highway{background:#10131a}@media (width<=1000px){.dojo-layout,.dojo-bottom{grid-template-columns:1fr}}.drum-lanes{grid-template-rows:repeat(4,1fr)}.drum-screen .dojo-side>button.small{justify-self:start}.dojo-status.warn{color:var(--warn)}.drum-bottom{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.95fr)}.drum-pads{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.drum-pad{touch-action:none;border-width:2px;border-radius:14px;align-content:center;justify-items:center;gap:6px;min-width:0;height:100%;padding:6px 4px;display:grid}.drum-pad b{white-space:nowrap;font-size:14px}.drum-pad .drum-pad-mark{font-size:26px;line-height:1}.drum-pad.lane-kick .drum-pad-mark{color:var(--deck2)}.drum-pad.lane-snare .drum-pad-mark{color:var(--deck1)}.drum-pad.lane-clap .drum-pad-mark{color:var(--warn)}.drum-pad:active:not(:disabled){border-color:var(--ok);background:#3dffb024;transform:scale(.97)}.drum-pad.unused{opacity:.55}.drum-pad-key{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.drum-pad-key kbd{text-align:center;border:1px solid var(--line-strong);background:var(--panel-3);min-width:1.8em;font:700 13px var(--mono);border-radius:6px;padding:1px 6px}.trick-screen{width:100%;max-width:1180px;margin:0 auto}.trick-screen>header h2{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.trick-screen .trick-about{margin:0}.tag.trick-title{color:var(--warn);border-color:#ffd23f80;padding:1px 10px;font-size:13px}.trick-group .section-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.trick-list{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.trick{background:var(--panel-2);border:1px dashed var(--line-strong);border-radius:10px;align-items:center;gap:10px;min-height:58px;padding:8px 10px;display:flex}.trick.got{border:1px solid var(--ok);background:#3dffb012}.trick-stamp{border:2px dashed var(--line-strong);color:#05060a;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.trick.got .trick-stamp{border:2px solid var(--ok);background:var(--ok)}.trick-stamp .icon{width:20px;height:20px}.trick-text{gap:1px;min-width:0;display:grid}.trick-text b{font-size:15px}.dojo-field .late-open{justify-self:start}.late-meter{background:var(--panel-solid);gap:12px;width:min(620px,100% - 32px);display:grid}.late-meter h2{align-items:center;gap:8px;margin:0;display:flex}.late-meter .row,.late-meter .late-about{margin:0}.late-stage{background:var(--panel-2);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px;display:grid}.late-lamp{background:var(--deck1);width:44px;height:44px;box-shadow:var(--glow-1);opacity:.25;border-radius:50%}.late-taps{justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.late-taps li{border:2px solid var(--line-strong);border-radius:50%;width:18px;height:18px}.late-taps li.on{background:var(--ok);border-color:var(--ok)}.late-pad{touch-action:none;border-width:2px;border-radius:14px;justify-items:center;gap:4px;min-width:9em;padding:14px 16px;font-weight:700;display:grid}.late-pad:active:not(:disabled){border-color:var(--ok);background:#3dffb024;transform:scale(.97)}.late-pad kbd{border:1px solid var(--line-strong);background:var(--panel-3);font:700 12px var(--mono);border-radius:6px;padding:1px 8px}.late-meter .late-line{min-height:3.2em;margin:0;font-weight:700}.late-meter .late-line.warn{color:var(--warn)}:root[data-reduce-motion=true] .late-lamp{transition:none}.rush-select{gap:8px;width:100%;max-width:1280px;margin:0 auto}.rush-select>header h2,.rush-select .rush-about{margin:0}.rush-card{gap:8px;display:grid}.rush-map{place-items:center;height:392px;display:grid}.rush-map .flx4{width:auto;max-width:100%;height:100%;max-height:none}.rush-card .dojo-status{align-items:baseline;gap:4px;display:flex}.rush-card .rush-best-line{text-overflow:ellipsis;min-width:0;overflow:hidden}.rush{--pulse:0;z-index:15;color:var(--text);background:var(--bg);grid-template-rows:44px 132px minmax(0,1fr);gap:10px;padding:12px 18px 16px;display:grid;position:fixed;inset:0;overflow:hidden}.rush-bg{z-index:0;pointer-events:none;background:radial-gradient(60% 55% at 12% 100%, rgba(25, 227, 255, calc(.1 + var(--pulse) * .16)), transparent 70%), radial-gradient(60% 55% at 88% 100%, rgba(255, 46, 136, calc(.1 + var(--pulse) * .16)), transparent 70%);position:absolute;inset:0}.rush.fever .rush-bg{background:radial-gradient(70% 60% at 12% 100%, rgba(255, 210, 63, calc(.16 + var(--pulse) * .22)), transparent 70%), radial-gradient(70% 60% at 88% 100%, rgba(255, 46, 136, calc(.18 + var(--pulse) * .22)), transparent 70%), radial-gradient(60% 40% at 50% 0%, rgba(25, 227, 255, calc(.1 + var(--pulse) * .14)), transparent 70%)}.rush>:not(.rush-bg){z-index:1;position:relative}.rush-top{align-items:center;gap:14px;min-width:0;display:flex}.rush-top .rush-name{font:700 20px var(--display);letter-spacing:.04em;flex:none;align-items:center;gap:8px;display:inline-flex}.rush-progress{background:var(--panel-3);border-radius:999px;flex:1;height:8px;overflow:hidden}.rush-progress i{background:var(--neon);width:0;height:100%;display:block}.rush-counts{white-space:nowrap;flex:none;font-size:14px}.rush-counts b{min-width:1.6em;display:inline-block}.rush-next{text-align:center;background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;grid-template-rows:20px 46px 22px 20px;align-content:center;justify-items:center;min-width:0;padding:4px 90px;display:grid;position:relative}.rush-next>*{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.rush-next-label{font:700 13px var(--display);letter-spacing:.2em;color:var(--accent)}.rush-say{font-size:30px;line-height:46px}.rush-where{font-size:14px}.rush-count{font:700 64px/1 var(--mono);color:var(--warn);text-align:center;min-width:1em;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.rush-main{grid-template-columns:170px minmax(0,1fr) 170px;align-items:center;gap:14px;min-height:0;display:grid}.rush-hud{text-align:center;align-content:center;justify-items:center;gap:4px;min-width:0;display:grid}.rush-hud-label{font:700 12px var(--display);letter-spacing:.2em;color:var(--muted)}.rush-points{font:700 40px/1.1 var(--mono);color:var(--warn)}.rush-combo{font:700 72px/1 var(--mono);color:var(--text);text-shadow:var(--glow-1);animation:.18s ease-out rush-pop}.rush-fever{border:2px solid var(--line-strong);font:700 16px var(--display);letter-spacing:.2em;color:var(--muted);border-radius:999px;margin-top:6px;padding:2px 14px}.rush-fever.on{color:#05060a;background:var(--warn);border-color:var(--warn);box-shadow:0 0 18px #ffd23fb3}.rush-judge{min-height:1.5em;font:700 22px var(--display);letter-spacing:.05em;animation:.2s ease-out rush-pop}.rush-judge.g-perfect{color:var(--ok)}.rush-judge.g-good{color:var(--warn)}.rush-judge.g-miss,.rush-judge.g-fix{color:var(--muted);font-size:16px}.rush-tip{max-width:100%}.rush-board{aspect-ratio:1000/520;place-self:center;max-width:100%;height:100%;max-height:100%;position:relative}.rush-board .rush-flx4{width:100%;height:100%;max-height:none;position:absolute;inset:0}.rush-overlay{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rush-ring{cursor:pointer}.rush-ring .ring{fill:none;stroke:var(--warn);stroke-width:4px}.rush-ring.kind-move .ring{stroke-dasharray:10 6;stroke:var(--deck1)}.rush-ring.kind-stroke .ring{stroke:var(--deck2);stroke-width:6px;stroke-dasharray:2 5}.rush-ring .target{fill:#ffd23f29;stroke:var(--warn);stroke-width:1.5px}.rush-ring.now .ring{stroke-width:7px;filter:drop-shadow(0 0 6px)}.rush-ring.now .target{fill:#ffd23f66}.rush-burst circle{fill:none;stroke:var(--ok);stroke-width:5px;transform-box:fill-box;transform-origin:50%;animation:.45s ease-out forwards rush-burst}.rush-burst.g-good circle{stroke:var(--warn)}.rush-burst.g-miss circle,.rush-burst.g-fix circle{stroke:var(--muted)}.rush-burst text{fill:var(--text);font:700 26px var(--mono);text-anchor:middle;animation:.6s ease-out forwards rush-rise}@keyframes rush-burst{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes rush-rise{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}@keyframes rush-pop{0%{transform:scale(1.35)}to{transform:scale(1)}}:root[data-reduce-motion=true] .rush-combo,:root[data-reduce-motion=true] .rush-judge{animation:none}:root[data-reduce-motion=true] .rush-burst circle,:root[data-reduce-motion=true] .rush-burst text{animation-duration:10ms}.rush>.rush-result-wrap{z-index:5;position:absolute;inset:0}.rush-result{background:var(--panel-solid);gap:12px;width:min(680px,100% - 32px);display:grid}.rush-result h2{align-items:center;gap:8px;margin:0;display:flex}.rush-result .row{margin:0}.rush-result-top{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.rush-result-score{display:grid}.rush-result .dojo-counts{min-width:250px}.rush-result p{margin:0}.rush-best{align-items:center;gap:8px;min-height:1.7em;display:flex}.rush-best.new{color:var(--ok);font-weight:700}.rush-learned{flex-wrap:wrap;align-items:center;gap:6px;min-height:1.7em;display:flex}@media (width<=1000px){.rush-main{grid-template-columns:110px minmax(0,1fr) 110px}.rush-say{font-size:22px}}
