@font-face{font-family:Doto;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/doto-latin-500-normal-C98tO5jE.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050507;--ink:#f3efe7;--ink-2:#b6b2aa;--ink-3:#7a7770;--ink-4:#4b4945;--hair:#f3efe71a;--hair-2:#f3efe733;--dim:#f3efe70f;--dim-2:#f3efe71a;--light:#ff7a2e;--light-2:#ffb15c;--light-ink:#1c0c02;--light-glow:#ff7a2e6b;--light-soft:#ff7a2e24;--ice:#8cc8ff;--ice-ink:#06121d;--gold:#ffd36b;--star-off:#f3efe729;--ok:#5fe3b0;--warn:#ffb547;--bad:#ff5b6e;--v-perfect:#ffd84a;--v-early:#4ab6ff;--v-late:#ffa63d;--v-miss:#9aa6cc;--panel:#09090cbd;--panel-solid:#0b0b0e;--blur:blur(16px) saturate(1.3);--r:3px;--top-h:56px;--gutter:clamp(16px, 3.4vw, 64px);--f-dot:"Doto", ui-monospace, "SF Mono", Menlo, monospace;--f-disp:"Jost Variable", "Pretendard Variable", system-ui, sans-serif;--f-text:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--f-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.3, .7, .2, 1);--wc:var(--light);--wc2:var(--light-2);--mark-bg:#111114;--accent:var(--light);--accent-2:var(--light-2)}:root[data-quality=eco],:root[data-quality=low]{--blur:none;--panel:#09090ced}.w0{--wc:#ffc84a;--wc2:#ff9a3c;--wc3:#ff6f61}.w1{--wc:#4fd8cc;--wc2:#5ab8e0;--wc3:#3f7cff}.w2{--wc:#7d95ff;--wc2:#a274ff;--wc3:#4fd8ff}.w3{--wc:#ff8a55;--wc2:#ffc65a;--wc3:#ff4f7a}.w4{--wc:#ff66c4;--wc2:#7a6bff;--wc3:#ffb05a}.w5{--wc:#b78bff;--wc2:#ff6aa8;--wc3:#5a7bff}.w6{--wc:#52ec9f;--wc2:#6a8bff;--wc3:#c3f25a}.w7{--wc:#ff8f7a;--wc2:#3fd0c4;--wc3:#a274ff}.w8{--wc:#ffb454;--wc2:#ff7a8a;--wc3:#ffd36a}.w9{--wc:#ff5a3c;--wc2:#ffb02a;--wc3:#b83cff}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-text);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,select,input{font:inherit;color:inherit}h1,h2,h3{margin:0;font-weight:500}p{margin:0}.ic{flex:none;display:block}kbd{border-radius:var(--r);border:1px solid var(--hair-2);min-width:20px;height:20px;font:600 10.5px var(--f-mono);color:var(--ink-2);place-items:center;padding:0 5px;display:inline-grid}:focus-visible{outline:1px solid var(--light);outline-offset:3px}::selection{background:#ff7a2e59}.stage-layer{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0}.stage-layer canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-layer.no-stage canvas{display:none}.stage-layer:after{content:"";transition:opacity .8s var(--ease), background .8s var(--ease);background:#050507c7;position:absolute;inset:0}.screen-today .stage-layer:after{background:linear-gradient(90deg,#050507f5 0%,#050507db 34%,#05050733 62%,#05050752 100%),linear-gradient(#0000 70%,#050507b3)}.screen-course .stage-layer:after{background:linear-gradient(90deg,#0505078c 0%,#050507bd 40%,#050507eb 62%,#050507f2 100%)}.screen-journal .stage-layer:after{background:#050507ed}.screen-ex .stage-layer:after{opacity:0}.klass{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}.top{z-index:30;height:var(--top-h);padding:0 var(--gutter);transition:opacity .6s var(--ease);background:linear-gradient(#050507e6,#0505078c 60%,#05050700);align-items:center;gap:clamp(18px,3vw,44px);display:flex;position:fixed;top:0;left:0;right:0}.klass:has(.room.is-playing) .top{opacity:.16}:is(.klass:has(.room.is-playing) .top:hover,.klass:has(.room.is-playing) .top:focus-within){opacity:1}.brand{align-items:center;gap:12px;display:flex}.brand-mark{border-radius:6px;width:26px;height:26px}.word{font:600 12.5px var(--f-disp);letter-spacing:.3em;text-transform:uppercase}.word b{color:var(--light);font-weight:600}.nav{gap:clamp(18px,2.4vw,34px);display:flex}.nav a{height:var(--top-h);font:600 11.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);align-items:center;transition:color .2s;display:flex;position:relative}.nav a .ic{display:none}.nav a:hover,.nav a.on{color:var(--ink)}.nav a.on:after,.step-tab.on:after,.mode-tab.on:after{content:"";background:linear-gradient(90deg, var(--light) 0 64%, transparent 64% 74%, var(--light) 74%);height:2px;filter:drop-shadow(0 0 6px var(--light-glow));position:absolute;bottom:15px;left:0;right:.2em}.top .crumb{min-width:0;color:var(--ink-2);align-items:center;gap:10px;font-size:14px;display:flex}.top .crumb:hover{color:var(--ink)}.top .crumb .n{font:600 12px var(--f-mono);letter-spacing:.08em;color:var(--wc)}.top .crumb .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.screen-ex .top .crumb{--wc:var(--ink-2)}.top-right{align-items:center;gap:4px;margin-left:auto;display:flex}.apps{gap:14px;margin-right:14px;display:flex}.apps a{font:600 11px var(--f-mono);letter-spacing:.12em;color:var(--ink-3)}.apps a b{color:var(--ink-2);font-weight:600}.apps a:hover,.apps a:hover b{color:var(--ink)}.score-key.on{color:var(--ink)!important;background:var(--dim-2)!important}.avatar{border:1px solid var(--hair-2);background:var(--panel-solid);width:30px;height:30px;color:var(--ink);font:600 12px var(--f-mono);cursor:pointer;border-radius:50%;place-items:center;margin-left:6px;padding:0;display:grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.avatar.sync-syncing:after,.avatar.sync-error:after{content:"";border:2px solid var(--bg);background:var(--warn);border-radius:50%;width:8px;height:8px;position:absolute;bottom:1px;right:1px}.main{width:100%;padding:calc(var(--top-h) + clamp(18px, 4vh, 48px)) var(--gutter) 40px;flex:1;container:main/inline-size}.foot{font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);justify-content:center;gap:22px;padding:18px;display:flex}.foot a:hover{color:var(--ink)}.label{font:600 11px/1.3 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0;display:flex}.label.tint{color:var(--wc)}.num{font:500 13px var(--f-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.num small{color:var(--ink-3);font-size:.85em}.sub{font:500 12px var(--f-mono);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}.muted{color:var(--ink-3)}.small{font-size:13px}.grow{flex:1}.gold{color:var(--gold)}.cover{z-index:1;border-radius:inherit;position:absolute;inset:0}.big-n{font:500 clamp(96px, min(14vw, 22vh), 250px) / .8 var(--f-dot);letter-spacing:-.04em;color:var(--ink);text-shadow:0 0 60px color-mix(in srgb, var(--wc) 40%, transparent);display:block}.row-head{align-items:baseline;gap:14px;display:flex}.row-head h2{font:inherit}.go{--c1:var(--wc);--c2:var(--wc2);--go-h:56px;--go-b:calc(var(--go-h) - 4px - 10px);isolation:isolate;height:var(--go-h);color:#fff;min-width:168px;box-shadow:0 9px 44px color-mix(in srgb, var(--c1) 50%, transparent);cursor:pointer;white-space:nowrap;transition:transform .18s var(--ease), filter .2s;background:0 0;border:0;border-radius:999px;justify-content:flex-start;align-items:center;padding:2px 32px 2px 7px;display:inline-flex;position:relative;overflow:hidden}.go:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(90% 160% at 20% 50%, color-mix(in srgb, var(--c1) 62%, transparent), transparent 62%), radial-gradient(80% 150% at 80% 50%, color-mix(in srgb, var(--c2) 55%, transparent), transparent 64%), #0d0c13;position:absolute;inset:2px}.go:after{content:"";z-index:-2;width:calc(100% + var(--go-h));aspect-ratio:1;background:conic-gradient(var(--c1), var(--c2) 22%, #fff 30%, var(--c2) 38%, var(--c1) 55%, var(--c2) 75%, #fff 82%, var(--c1));pointer-events:none;animation:3.4s linear infinite go-turn;position:absolute;top:50%;left:50%;translate:-50% -50%}.go>span{font:650 14px var(--f-disp);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 1px 10px #00000073;align-items:center;gap:16px;margin-right:-.24em;display:inline-flex}.go>span .ic{box-sizing:content-box;width:18px;height:18px;padding:calc((var(--go-b) - 18px) / 2);color:#0d0c13;box-shadow:0 0 0 3px color-mix(in srgb, var(--c1) 32%, transparent), 0 0 16px color-mix(in srgb, var(--c1) 70%, transparent);background:#fff;border-radius:50%;flex:none}.go>span:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#fff3 48%,#ffffff0d 54%,#0000 62%);animation:3.8s ease-in-out infinite go-gleam;position:absolute;inset:0}@keyframes go-turn{to{rotate:360deg}}@keyframes go-gleam{0%{transform:translate(-135%)}55%,to{transform:translate(125%)}}.go:hover{filter:brightness(1.12)saturate(1.1);transform:translateY(-1px)}.go:active{transform:translateY(1px)scale(.98)}.go:disabled{opacity:.35;cursor:default;filter:grayscale(.6)}.go:disabled:after,.go:disabled>span:before{animation:none}@media (prefers-reduced-motion:reduce){.go:after,.go>span:before{animation:none}}.btn{border-radius:var(--r);border:1px solid var(--hair-2);cursor:pointer;white-space:nowrap;height:40px;transition:background .15s, border-color .15s, color .15s, transform .12s var(--ease);background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--dim);border-color:#f3efe757}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--light);color:var(--light-ink);box-shadow:0 6px 26px var(--light-glow);border-color:#0000}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--ink-2);border-color:#0000}.btn.ghost:hover{background:var(--dim);color:var(--ink)}.btn.sm{height:30px;padding:0 11px;font-size:13px}.icon-btn{border-radius:var(--r);width:38px;height:38px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover{background:var(--dim);color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}.link{font:600 11.5px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;transition:color .2s,gap .2s;display:inline-flex}.link:hover{color:var(--ink);gap:9px}.stars{vertical-align:-1px;gap:2px;display:inline-flex}.stars svg path{fill:var(--star-off)}.stars svg.on path{fill:var(--gold)}.stars svg.on{filter:drop-shadow(0 0 5px #ffd36b80)}.empty-screen{color:var(--ink-3);text-align:center;justify-items:center;gap:16px;padding:90px 20px;display:grid}.seg{border-radius:var(--r);height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.seg:hover{color:var(--ink)}.seg.on{background:var(--dim-2);color:var(--ink)}.seg-row{border-radius:var(--r);border:1px solid var(--hair);gap:2px;padding:2px;display:flex}.seg-row .seg{flex:1}.chip{border-radius:var(--r);border:1px solid var(--hair-2);height:30px;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.chip:hover{color:var(--ink);background:var(--dim)}.chip.on{background:var(--dim-2);color:var(--ink);border-color:#f3efe75c}.chip.sm{height:24px;font:600 11px var(--f-mono);padding:0 8px}.chip:disabled{opacity:.45}.chips{flex-wrap:wrap;gap:6px;display:flex}.ex-letter{border-radius:var(--r);border:1px solid color-mix(in srgb, var(--wc) 55%, transparent);width:28px;height:28px;color:var(--wc);font:600 13px var(--f-mono);flex:none;place-items:center;display:grid}.done-toggle{z-index:2;height:36px;color:var(--ink-3);font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:10px;padding:0;transition:color .2s;display:inline-flex;position:relative}.done-toggle .box{border:1px solid var(--hair-2);width:36px;height:36px;color:var(--ink-4);transition:background .25s, border-color .25s, color .25s, box-shadow .3s, transform .3s var(--ease);background:#ffffff06;border-radius:50%;flex:none;place-items:center;display:grid}.done-toggle .box svg{stroke-width:2.6px;transition:transform .3s var(--ease)}.done-toggle:hover{color:var(--ink)}.done-toggle:hover .box{border-color:color-mix(in srgb, var(--wc) 60%, transparent);color:var(--wc)}.done-toggle.on{color:var(--wc)}.done-toggle.on .box{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--wc) 40%, #fff), var(--wc) 55%, var(--wc2));color:#0d0c13;box-shadow:0 0 0 3px color-mix(in srgb, var(--wc) 24%, transparent), 0 0 18px color-mix(in srgb, var(--wc) 60%, transparent);animation:done-pop .45s var(--ease);border-color:#0000}.done-toggle.on .box svg{stroke-width:3px}@keyframes done-pop{40%{transform:scale(1.18)}}.done-toggle.sm .box{width:30px;height:30px}.done-toggle.sm{height:30px}@property --lis-a{syntax:"<angle>";inherits:false;initial-value:0deg}.ex-listen{z-index:2;border:1px solid var(--hair-2);width:30px;height:30px;color:var(--ink-3);cursor:pointer;transition:color .2s, border-color .2s, background .2s, transform .2s var(--ease);background:#ffffff06;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.ex-listen .ic{margin-left:2px}.ex-listen:hover{color:var(--ink);border-color:color-mix(in srgb, var(--wc) 60%, transparent);transform:scale(1.08)}.ex-listen.on{background:linear-gradient(#0e0d14, #0e0d14) padding-box, conic-gradient(from var(--lis-a), var(--wc), var(--wc2), #fff 30%, var(--wc) 45%, transparent 60%, var(--wc2) 85%, var(--wc)) border-box;color:var(--wc);border:2px solid #0000;animation:1.4s linear infinite lis-turn,1.2s ease-in-out infinite lis-glow}.ex-listen .eq{height:12px}@keyframes lis-turn{to{--lis-a:360deg}}@keyframes lis-glow{50%{box-shadow:0 0 16px color-mix(in srgb, var(--wc) 70%, transparent), 0 0 0 4px color-mix(in srgb, var(--wc) 16%, transparent)}}@media (prefers-reduced-motion:reduce){.ex-listen.on,.done-toggle.on .box{animation:none}}.done-toggle.sm:not(:has(.t)).on{background:0 0}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}@keyframes glow{50%{box-shadow:0 0 0 6px #ff7a2e00, 0 0 18px var(--light-glow)}}.today{flex-direction:column;gap:clamp(26px,4.2vh,50px);width:min(54%,860px);padding-bottom:24px;display:flex}.today-kit{top:var(--top-h);pointer-events:none;width:48vw;position:fixed;bottom:0;right:0}.next-up{gap:18px;display:grid}.next-block{animation:enter .6s var(--ease);justify-items:start;gap:14px;display:grid}.next-block .big-n{margin:10px 0 4px -.04em;transition:text-shadow .4s}.next-block .big-n:hover{text-shadow:0 0 80px color-mix(in srgb, var(--wc) 70%, transparent)}.next-block h1{max-width:15em;font:500 clamp(30px, 3.3vw, 54px) / 1.04 var(--f-disp);letter-spacing:-.02em}.next-ex{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.next-ex b{color:var(--ink);font-weight:600}.next-block .acts{align-items:center;gap:34px;margin-top:22px;padding-left:10px;display:flex}.plan{gap:18px;display:grid}.plan-done{font:600 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ice);align-items:center;gap:6px;display:inline-flex}.plan-line{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:18px;margin:0;padding:0;list-style:none;display:grid}.plan-step{grid-template-columns:minmax(0,1fr);grid-template-areas:"node""kind""name";place-items:center start;gap:10px 8px;padding-bottom:4px;display:grid;position:relative}.plan-step:not(:last-child):after{content:"";background:var(--hair-2);height:1px;position:absolute;top:14px;left:38px;right:-14px}.plan-step.done:not(:last-child):after{background:linear-gradient(90deg, var(--ice), color-mix(in srgb, var(--ice) 30%, transparent))}.plan-step .node{border:1px solid var(--hair-2);width:28px;height:28px;font:600 12px var(--f-mono);color:var(--ink-3);border-radius:50%;grid-area:node;place-items:center;transition:background .2s,color .2s,border-color .2s;display:grid}.plan-step .node .ic{stroke-width:3px}.plan-step.done .node{background:var(--ice);color:var(--ice-ink);border-color:#0000}.plan-step.now .node{background:var(--light);color:var(--light-ink);box-shadow:0 0 0 0 #ff7a2e80, 0 0 18px var(--light-glow);border-color:#0000;position:relative}.plan-step.now .node:after{content:"";border-radius:inherit;box-shadow:0 0 0 6px #ff7a2e24, 0 0 22px var(--light-glow);opacity:0;pointer-events:none;animation:2.4s ease-in-out infinite glow-fade;position:absolute;inset:0}@keyframes glow-fade{50%{opacity:1}}@media (prefers-reduced-motion:reduce){.plan-step.now .node:after{animation:none}}.plan-step .done-toggle{opacity:0;transition:opacity .2s;position:absolute;top:34px;right:-6px}.plan-step:hover .done-toggle,.plan-step .done-toggle.on,.plan-step .done-toggle:focus-visible{opacity:1}.plan-step .kind{font:600 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);grid-area:kind}.plan-step.now .kind{color:var(--light-2)}.plan-step b{font:500 16px/1.25 var(--f-disp);color:var(--ink-2);grid-area:name;transition:color .2s}.plan-step.now b,.plan-step:hover b{color:var(--ink)}.plan-step.done b{color:var(--ink-3)}.plan-step.bonus{opacity:.75}.today-facts{border-top:1px solid var(--hair);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:22px;display:grid}.fact{align-content:start;gap:10px;display:grid}.fact b.num{font:700 40px/.9 var(--f-dot);color:var(--ink)}.fact b.num small{font:500 12px var(--f-mono);color:var(--ink-3);margin-left:4px}.meter-line{background:var(--dim-2);height:2px;display:block;position:relative}.meter-line>i{background:var(--light);box-shadow:0 0 10px var(--light-glow);transition:width .8s var(--ease);position:absolute;inset:0 auto 0 0}.week-dots{gap:9px;display:flex}.week-dots>span{font:500 10px var(--f-mono);color:var(--ink-4);justify-items:center;gap:6px;display:grid}.week-dots i{background:var(--dim-2);border-radius:50%;width:9px;height:9px}.week-dots .on i{background:var(--ice);box-shadow:0 0 8px color-mix(in srgb, var(--ice) 60%, transparent)}.week-dots .is-today{color:var(--ink-2)}.week-dots .is-today i{box-shadow:0 0 0 1px var(--bg), 0 0 0 2px var(--light)}.course-dots{border-top:1px solid var(--hair);gap:9px;padding-top:22px;display:grid}.course-dots .row-head{margin-bottom:4px}.course-dots .row-head .sub{margin-left:auto}.dot-row{flex-wrap:wrap;align-items:center;gap:4px 11px;display:flex}.dot-n{width:14px;font:600 10px var(--f-mono);color:var(--wc)}.dot-lesson{gap:4px;display:flex}.dot-lesson i{background:var(--dim-2);border-radius:50%;width:7px;height:7px;transition:background .3s}.dot-lesson i.on{background:var(--wc);box-shadow:0 0 6px color-mix(in srgb, var(--wc) 70%, transparent)}.dot-lesson i.next{background:var(--light);box-shadow:0 0 10px var(--light-glow)}.course-dots:hover .dot-lesson i:not(.on):not(.next){background:#f3efe729}@container main (width<=900px){.today{width:100%;padding-top:30vh}.today-kit{width:auto;height:40vh;bottom:auto;left:0}.screen-today .stage-layer:after{background:linear-gradient(#05050733 0%,#05050766 26vh,#050507ed 46vh)}}@container main (width<=640px){.plan-line{grid-auto-flow:row;gap:0}.plan-step{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"node kind tick""node name tick";gap:0 14px;padding:12px 0}.plan-step .node{align-self:start}.plan-step .done-toggle{opacity:1;grid-area:tick;align-self:center;position:static}.plan-step:not(:last-child):after{width:1px;height:auto;inset:46px auto -10px 13.5px}.plan-step.done:not(:last-child):after{background:linear-gradient(180deg, var(--ice), color-mix(in srgb, var(--ice) 30%, transparent))}.today-facts{gap:14px}.fact b.num{font-size:32px}.week-dots{gap:5px}.next-block .acts{gap:26px}}.screen-course .main{height:100dvh;padding:var(--top-h) 0 0;overflow:hidden}.screen-course .foot{display:none}@property --air1{syntax:"<color>";inherits:false;initial-value:#0000}@property --air2{syntax:"<color>";inherits:false;initial-value:#0000}@property --air3{syntax:"<color>";inherits:false;initial-value:#0000}.course-air{--air1:var(--wc);--air2:var(--wc2);--air3:var(--wc3,var(--wc2));inset:var(--top-h) 0 0 0;z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(42% 60% at 6% 50%, color-mix(in srgb, var(--air1) 30%, transparent), transparent 70%), radial-gradient(38% 46% at 18% 18%, color-mix(in srgb, var(--air2) 20%, transparent), transparent 72%), radial-gradient(40% 50% at 16% 86%, color-mix(in srgb, var(--air3) 20%, transparent), transparent 72%), radial-gradient(60% 70% at 48% 50%, color-mix(in srgb, var(--air1) 7%, transparent), transparent 80%), radial-gradient(50% 60% at 92% 30%, color-mix(in srgb, var(--air3) 5%, transparent), transparent 80%);filter:blur(18px)saturate(1.1);transition:--air1 1.4s,--air2 1.6s,--air3 1.8s;position:fixed}.course{height:calc(100dvh - var(--top-h));grid-template-columns:minmax(0,1fr) minmax(420px,620px);display:grid}.wheel{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;outline:none;min-width:0;position:relative;overflow:hidden}.wheel:active{cursor:grabbing}.wheel-ring{pointer-events:none;z-index:1;filter:saturate(1.4) brightness(calc(1.06 + var(--spd,0) * .25));position:absolute;top:0;left:0;overflow:visible}.wheel-ring path{transition:opacity .4s}.wheel-ticks{fill:none;stroke:#ffffff70;stroke-width:7px}.wheel-hair{fill:none;stroke:#ffffff29;stroke-width:1px}.wheel-trail{fill:none;stroke:#fff;mix-blend-mode:screen;filter:drop-shadow(0 0 10px var(--wc)) drop-shadow(0 0 3px #fff);opacity:0}.wheel-ring path.full{filter:drop-shadow(0 0 6px var(--wc))}.wheel-ring path.sel{filter:brightness(1.5) drop-shadow(0 0 12px var(--wc))}.wheel-label{z-index:2;transform-origin:0 0;white-space:nowrap;position:absolute;top:0;left:0}.wheel-label.lesson{cursor:pointer}.wheel-marker,.wheel-band{pointer-events:none;position:absolute}.wheel.upright .wheel-marker{left:calc(var(--rx) + var(--rw) / 2 + 4px);width:4px;height:calc(var(--sz) - 12px);box-shadow:0 0 10px var(--wc), 0 0 30px var(--wc);background:#fff;display:none;top:50%;transform:translateY(-50%)}.wheel.upright .wheel-band{z-index:0;left:calc(var(--rx) + var(--rw) / 2 - 1px);height:calc(var(--sz) - 4px);transform-origin:0;background:linear-gradient(90deg, color-mix(in srgb, color-mix(in srgb, var(--wc2) 55%, var(--wc)) 88%, transparent), color-mix(in srgb, var(--wc) 34%, transparent) 110px, color-mix(in srgb, var(--wc2) 12%, transparent) 55%, transparent 92%);opacity:max(0, 1 - var(--spd,0) * 3);animation:band-in .5s var(--ease);transition:opacity .18s;top:50%;right:0;transform:translateY(-50%);-webkit-mask-image:linear-gradient(90deg,#000 62%,#0000);mask-image:linear-gradient(90deg,#000 62%,#0000)}.wheel-band:before{content:"";opacity:0;background:linear-gradient(90deg, #fff, color-mix(in srgb, var(--wc) 60%, #fff) 30%, transparent 80%);position:absolute;inset:0}.wheel.lock .wheel-band:before{animation:band-lock .7s var(--ease)}.wheel.lock .wheel-label.on .wl-t{animation:label-lock .6s var(--ease)}@keyframes band-lock{0%{opacity:.85;clip-path:inset(0 100% 0 0)}45%{opacity:.55;clip-path:inset(0)}to{opacity:0;clip-path:inset(0)}}@keyframes label-lock{30%{letter-spacing:.04em;text-shadow:0 0 24px var(--wc), 0 0 2px #fff}}@keyframes band-in{0%{opacity:0;filter:brightness(2.2);transform:translateY(-50%)scaleX(.35)}}.wheel.sideways .wheel-marker{top:calc(var(--rx) + var(--rw) / 2 + 4px);height:3px;width:calc(var(--sz) - 20px);box-shadow:0 0 12px var(--wc);background:#fff;left:50%;transform:translate(-50%)}.wheel.sideways .wheel-band{z-index:0;top:calc(var(--rx) + var(--rw) / 2 - 1px);opacity:max(0, 1 - var(--spd,0) * 3);width:var(--sz);background:linear-gradient(180deg, color-mix(in srgb, var(--wc) 30%, transparent), transparent 90%);bottom:0;left:50%;transform:translate(-50%)}.wl-lesson{color:var(--ink-3);align-items:center;gap:14px;padding:8px 0;display:flex}.wl-n{min-width:30px;font:600 12px var(--f-mono);letter-spacing:.06em;color:color-mix(in srgb, var(--wc) 55%, var(--ink-3))}.wl-t{font:450 18px var(--f-disp);letter-spacing:-.005em;color:var(--ink-2);transition:color .2s}.wl-lesson .ic{color:var(--ice);stroke-width:2.6px}.wl-lesson:not(.open) .wl-n{color:var(--wc)}.wl-lesson.open .ic{color:var(--gold);stroke-width:1.8px}.wl-lesson.next .wl-t:after{content:"";background:var(--light);width:6px;height:6px;box-shadow:0 0 10px var(--light);vertical-align:middle;border-radius:50%;margin:0 0 .25em 10px;display:inline-block}.wheel-label.on .wl-t{color:#fff;text-shadow:0 0 18px color-mix(in srgb, var(--wc) 70%, transparent);font-weight:550}.wheel-label.on .wl-n{color:var(--wc);text-shadow:0 0 12px var(--wc)}.wl-n{transition:color .2s}.wheel-label.lesson:hover .wl-t{color:var(--ink)}.wl-unit{font:600 10.5px var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--wc);align-items:baseline;gap:12px;display:flex}.wl-unit b{font:700 26px/1 var(--f-dot);letter-spacing:0}.wheel.sideways{touch-action:pan-y}.wheel.sideways .wl-lesson{flex-direction:column;gap:2px;padding:0}.wheel.sideways .wl-t{display:none}.wheel.sideways .wl-n{min-width:0;font-size:14px}.wheel.sideways .wl-lesson .ic{width:11px;height:11px}.wheel.sideways .wl-unit span{display:none}.wheel.sideways .wl-unit b{font-size:20px}.lesson-page{min-height:0;padding:clamp(14px, 4vh, 64px) var(--gutter) 0 clamp(12px, 2vw, 32px);flex-direction:column;display:flex}.lesson-body{min-height:0;animation:enter .45s var(--ease);scrollbar-width:thin;flex-direction:column;flex:1;gap:clamp(8px,1.4vh,14px);padding-bottom:16px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.lesson-page>.acts{padding-bottom:max(28px, env(safe-area-inset-bottom));flex:none}.lesson-page .label.tint{flex-wrap:wrap}.badge-check{border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);border-radius:var(--r);color:var(--gold);letter-spacing:.12em;align-items:center;gap:5px;margin-left:6px;padding:2px 8px 2px 6px;display:inline-flex}.lesson-page .big-n{color:var(--wc);text-shadow:0 0 50px color-mix(in srgb, var(--wc) 35%, transparent);margin:8px 0 0 -.04em;font-size:clamp(64px,min(9vw,14vh),160px)}.lesson-page h1{font:500 clamp(28px, 2.5vw, 42px) / 1.08 var(--f-disp);letter-spacing:-.015em}.lesson-goal{max-width:46ch;color:var(--ink-2);font-size:16px}.facts{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:14px 34px;margin:6px 0 0;padding:clamp(10px,1.6vh,16px) 0;display:flex}.facts dt{font:600 10.5px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.facts dd{font:700 26px/1 var(--f-dot);margin:6px 0 0}.facts dd small{font:500 11px var(--f-mono);color:var(--ink-3)}.ex-list{margin:0;padding:0;list-style:none}.ex-row{border-bottom:1px solid var(--hair);grid-template-columns:28px minmax(0,1fr) auto auto 30px 30px;align-items:center;gap:14px;padding:clamp(9px,1.4vh,14px) 6px clamp(9px,1.4vh,14px) 0;transition:background .2s;display:grid;position:relative}.ex-row:hover{background:linear-gradient(90deg, var(--dim), transparent 80%)}.ex-row.next:before{content:"";background:var(--light);width:2px;box-shadow:0 0 10px var(--light);position:absolute;top:16px;bottom:16px;left:-14px}.ex-row .what{min-width:0;display:grid}.ex-row .what b{font-size:15px;font-weight:600}.ex-row .what em{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-style:normal;overflow:hidden}.ex-row.hearing .ex-letter{background:var(--wc);color:var(--bg);border-color:#0000;animation:1.2s ease-in-out infinite glow}.hear-note{height:16px;font:500 11px/16px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);opacity:0;align-items:center;gap:10px;margin:0;transition:opacity .25s;display:flex}.hear-note.on{opacity:1}.hear-say{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.eq i{background:var(--wc);transform-origin:bottom;width:2px;height:100%;animation:.9s ease-in-out infinite eq}.hear-note:not(.on) .eq i{animation:none}.eq i:nth-child(2){animation-delay:-.3s}.eq i:nth-child(3){animation-delay:-.6s}@keyframes eq{50%{transform:scaleY(.3)}}.ex-row.done .ex-letter{background:color-mix(in srgb, var(--wc) 16%, transparent)}.how{margin-top:4px}.how summary{cursor:pointer;font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;padding:6px 0;list-style:none;display:inline-flex}.how summary::-webkit-details-marker{display:none}.how summary:hover,.how[open] summary{color:var(--ink)}.how ol,.how-pop ol{color:var(--ink-2);gap:6px;margin:8px 0 0;padding-left:20px;font-size:14.5px;display:grid}.how li::marker{font:600 11px var(--f-mono);color:var(--ink-3)}.how-pop li::marker{font:600 11px var(--f-mono);color:var(--ink-3)}.watch{color:var(--ink-2);gap:8px;margin-top:12px;font-size:13.5px;display:flex}.watch .ic{color:var(--light);margin-top:2px}.lesson-page .acts{flex-wrap:wrap;align-items:center;gap:22px 34px;margin-top:clamp(10px,2vh,22px);padding:0 0 10px 10px;display:flex}@container main (width<=900px){.screen-course .main{height:auto;overflow:visible}.screen-course .foot{display:flex}.course{height:auto;display:block}.wheel{top:var(--top-h);z-index:5;background:linear-gradient(#050507f5 55%,#05050700);height:150px;position:sticky;-webkit-mask-image:linear-gradient(#00000059,#000 46%);mask-image:linear-gradient(#00000059,#000 46%)}.lesson-page{padding:14px var(--gutter) 0}.lesson-body{overflow:visible;-webkit-mask-image:none;mask-image:none}.lesson-page>.acts{z-index:4;margin:0 calc(-1 * var(--gutter));padding:14px var(--gutter) max(16px, env(safe-area-inset-bottom));background:linear-gradient(#05050700,#050507eb 30%);position:sticky;bottom:0}.course-air{background:radial-gradient(70% 34% at 50% 6%, color-mix(in srgb, var(--air1) 28%, transparent), transparent 72%), radial-gradient(50% 30% at 12% 20%, color-mix(in srgb, var(--air2) 18%, transparent), transparent 72%), radial-gradient(50% 30% at 88% 22%, color-mix(in srgb, var(--air3) 18%, transparent), transparent 72%), radial-gradient(80% 50% at 50% 60%, color-mix(in srgb, var(--air1) 6%, transparent), transparent 80%)}.ex-row.next:before{left:-10px}.screen-course .stage-layer:after{background:#050507d6}}@container main (width<=520px){.ex-row{grid-template-columns:28px minmax(0,1fr) auto 30px 30px;gap:10px}.ex-row .num{display:none}.facts{gap:12px 24px}}.screen-ex .main{height:100dvh;padding:var(--top-h) 0 0;overflow:hidden}.room{--card-w:clamp(340px, 27cqw, 430px);height:calc(100dvh - var(--top-h));grid-template-columns:minmax(0, 1fr) var(--card-w);transition:grid-template-columns .55s var(--ease);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"score card""hole card""dock card";display:grid;position:relative}.room.is-playing{grid-template-columns:minmax(0,1fr) 0}.room-hole{z-index:1;touch-action:manipulation;grid-area:hole;min-height:0;position:relative}.room-score{z-index:2;visibility:hidden;opacity:0;border-bottom:1px solid var(--hair);max-height:0;transition:max-height .45s var(--ease), opacity .3s, visibility 0s .45s;background:linear-gradient(#050507e0,#050507b3);flex-direction:column;grid-area:score;display:flex;overflow:hidden}.room.right-open .room-score{visibility:visible;opacity:1;max-height:46vh;transition:max-height .45s var(--ease), opacity .3s}.score-wrap{justify-content:center;min-height:0;padding:10px 16px 0;display:flex;overflow:auto}.score-inner{align-self:flex-start;position:relative}.score{color:var(--ink)}.score svg{display:block;overflow:visible}.score-svg [fill]:not([fill=none]){fill:currentColor}.score-svg [stroke]:not([stroke=none]){stroke:currentColor}.score-svg text{stroke:none!important}.score-count{font:500 11px var(--f-mono);text-anchor:middle;fill:var(--ink-3)!important}.score-count.beat{font-weight:700;fill:var(--ink-2)!important}.score-stick{font:700 11.5px var(--f-mono);text-anchor:middle}.score-stick.r{fill:var(--v-early)!important}.score-stick.l{fill:var(--v-late)!important}.score-stick.both{fill:var(--ink-2)!important}.score-svg .v-perfect,.score-svg .v-perfect *{fill:var(--v-perfect)!important;stroke:var(--v-perfect)!important}.score-svg .v-early,.score-svg .v-early *{fill:var(--v-early)!important;stroke:var(--v-early)!important}.score-svg .v-late,.score-svg .v-late *{fill:var(--v-late)!important;stroke:var(--v-late)!important}.score-svg .v-miss,.score-svg .v-miss *{fill:var(--v-miss)!important;stroke:var(--v-miss)!important}.score-cursor{background:var(--light);width:2px;box-shadow:0 0 12px var(--light);opacity:0;pointer-events:none;will-change:transform;margin-left:-1px;position:absolute;top:0;left:0}.score-cursor.on{opacity:.95}.score-error{color:var(--ink-3);padding:30px}.score-keys{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 16px 10px;font-size:12px;display:flex}.lane-key{align-items:center;gap:6px;display:inline-flex}.room-card{z-index:3;width:var(--card-w);min-height:0;padding:16px var(--gutter) 26px 0;transition:opacity .35s, transform .55s var(--ease);flex-direction:column;grid-area:card;gap:26px;display:flex;position:relative}.room.is-playing .room-card{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .35s, transform .55s var(--ease), visibility 0s .55s;transform:translate(60px)}.room.is-playing .room-card *,.room.is-playing .room-card :before,.room.is-playing .room-card :after{animation-play-state:paused}.setup,.outcome{background:var(--panel);min-height:0;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);scrollbar-width:thin;border-radius:2px;flex:0 auto;padding:18px 22px 20px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #00000073}.step-tabs{align-items:center;gap:2px;margin:-6px 0 14px;display:flex}.step-tab{min-width:40px;color:var(--ink-3);justify-items:center;gap:2px;padding:6px 8px 10px;transition:color .2s;display:grid;position:relative}.step-tab b{font:600 15px var(--f-disp);letter-spacing:.08em}.step-tab:hover,.step-tab.on{color:var(--ink)}.step-tab.on:after{bottom:-1px;left:8px;right:8px}.step-tab .ic{color:var(--ice);stroke-width:3px}.step-tab .stars svg{display:block}.how-key.on{color:var(--light)}.setup-head h1{font:500 clamp(22px, 1.7vw, 28px) / 1.12 var(--f-disp);letter-spacing:-.01em}.focus{color:var(--ink-2);margin-top:6px;font-size:14px}.how-pop{border-left:1px solid var(--light);animation:enter .25s var(--ease);background:#0000004d;margin-top:14px;padding:12px 14px 14px;font-size:13.5px}.how-pop ol{margin-top:0;font-size:13.5px}.record{background:#00000052;border-radius:2px;justify-content:space-between;gap:10px;margin:18px 0;padding:14px 16px;display:flex}.record div{gap:6px;display:grid}.record dt{font:600 10px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.record dd{font:700 24px/1 var(--f-dot);margin:0}.record .record-stars dd{align-items:center;height:24px;display:flex}.mode-tabs{gap:26px;margin:2px 0 14px;display:flex}.mode-tab{font:600 12.5px var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:6px 0 12px;transition:color .2s;position:relative}.mode-tab:hover{color:var(--ink)}.mode-tab.on{color:var(--light-2)}.mode-tab.on:after{bottom:2px}.mode-tab:disabled{cursor:default}.tempo-row{justify-content:space-between;align-items:center;margin:2px 0 12px;display:flex}.bpm{align-items:baseline;gap:8px;display:flex}.bpm b{font:700 64px/.9 var(--f-dot);font-variant-numeric:tabular-nums}.bpm span{font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.bpm .ic{color:var(--light)}.ladder{gap:3px;margin:0 6px;display:flex;transform:skew(-20deg)}.rung{background:var(--dim-2);cursor:pointer;border:0;flex:1;height:26px;padding:0;transition:background .15s,box-shadow .15s;position:relative}.rung span{font:600 10px var(--f-mono);color:var(--ink-3);opacity:0;transition:opacity .15s;display:block;transform:skew(20deg)}.rung:hover{background:#f3efe733}.rung:hover span,.rung.on span,.rung.goal span,.rung:first-child span{opacity:1}.rung.passed{background:color-mix(in srgb, var(--ice) 36%, transparent)}.rung.passed span{color:var(--ink)}.rung.next{box-shadow:inset 0 0 0 1px #ff7a2eb3}.rung.on{background:var(--light);box-shadow:0 0 16px var(--light-glow)}.rung.on span{color:var(--light-ink)}.rung.goal span:after{content:" ★";color:var(--gold)}.rung.on.goal span:after{color:var(--light-ink)}.rung:disabled{cursor:default}.opts{border-top:1px solid var(--hair);margin-top:18px;display:grid}.opt{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.click-picks{gap:2px;display:flex}.click-picks button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:6px 9px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.click-picks button:hover:not(:disabled){color:var(--ink)}.click-picks button.on{background:var(--dim-2);color:var(--ink)}.click-picks button:disabled{cursor:default}.switch{background:var(--dim-2);cursor:pointer;border:0;border-radius:99px;flex:none;width:46px;height:24px;padding:0;transition:background .2s;position:relative}.switch i{background:var(--ink-3);width:18px;height:18px;transition:left .25s var(--ease), background .2s, box-shadow .2s;border-radius:50%;position:absolute;top:3px;left:3px}.switch.on{background:#ff7a2e42}.switch.on i{background:radial-gradient(circle at 35% 35%, #ffd8b0, var(--light) 70%);box-shadow:0 0 12px var(--light-glow);left:25px}.switch:disabled{opacity:.5;cursor:default}.input-chip{cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:4px 0;display:inline-flex}.input-chip .src{font:600 12px var(--f-mono);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}.input-chip .src.on{color:var(--ice)}.input-chip .src.add{color:var(--ink-2)}.input-chip:hover .src{color:var(--ink)}.input-chip .lvl{background:var(--ice);transform-origin:bottom;width:3px;height:12px}.setup-foot{justify-content:flex-end;margin-top:16px;display:flex}.room-go{flex:none;justify-content:center;align-items:center;gap:30px;display:flex}.room.has-result .room-go{display:none}.listen-key{height:44px;font:600 11.5px var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 4px;transition:color .2s;display:inline-flex}.listen-key:hover:not(:disabled),.listen-key.on{color:var(--ink)}.listen-key:disabled{opacity:.35;cursor:default}.more-key{display:none}.stop-key{border:1px solid var(--hair-2);height:30px;font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;animation:enter .3s var(--ease) both;background:#0505078c;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:0 12px 0 14px;display:inline-flex}.stop-key:hover{color:var(--ink);border-color:#f3efe766}.room-dock{z-index:3;min-width:0;padding:10px 20px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--hair);font:600 10.5px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);background:linear-gradient(#0505078c,#050507db);grid-area:dock;position:relative;container:dock/inline-size}.dock-in{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:40px;display:grid}.dock-l,.dock-r,.dock-keys{align-items:center;gap:8px;min-width:0;display:flex}.dock-r{justify-content:flex-end}.dock-c{min-width:0}.dock-c .meter{width:100%}@container dock (width<=960px){.rt-switch kbd,.stop-key kbd{display:none}}@container dock (width<=780px){.dock-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"m m m""sp vo te""k k k";gap:8px}.dock-l,.dock-r{display:contents}.dock-l .rt-slide:first-child{grid-area:sp}.dock-l .rt-slide:nth-child(2){grid-area:vo}.dock-r .rt-tempo{grid-area:te}.dock-c{grid-area:m}.dock-c:empty{display:none}.dock-keys{grid-area:k;justify-content:space-between}.dock-keys>*{flex:1;justify-content:center}.rt-slide{min-width:0}.rt-slide input{flex:1;width:auto;min-width:0}.rt-switch kbd,.stop-key kbd{display:none}}.rt-slide{border:1px solid var(--hair-2);height:30px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink-2);background:#05050780;border-radius:15px;align-items:center;gap:7px;padding:0 10px 0 9px;display:inline-flex}.rt-slide.off{opacity:.5}.rt-slide b{min-width:30px;font:600 10.5px var(--f-mono);letter-spacing:.04em;color:var(--ink);font-variant-numeric:tabular-nums}.rt-slide input{appearance:none;background:linear-gradient(90deg, var(--wc) calc(var(--v) * 100%), #ffffff24 calc(var(--v) * 100%));cursor:pointer;border-radius:2px;width:64px;height:3px;margin:0}.rt-slide input::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;box-shadow:0 0 8px var(--wc);background:#fff;border-radius:50%}.rt-slide input::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:11px;height:11px}.rt-tempo,.rt-switch{border:1px solid var(--hair-2);white-space:nowrap;background:#05050780;border-radius:15px;flex:none;align-items:center;height:30px;display:inline-flex}.rt-tempo{gap:2px;padding:0 3px}.rt-tempo b{text-align:center;min-width:34px;font:700 15px/1 var(--f-dot);letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums}.rt-tempo button{width:24px;height:24px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.rt-tempo button:hover:not(:disabled){color:var(--ink);background:#ffffff14}.rt-tempo.off{opacity:.45}.rt-tempo button:disabled{cursor:default}.rt-switch{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-3);cursor:pointer;gap:8px;padding:0 10px 0 9px;transition:color .2s,border-color .2s}.rt-switch i{background:#ffffff1a;border-radius:5px;width:20px;height:10px;transition:background .2s;position:relative}.rt-switch i:after{content:"";background:var(--ink-3);width:8px;height:8px;transition:transform .22s var(--ease), background .2s, box-shadow .2s;border-radius:50%;position:absolute;top:1px;left:1px}.rt-switch.on{color:var(--ink);border-color:color-mix(in srgb, var(--wc) 45%, var(--hair-2))}.rt-switch.on i{background:color-mix(in srgb, var(--wc) 35%, transparent)}.rt-switch.on i:after{box-shadow:0 0 8px var(--wc);background:#fff;transform:translate(10px)}.rt-switch kbd{font:600 9.5px var(--f-mono);letter-spacing:0;color:var(--ink-4)}.rt-switch:hover{color:var(--ink)}.hud{pointer-events:none;position:absolute;inset:0}.hud-top{text-align:center;justify-items:center;gap:8px;display:grid;position:absolute;top:18px;left:50%;transform:translate(-50%)}.hud-label{font:600 11px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);text-shadow:0 1px 8px #000c}.hud-acc{font:500 clamp(52px, 5.6vw, 88px) / .86 var(--f-dot);font-variant-numeric:tabular-nums;text-shadow:0 2px 30px #000000b3, 0 0 34px color-mix(in srgb, var(--wc) 45%, transparent)}.hud-acc small{font-size:.42em}.test-quiet{border-top:1px solid var(--hair-2);border-bottom:1px solid var(--hair-2);font:600 15px var(--f-disp);letter-spacing:.5em;text-transform:uppercase;color:var(--ink);align-items:center;padding:7px 0 7px .5em;display:flex}.test-quiet.listen{color:var(--ink-2);padding:6px 14px}.beat-hud{justify-items:center;display:grid}.beat-dots{align-items:center;gap:12px;height:14px;display:flex}.beat-dots span{background:#f3efe738;border-radius:50%;width:7px;height:7px;font-size:0;transition:background 60ms,transform 80ms,box-shadow 80ms}.beat-dots span.one{background:#f3efe76b}.beat-dots span.on{background:var(--light);box-shadow:0 0 12px var(--light);transform:scale(1.6)}.beat-count{font:500 clamp(110px, 15vw, 220px) / 1 var(--f-dot);color:var(--ink);text-shadow:0 0 50px var(--light-glow), 0 0 100px #ff7a2e4d;animation:count .5s var(--ease);position:fixed;top:50%;left:50%;translate:-50% -50%}.room-hole .beat-count{z-index:1;font:800 clamp(90px, min(13vw, 19vh), 190px) / 1 var(--f-text);letter-spacing:-.04em;text-shadow:none;pointer-events:none;animation:none;position:absolute}.beat-count>span{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 18px color-mix(in srgb, var(--wc) 80%, transparent), 0 0 60px color-mix(in srgb, var(--wc) 50%, transparent);animation:.62s cubic-bezier(.2,.9,.25,1.15) both count-land;display:block}@keyframes count-land{0%{opacity:0;filter:blur(14px);letter-spacing:.1em;transform:scale(1.9)}45%{opacity:1;filter:blur();transform:scale(.94)}70%{transform:scale(1.02)}to{opacity:.88;transform:scale(1)}}.hud:before{content:"";opacity:0;background:radial-gradient(at 50% 45%,#00000040,#00000080);transition:opacity .35s;position:absolute;inset:0}.hud:has(.beat-count):before{opacity:1}.hud-top{transition:opacity .25s}.hud:has(.beat-count) .hud-top{opacity:0}@keyframes count{0%{opacity:0;transform:scale(1.5)}}.hud-combo{animation:pop .35s var(--ease);justify-items:start;gap:4px;display:grid;position:absolute;top:18px;left:22px}.hud-combo b{font:700 46px/.9 var(--f-dot);font-variant-numeric:tabular-nums;text-shadow:0 2px 24px #000000b3}.hud-combo span{font:600 10.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}@keyframes pop{0%{transform:scale(1.15)}}.mult{font:700 13px var(--f-mono);letter-spacing:.1em;color:var(--light-2);font-style:normal}.mult.m3{color:#c9a8ff}.mult.m4{color:var(--gold)}.hud-passes{position:absolute;top:18px;right:22px}.passes{justify-items:end;gap:3px;display:grid}.passes.empty{display:none}.pass{font:600 12px var(--f-mono);font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #000c}.pass:before{content:"";opacity:.5;background:currentColor;width:16px;height:1px;margin:0 8px .3em 0;display:inline-block}.pass.ok{color:var(--v-perfect)}.pass.near{color:var(--v-late)}.pass.low{color:var(--v-miss)}.hud-meter{width:min(460px,70%);position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.meter-bar{height:18px;position:relative}.meter-bar:before{content:"";background:#f3efe74d;height:1px;position:absolute;top:50%;left:0;right:0}.meter-zone{background:color-mix(in srgb, var(--v-perfect) 60%, transparent);height:3px;margin-top:-1px;position:absolute;top:50%}.meter-mid{background:#f3efe780;width:1px;position:absolute;top:0;bottom:0;left:50%}.meter-tick{width:2px;margin-left:-1px;position:absolute;top:3px;bottom:3px}.meter-tick.v-perfect{background:var(--v-perfect)}.meter-tick.v-early{background:var(--v-early)}.meter-tick.v-late{background:var(--v-late)}.meter-needle{background:var(--ink);width:2px;box-shadow:0 0 8px var(--ink);margin-left:-1px;transition:left .15s;position:absolute;top:-3px;bottom:-3px}.meter-scale{font:600 10px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);text-shadow:0 1px 6px #000000e6;justify-content:space-between;margin-top:4px;display:flex}.meter-word{color:var(--ink-2);font-variant-numeric:tabular-nums}.meter-word.v-perfect{color:var(--v-perfect)}.meter-word.v-early{color:var(--v-early)}.meter-word.v-late{color:var(--v-late)}.meter-word.v-miss,.meter-word.v-wrong{color:var(--v-miss)}.outcome{animation:enter .45s var(--ease);flex-direction:column;gap:16px;padding:22px 22px 24px;display:flex}.outcome-x{position:absolute;top:8px;right:8px}.outcome .label{padding-right:34px}.outcome-main{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.outcome-acc{font:500 clamp(84px, 6.4vw, 118px) / .84 var(--f-dot);font-variant-numeric:tabular-nums;text-shadow:0 0 50px color-mix(in srgb, var(--wc) 35%, transparent)}.outcome-acc small{font-size:.38em}.verdict{font:600 13px var(--f-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3)}.outcome.passed .verdict{color:var(--light-2)}.outcome-stars{align-items:center;gap:14px;display:flex}.gain{font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);animation:enter .5s var(--ease) .3s both}.mark-at{font:500 12px var(--f-mono);color:var(--ink-3)}.outcome-facts{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:12px 28px;margin:0;padding:14px 0;display:flex}.outcome-facts dt{font:600 10px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.outcome-facts dd{font:600 15px var(--f-mono);margin:5px 0 0}.outcome-facts dd small{color:var(--ink-3)}.lane-bars{gap:7px;display:grid}.lane-bar{color:var(--ink-2);grid-template-columns:92px minmax(0,1fr) 30px;align-items:center;gap:12px;font-size:12.5px;display:grid}.lane-bar>i{background:var(--dim-2);height:2px;position:relative}.lane-bar>i>i{background:var(--ink-2);position:absolute;inset:0 auto 0 0}.lane-bar b{font:600 12px var(--f-mono);text-align:right}.tips{color:var(--ink-2);gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.tips li{gap:10px;display:flex}.tips li:before{content:"";background:var(--light);flex:none;width:12px;height:1px;margin-top:.75em}.outcome-go{flex-direction:column;align-items:center;gap:12px;margin-top:8px;padding:10px 0 2px;display:flex}.outcome .go{--go-h:50px;width:min(100%,300px);min-width:0;padding-right:26px}.go>span{min-width:0}.go-word{text-overflow:ellipsis;min-width:0;font-style:normal;overflow:hidden}.outcome.quiet .outcome-acc{font-size:64px}.quiet-note{color:var(--ink-2);font-size:14px}.stage-layer.asleep canvas{visibility:hidden}.stage-layer canvas{transition:opacity .4s}.stage-layer.away canvas{opacity:0}@container main (width<=760px){.room{grid-template:"score""hole"minmax(0,1fr)"dock""card"/minmax(0,1fr)}.room-dock{padding:8px 12px max(8px, env(safe-area-inset-bottom))}.outcome .lane-bars,.outcome .tips{display:none}.outcome .outcome-acc{font-size:64px}.room.is-playing{grid-template-columns:minmax(0,1fr)}.room-card{width:auto;padding:10px 12px max(12px, env(safe-area-inset-bottom));background:linear-gradient(#05050700,#050507f0 22px);gap:12px}.room.is-playing .room-card{display:none}.setup{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;padding:0;display:grid;overflow:visible}.step-tabs,.opts,.setup-foot,.how-pop{grid-column:1/-1}.step-tabs{margin:0 0 6px}.setup-head,.record,.ladder,.opts,.setup-foot{display:none}.room.more-open .opts{display:grid}.room.more-open .setup-foot{display:flex}.mode-tabs{gap:18px;margin:0}.mode-tab{padding:8px 0 12px}.tempo{justify-self:end}.tempo .label{display:none}.tempo-row{gap:6px;margin:0}.bpm b{font-size:38px}.bpm span{display:none}.opts{margin-top:8px}.room-go{grid-template-columns:40px minmax(0,1fr) 40px;gap:14px;display:grid}.outcome-go{gap:8px;margin-top:0;padding-top:4px}.outcome .go{--go-h:46px;padding-right:20px}.outcome .go>span{letter-spacing:.14em;gap:10px;margin-right:-.14em}.room-go .go{--go-h:52px;justify-self:center;width:min(100%,300px);min-width:0}.listen-key span{display:none}.listen-key{justify-content:center;width:40px}.more-key{display:grid}.more-key.on{color:var(--light)}.outcome{gap:12px;max-height:64dvh;padding:18px}.outcome-acc{font-size:76px}.hud-combo,.hud-passes{top:12px}.hud-combo{left:12px}.hud-passes{right:12px}.hud-combo b{font-size:30px}.hud-top{top:12px}.hud-acc{font-size:46px}.room-score .score-keys .lane-key{display:none}}.journal{gap:clamp(30px,5vh,52px);max-width:1080px;display:grid}.screen-head{gap:12px;display:grid}.screen-head h1{font:500 clamp(40px, 5vw, 76px) / 1 var(--f-disp);letter-spacing:-.025em}.stat-row{border-top:1px solid var(--hair);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:22px;display:grid}.stat{align-content:start;gap:10px;display:grid}.stat b{font:700 clamp(34px, 3.4vw, 54px) / .9 var(--f-dot)}.stat b small{font:500 13px var(--f-mono);color:var(--ink-3)}.stat em{font:500 12px var(--f-mono);color:var(--ink-3);font-style:normal}.calendar header,.timing>h2{justify-content:space-between;align-items:center;display:flex}.calendar h2,.timing h2,.log h2{font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.legend{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:50%;width:9px;height:9px;display:block}.cal-grid{gap:7px;margin-top:16px;padding:4px 2px;display:flex;overflow-x:auto}.cal-col{flex:1;gap:7px;min-width:10px;max-width:17px;display:grid}.cal-col i{aspect-ratio:1;border-radius:50%;width:100%;display:block}.l0{background:var(--dim-2)}.l1{background:#ff7a2e47}.l2{background:#ff7a2e85}.l3{background:#ff8c46cc}.l4{background:var(--light-2);box-shadow:0 0 10px var(--light-glow)}.cal-col i.future{box-shadow:inset 0 0 0 1px var(--hair);background:0 0}.cal-col i.done-day{box-shadow:inset 0 0 0 1.5px var(--ice)}.timing>p{font:500 12px var(--f-mono);color:var(--ink-3);margin:4px 0 16px}.timing-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.timing-row div{border-left:1px solid var(--hair-2);gap:6px;padding-left:14px;display:grid}.timing-row span{font:600 10.5px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.timing-row b{font:500 24px var(--f-disp)}.timing-row em{font:500 12px var(--f-mono);color:var(--ink-3);font-style:normal}.timing-row em.better{color:var(--ok)}.timing-row em.worse{color:var(--warn)}.log{gap:22px;display:grid}.log-day header{border-bottom:1px solid var(--hair-2);align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.log-day header b{font:500 18px var(--f-disp)}.log-day header span{font:500 12px var(--f-mono);color:var(--ink-3)}.log-day ul{margin:0;padding:0;list-style:none}.log-day li a{border-bottom:1px solid var(--hair);align-items:center;gap:16px;padding:10px 0;transition:background .2s;display:flex}.log-day li a:hover{background:linear-gradient(90deg, var(--dim), transparent 70%)}.log-day .what{flex:1;min-width:0;display:grid}.log-day .what b{font-size:14.5px;font-weight:600}.log-day .what em{color:var(--ink-3);font-size:12.5px;font-style:normal}.nums{font:500 12.5px var(--f-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;grid-template-columns:84px 46px 72px 58px;gap:10px;display:grid}.tag{width:78px;font:600 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);flex:none}.tag.test{color:var(--v-early)}.tag.passed{color:var(--light-2)}.tag.mark.passed{color:var(--ice)}@container main (width<=820px){.stat-row{grid-template-columns:1fr 1fr}}@container main (width<=700px){.timing-row{grid-template-columns:1fr;gap:14px}}@container main (width<=640px){.nums{grid-template-columns:70px 40px}.nums .feel,.nums .mins{display:none}}.hint{color:var(--ink-3);margin:8px 0 0;font-size:13px}.hint.warn{color:var(--warn)}.hint.ok{color:var(--ok)}.scrim{z-index:40;background:#02020480;animation:.2s fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.settings{z-index:41;width:min(480px,100vw);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-left:1px solid var(--hair);animation:slide .3s var(--ease);background:#08080af5;outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:0 0 120px #000000b3}@keyframes slide{0%{opacity:0;transform:translate(40px)}}.settings>header{justify-content:space-between;align-items:center;padding:18px 16px 8px 24px;display:flex}.settings h2{font:500 26px var(--f-disp);letter-spacing:-.01em}.set-tabs{border-bottom:1px solid var(--hair);scrollbar-width:none;gap:18px;margin:0 24px;display:flex;overflow-x:auto}.set-tabs .seg{height:40px;font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;background:0 0;border-radius:0;padding:0;position:relative}.set-tabs .seg.on{color:var(--ink)}.set-tabs .seg.on:after{content:"";background:var(--light);height:2px;position:absolute;bottom:-1px;left:0;right:0}.set-body{flex:1;padding:6px 24px 30px;overflow-y:auto}.set-group{border-bottom:1px solid var(--hair);padding:20px 0}.set-group:last-child{border-bottom:0}.set-group h3{font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.blurb{color:var(--ink-3);margin:6px 0 14px;font-size:13.5px}.set-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.set-row .lbl{font-size:14px;font-weight:500;display:grid}.set-row .lbl em{color:var(--ink-3);font-size:12.5px;font-style:normal}.set-row .ctl{align-items:center;gap:8px;display:flex}.set-row input[type=range]{width:140px;accent-color:var(--light)}.set-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--light)}.set-row select,input.num{border-radius:var(--r);border:1px solid var(--hair-2);background:var(--panel-solid);height:32px;padding:0 8px}input.num{width:70px;font:500 13px var(--f-mono)}.val{text-align:right;min-width:34px;font:500 12px var(--f-mono);font-variant-numeric:tabular-nums;color:var(--ink-3)}.key-grid{color:var(--ink-2);grid-template-columns:1fr 1fr;gap:9px 14px;font-size:13.5px;display:grid}.key-grid span{align-items:center;gap:9px;display:flex}.pads{gap:2px;margin-top:10px;display:grid}.pad-row{border-radius:var(--r);align-items:center;gap:10px;padding:5px 8px;transition:background .1s;display:flex}.pad-row.lit{background:var(--light-soft)}.pad-row.learning{box-shadow:inset 0 0 0 1px var(--light)}.pad-name{width:100px;font-size:13.5px;font-weight:600}.pad-notes{flex-wrap:wrap;flex:1;gap:4px;display:flex}.note{border-radius:var(--r);border:1px solid var(--hair);font:500 11.5px var(--f-mono);cursor:pointer;background:0 0;padding:1px 6px}.note:hover{text-decoration:line-through}.mic-meter{border:1px solid var(--hair);border-radius:var(--r);height:32px;margin-bottom:8px;position:relative;overflow:hidden}.mic-meter i{background:color-mix(in srgb, var(--ice) 30%, transparent);transition:width 50ms;position:absolute;inset:0 auto 0 0}.mic-meter b{text-align:center;line-height:30px;font:600 11px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);display:block;position:relative}.mic-meter.hit{border-color:var(--ice)}.mic-meter.hit b{color:var(--ice)}.kit-picks,.quality-picks{grid-template-columns:1fr 1fr;gap:6px;display:grid}.quality-picks{grid-template-columns:repeat(5,1fr)}.kit-pick,.quality-pick{text-align:left;border-radius:var(--r);border:1px solid var(--hair);cursor:pointer;background:0 0;padding:10px 12px;transition:border-color .15s,background .15s;display:grid}.kit-pick b{font-size:14px;font-weight:600}.kit-pick span{color:var(--ink-3);font-size:12.5px}.kit-pick:hover,.quality-pick:hover{border-color:var(--hair-2)}.kit-pick.on{border-color:var(--light);background:var(--light-soft)}.quality-pick{--q:var(--light);text-align:center;justify-items:center;gap:7px;padding:10px 4px}.quality-pick b{font:600 12px var(--f-mono)}.quality-pick.on{border-color:var(--q);background:color-mix(in srgb, var(--q) 12%, transparent)}.load{gap:2px;display:flex}.load i{background:var(--dim-2);width:4px;height:10px}.load i.on{background:var(--q)}.who{align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.who em{color:var(--ink-3);font-size:13px;font-style:normal;font-weight:400}.btn-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hint a,.blurb a{color:var(--light-2);font-weight:600}@media (width<=960px){.apps{display:none}}@media (width<=640px){:root{--top-h:52px}.top{gap:14px;padding:0 10px 0 14px}.word{letter-spacing:.22em;font-size:11px}.brand{flex:none;gap:9px}.crumb{min-width:0}.crumb .t{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav{z-index:30;padding:6px 8px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--hair);background:linear-gradient(#050507d1,#050507fa 40%);justify-content:space-around;gap:0;position:fixed;bottom:0;left:0;right:0}.nav a{letter-spacing:.16em;flex-direction:column;flex:1;justify-content:center;gap:4px;height:50px;font-size:10px}.nav a .ic{display:block}.nav a.on{color:var(--light-2)}.nav a.on:after{display:none}.main{padding-bottom:100px}.screen-ex .main{padding-bottom:0}.foot{padding-bottom:96px}.go{--go-h:52px;min-width:152px}.key-grid,.kit-picks{grid-template-columns:1fr}.quality-picks{grid-template-columns:repeat(3,1fr)}.lane-bar{grid-template-columns:76px minmax(0,1fr) 28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.ex-row .what b{align-items:center;gap:8px;min-width:0;display:flex}.star-key{z-index:2;width:22px;height:22px;color:var(--ink-4);cursor:pointer;transition:color .2s, transform .2s var(--ease);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-left:-3px;padding:0;display:grid;position:relative}.star-key:hover{color:#ffc84a;transform:scale(1.15)}.star-key.on{color:#ffc84a;filter:drop-shadow(0 0 6px #ffc84a99);animation:done-pop .45s var(--ease)}.star-key.on svg{fill:currentColor}.ex-row.picked{background:linear-gradient(90deg, color-mix(in srgb, var(--wc) 12%, transparent), transparent 80%)}.wl-step .wl-n em{color:var(--ink-2);margin-left:3px;font-style:normal}.wl-step>.ic{color:#ffc84a;fill:#ffc84a;flex:none;margin-right:-6px}
