.lesson-backdrop{position:fixed;inset:0;z-index:900;display:flex;justify-content:center;background:#050e128f;backdrop-filter:blur(30px) saturate(1.25);-webkit-backdrop-filter:blur(30px) saturate(1.25);animation:fade-in .28s ease}.lesson-player{width:100%;max-width:560px;height:100dvh;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);color:var(--text);outline:none}.lp-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;height:var(--header-h);padding:0 12px}html[data-theme] .lp-head .icon-button{width:44px;height:44px;border:0!important;border-radius:50%;background:transparent!important;color:var(--text-dim)!important}.lp-pearls{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;list-style:none}.lp-pearls li{display:flex}.lp-pearls button{position:relative;width:clamp(14px,calc(180px / var(--n)),22px);height:44px;padding:0;border:0;background:none;cursor:pointer}.lp-pearls button:before{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#f4ead83d;transition:background .3s,box-shadow .3s,transform .4s var(--spring)}.lp-pearls .is-past button:before{background:var(--gold-hi);box-shadow:0 0 8px var(--gold)}.lp-pearls .is-now button:before{background:transparent;box-shadow:inset 0 0 0 1.2px var(--gold-hi),0 0 12px #ffdcaacc;transform:scale(1.7)}.lp-pearls .is-practice button:before{border-radius:0;transform:rotate(45deg)}.lp-pearls .is-practice.is-now button:before{transform:rotate(45deg) scale(1.6)}.lp-count{text-align:right;padding-right:6px;white-space:nowrap}.lp-body{display:flex;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 22px 18px;touch-action:pan-y;scrollbar-width:none}.lp-body::-webkit-scrollbar{display:none}.lp-body.is-next{animation:term-turn-next .34s var(--ease) both}.lp-body.is-prev{animation:term-turn-prev .34s var(--ease) both}.lp-body.is-none{animation:rise-in .52s var(--ease) both}.lp-copy{display:flex;flex-direction:column;gap:10px}.lp-body.kind-read{justify-content:center;padding-bottom:9dvh}html[data-theme] .lp-body.kind-read .lp-copy h2{font-size:clamp(38px,11.5vw,50px);margin-bottom:8px}html[data-theme] .lp-body.kind-read .lp-copy p{font-size:17px}html[data-theme] .lp-copy h2{margin:2px 0;font-size:clamp(31px,9.2vw,40px);line-height:1.02;text-wrap:balance}html[data-theme] .lp-copy p{margin:0;max-width:36ch;font-size:15.5px;line-height:1.5;color:color-mix(in srgb,var(--cream) 86%,transparent);text-wrap:pretty}html[data-theme] .lp-copy .lp-lesson-title{font-family:var(--f-display);font-style:italic;font-size:18px;line-height:1.2;color:var(--text-dim)}.lp-points{display:flex;flex-direction:column;margin:8px 0 0;padding:0;list-style:none}.lp-points li{position:relative;padding:13px 0 13px 24px;font-size:15.5px;line-height:1.4;color:var(--cream);box-shadow:inset 0 1px #f4ead821;animation:rise-in .6s var(--ease) both;animation-delay:var(--d)}.lp-points li:last-child{box-shadow:inset 0 1px #f4ead821,inset 0 -1px #f4ead821}.lp-points li:before{content:"";position:absolute;left:4px;top:20px;width:5px;height:5px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 8px var(--gold)}.lp-stage{display:flex;flex-direction:column;gap:12px;margin-top:auto;animation:rise-in .62s var(--ease) both 90ms}html[data-theme] .lp-caption{display:flex;align-items:flex-start;justify-content:center;min-height:42px;margin:0;text-align:center;font-size:14px;line-height:1.45;color:var(--text-dim);text-wrap:balance}.lp-caption span{display:inline}.lp-caption svg{vertical-align:-2px;margin-right:6px}.lp-caption .is-right{color:var(--jade)}.lp-caption .is-wrong{color:var(--cream)}.lp-row{display:flex;justify-content:center;min-height:40px}.lp-demos{display:flex;flex-direction:column;gap:8px}.lp-demos.is-grid,.lp-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lp-demo{display:flex;align-items:center;gap:12px;min-width:0;min-height:52px;padding:0 16px 0 9px;border:0;border-radius:99px;background:var(--glass);color:var(--text);text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi);transition:background .22s var(--ease-soft),box-shadow .22s,transform .14s var(--ease-soft)}.lp-demo:active{transform:scale(.985);background:var(--glass-2)}.lp-demo-glyph{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--text-dim);box-shadow:inset 0 0 0 1px var(--glass-line);transition:color .2s,background .2s,box-shadow .2s}.lp-demo-glyph svg{margin-left:2px}.lp-demo-label{flex:1;min-width:0;font-family:var(--f-display);font-style:italic;font-size:20px;line-height:1.1}.lp-demo.is-on{box-shadow:inset 0 0 0 1px var(--accent-line),inset 0 1px 0 var(--glass-hi)}.lp-demo.is-on .lp-demo-label{color:var(--gold-hi)}.lp-demo.is-on .lp-demo-glyph{color:#3a1d0e;background:radial-gradient(circle at 40% 32%,var(--gold-hi),var(--gold) 60%,var(--gold-deep));box-shadow:0 0 16px #ffbe7873}.lp-demo-check{flex:none;color:var(--gold);opacity:.8}.lp-bars{display:flex;align-items:center;gap:2.5px;height:14px}.lp-bars i{width:2.5px;height:100%;border-radius:2px;background:currentColor;transform-origin:center;animation:lp-bar .72s ease-in-out infinite}.lp-bars i:nth-child(2){animation-delay:.14s}.lp-bars i:nth-child(3){animation-delay:.28s}@keyframes lp-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}html[data-theme] .lp-ghost{align-self:center;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:99px;background:none;box-shadow:inset 0 0 0 1px var(--glass-line);color:var(--text-dim);font-family:var(--f-label);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;cursor:pointer}html[data-theme] .lp-ghost:active{background:var(--glass-2);color:var(--text)}.lp-numerals{display:flex;justify-content:center;gap:22px;margin:0;padding:0;list-style:none}.lp-numerals li{font-family:var(--f-display);font-style:italic;font-size:26px;line-height:1;color:var(--text-dim);transition:color .2s,text-shadow .2s,transform .3s var(--spring)}.lp-numerals li.is-now{color:var(--gold-hi);text-shadow:0 0 18px rgba(255,190,120,.8);transform:translateY(-3px)}.lk{display:flex;flex-direction:column}.lk-ruler{position:relative;height:34px}.lk-ruler-line{position:absolute;top:25px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-line) 12%,var(--accent-line) 88%,transparent);animation:fade-in .4s ease both}.lk-tick{position:absolute;top:23px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold);opacity:.75;animation:lk-tick .42s var(--spring) both;animation-delay:var(--d)}.lk-tick.is-end{top:21.5px;width:8px;height:8px;margin-left:-4px;opacity:1;background:var(--gold-hi);box-shadow:0 0 10px var(--gold)}@keyframes lk-tick{0%{opacity:0;transform:scale(0)}}.lk-ruler b{position:absolute;top:0;transform:translate(-50%);white-space:nowrap;font-family:var(--f-label);font-weight:400;font-size:9px;line-height:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px rgba(255,207,138,.5);animation:fade-in .5s ease both .2s}.lk-ruler em{position:absolute;bottom:5px;transform:translate(-50%);font-family:var(--f-label);font-style:normal;font-size:9.5px;letter-spacing:.04em;color:var(--text-dim);animation:fade-in .5s ease both}.lk-ruler em.is-half{color:var(--gold-hi);text-shadow:0 0 10px var(--gold)}.lk-keys{position:relative;height:clamp(108px,22dvh,190px);overflow:hidden;border-radius:10px;background:#07060a;box-shadow:inset 0 0 0 1px var(--glass-line),0 18px 40px -22px #000}.lk.is-playable .lk-keys{touch-action:none;user-select:none;-webkit-user-select:none}.lk .kb-key{cursor:default}.lk.is-playable .kb-key{cursor:pointer}.lk .kb-white.is-given{background:linear-gradient(180deg,#a9cfee,var(--azure) 60%,#d4eafb);box-shadow:inset -1px 0 #0003,0 0 22px 2px #9ccdf280}.lk .kb-black.is-given{background:linear-gradient(180deg,#4d7da3,#6ea3cc 72%,var(--azure));box-shadow:0 0 18px 2px #9ccdf28c}.lk .kb-white.is-good{background:linear-gradient(180deg,#7fd3ab,var(--jade) 60%,#c8f3df);box-shadow:inset -1px 0 #0003,0 0 22px 2px #8fe3bb80;animation:kb-strike .52s var(--ease) both}.lk .kb-black.is-good{background:linear-gradient(180deg,#3f8a6a,#5fb891 72%,var(--jade));box-shadow:0 0 18px 2px #8fe3bb8c;animation:kb-strike .52s var(--ease) both}.lk .kb-white.is-bad{background:linear-gradient(180deg,#f3a195,var(--rose) 60%,#ffd2cb);animation:lk-miss .46s var(--ease) both}.lk .kb-black.is-bad{background:linear-gradient(180deg,#a34b40,#d9695b 72%,var(--rose));animation:lk-miss .46s var(--ease) both}@keyframes lk-miss{0%,to{transform:none}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.lk .kb-key.is-given .kb-name,.lk .kb-key.is-good .kb-name{color:#0f2a38}.lk .kb-key.is-target:after{content:"";position:absolute;left:50%;bottom:9px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--azure);box-shadow:0 0 0 4px #9ccdf240;animation:breathe 1.8s ease-in-out infinite}.lk .kb-key.is-changed:before{content:"";position:absolute;left:50%;top:9px;width:7px;height:7px;margin-left:-3.5px;transform:rotate(45deg);background:#3a1d0e;box-shadow:0 0 0 2px #fff4dcbf}.lp-quiz-dots{display:flex;justify-content:center;gap:7px;margin:0;padding:0;list-style:none}.lp-quiz-dots li{width:18px;height:2px;border-radius:2px;background:#f4ead833;transition:background .3s}.lp-quiz-dots .is-past{background:var(--gold)}.lp-quiz-dots .is-now{background:var(--gold-hi);box-shadow:0 0 8px var(--gold)}.lp-prompt{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:18px;min-height:168px;padding-bottom:22px;animation:fade-in .32s ease both}.lp-prompt .lp-listen{align-self:center;width:68px;height:68px}.lp-prompt .drift-staff{width:100%;max-width:300px;height:auto;align-self:center}.lp-symbol{align-self:center;font-family:var(--f-display);font-style:italic;font-size:92px;line-height:1;color:var(--cream);text-shadow:0 0 40px rgba(255,207,138,.25)}.lp-symbol.is-word{font-size:44px}.lp-choices{display:grid;grid-template-columns:1fr;gap:8px}.lp-choices.is-two{grid-template-columns:1fr 1fr}html[data-theme] .lp-choice{min-height:56px;padding:8px 12px;border:0;border-radius:var(--r-md);background:var(--glass);color:var(--text);cursor:pointer;font-family:var(--f-display);font-style:italic;font-size:20px;line-height:1.1;text-wrap:balance;box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi);transition:background .22s,box-shadow .22s,color .22s,opacity .22s,transform .14s}html[data-theme] .lp-choice:not(:disabled):active{transform:scale(.98);background:var(--glass-2)}html[data-theme] .lp-choice:disabled{cursor:default;opacity:.5}html[data-theme] .lp-choice.is-answer{opacity:1;color:var(--jade);background:var(--yes-soft);box-shadow:inset 0 0 0 1px #8fe3bb99,0 0 26px -6px #8fe3bb80}html[data-theme] .lp-choice.is-miss{opacity:1;color:var(--rose);background:var(--no-soft);box-shadow:inset 0 0 0 1px #ff8f808c}.lp-quiz-end{align-items:center;padding-bottom:20px}html[data-theme] .lp-tally{display:flex;align-items:baseline;gap:10px;margin:0;font-family:var(--f-display);font-style:italic}.lp-tally strong{font-weight:400;font-size:96px;line-height:.9;color:var(--gold-hi);text-shadow:0 0 40px rgba(255,190,120,.45)}.lp-tally span{font-size:26px;color:var(--text-dim)}.lp-stage .lp-staff{width:100%;height:auto;max-height:none}.lp-names{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:6px;padding-left:17%;padding-right:5%}html[data-theme] .lp-name{min-height:48px;padding:0;border:0;border-radius:var(--r-sm);background:var(--glass);color:var(--text);font-family:var(--f-display);font-style:italic;font-size:24px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--glass-line);transition:color .2s,box-shadow .2s,background .2s}html[data-theme] .lp-name.is-heard{box-shadow:inset 0 0 0 1px #ffcf8a4d}html[data-theme] .lp-name.is-on{color:var(--gold-hi);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line),0 0 22px -6px #ffbe78b3}.lp-bar{display:flex;flex-direction:column;gap:10px}.lp-countin{display:flex;justify-content:center;gap:10px;height:8px;margin:0;padding:0;list-style:none;opacity:.35;transition:opacity .3s}.lp-countin.is-on{opacity:1}.lp-countin.is-alone{margin:20px 0}.lp-countin li{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--glass-line);transition:background 80ms,box-shadow 80ms}.lp-countin li.is-now{background:var(--azure);box-shadow:0 0 12px var(--azure)}.lp-blocks{position:relative;height:62px;border-radius:10px;background:repeating-linear-gradient(90deg,rgba(244,234,216,.16) 0 1px,transparent 1px 25%);box-shadow:inset 0 0 0 1px var(--glass-line)}.lp-blocks i{position:absolute;top:8px;bottom:8px;box-sizing:border-box;border-radius:7px;background:var(--glass-2);background-clip:content-box;padding:0 3px;transition:background-color .12s,filter .12s}.lp-blocks i:after{content:"";position:absolute;inset:0 3px;border-radius:7px;box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi)}.lp-blocks i.is-past{background-color:#ffcf8a4d}.lp-blocks i.is-now{background-color:var(--gold);filter:drop-shadow(0 0 12px rgba(255,190,120,.8))}.lp-beats{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}.lp-beats li{display:grid;grid-template-columns:1fr 1fr;font-family:var(--f-label);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.lp-beats b{font-weight:400;color:var(--cream);padding-left:3px}.lp-beats span{font-size:7.5px;opacity:.7;padding-left:3px}.lp-drills{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.lp-drill{display:flex;align-items:center;gap:14px;width:100%;min-height:86px;padding:12px 14px 12px 22px;border-radius:var(--r-lg);text-align:left}.lp-drill-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.lp-drill-head{display:flex;align-items:baseline;gap:12px}.lp-drill-head strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:26px;line-height:1}.lp-drill-detail{font-size:14px;line-height:1.35;color:color-mix(in srgb,var(--cream) 82%,transparent)}.lp-drill.is-suggested{background:linear-gradient(120deg,#ffcf8a21,#f4ead80f 60%);box-shadow:inset 0 0 0 1px var(--accent-line),inset 0 1px 0 var(--glass-hi),0 20px 40px -12px #00000059,0 0 34px -10px #ffbe7873}.lp-drill.is-suggested .lp-drill-head strong{color:var(--gold-hi)}.lp-foot{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:14px;padding:10px 20px 16px}.lp-foot .drift-orb.orb-mini{width:44px;height:44px}.lp-foot .drift-orb:disabled{opacity:.3}html[data-theme] .lp-continue{width:100%;min-height:56px;font-family:var(--f-display);font-style:italic;font-size:25px;transition:transform .14s var(--ease-soft),background .3s,box-shadow .3s,color .3s}.lp-continue.pill-glass{color:var(--text-dim)}.lp-mini{display:flex;flex-direction:column;gap:10px}.lp-mini .lk-ruler{display:none}.lp-mini .lk-keys{height:84px}.ls-advice-main{display:flex;align-items:center;gap:14px;width:100%;min-width:0;text-align:left}button.ls-advice{min-height:70px;padding:12px 12px 12px 22px;border-radius:var(--r-lg)}.ls-advice-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.ls-advice-copy strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:22px;line-height:1.05;color:var(--text);text-wrap:balance}.ls-advice-copy small{font-family:var(--f-text);font-size:13px;line-height:1.4;color:color-mix(in srgb,var(--cream) 70%,transparent)}button.ls-advice.is-lead{min-height:92px;background:linear-gradient(120deg,#ffcf8a21,#f4ead80f 62%);box-shadow:inset 0 0 0 1px var(--accent-line),inset 0 1px 0 var(--glass-hi),0 20px 40px -12px #00000059}button.ls-advice.is-lead .ls-advice-copy strong{font-size:27px}.ls-advice-list{display:flex;flex-direction:column;gap:8px}.ls-advice.is-home{display:flex;align-items:stretch;border-radius:var(--r-lg);cursor:default}.ls-advice.is-home:active{transform:none}.ls-advice.is-home .ls-advice-main{flex:1;min-height:72px;padding:12px 6px 12px 28px;border:0;border-radius:var(--r-lg) 0 0 var(--r-lg);background:none;color:inherit;cursor:pointer}.ls-advice.is-home .ls-advice-main:active .ls-advice-copy strong{color:var(--gold-hi)}.ls-advice-later{flex:none;display:grid;place-items:center;width:52px;padding:0;border:0;border-radius:0 var(--r-lg) var(--r-lg) 0;background:none;color:var(--text-dim);box-shadow:inset 1px 0 #f4ead81f;cursor:pointer}.ls-advice-later:hover,.ls-advice-later:focus-visible{color:var(--text)}.ls-advice-later:active{background:var(--glass-2)}.dusk-home>.ls-advice{flex:none;margin-top:12px;animation:rise-in .9s var(--ease) both .36s}html[data-theme] .dusk-hint{align-self:center;margin:14px 0 0;padding:6px 10px;text-align:center;opacity:.75;animation:fade-in 1.2s ease both .9s}.results-lessons{display:flex;flex-direction:column;gap:8px;text-align:left}.results-lessons>.drift-label{text-align:center}.lessons-page{display:flex;flex-direction:column;gap:26px;width:100%;max-width:680px;margin:0 auto;padding:8px 2px 40px;box-sizing:border-box}html[data-theme] .lessons-page .glossary-head p{margin-bottom:10px}html[data-theme] .lessons-page .ls-progress{margin:0;font-size:9px;color:var(--gold)}html[data-theme] .ls-foryou h2{margin:0 0 12px;font-size:26px}.ls-filter{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px;padding:2px 18px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.ls-filter::-webkit-scrollbar{display:none}.ls-filter button{flex:none;min-height:40px;white-space:nowrap}html[data-theme] .ls-track h2{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px}.ls-track h2>span{display:flex;flex-direction:column;gap:4px;min-width:0}.ls-track h2 em{flex:none;font-style:normal;padding-bottom:4px}.ls-track li button,.ls-history li button{justify-content:flex-start;min-height:64px;padding:11px 14px 11px 12px}.ls-track li button>span:nth-of-type(1),.ls-history li button>span:nth-of-type(1){flex:1}html[data-theme] .ls-meta{flex:none;align-self:flex-start;padding-top:7px;letter-spacing:.18em;white-space:nowrap}.glossary-group li .ls-mark,.ls-history .ls-mark{flex:none;color:inherit;opacity:1}.ls-mark-ring{fill:none;stroke:#f4ead847;stroke-width:1.2}.ls-mark-arc{fill:none;stroke:var(--gold-hi);stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--gold))}.ls-mark-core{fill:var(--gold-hi);filter:drop-shadow(0 0 4px var(--gold))}html[data-theme] .ls-hint{align-self:center;margin:4px 0 0;padding:8px 12px;text-align:center}.ls-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 16px}.ls-stats>div{display:flex;flex-direction:column;gap:4px;min-width:0}html[data-theme] .ls-stats dt{font-family:var(--f-label);font-size:8px;line-height:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim)}html[data-theme] .ls-stats dd{margin:0;font-family:var(--f-display);font-style:italic;font-size:34px;line-height:1;color:var(--gold-hi)}html[data-theme] .ls-stats p{margin:0;font-size:12px;line-height:1.35;color:var(--text-dim)}.ls-history{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.ls-history li button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:var(--r-md);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);color:var(--cream);text-align:left;cursor:pointer;font:inherit}.ls-history li button>span:nth-of-type(1){display:flex;flex-direction:column;gap:3px;min-width:0}.ls-history strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:20px}.ls-history small{font-size:12.5px;color:color-mix(in srgb,var(--cream) 60%,transparent)}.ls-effect{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.ls-effect b{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:20px;color:var(--gold-hi);white-space:nowrap}.ls-effect small{font-size:11px;max-width:16ch}@media(max-width:420px){.ls-stats{grid-template-columns:1fr 1fr}}[data-help]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[data-help] :is(input,select,textarea){-webkit-user-select:auto;user-select:auto}.is-help-target{outline:1.5px solid var(--gold-hi)!important;outline-offset:5px;box-shadow:0 0 0 9px #ffcf8a1f,0 0 34px #ffbe7866!important}html[data-theme] .modal-backdrop:is(.help-pop-backdrop,.help-top-backdrop){align-items:flex-end;padding:0;background:linear-gradient(180deg,#02080a2e,#02080a9e)!important;backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme] .modal-backdrop.help-top-backdrop{align-items:flex-start;background:linear-gradient(0deg,#02080a2e,#02080a9e)!important}html[data-theme] .modal:is(.help-pop,.help-top){width:100%;max-width:520px;margin:0 auto;padding:22px 22px calc(22px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0!important;animation:sheet-in .3s var(--ease)}html[data-theme] .modal.help-top{padding:calc(18px + env(safe-area-inset-top)) 22px 24px;border-radius:0 0 28px 28px!important;animation:help-drop .3s var(--ease)}@keyframes help-drop{0%{transform:translateY(-60px);opacity:0}}html[data-theme] .modal:is(.help-pop,.help-top)>header{margin-bottom:8px}html[data-theme] .modal:is(.help-pop,.help-top)>header h2{font-size:30px;text-wrap:balance}.help-body{display:flex;flex-direction:column;gap:12px}html[data-theme] .help-body p{margin:0;max-width:40ch;font-size:15px;line-height:1.5;color:color-mix(in srgb,var(--cream) 86%,transparent);text-wrap:pretty}html[data-theme] .help-body .help-later{font-size:13px;color:var(--text-dim)}.help-lesson{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;margin-top:6px;padding:10px 12px 10px 20px;border-radius:99px;text-align:left}.help-lesson>span:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.help-lesson strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:22px;line-height:1.05}@media(max-height:700px){html[data-theme] .lp-copy h2{font-size:29px}.lp-body{gap:14px}.lk-keys{height:100px}.lp-demo{min-height:48px}.lp-prompt{min-height:118px;gap:12px;padding-bottom:18px}html[data-theme] .lp-choice{min-height:50px}html[data-theme] .lp-caption{min-height:38px}.lp-drill{min-height:76px}}@media(min-width:700px){.lesson-player{height:min(100dvh,860px);align-self:center}}html.reduce-motion .lesson-backdrop,html.reduce-motion .lp-body,html.reduce-motion .lp-stage,html.reduce-motion .lp-points li,html.reduce-motion .lk-tick,html.reduce-motion .lk-ruler b,html.reduce-motion .lk .kb-key,html.reduce-motion .lp-bars i,html.reduce-motion .dusk-home>.ls-advice,html.reduce-motion .lk .kb-key.is-target:after{animation:none!important}@media(prefers-reduced-motion:reduce){.lesson-backdrop,.lp-body,.lp-stage,.lp-points li,.lk-tick,.lk-ruler b,.lk .kb-key,.lp-bars i,.dusk-home>.ls-advice,.lk .kb-key.is-target:after{animation:none!important}}.placement-intro{display:grid;gap:10px;padding:20px 20px 16px;border-radius:var(--r-lg, 22px);margin-bottom:14px}.placement-intro h2{margin:0;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:26px;line-height:1.15;color:var(--text)}.placement-intro p{margin:0;font-size:14px;line-height:1.55;color:var(--text-dim)}.placement-fine{font-size:12.5px!important;line-height:1.5;color:var(--text-dim)}.placement-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:6px}.placement-actions .text-action{min-height:44px}.placement-result{display:grid;gap:14px;padding:28px 4px 40px}.placement-result h1{margin:0;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(32px,9vw,48px);line-height:1.05;color:var(--text)}.placement-sector{margin:0;color:var(--accent);font-size:14px}.placement-checkpoints{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}.placement-checkpoints>li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px 18px;border-radius:var(--r-md, 16px);background:#f4ead80d;box-shadow:inset 0 0 0 1px #f4ead824}.placement-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--text-dim);box-shadow:inset 0 0 0 1px #f4ead838}.placement-checkpoints>li.is-passed .placement-mark{color:var(--accent-ink);background:var(--accent);box-shadow:none}.placement-checkpoints strong{display:block;font-size:15px;color:var(--text)}.placement-checkpoints div>span{display:block;margin-top:3px;font-size:13px;color:var(--text-dim)}.placement-checkpoints ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}.placement-checkpoints ul li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--text-dim)}.placement-checkpoints ul b{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}.dont-know{display:block;margin:12px auto 0;min-height:44px;padding:0 22px;border:0;border-radius:99px;background:transparent;color:var(--text-dim);box-shadow:inset 0 0 0 1px #f4ead838;font:inherit;font-size:14px;cursor:pointer}.dont-know:disabled{opacity:.4;cursor:default}.dont-know:not(:disabled):hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.campaign-page{max-width:1050px;margin:auto;padding:24px 0 48px}.campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.campaign-heading h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.1;margin:0 0 16px}.campaign-heading h1 em{color:var(--gold,#dfb47c)}.campaign-heading p,.campaign-hint{color:var(--muted,#b3adb9);line-height:1.7}.campaign-heading>svg{color:#dfb47c;flex-shrink:0}.campaign-position,.campaign-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.campaign-position{font-size:.85rem}.campaign-position strong{font-variant-numeric:tabular-nums;color:#dfb47c}.campaign-meter{height:5px;background:#3c3843;margin-top:16px}.campaign-meter span{display:block;height:100%;background:#dfb47c}.campaign-map{overflow:hidden;margin:24px 0 6px;background:#1a1920;border-radius:16px}.campaign-map svg{width:100%;display:block}.map-staff{stroke:#494550;stroke-width:1}.map-route{fill:none;stroke:#777080;stroke-width:2;opacity:.65}.map-note{fill:#b4a3ce;stroke:#b4a3ce;stroke-width:2}.map-note.current{fill:#dfb47c;stroke:#dfb47c}.map-note text{font:16px DM Sans,sans-serif;fill:#ede6d8;stroke:none}.campaign-choice-heading h2{font-size:1.4rem}.campaign-choice-heading>span{font-size:.8rem;color:#b3adb9}.campaign-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0}.campaign-routes button{display:flex;align-items:center;gap:14px;text-align:left;padding:22px 16px;background:#25232b;border:1px solid #6b6473;border-radius:12px;color:#ede6d8;cursor:pointer;min-height:105px}.campaign-routes button:hover{background:#36303f;border-color:#dfb47c}.campaign-routes button>svg{margin-left:auto;flex-shrink:0}.route-number{font-size:1.4rem;color:#dfb47c}.campaign-routes strong{display:block;font-size:1rem}.campaign-routes small{display:block;font-size:.75rem;color:#b3adb9;line-height:1.5;margin-top:6px}.campaign-hint{font-size:.82rem;max-width:75ch}.campaign-repertoire{display:flex;gap:18px;margin:32px 0;padding:24px 0;border-top:1px solid #494550;border-bottom:1px solid #494550}.campaign-repertoire>svg{color:#a9c6ca;flex-shrink:0}.campaign-repertoire h2{font-size:1.1rem;margin:0 0 8px}.campaign-repertoire p{margin:0 0 10px;line-height:1.6}.campaign-repertoire small{color:#b3adb9;line-height:1.6}.campaign-atlas summary{cursor:pointer;padding:12px 0;color:#dfb47c}.campaign-atlas ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.campaign-atlas li{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid #494550}.campaign-atlas li>span{color:#dfb47c}.campaign-atlas li p{font-size:.85rem;line-height:1.6;color:#b3adb9;margin:7px 0}.campaign-atlas li small{color:#a9c6ca}.campaign-records{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px}.campaign-records>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.campaign-records span{font-size:.75rem;color:#b3adb9}.campaign-invite{display:flex;align-items:center;gap:24px;padding:28px 0;border-top:1px solid #6b6473;border-bottom:1px solid #6b6473;margin:28px 0}.campaign-invite>svg{color:#dfb47c;flex-shrink:0}.campaign-invite h2{font-size:1.6rem;margin:0 0 8px}.campaign-invite p{color:#b3adb9;line-height:1.6;margin:0}.campaign-invite .button{flex-shrink:0}.campaign-finish{padding:24px 0}.campaign-finish p{line-height:1.6}.notation-staff{width:min(100%,420px);height:170px;display:block;margin:auto}.campaign-keyboard{display:flex;position:relative;height:180px;max-width:620px;width:100%;margin:24px auto;isolation:isolate}.campaign-keyboard button{cursor:pointer;position:relative;border:1px solid #777080;border-radius:0 0 8px 8px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:16px;font-weight:700;font-size:1rem}.campaign-keyboard .white-key{background:#ede6d8;color:#17151b;flex:1}.campaign-keyboard .black-key{background:#25232b;color:#ede6d8;position:absolute;top:0;height:62%;width:8%;z-index:2;transform:translate(-50%);font-size:.7rem}.campaign-keyboard button:disabled{cursor:default;opacity:.6}.campaign-keyboard button.correct{background:#a5bca1;color:#17151b;opacity:1}.campaign-keyboard button.incorrect{background:#df9d88;color:#17151b;opacity:1}.octave-picker{display:flex;justify-content:center;gap:10px;margin:20px}.octave-picker button{padding:12px 18px;border:1px solid #b4a3ce;border-radius:8px;background:#25232b;color:#ede6d8;cursor:pointer}.octave-picker button[aria-pressed=true]{background:#dfb47c;color:#17151b}.contour-control{padding:20px 0;text-align:center;touch-action:pan-y}.contour-control label{display:block;margin-bottom:12px;color:#b3adb9}.contour-control input{width:min(80%,450px);accent-color:#dfb47c;cursor:grab}.contour-control output{display:block;font-size:1.2rem;margin:16px}.contour-control button{margin:0 auto}.campaign-page button:focus-visible,.campaign-keyboard button:focus-visible,.octave-picker button:focus-visible{outline:3px solid #a9c6ca;outline-offset:4px}@media(max-width:650px){.campaign-page{padding-top:8px}.campaign-heading{gap:12px}.campaign-heading>svg{width:34px}.campaign-routes{grid-template-columns:1fr}.campaign-routes button{min-height:80px;padding:16px}.campaign-choice-heading{gap:0}.campaign-map svg{min-width:560px}.campaign-invite{flex-wrap:wrap;gap:16px}.campaign-invite>div{flex:1;min-width:180px}.campaign-invite .button{width:100%}.campaign-atlas ol{grid-template-columns:1fr}.campaign-position strong{font-size:.75rem}.campaign-keyboard{height:155px}}.phase-feedback .campaign-keyboard,.phase-feedback .octave-picker,.phase-feedback .contour-control{display:none}@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav button{font-size:10px}.campaign-heading h1{font-size:2.3rem}.campaign-heading{margin-bottom:16px}.campaign-map{margin-top:16px}.campaign-map svg{min-width:0}.campaign-map{border-radius:12px}.campaign-choice-heading h2{margin:8px 0}.campaign-choice-heading>span{font-size:12px}}.campaign-scoreboard{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px;text-align:left;font-variant-numeric:tabular-nums}.campaign-scoreboard caption{text-align:left;color:#b3adb9;font-size:12px;line-height:1.6;margin-bottom:12px}.campaign-scoreboard td,.campaign-scoreboard th{padding:12px 8px;border-bottom:1px solid #494550}.customize-page{display:flex;flex-direction:column;gap:18px;padding:0 2px 36px;max-width:640px;margin:0 auto;width:100%;box-sizing:border-box}.customize-head p em{color:var(--text)}.cz-tabs{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);margin:0 auto;width:min(100%,360px);padding:4px;border-radius:99px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.cz-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--n));border-radius:99px;background:#f4ead824;box-shadow:inset 0 1px 0 var(--glass-hi),inset 0 0 0 1px #ffcf8a59;transform:translate(calc(var(--i) * 100%));transition:transform .42s var(--ease)}.cz-tabs button{position:relative;min-height:40px;border:0;background:none;color:var(--text-dim);cursor:pointer;font-family:var(--f-label);font-size:9px;letter-spacing:.3em;text-transform:uppercase;transition:color .24s}.cz-tabs button[aria-selected=true]{color:var(--gold-hi)}.cz-caption{margin:-4px auto 0;max-width:34ch;min-height:2.7em;text-align:center;color:var(--text-dim);font-family:var(--f-display);font-style:italic;font-size:17px;line-height:1.35;animation:fade-in .5s ease both}.cz-caption em{color:var(--text)}.cz-help{margin:0;color:var(--text-dim);font-size:14px;line-height:1.45;text-align:center}.cz-notice{position:sticky;top:4px;z-index:3;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-md);animation:rise-in .42s var(--ease) both;background:#0a1218db;box-shadow:inset 0 0 0 1px var(--glass-line),0 16px 30px -14px #0009}.cz-notice>svg{flex:none;color:var(--gold)}.cz-notice>span{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.cz-notice strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:19px}.cz-notice small{color:var(--text-dim);font-size:13px}.cz-notice .drift-link{padding:8px 4px}.cz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(min-width:560px){.cz-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cz-item{min-width:0}.cz-card{display:flex;flex-direction:column;gap:10px;width:100%;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.cz-window{position:relative;display:block;aspect-ratio:9 / 13;border-radius:var(--r-md);overflow:hidden;box-shadow:inset 0 0 0 1px var(--glass-line),0 18px 34px -16px #0009;contain:layout paint;transform:translateZ(0);transition:transform .26s var(--ease),box-shadow .3s}.cz-window .drift-field{border-radius:inherit}.cz-window:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px #ffffff1f;pointer-events:none}.cz-card:active .cz-window{transform:translateZ(0) scale(.98)}.cz-card.is-active .cz-window{box-shadow:inset 0 0 0 1.5px var(--gold),0 0 0 4px #ffcf8a24,0 0 34px -6px #ffbe7880,0 18px 34px -16px #0009}.cz-card.is-previewing .cz-window{box-shadow:inset 0 0 0 1.5px #f4ead899,0 18px 34px -16px #0009}.cz-card.is-locked .cz-window:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:#040a0e38;pointer-events:none}.cz-card:focus-visible{outline:none}.cz-card:focus-visible .cz-window{outline:2px solid var(--gold);outline-offset:3px}.cz-lock{z-index:2;position:absolute;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--text);background:#0000006b;box-shadow:inset 0 0 0 1px var(--glass-line)}.cz-new{display:inline-block;padding:3px 8px;border-radius:99px;color:#3a1d0e;background:var(--gold);font-family:var(--f-label);font-size:7.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;box-shadow:0 0 16px #ffbe7899}.cz-window .cz-new{z-index:2;position:absolute;top:12px;left:12px}.cz-swatches{z-index:2;position:absolute;left:12px;bottom:12px;display:flex;gap:5px}.cz-swatches i{display:block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #ffffff40}.cz-card-copy{display:flex;flex-direction:column;gap:4px;padding:0 4px;min-width:0}.cz-card-name{font-family:var(--f-display);font-style:italic;font-size:22px;line-height:1.05}.cz-card-copy .drift-label{font-size:8px;letter-spacing:.22em;white-space:normal}.cz-meter{display:block;height:2px;margin-top:4px;border-radius:2px;background:#f4ead824;overflow:hidden}.cz-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold));transform-origin:0 50%;transition:transform .9s var(--ease)}.cz-sounds{display:flex;flex-direction:column;gap:22px}.cz-family{display:flex;flex-direction:column;gap:6px}.cz-family>.drift-label{padding:0 6px}.cz-family ul{list-style:none;margin:0;padding:0}.cz-sound{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:12px 6px;border:0;background:none;color:var(--text);text-align:left;cursor:pointer;box-shadow:inset 0 1px #f4ead824;transition:padding .26s var(--ease),color .2s}.cz-family li:last-child .cz-sound{box-shadow:inset 0 1px #f4ead824,inset 0 -1px #f4ead824}.cz-sound:hover,.cz-sound:focus-visible{padding-left:12px}.cz-sound-copy{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.cz-sound-name{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-style:italic;font-size:23px;line-height:1.1}.cz-sound small{color:var(--text-dim);font-size:13px;line-height:1.4}.cz-sound.is-locked .cz-sound-name{color:#f4ead8a8}.cz-sound.is-active .cz-sound-name{color:var(--gold-hi)}.cz-sound .cz-meter{max-width:180px}.cz-sound-state{flex:none;display:grid;place-items:center;width:28px;color:var(--text-dim)}.cz-sound.is-active .cz-sound-state{color:var(--gold)}.cz-hearing{color:var(--gold);animation:breathe-soft 1.2s ease-in-out infinite}.dusk-menu .dusk-customize-swatch{display:inline-flex;align-items:center;gap:10px}.dusk-customize-swatch .cz-new{font-style:normal}.results-unlocks ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.results-unlocks li{font-family:var(--f-display);font-style:italic;font-size:19px}.results-unlocks li small{margin-left:6px;font-family:var(--f-label);font-style:normal;font-size:7.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim)}.practice-library .practice-level{border-block:1px solid var(--line);padding:20px 0;margin:20px 0}.practice-level-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.practice-level-heading label{font-weight:650;font-size:1rem}.practice-level-heading output{font-size:1.7rem;font-variant-numeric:tabular-nums;color:var(--gold)}.practice-level-heading output small{font-size:.875rem;color:var(--muted)}.practice-library .practice-level input[type=range]{width:100%;height:48px;padding:0;accent-color:var(--gold);cursor:pointer;background:transparent;border:0}.practice-level-ends{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;color:var(--muted)}.practice-level-copy{margin:16px 0}.practice-level-copy>strong{font-size:.9375rem}.practice-level-copy p,.practice-level-suggestion p{font-size:.8125rem;color:var(--muted);line-height:1.6;margin:6px 0 0}.practice-level-suggestion{display:flex;align-items:center;gap:16px;border-block:1px solid var(--line);padding:16px 0;margin:16px 0}.practice-level-suggestion>div{flex:1;min-width:0}.practice-level-suggestion strong{font-size:.875rem}.practice-level-suggestion .button{font-size:.8125rem;min-height:48px;white-space:normal}.practice-level-facts-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.practice-level-facts-heading h3{font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:650;margin:0}.practice-level-facts-heading .text-action{font-size:.8125rem;min-height:44px}.practice-level-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:8px 0 16px}.practice-level-facts>div{min-width:0}.practice-level-facts dt{font-size:.75rem;color:var(--muted);margin-bottom:4px}.practice-level-facts dd{font-size:.8125rem;line-height:1.6;margin:0;overflow-wrap:anywhere;color:var(--cream)}.practice-level-compare>summary{min-height:48px;display:flex;align-items:center;font-size:.8125rem;color:var(--gold);cursor:pointer}.practice-level-compare ol{padding:0;margin:0;list-style:none}.practice-level-compare li+li{border-top:1px solid var(--line)}.practice-level-compare button{display:block;width:100%;text-align:left;min-height:48px;background:transparent;padding:12px;color:var(--cream);border:1px solid transparent;border-radius:3px}.practice-level-compare button[aria-pressed=true]{border-color:var(--gold);background:var(--surface)}.practice-level-compare strong{display:block;font-size:.875rem;font-weight:600}.practice-level-compare span{display:block;font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:5px;overflow-wrap:anywhere}.practice-pitch-selection{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:8px 0 24px}.practice-pitch-grid{min-width:0}.practice-pitch-grid>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.practice-pitch-grid button{min-width:0;padding:10px 6px;border-radius:3px;position:relative;flex-direction:column;gap:4px}.practice-pitch-grid .pitch-selection-check{height:16px;display:flex;align-items:center;justify-content:center}.practice-pitch-grid button:not([aria-pressed=true]){color:var(--muted)}.practice-library .practice-custom-content .practice-custom-intro{margin:0}.practice-library .practice-customize>summary{color:var(--cream)}@media(max-width:600px){.practice-level-suggestion{flex-wrap:wrap;gap:12px}.practice-level-suggestion>div{flex-basis:100%}.practice-level-suggestion .button{flex:1}.practice-level-facts{gap:12px 16px}.practice-pitch-grid>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:360px){.practice-level-facts{grid-template-columns:minmax(0,1fr)}}.practice-library .practice-pitch-selection .practice-pitch-grid>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.practice-library .practice-pitch-selection .practice-pitch-grid button{min-height:52px;min-width:0}.practice-library .practice-level .button{border-radius:3px}.practice-level-suggestion details>summary,.practice-listening-tip>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.8125rem;color:var(--gold)}.practice-level-suggestion details>p{max-width:65ch}.practice-listening-tip{margin-top:4px}@media(max-width:600px){.practice-library .practice-pitch-selection .practice-pitch-grid>div{grid-template-columns:repeat(4,minmax(0,1fr))}}.learning-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.learning-section-heading h2{margin:0;font-size:20px}.learning-section-heading>span{font-size:12px;color:var(--muted)}.learning-recommendations{padding-block:24px;border-block:1px solid var(--line);margin:24px 0}.learning-recommendations>ul{padding:0;margin:0;list-style:none}.learning-recommendations>ul>li{display:flex;align-items:center;gap:16px;padding:16px 0}.learning-recommendations>ul>li+li{border-top:1px solid var(--line)}.learning-suggestion-icon{color:var(--gold);flex:none}.learning-suggestion-copy{flex:1;min-width:0}.learning-suggestion-copy h3{font-size:16px;margin:0 0 6px;font-family:DM Sans,sans-serif;font-weight:600}.learning-suggestion-copy p,.learning-suggestion-copy small{font-size:13px;line-height:1.6;color:var(--muted);margin:0;display:block}.learning-suggestion-copy small{margin-top:6px}.learning-compact{margin:20px 0;padding-block:16px}.learning-compact>ul>li{padding:0}.learning-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.learning-actions>.button{min-height:48px}.recipe-shelf{border-top:1px solid var(--line);margin-top:20px}.recipe-shelf>summary{display:flex;align-items:center;gap:10px;min-height:56px;cursor:pointer;font-size:14px;color:var(--cream)}.recipe-shelf-content{display:grid;gap:16px;padding:8px 0 20px}.recipe-shelf-content>label{display:grid;gap:8px}.recipe-shelf-content textarea{width:100%;resize:vertical;font-family:inherit;font-size:13px}.recipe-shelf-content>small,.workshop-copy,.workshop-status{font-size:13px;line-height:1.6;color:var(--muted)}.saved-recipes{padding:0;margin:0;list-style:none}.saved-recipes>li{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:8px 0}.saved-recipe-open{flex:1;background:transparent;text-align:left;min-height:48px;padding:8px;color:var(--cream)}.saved-recipe-open strong,.saved-recipe-open small{display:block}.saved-recipe-open small{margin-top:4px;color:var(--muted);font-size:12px}.learning-notice{display:flex;align-items:flex-start;gap:8px;color:var(--gold);font-size:13px;margin:0}.learning-notice>svg{flex:none;margin-top:2px}.readiness-note{border-block:1px solid var(--line);padding:20px 0;margin:24px 0}.readiness-note h2{font-size:20px;margin:0 0 10px}.readiness-note p{font-size:13px;color:var(--muted);margin:8px 0;max-width:70ch}.readiness-note summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--gold);font-size:13px}.readiness-note ul{font-size:13px;line-height:1.7;padding-left:20px;color:var(--muted)}.workshop{padding:20px 0;border-top:1px solid var(--line);margin:24px 0}.workshop>summary{font-size:18px;min-height:48px;cursor:pointer;color:var(--cream)}.workshop-content{display:grid;gap:16px;padding-top:12px}.workshop-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.workshop-controls label{display:grid;gap:8px}.workshop-notes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.workshop-notes li{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px;border:1px solid var(--line);font-size:14px;color:var(--gold);border-radius:3px}.workshop-label{display:grid;gap:8px}.workshop h3{font-size:16px;margin:0}.workshop-clips{padding:0;margin:0;list-style:none}.workshop-clips>li{padding:10px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}.workshop-clips>li>span{flex:1;font-size:13px}.workshop-clips small{display:block;color:var(--muted);margin-top:5px}.recipe-overview{border-block:1px solid var(--line);padding:16px 0;margin:16px 0}.recipe-overview h3{font-size:14px;margin:0 0 8px}.recipe-overview p{font-size:13px!important;color:var(--muted);margin:0}.practice-presets{border:0;padding:0;margin:16px 0 24px}.practice-presets legend{margin-bottom:10px}.practice-presets>div{display:flex;gap:8px;flex-wrap:wrap}.practice-presets button{min-height:44px;border:1px solid var(--line);border-radius:3px;padding:10px 12px;color:var(--cream);background:transparent;font-size:13px}.practice-presets button:hover{background:var(--surface);border-color:var(--gold)}.practice-library .practice-mode-guide{padding-bottom:14px}.practice-library .practice-mode-guide>p{margin:8px 0}.practice-library .practice-mode-guide .field-help{margin-top:12px}.practice-library .practice-recipe{background:transparent;padding:0}.practice-library .practice-testing-notice{font-size:12px;color:var(--muted);margin-bottom:16px}.signal-home .learning-recommendations h2{font-size:18px}.backup-restore-point{padding-block:16px;border-top:1px solid var(--line);margin-top:16px}.backup-restore-point p{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:12px}@media(max-width:600px){.learning-recommendations>ul>li{flex-wrap:wrap;gap:10px 12px}.learning-suggestion-copy{flex-basis:calc(100% - 40px)}.learning-recommendations>ul>li>.button{margin-left:33px}.workshop-controls{grid-template-columns:minmax(0,1fr)}.learning-actions>.button{flex:1 1 auto}.readiness-note h2{font-size:18px}.recipe-shelf-content .learning-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-shelf-content .learning-actions>.button{padding-inline:10px;font-size:12px}}.answer-input{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin:16px 0;font-size:14px;color:var(--muted)}.answer-input select{width:auto;min-height:44px;max-width:65%;background:var(--surface);color:var(--cream);border:1px solid #777080;border-radius:5px;padding:8px 12px}.voice-answer{text-align:center;margin:20px auto;max-width:620px}.voice-talk{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;min-height:150px;border-radius:24px 6px 6px 24px;background:var(--gold);color:#17151b;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}.voice-talk.recording{background:var(--coral,#df9d88)}.voice-talk:disabled{opacity:.55;cursor:default}.voice-talk strong{font-size:20px}.voice-talk:focus-visible{outline:3px solid var(--sky,#a9c6ca);outline-offset:4px}.voice-instructions,.voice-notice,.voice-transcript{font-size:14px;line-height:1.6;margin:12px 0}.voice-notice{color:var(--gold)}.voice-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0}.voice-choices{text-align:left;font-size:14px;line-height:1.6}.voice-choices summary{cursor:pointer;min-height:44px;padding:12px 0}.voice-choices p{color:var(--cream);margin:0 0 12px}.phase-feedback .voice-answer{display:none}@media(max-width:760px){.voice-talk{min-height:120px}.voice-answer{margin:12px auto}.voice-talk strong{font-size:18px}.voice-instructions,.voice-notice{font-size:12px}.answer-input{margin:10px 0}}.practice-library{max-width:1080px;margin:auto}.practice-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:start;margin-bottom:48px}.practice-heading-icon{color:var(--gold)}.practice-picker{border-block:1px solid var(--line)}.practice-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:16px 0;cursor:pointer;list-style:none}.practice-picker>summary::-webkit-details-marker,.practice-discover>summary::-webkit-details-marker,.practice-customize>summary::-webkit-details-marker,.practice-preferences>summary::-webkit-details-marker{display:none}.practice-picker>summary strong{display:block;font-size:1rem;font-weight:600}.practice-picker>summary small{display:block;color:var(--muted);font-size:.75rem;margin-top:7px}.scenario-list section{padding:14px 0}.scenario-list h2{font-size:1.125rem;color:var(--gold);margin:0 0 8px}.scenario-row{width:100%;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;background:transparent;text-align:left;border-radius:4px}.scenario-row>svg:first-child{width:19px;height:19px;color:var(--muted)}.scenario-row>span{flex:1;min-width:0}.scenario-row strong{font-size:.875rem;font-weight:500}.scenario-row small{display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:4px}.scenario-row:hover{background:var(--surface)}.scenario-row[aria-pressed=true]{color:var(--cream);background:var(--surface);outline:1px solid var(--gold);outline-offset:-1px}.scenario-row[aria-pressed=true]>svg{color:var(--gold)}.practice-discover>summary{display:flex;align-items:center;gap:10px;min-height:56px;cursor:pointer;font-size:.8125rem;color:var(--muted)}.practice-discover>summary>svg:last-child{margin-left:auto}.practice-discover p{font-size:.75rem;color:var(--muted);line-height:1.65;margin:12px 0 20px}.practice-campaign-link{min-height:48px;margin-top:12px;font-size:.8125rem}.practice-task{display:flex;gap:18px;align-items:flex-start;margin-bottom:30px}.practice-task>svg{width:30px;height:30px;margin-top:6px;color:var(--gold)}.practice-task h2{font-size:2.5rem;line-height:1.1;margin-bottom:12px}.practice-task p{color:var(--muted);font-size:.9375rem;line-height:1.65;max-width:60ch}.practice-recipe{min-width:0}.practice-difficulty{margin-bottom:24px}.practice-difficulty legend{font-size:.9375rem;margin-bottom:12px}.practice-difficulty .difficulty-picker{display:flex;gap:6px}.practice-difficulty .difficulty-picker button{flex:1;min-width:0;min-height:52px;padding:12px 8px;display:flex;gap:6px;align-items:center;justify-content:center;font-size:.8125rem;border:1px solid var(--line);background:transparent;color:var(--cream);border-radius:4px}.practice-difficulty .difficulty-picker button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#17151b}.practice-difficulty .difficulty-picker button:disabled{color:var(--muted);cursor:default}.practice-library .field-help{font-size:.8125rem;font-weight:400;margin:10px 0 0}.practice-customize,.practice-preferences{border-top:1px solid var(--line)}.practice-customize>summary,.practice-preferences>summary{display:flex;align-items:center;gap:12px;padding:18px 0;min-height:60px;cursor:pointer;list-style:none;font-size:.9375rem}.practice-customize>summary>span{flex:1}.practice-customize>summary small{display:block;font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:5px}.practice-preferences>summary{justify-content:space-between;color:var(--muted)}.practice-custom-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:8px 0 28px}.practice-custom-intro,.practice-targets,.practice-custom-content>.text-action{grid-column:1/-1}.practice-custom-intro,.practice-custom-locked p{color:var(--muted);font-size:.875rem;line-height:1.6}.practice-custom-locked{padding:4px 0 20px}.practice-library .practice-setting{display:flex;flex-direction:column;font-size:.875rem;gap:8px}.practice-setting>label{font-size:inherit}.practice-setting select{min-height:48px;font-size:.875rem}.practice-setting .field-help{margin:0}.practice-targets legend{font-size:.875rem}.practice-targets .field-help{margin:0 0 12px}.practice-targets>div{display:flex;flex-wrap:wrap;gap:8px}.practice-targets button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 14px;background:transparent;border:1px solid var(--line);border-radius:4px;font-size:.8125rem}.practice-targets button[aria-pressed=true]{border-color:var(--gold);background:var(--surface)}.practice-targets button:disabled{opacity:1}.practice-targets button span{overflow-wrap:anywhere}.practice-preference-fields{display:grid;gap:24px;padding:8px 0 28px}.practice-launch{border-top:1px solid var(--line);padding:24px 0 0}.practice-launch p{font-size:.8125rem;color:var(--muted);margin-bottom:16px}.practice-launch .button{min-height:52px;width:100%}.practice-locked{padding:24px 0;border-block:1px solid var(--line)}.practice-locked>svg{color:var(--gold);margin-bottom:16px}.practice-locked h3{font-size:1.75rem}.practice-locked p{color:var(--muted);line-height:1.65;margin:14px 0 24px}.practice-unlocks{margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}.practice-unlocks h2{font-size:1.5rem;margin-bottom:14px}.practice-unlocks ul{padding:0;list-style:none;display:grid;gap:16px}.practice-unlocks strong{display:block;color:var(--gold);font-size:.9375rem}.practice-unlocks p{font-size:.8125rem;color:var(--muted);margin:5px 0 0;line-height:1.6}@media(max-width:899px){.practice-workspace{grid-template-columns:minmax(0,1fr);gap:28px}.practice-picker>summary{min-height:72px}.practice-campaign-link{margin:4px 0 0}.practice-task h2{font-size:2rem}.practice-task{gap:12px;margin-bottom:24px}.practice-task>svg{width:24px;height:24px}.practice-heading-icon{display:none}}@media(max-width:480px){.practice-custom-content{grid-template-columns:minmax(0,1fr)}.practice-difficulty .difficulty-picker{flex-wrap:wrap}.practice-difficulty .difficulty-picker button{flex:1 1 5.5rem}.practice-task p{font-size:.875rem}.practice-library .field-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}}.musical-response{color:var(--cream,#e6e9d5);font:inherit;min-width:0;max-width:680px;width:100%;container-type:inline-size}.musical-response p{line-height:1.5;font-size:.875rem;margin:8px 0;color:var(--muted,#b6bea5)}.musical-response button{min-width:48px;min-height:48px;border:1px solid var(--line,#66765b);border-radius:3px;background:var(--surface,#1b241a);color:var(--cream,#e6e9d5);font:inherit;cursor:pointer;padding:8px;touch-action:manipulation}.musical-response button:enabled:hover{border-color:var(--gold,#d4ed73);background:#2b3822}.musical-response button:focus-visible{outline:3px solid var(--gold,#d4ed73);outline-offset:3px}.musical-response button:disabled{opacity:.45;cursor:default}.musical-response button[aria-pressed=true]{border-color:var(--gold,#d4ed73);color:var(--gold,#d4ed73)}.musical-response ::selection{background:var(--gold,#d4ed73);color:var(--ink,#10170f)}.musical-entry-area{min-height:100px;padding-block:6px}.musical-entries{display:flex;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.musical-entries li{flex:1 1 60px;max-width:140px;min-width:0}.musical-entries button,.musical-entries .musical-slot{width:100%;min-height:64px;display:flex;flex-direction:column;justify-content:center;gap:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;box-sizing:border-box}.musical-entries .musical-slot{border:1px solid var(--line,#66765b);border-radius:3px;background:var(--surface,#1b241a);padding:8px}.musical-slot-number{font-size:.75rem;color:var(--muted,#b6bea5)}.musical-entry-status{font-variant-numeric:tabular-nums;min-height:24px}.musical-palette,.musical-degree-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px}.musical-pitch-palette{grid-template-columns:repeat(7,minmax(0,1fr))}@container (max-width:420px){.musical-pitch-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}.musical-palette button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px}.musical-palette strong{font-size:1.25rem;font-weight:600}.musical-palette span{font-size:.875rem}.musical-edit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.musical-edit-actions button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1 1 80px}.musical-edit-actions .musical-submit{background:var(--gold,#d4ed73);color:var(--ink,#10170f);border-color:var(--gold,#d4ed73);font-weight:600}.musical-edit-actions .musical-submit:enabled:hover{background:#e0f48d;color:var(--ink,#10170f)}.musical-entered-staff{margin:12px 0 0;color:var(--cream,#e6e9d5)}.musical-entered-staff svg{width:100%;max-height:180px;display:block;fill:currentColor}.musical-staff-line{stroke:var(--muted,#b6bea5);stroke-width:1}.musical-clef{font-family:serif;font-size:46px;fill:currentColor}.musical-accidental{font-family:serif;font-size:18px;fill:currentColor;text-anchor:middle}.musical-entered-staff figcaption{font-size:.75rem;color:var(--muted,#b6bea5);text-align:center;margin-top:6px}@container (max-width:420px){.musical-palette:not(.musical-pitch-palette){grid-template-columns:repeat(2,minmax(0,1fr))}.musical-palette:not(.musical-pitch-palette) span{overflow-wrap:normal;word-break:normal}}@media(max-width:380px){.musical-degree-choices{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:6px}.musical-response button{padding:6px}}@media(prefers-reduced-motion:reduce){.musical-response *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduce-motion .musical-response *{animation:none!important;transition:none!important}.echo-state{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin:0 0 14px;background:#000e}.echo-state p{margin:0;color:var(--stage-accent);font-size:1rem}.echo-state>span,.echo-help{color:#c5c7d0;font-size:.8125rem;line-height:1.5}.echo-steps{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 18px;list-style:none}.echo-steps li{flex:1 1 3rem;min-width:0;min-height:42px;display:grid;place-items:center;background:#111a24;border:1px solid #576571;border-radius:5px;color:#c5c7d0;font-size:.875rem;font-variant-numeric:tabular-nums}.echo-steps .entered{background:#263a41;color:#f5f1e9;border-color:#a9c6ca}.echo-steps .sounding{border-color:var(--stage-accent);background:#263a41}.echo-steps .matched{color:#b8eed5;border-color:#82bba2}.echo-steps .missed{color:#f3c5b3;border-color:#c48e7b}.echo-console .echo-cue{background:#a9c6ca!important;color:#102c32!important;transition:none!important}.echo-console .echo-cue .piano-key-label{opacity:1!important}.echo-console .echo-cue .piano-key-light{opacity:1;background:#102c32}.echo-console .echo-unavailable .piano-key-label{opacity:.25}.echo-note-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,4rem),1fr));gap:8px}.echo-note-buttons .answer-button{min-height:48px;justify-content:center;padding:10px 8px}.echo-help{margin:14px 0 0;background:#000e}.echo-console .octave-picker{flex-wrap:wrap;margin:0 0 14px;gap:8px}.echo-console .octave-picker button{min-height:48px;padding:10px 16px}.echo-console~.feedback-slot .feedback-summary{flex-wrap:wrap}@media(max-width:380px){.echo-steps{gap:4px}.echo-steps li{font-size:.75rem}}.gameplay-session.signal-session{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(48px,auto) auto auto;align-content:start;gap:12px;overflow:visible}.gameplay-session.signal-session .match-hud{height:auto;min-height:48px;grid-column:1;grid-row:auto}.gameplay-session.signal-session .match-position{min-width:0}.gameplay-session.signal-session .performance-progress{flex-wrap:wrap;max-width:min(38vw,25rem)}.gameplay-session.signal-session .question-stage{grid-column:1;grid-row:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:760px;min-width:0;min-height:clamp(13rem,calc(100svh - 35rem),23rem);margin:0 auto;padding:16px 0 20px;text-align:center;gap:12px}.gameplay-session.signal-session .question-phase{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;min-height:24px;font-size:.875rem;color:var(--muted)}.gameplay-session.signal-session .question-phase small{font-size:.75rem;border-left:1px solid var(--line);padding-left:8px}.gameplay-session.signal-session .question-stage.is-correct>.question-phase{color:var(--gold)}.gameplay-session.signal-session .question-stage.is-incorrect>.question-phase{color:var(--coral)}.gameplay-session.signal-session .question-stage>h1{font-family:Archivo,DM Sans,sans-serif;font-weight:400;font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.3;letter-spacing:-.025em;margin:0;color:var(--cream);background:none;max-width:32ch;text-wrap:balance}.gameplay-session.signal-session .question-object{width:100%;min-height:88px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--cream)}.gameplay-session.signal-session .question-instruction{font-size:.875rem;line-height:1.55;color:var(--muted);margin:0;max-width:65ch;min-height:2.8em;text-wrap:pretty;overflow-wrap:anywhere}.gameplay-session.signal-session .task-context{font-size:.8125rem;color:var(--muted);margin:0}.gameplay-session.signal-session .phrase-anchor{margin:0;min-height:1.5em;font-size:.8125rem;color:var(--muted)}.gameplay-session.signal-session .phrase-anchor strong{font-weight:650;color:var(--cream)}.gameplay-session.signal-session .phrase-response{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;margin:0;width:100%}.gameplay-session.signal-session .phrase-response li{flex:1 1 3rem;max-width:6rem;min-width:2.7rem;min-height:4.1rem;border:1px solid #6a7b60;border-radius:3px;background:var(--surface);color:var(--muted)}.gameplay-session.signal-session .phrase-response li>span,.gameplay-session.signal-session .phrase-response li>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:4.1rem;padding:5px;background:transparent;border:0;border-radius:2px;color:inherit}.gameplay-session.signal-session .phrase-response li small{font-size:.6875rem;color:var(--muted);font-variant-numeric:tabular-nums}.gameplay-session.signal-session .phrase-response li span>span,.gameplay-session.signal-session .phrase-response li button>span{font-size:1.125rem;font-weight:650}.gameplay-session.signal-session .phrase-response li.entered{color:var(--cream);background:var(--selected-surface,#222d20);border-color:#829371}.gameplay-session.signal-session .phrase-response button[aria-pressed=true]{outline:2px solid var(--cream);outline-offset:3px}.gameplay-session.signal-session .phrase-response li.matched{background:#2b3822;border-color:var(--gold);color:var(--gold)}.gameplay-session.signal-session .phrase-response li.missed{background:#38271f;border-color:var(--coral);color:var(--error-text,#ffd2bf)}.gameplay-session.signal-session .phrase-response li.sounding{border-color:var(--cream)}.gameplay-session.signal-session .pitch-events,.gameplay-session.signal-session .interval-events{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;max-width:24rem}.gameplay-session.signal-session .musical-event{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-width:0;flex:1;min-height:88px}.gameplay-session.signal-session .musical-event strong{font-family:DM Sans,sans-serif;font-size:1.35rem;font-weight:650;overflow-wrap:anywhere}.gameplay-session.signal-session .musical-event small{color:var(--muted);font-size:.8125rem}.gameplay-session.signal-session .note-head{display:block;position:relative;width:25px;height:18px;border:2px solid currentColor;border-radius:50%;transform:rotate(-20deg)}.gameplay-session.signal-session .note-head:after{content:"";position:absolute;width:2px;height:28px;background:currentColor;right:-2px;bottom:7px;transform:rotate(20deg);transform-origin:bottom}.gameplay-session.signal-session .reference-event .note-head{background:var(--cream)}.gameplay-session.signal-session .target-event .note-head{border-style:dashed}.gameplay-session.signal-session .event-separator{width:28px;height:1px;background:var(--line);flex:none}.gameplay-session.signal-session .interval-join{width:clamp(28px,12vw,90px);height:1px;background:#6a7b60;flex:none}.gameplay-session.signal-session .interval-events.together{border-bottom:1px solid #6a7b60;padding-bottom:10px}.gameplay-session.signal-session .interval-events.together .interval-join{background:none}.gameplay-session.signal-session .chord-object{position:relative;display:flex;flex-direction:column;justify-content:center;gap:11px;width:140px;min-height:100px;padding:12px 40px}.gameplay-session.signal-session .chord-object>span{display:block;border:2px solid var(--cream);border-radius:50%;width:28px;height:16px;transform:rotate(-20deg)}.gameplay-session.signal-session .chord-object>i{position:absolute;left:84px;top:0;bottom:22px;width:2px;background:var(--cream)}.gameplay-session.signal-session .listening-events{display:flex;gap:clamp(10px,4vw,24px);align-items:center;justify-content:center;width:100%;min-height:88px}.gameplay-session.signal-session .phrase-event{width:14px;height:14px;border:2px solid var(--cream);border-radius:50%}.gameplay-session.signal-session .score-symbol{font-family:serif;font-size:clamp(2.5rem,8vw,4rem);line-height:1.2;overflow-wrap:anywhere}.gameplay-session.signal-session .notation-staff{width:100%;height:auto;max-width:370px;max-height:160px}.gameplay-session.signal-session .rhythm-measure{display:flex;align-items:center;width:100%;max-width:360px;min-height:88px;border-right:2px solid #6a7b60}.gameplay-session.signal-session .rhythm-measure>strong{padding:0 12px;font:1.5rem/1.05 serif}.gameplay-session.signal-session .rhythm-measure>span{position:relative;flex:1;border-left:1px solid #6a7b60;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.gameplay-session.signal-session .rhythm-measure i{width:4px;height:4px;background:var(--muted);margin-top:16px}.gameplay-session.signal-session .rhythm-measure small{color:var(--muted);font-size:.75rem}.gameplay-session.signal-session .match-dock{grid-column:1;grid-row:auto;min-width:0;align-self:start}.gameplay-session.signal-session .task-playback-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:48px;margin:0 0 10px}.gameplay-session.signal-session .task-playback-actions>.button{flex:0 1 auto;min-height:48px;font-size:.875rem;padding:10px 16px}.gameplay-session.signal-session .task-playback-actions>.playback-replay{margin-left:auto;order:2}.gameplay-session.signal-session .answer-console-toolbar{flex-wrap:wrap;height:auto;min-height:48px}.gameplay-session.signal-session .signal-task-label{font-size:.875rem;flex:1;min-width:8rem}.gameplay-session.signal-session .answer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:8px}.gameplay-session.signal-session .answer-button{min-height:58px;height:auto;font-size:.9375rem;line-height:1.4;overflow-wrap:anywhere}.gameplay-session.signal-session .answer-button kbd{color:var(--muted);flex-shrink:0}.gameplay-session.signal-session .answer-button.dimmed{opacity:.6}.gameplay-session.signal-session .campaign-keyboard{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));height:clamp(180px,25svh,240px)!important;min-height:180px}.gameplay-session.signal-session .campaign-keyboard .white-key{background:#d6dfc5!important;background-image:none!important;color:#172012!important;opacity:1!important}.gameplay-session.signal-session .campaign-keyboard .black-key{background:#141c12!important;background-image:none!important;color:#e4ecd9!important;opacity:1!important}.gameplay-session.signal-session .campaign-keyboard .piano-key-label{text-shadow:none;color:inherit!important;opacity:1!important}.gameplay-session.signal-session .campaign-keyboard .echo-unavailable .piano-key-label{opacity:.45!important}.gameplay-session.signal-session .campaign-keyboard .echo-cue,.gameplay-session.signal-session .campaign-keyboard .hit-good,.gameplay-session.signal-session .campaign-keyboard .correct{background:var(--gold)!important;color:var(--ink)!important}.gameplay-session.signal-session .campaign-keyboard .hit-miss,.gameplay-session.signal-session .campaign-keyboard .incorrect{background:var(--coral)!important;color:var(--ink)!important}.gameplay-session.signal-session .campaign-keyboard .echo-neutral-strike{background:#b9cda5!important;color:#172012!important}.gameplay-session.signal-session .echo-note-buttons{height:auto;min-height:180px;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(74px,auto)}.gameplay-session.signal-session .echo-note-buttons .answer-button{font-size:1rem;min-width:0;padding:8px 4px}.gameplay-session.signal-session .echo-note-buttons .answer-button.echo-neutral-strike{background:#222d20!important;border-color:var(--cream)!important;color:var(--cream)!important}.gameplay-session.signal-session .echo-note-buttons .answer-button.hit-good{background:#2b3822!important;color:var(--gold)!important;border-color:var(--gold)!important}.gameplay-session.signal-session .echo-note-buttons .answer-button.hit-miss{background:#38271f!important;color:var(--coral)!important;border-color:var(--coral)!important}.gameplay-session.signal-session .echo-help{min-height:2.8em;margin:10px 0 0;font-size:.8125rem;line-height:1.5;color:var(--muted);background:none}.gameplay-session.signal-session .phrase-edit-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:10px}.gameplay-session.signal-session .phrase-edit-actions .button{min-height:48px;flex:1 1 auto;font-size:.8125rem;padding:10px 12px}.gameplay-session.signal-session .phrase-edit-actions .phrase-submit{flex-basis:100%;font-size:.9375rem}.gameplay-session.signal-session .task-lesson{margin-top:16px}.gameplay-session.signal-session .task-lesson .practice-lesson>p{display:none}.gameplay-session.signal-session .repair-content{gap:16px}.gameplay-session.signal-session .repair-comparison{display:flex;flex-wrap:wrap;gap:16px 28px}.gameplay-session.signal-session .repair-comparison>div{display:flex;align-items:flex-start;gap:8px;flex:1 1 12rem;min-width:0}.gameplay-session.signal-session .repair-comparison>div:first-child>svg{color:var(--gold)}.gameplay-session.signal-session .repair-comparison>div+div>svg{color:var(--coral)}.gameplay-session.signal-session .repair-comparison>div>span{display:grid;gap:4px;min-width:0}.gameplay-session.signal-session .repair-comparison small{color:var(--muted);font-size:.75rem}.gameplay-session.signal-session .repair-comparison strong{font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.gameplay-session.signal-session .repair-structural,.gameplay-session.signal-session .repair-explanation-copy,.gameplay-session.signal-session .repair-difference{font-size:.875rem;line-height:1.6;max-width:70ch;margin:0}.gameplay-session.signal-session .repair-difference{background:none;padding:0;border:0}.gameplay-session.signal-session .repair-options{display:flex;flex-wrap:wrap;gap:8px}.gameplay-session.signal-session .repair-options .button,.gameplay-session.signal-session .repair-fresh>.button{min-height:48px;font-size:.8125rem}.gameplay-session.signal-session .repair-check{border-top:1px solid var(--line);padding-top:16px;margin-top:8px;min-width:0}.gameplay-session.signal-session .repair-check>h3{font-size:1.125rem;margin:0 0 8px}.gameplay-session.signal-session .repair-check .question-stage{min-height:0;padding:12px 0 16px}.gameplay-session.signal-session .repair-check .question-stage>h1{font-size:1.25rem}.gameplay-session.signal-session .repair-check .repair-options{margin:0 0 8px}.gameplay-session.signal-session .repair-check-result{color:var(--cream);font-size:.875rem;line-height:1.6;margin-top:12px}.gameplay-session.signal-session .repair-fresh{border-top:1px solid var(--line);padding-top:12px}.gameplay-session.signal-session .repair-footnote{line-height:1.5;font-size:.75rem}.gameplay-session.signal-session .question-object.is-hearing{animation:task-heard .24s cubic-bezier(.16,1,.3,1)}@keyframes task-heard{0%{color:var(--muted)}to{color:var(--cream)}}@media(min-width:620px){.gameplay-session.signal-session .phrase-edit-actions .phrase-submit{flex-basis:auto;margin-left:auto}}@media(max-width:380px){.gameplay-session.signal-session .echo-note-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.gameplay-session.signal-session .phrase-response{gap:6px}.gameplay-session.signal-session .phrase-response li{flex-basis:2.6rem}}@media(max-height:700px){.gameplay-session.signal-session .question-stage{min-height:12rem;padding-block:8px}.gameplay-session.signal-session .campaign-keyboard{height:180px!important}}@media(prefers-reduced-motion:reduce){.gameplay-session.signal-session *,.gameplay-session.signal-session *:before,.gameplay-session.signal-session *:after{animation:none!important;transition:none!important}}.gameplay-session.signal-session.stage-still *,.reduce-motion .gameplay-session.signal-session *{animation:none!important;transition:none!important}.gameplay-session.signal-session .task-lesson>.lesson-intro{display:none}.gameplay-session.signal-session .button{border-radius:3px}.gameplay-session.signal-session .musical-edit-actions button{flex:1 1 6rem;min-width:min(100%,6rem);padding:10px 12px;font-size:.875rem;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.gameplay-session.signal-session .dictation-targets{display:flex;gap:12px;justify-content:center;align-items:center;width:100%;max-width:24rem}.gameplay-session.signal-session .dictation-targets .note-head{border-style:dashed}.gameplay-session.signal-session .answer-button kbd:empty{display:none}.gameplay-session.signal-session .progression-rail{display:flex;align-items:center;width:min(100%,28rem);min-height:88px;padding:0 12px}.gameplay-session.signal-session .progression-rail>span{width:100%;height:18px;border-block:1px solid #6a7b60;border-radius:3px;background:var(--surface)}.gameplay-session.signal-session .progression-structure{display:flex;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:8px;width:100%}.gameplay-session.signal-session .progression-structure>li{display:flex;flex:1 1 8rem;flex-direction:column;justify-content:center;gap:8px;padding:12px;min-width:0;border:1px solid #6a7b60;background:var(--surface);border-radius:3px}.gameplay-session.signal-session .progression-structure small{color:var(--muted);font-size:.75rem}.gameplay-session.signal-session .progression-structure span{color:var(--cream);font-size:.875rem;overflow-wrap:anywhere}.gameplay-session.signal-session .repair-isolation{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.gameplay-session.signal-session .repair-isolation .button{min-height:48px;font-size:.8125rem}.gameplay-session.signal-session .repair-isolation p{flex:1 1 17rem;margin:0;max-width:65ch;font-size:.8125rem;line-height:1.55;color:var(--muted)}.gameplay-session.signal-session .repair-options .button,.gameplay-session.signal-session .repair-isolation .button,.gameplay-session.signal-session .repair-fresh>.button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.gameplay-session.signal-session .repair-options .button>svg,.gameplay-session.signal-session .repair-isolation .button>svg{flex-shrink:0}.gameplay-session.signal-session.phase-feedback .repair-check .answer-grid{display:grid}.gameplay-session.signal-session.phase-feedback .repair-check .answer-console-toolbar{display:flex}.gameplay-session.signal-session.phase-feedback .repair-check .campaign-keyboard{display:grid!important}.gameplay-session.signal-session.phase-feedback .repair-check .octave-picker{display:flex}.gameplay-session.signal-session.phase-feedback .repair-check .contour-control,.gameplay-session.signal-session.phase-feedback .repair-check .voice-answer{display:block}.gameplay-session.signal-session .campaign-keyboard .piano-unavailable .piano-key-label{opacity:.45!important}.seat-0{--seat: 38 100% 77%}.seat-1{--seat: 352 100% 78%}.seat-2{--seat: 270 80% 80%}.seat-3{--seat: 178 62% 70%}.seat-4{--seat: 22 95% 72%}.seat-5{--seat: 208 85% 78%}.seat-6{--seat: 150 55% 72%}.seat-7{--seat: 318 70% 80%}html[data-theme] .device-program .content-scroll:has(.pp-stage){overflow:hidden;padding:0;display:flex;flex-direction:column;-webkit-mask-image:none;mask-image:none}html[data-theme] .main-content:has(.pp-stage){padding:0!important}.pp-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.pp-setup{display:flex;flex-direction:column;gap:26px;padding:6px 0 28px}.pp-intro{display:flex;flex-direction:column;gap:8px}html[data-theme] .pp-intro h1{margin:2px 0 0;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(40px,12vw,54px);line-height:1;color:var(--text)}.pp-intro p{margin:0;max-width:34ch;color:var(--text-dim);font-size:15px;line-height:1.5}.pp-block{display:flex;flex-direction:column;gap:12px}.pp-block>header{display:flex;justify-content:space-between;align-items:baseline}.pp-block h2{margin:0}.pp-seats{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.pp-seat{display:grid;grid-template-columns:40px minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:auto;align-items:center;gap:12px;animation:pp-rise .42s var(--ease) both}.pp-seat-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-family:var(--f-display);font-style:italic;font-size:21px;color:hsl(var(--seat));background:radial-gradient(circle at 35% 30%,hsl(var(--seat) / .3),hsl(var(--seat) / .06) 70%);box-shadow:inset 0 0 0 1px hsl(var(--seat) / .55),0 0 18px -4px hsl(var(--seat) / .6)}html[data-theme] .pp-seat input{width:100%;min-height:48px;border-radius:99px;padding:0 18px;font-family:var(--f-display);font-style:italic;font-size:20px}html[data-theme] .pp-seat input:focus{outline:none;box-shadow:inset 0 0 0 1px hsl(var(--seat) / .8),0 0 22px -6px hsl(var(--seat) / .7)}html[data-theme] .pp-seat .icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-dim);cursor:pointer}.pp-add{align-self:flex-start}.pp-challenge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:64px;padding:10px 20px;border:0;border-radius:99px;text-align:left;cursor:pointer;color:var(--text);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi)}.pp-challenge>svg:first-child{color:var(--gold)}.pp-challenge strong{display:block;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:21px;line-height:1.1}.pp-challenge small{font-family:var(--f-label);font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim)}.pp-challenge>svg:last-child{color:var(--text-dim);transition:transform .3s var(--ease)}.pp-challenge[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.pp-scenarios{display:flex;flex-direction:column;gap:4px;padding:4px 0 8px;animation:pp-rise .36s var(--ease) both}.pp-scenarios section{padding:8px 0 0;display:flex;flex-direction:column;gap:4px}.pp-scenarios h3{margin:0 0 4px 12px}.pp-row{display:flex;flex-direction:column;gap:10px;margin-top:6px}.pp-row .device-mode{height:42px}.pp-choice{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:8px}.pp-choice+.pp-choice{margin-top:8px}.pp-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pp-choice button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:14px 14px 16px;border:0;border-radius:var(--r-md);text-align:left;cursor:pointer;color:var(--text-dim);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);transition:box-shadow .26s,background .26s,color .26s}.pp-choice button strong{display:block;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:19px;line-height:1.1;color:var(--text)}.pp-choice button small{display:block;margin-top:4px;font-size:12px;line-height:1.4}.pp-choice button[aria-pressed=true]{color:var(--text);background:radial-gradient(130% 120% at 20% 0%,#ffcf8a29,#ffcf8a0a);box-shadow:inset 0 0 0 1px var(--accent-line),0 0 26px -10px #ffbe7899}.pp-choice button[aria-pressed=true]>svg{color:var(--gold)}.pp-back{align-self:center}.party-readout{display:inline-flex;align-items:center;gap:12px;min-width:0}.party-player{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-display);font-style:italic;font-size:19px;color:hsl(var(--seat));text-shadow:0 0 14px hsl(var(--seat) / .5)}.round-pearls li.is-locked{background:var(--cream);opacity:.75;box-shadow:0 0 8px #f4ead880;animation:pearl-in .6s var(--ease)}html[data-theme] .device .tactical-match .question-stage.is-locked h1{color:var(--text)!important;animation:pp-settle .7s var(--ease) both}html[data-theme] .tactical-match .is-locked .question-instruction.locked-choice{color:var(--text-dim)!important;animation:pp-rise .5s var(--ease) both .12s}.locked-choice strong{color:var(--text);font-weight:500}html[data-theme] .tactical-match.performance-locked .answer-grid{opacity:.55;transition:opacity .4s}.pp-handoff{cursor:pointer;justify-content:center}.pp-handoff-body{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 24px 12px;text-align:center}.pp-halo{position:absolute;left:50%;top:46%;width:min(120vw,560px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,hsl(var(--seat) / .26),hsl(var(--seat) / .08) 38%,transparent 66%);animation:pp-halo 1.2s var(--ease) both,pp-breathe 4.8s ease-in-out 1.2s infinite}html[data-theme] .pp-name{position:relative;margin:0;max-width:100%;overflow-wrap:anywhere;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(56px,19vw,96px);line-height:.95;color:hsl(var(--seat));text-shadow:0 0 44px hsl(var(--seat) / .55);animation:pp-name .9s var(--ease) both .12s}.pp-detail{position:relative;margin:6px 0 0;font-size:15px;color:var(--text);animation:pp-rise .6s var(--ease) both .32s}.pp-privacy{position:relative;margin:0;max-width:30ch;font-size:13px;line-height:1.5;color:var(--text-dim);animation:pp-rise .6s var(--ease) both .42s}.pp-next{position:relative;margin-top:10px;animation:pp-rise .6s var(--ease) both .52s}.pp-mini{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:10px 0 0;padding:0;list-style:none;animation:pp-rise .6s var(--ease) both .48s}.pp-mini li{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-dim)}.pp-mini i{width:6px;height:6px;border-radius:50%;background:hsl(var(--seat));box-shadow:0 0 8px hsl(var(--seat))}.pp-mini strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:17px;color:var(--text)}.pp-finale{overflow-y:auto;padding:12px 20px calc(var(--results-actions-height, 110px) + 24px);gap:22px;overscroll-behavior:contain}html[data-theme] .pp-finale-head h1{font-size:clamp(44px,13vw,64px)!important;text-wrap:balance}.pp-board{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.pp-board-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--r-lg);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);opacity:0;transform:translateY(14px) scale(.98);filter:blur(4px);transition:opacity .6s var(--ease),transform .7s var(--ease),filter .6s var(--ease),box-shadow .6s,background .6s}.pp-board-row.is-shown{opacity:1;transform:none;filter:none}.pp-board-row.is-winner{background:radial-gradient(140% 160% at 10% 0%,hsl(var(--seat) / .22),hsl(var(--seat) / .05) 60%);box-shadow:inset 0 0 0 1px hsl(var(--seat) / .7),0 0 40px -8px hsl(var(--seat) / .6);animation:pp-crown .9s var(--spring)}.pp-rank{font-family:var(--f-label);font-size:11px;letter-spacing:.1em;color:var(--text-dim);text-align:center}.is-winner .pp-rank{color:hsl(var(--seat))}.pp-who{min-width:0;display:flex;flex-direction:column;gap:8px}.pp-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:23px;line-height:1;color:hsl(var(--seat))}.pp-pearls{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.pp-pearls li{width:7px;height:7px;border-radius:50%;background:#f4ead829;transition:background .3s,box-shadow .3s,transform .4s var(--spring)}.pp-pearls li.is-hit{background:var(--gold-hi);box-shadow:0 0 8px var(--gold),0 0 16px #ffb46e80;transform:scale(1.15)}.pp-pearls li.is-miss{background:transparent;box-shadow:inset 0 0 0 1.2px var(--rose)}.pp-score{font-family:var(--f-display);font-style:italic;font-size:38px;line-height:1;color:var(--text)}.pp-score small{font-size:17px;color:var(--text-dim)}.is-winner .pp-score{color:var(--gold-hi);text-shadow:0 0 24px rgba(255,200,130,.5)}.pp-review section{padding:12px 0 4px}.pp-review h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:19px;color:hsl(var(--seat))}.pp-review h3 i{width:6px;height:6px;border-radius:50%;background:hsl(var(--seat))}.pp-review ol{margin:0;padding:0;list-style:none}.pp-review li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(244,234,216,.08);font-size:14px}.pp-review li small{display:inline-flex;align-items:center;gap:5px;color:var(--text-dim);text-align:right}.pp-review li.is-hit small svg{color:var(--gold)}.pp-review li.is-miss small svg{color:var(--rose)}@keyframes pp-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pp-settle{0%{opacity:.4;letter-spacing:.04em;filter:blur(3px)}}@keyframes pp-name{0%{opacity:0;transform:translateY(18px) scale(.96);filter:blur(8px)}}@keyframes pp-halo{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}}@keyframes pp-breathe{50%{opacity:.7;transform:translate(-50%,-50%) scale(1.06)}}@keyframes pp-crown{0%{transform:scale(.97)}60%{transform:scale(1.02)}to{transform:none}}@media(prefers-reduced-motion:reduce){.pp-seat,.pp-scenarios,.pp-halo,.pp-name,.pp-detail,.pp-privacy,.pp-next,.pp-mini,.pp-board-row.is-winner,html[data-theme] .device .tactical-match .question-stage.is-locked h1{animation:none}.pp-board-row{transition:none;filter:none}}html.reduce-motion .pp-halo,html.reduce-motion .pp-name,html.reduce-motion .pp-board-row.is-winner{animation:none}@media(max-width:380px){.pp-choice>div{grid-template-columns:1fr}}.device-transport .tap-listen .orb-label{text-align:center}.progress-page{--progress-ink: #111116;--progress-cream: #ede6d8;--progress-gold: #dfb47c;--progress-mint: #a5bca1;--progress-muted: #b3adb9;--progress-rule: #494550;width:100%;max-width:1120px;margin-inline:auto;padding:clamp(24px,4vw,52px) clamp(0px,2vw,24px) 40px;color:var(--progress-cream);font-family:DM Sans,sans-serif;line-height:1.55}.progress-page *,.settings-panel *{box-sizing:border-box}.progress-page h1,.progress-page h2,.progress-focus h2{font-family:Barlow Condensed,DM Sans,sans-serif;font-weight:500;text-wrap:balance}.progress-page h1{margin:0 0 12px;font-size:clamp(2.25rem,4.6vw,3.5rem);line-height:1.12;letter-spacing:-.035em}.progress-page h2{margin:0;font-size:clamp(1.55rem,2.8vw,2rem);line-height:1.22;letter-spacing:-.025em}.progress-page h3{margin:0;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:650}.progress-page p{margin:0}.progress-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.progress-page-heading>div{max-width:630px}.progress-page-heading p{color:var(--progress-muted);max-width:58ch;font-size:1rem}.progress-page-heading>.button{flex-shrink:0}.progress-mode-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:24px}.progress-mode-filter button,.progress-order button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 14px;border:1px solid var(--progress-rule);border-radius:8px;background:transparent;color:var(--progress-cream);font:inherit;font-size:.88rem;font-weight:550;cursor:pointer}.progress-mode-filter button:hover,.progress-order button:hover{background:#34303d}.progress-mode-filter button[aria-pressed=true],.progress-order button[aria-pressed=true]{background:var(--progress-cream);color:var(--progress-ink);border-color:var(--progress-cream)}.progress-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:28px 0 20px;border-top:1px solid var(--progress-rule);gap:24px}.progress-overview>div+div{border-left:1px solid var(--progress-rule);padding-left:28px}.progress-overview dt{color:var(--progress-muted);font-size:.9rem}.progress-overview dd{margin:7px 0 4px;color:var(--progress-gold);font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.progress-overview dd>span{font-size:1rem;color:var(--progress-cream);letter-spacing:normal}.progress-overview p,.progress-measure-note,.progress-note,.progress-history-note,.progress-section-heading p{color:var(--progress-muted);font-size:.86rem}.progress-measure-note{max-width:94ch;padding-bottom:30px}.progress-section{padding:32px 0;border-top:1px solid var(--progress-rule);min-width:0}.progress-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.progress-section-heading>svg{flex-shrink:0;color:var(--progress-gold);margin-top:5px}.progress-section-heading p{margin-top:9px;max-width:76ch}.progress-trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.progress-trend{min-width:0;margin:0}.progress-trend figcaption p{margin-top:4px;color:var(--progress-muted);font-size:.8rem}.progress-trend svg{width:100%;max-height:255px;margin-top:16px;overflow:visible}.progress-trend svg text{fill:var(--progress-muted);font:11px DM Sans,sans-serif;font-variant-numeric:tabular-nums}.progress-chart-grid{stroke:#494550;stroke-width:1;stroke-dasharray:3 5}.progress-chart-line{fill:none;stroke:var(--progress-mint);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.progress-chart-point{fill:var(--progress-mint);stroke:var(--progress-ink);stroke-width:2}.progress-trend-time .progress-chart-line{stroke:var(--progress-gold)}.progress-trend-time .progress-chart-point{fill:var(--progress-gold)}.progress-chart-empty{padding:50px 12px 50px 0;color:var(--progress-muted);font-size:.9rem;min-height:160px}.progress-details{margin-top:22px}.progress-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;list-style:none;cursor:pointer;color:var(--progress-cream);font-size:.88rem;text-decoration:underline;text-decoration-color:#81968c;text-underline-offset:5px}.progress-details>summary::-webkit-details-marker{display:none}.progress-details>summary svg{flex-shrink:0}.progress-details[open]>summary svg{transform:rotate(180deg)}.progress-table-scroll{max-width:100%;overflow-x:auto;margin-top:10px;scrollbar-color:#a5bca1 #203d3e}.progress-table{width:100%;min-width:440px;border-collapse:collapse;color:var(--progress-cream);text-align:left;font-size:.88rem;font-variant-numeric:tabular-nums}.progress-table caption{caption-side:bottom;text-align:left;padding:10px 0 0;color:var(--progress-muted);font-size:.8rem}.progress-table th,.progress-table td{padding:13px 16px 13px 0;border-bottom:1px solid var(--progress-rule);vertical-align:top;overflow-wrap:anywhere}.progress-table thead th{font-size:.8rem;color:var(--progress-muted);font-weight:500}.progress-table tbody th{font-weight:500}.progress-table small{display:block;margin-top:3px;color:var(--progress-muted);font-size:.77rem;font-weight:400}.progress-calendar-layout{display:flex;gap:10px}.progress-weekdays{display:grid;grid-template-rows:repeat(7,1fr);flex:0 0 29px;color:var(--progress-muted);font-size:.72rem;line-height:1}.progress-weekdays span{align-self:center}.progress-weekdays span:nth-child(2){grid-row:3}.progress-weekdays span:nth-child(3){grid-row:5}.progress-weekdays span:nth-child(4){grid-row:7}.progress-heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-auto-columns:minmax(0,1fr);gap:clamp(4px,1vw,8px);width:100%;max-width:850px}.progress-day{display:block;min-width:0;width:100%;height:clamp(21px,3.8vw,33px);border:1px solid transparent;border-radius:4px;padding:0;cursor:pointer}.progress-day-0{background:#304b4b}.progress-day-1{background:#4d8171}.progress-day-2{background:#a5bca1}.progress-day-3{background:#dfb47c}.progress-day[aria-pressed=true]{outline:2px solid var(--progress-cream);outline-offset:2px}.progress-day:hover{border-color:var(--progress-cream)}.progress-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:19px;font-size:.82rem;color:var(--progress-muted)}.progress-calendar-footer strong{color:var(--progress-cream);font-weight:550}.progress-heatmap-key{display:flex;gap:5px;align-items:center}.progress-heatmap-key i{width:11px;height:11px;border-radius:2px}.progress-heatmap-key span:first-child{margin-right:3px}.progress-heatmap-key span:last-child{margin-left:3px}.progress-analysis{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;padding:32px 0;border-top:1px solid var(--progress-rule);align-items:start}.progress-analysis>.progress-section{border:0;padding:0}.progress-order{display:flex;gap:8px;margin-bottom:8px}.progress-order button{font-size:.83rem}.progress-skill-list,.progress-early-skills,.progress-confusions,.progress-achievements{list-style:none;padding:0;margin:0}.progress-skill-list>li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--progress-rule)}.progress-skill-list>li>svg{color:var(--progress-gold)}.progress-skill-name{min-width:0}.progress-skill-name strong{display:block;font-weight:550;font-size:.98rem;overflow-wrap:anywhere}.progress-skill-name span,.progress-skill-score span{display:block;color:var(--progress-muted);font-size:.77rem}.progress-skill-score{text-align:right;font-variant-numeric:tabular-nums}.progress-skill-score strong{font-size:1.2rem;font-weight:550}.progress-skill-bar{height:4px;grid-column:2 / -1;overflow:hidden;background:#304b4b;border-radius:2px;margin-top:7px}.progress-skill-bar span{display:block;height:100%;background:var(--progress-mint)}.progress-early-skills li{display:flex;gap:16px;justify-content:space-between;padding-block:10px;border-bottom:1px solid var(--progress-rule);font-size:.9rem}.progress-early-skills li>span:first-child{overflow-wrap:anywhere}.progress-early-skills li>span:last-child{text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.progress-early-skills small{display:block;color:var(--progress-muted);font-size:.77rem}.progress-focus{background:var(--progress-cream);color:var(--progress-ink);border-radius:14px;padding:clamp(22px,3vw,32px);min-width:0}.progress-focus>svg{margin-bottom:16px;color:#32685d}.progress-focus h2{font-size:clamp(1.7rem,2.7vw,2.2rem);margin-bottom:15px}.progress-focus p{color:#405951;font-size:.91rem}.progress-focus label{display:block;margin-top:25px;margin-bottom:7px;font-size:.8rem;font-weight:650}.progress-focus select{width:100%;min-height:48px;padding:10px 30px 10px 10px;color:#111116;background-color:#fffaf0;border:1px solid #6c8175;border-radius:7px;font:inherit;font-size:.85rem;text-overflow:ellipsis}.progress-focus .progress-focus-targets{margin-top:20px;overflow-wrap:anywhere}.progress-focus-targets strong{display:block;margin-bottom:4px;color:#111116;font-size:.8rem}.progress-focus .progress-focus-evidence{margin-top:16px;font-size:.78rem}.progress-focus .button{margin-top:24px;width:100%;background:#111116;color:#ede6d8;border-color:#111116}.progress-focus .button:hover{background:#254b47}.progress-splits{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:32px}.progress-splits h3{color:var(--progress-gold)}.progress-splits>div>p{margin-top:5px;color:var(--progress-muted);font-size:.8rem}.progress-split-rows{margin:17px 0 0}.progress-split-rows>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--progress-rule)}.progress-split-rows dt{font-size:.87rem}.progress-split-rows dd{text-align:right;margin:0;font-variant-numeric:tabular-nums}.progress-split-rows dd strong{font-size:.95rem;font-weight:550}.progress-split-rows dd span{display:block;color:var(--progress-muted);font-size:.76rem}.progress-section>.progress-note{margin-top:15px;max-width:85ch}.progress-confusions>li{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 65px;gap:18px;padding:17px 0;border-bottom:1px solid var(--progress-rule);align-items:center}.progress-confusions strong{display:block;font-weight:550;overflow-wrap:anywhere}.progress-confusions>li>svg{color:var(--progress-muted)}.progress-confusion-label{display:block;margin-bottom:4px;color:var(--progress-muted);font-size:.74rem}.progress-confusion-count{text-align:right;font-size:.85rem;font-variant-numeric:tabular-nums}.progress-achievements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}.progress-achievements>li{display:flex;align-items:flex-start;gap:13px;padding:22px 0;border-bottom:1px solid var(--progress-rule)}.progress-achievement-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;border:1px solid #71877c;color:var(--progress-muted);height:35px;width:35px;border-radius:50%}.progress-earned .progress-achievement-icon{background:var(--progress-gold);border-color:var(--progress-gold);color:var(--progress-ink)}.progress-achievements strong{font-weight:550;font-size:.93rem}.progress-achievements li p{font-size:.8rem;color:var(--progress-muted);margin-top:4px}.progress-achievements li div>span{display:block;font-size:.74rem;color:var(--progress-muted);margin-top:7px}.progress-achievements li.progress-earned div>span{color:var(--progress-mint)}.progress-history-note{border-top:1px solid var(--progress-rule);padding-top:23px;max-width:90ch}.progress-history-note p{font-size:.79rem}.progress-empty,.progress-filter-empty{padding:16px 0 36px}.progress-empty .empty-state,.progress-filter-empty .empty-state{display:flex;align-items:center;flex-direction:column;text-align:center;padding:24px 16px}.progress-empty .empty-illustration,.progress-filter-empty .empty-illustration{max-width:260px;width:65%}.progress-empty .music-emblem,.progress-filter-empty .music-emblem{width:100%;height:auto}.progress-empty h2,.progress-filter-empty h2{max-width:25ch;margin-bottom:16px}.progress-empty p,.progress-filter-empty p{max-width:50ch;color:var(--progress-muted);margin-bottom:24px}.progress-page :focus-visible{outline:3px solid var(--progress-gold);outline-offset:4px}.progress-focus :focus-visible{outline-color:#286556}.progress-page ::selection{color:#111116;background:#dfb47c}.settings-panel{color:#ede6d8;font:1rem/1.55 DM Sans,sans-serif;min-width:0;outline:none}.settings-panel>:first-child{margin-top:0}.settings-section{margin:0;padding:24px 0;border-bottom:1px solid #494550}.settings-section:first-of-type{padding-top:8px}.settings-section h3{font:500 1.4rem/1.25 Barlow Condensed,DM Sans,sans-serif;margin:0 0 14px;color:#ede6d8}.settings-help{display:block;color:#b3adb9;font-size:.88rem;line-height:1.55;margin:0 0 16px}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:19px}.settings-actions .button{min-height:46px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.settings-volume{margin:18px 0 16px}.settings-label-row{display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:550}.settings-label-row output{color:#dfb47c;font-variant-numeric:tabular-nums}.settings-range{display:block;width:100%;height:44px;accent-color:#dfb47c;cursor:pointer;padding:0}.settings-checkbox-row{display:flex;flex-direction:row;gap:12px;align-items:flex-start;min-height:48px;cursor:pointer}.settings-checkbox-row input{min-height:0;padding:0;flex-shrink:0;width:22px;height:22px;margin:3px 0 0;accent-color:#a5bca1;cursor:pointer}.settings-checkbox-row strong{font-size:.95rem;font-weight:550}.settings-checkbox-row .settings-help{margin:4px 0 0}.settings-file-label,.settings-text-label{display:block;font-size:.88rem;font-weight:550;margin:20px 0 9px}.settings-file{display:block;width:100%;min-width:0;max-width:100%;font:.86rem DM Sans,sans-serif;color:#ede6d8;padding:7px 0}.settings-file::file-selector-button{min-height:44px;padding:10px 13px;border:1px solid #81968c;border-radius:7px;color:#ede6d8;background:#203d3e;font:inherit;cursor:pointer;margin-right:10px}.settings-json{display:block;resize:vertical;width:100%;min-height:150px;max-height:360px;border:1px solid #81968c;border-radius:8px;padding:13px;background:#102328;color:#ede6d8;font:.81rem/1.6 DM Sans,sans-serif;overflow-wrap:anywhere;caret-color:#dfb47c;scrollbar-color:#a5bca1 #203d3e}.settings-source{overflow-wrap:anywhere;color:#b3adb9;font-size:.86rem}.settings-preview{margin:20px 0}.settings-preview>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:1px solid #494550;padding:11px 0}.settings-preview dt{font-size:.86rem;color:#b3adb9}.settings-preview dd{margin:0;font-size:1.15rem;font-weight:550;font-variant-numeric:tabular-nums}.settings-confirmation{margin:18px 0;font-size:.94rem;line-height:1.65}.settings-error,.settings-storage-error,.settings-notice,.settings-recovery{margin:0 0 18px;border:1px solid #967360;background:#3e302b;color:#ffe1c8;border-radius:8px;padding:13px 16px;font-size:.86rem;overflow-wrap:anywhere}.settings-notice{border-color:#527f6f;background:#23433b;color:#c9f1dc}.settings-recovery{border-color:#a18a55;background:#3d3b2b;color:#ede6d8}.settings-recovery p{margin-top:0}.settings-recovery-button{margin-top:15px}.settings-danger-zone h3{color:#ffc1a9}.settings-panel .button.settings-danger-button{border:1px solid #db9a85;color:#ffe0d2;background:#512e29}.settings-panel .button.settings-danger-button:hover{background:#67382f}.settings-panel :focus-visible{outline:3px solid #dfb47c;outline-offset:4px}.settings-panel [data-settings-heading]:focus{outline:none}.settings-panel ::selection{background:#dfb47c;color:#111116}@media(max-width:760px){.progress-page-heading{align-items:flex-start;flex-direction:column;gap:20px}.progress-overview{gap:16px}.progress-overview>div+div{padding-left:16px}.progress-overview dt{min-height:2.8em;font-size:.8rem}.progress-overview p{font-size:.76rem}.progress-trends{gap:25px}.progress-analysis{grid-template-columns:1fr;gap:28px}.progress-focus{max-width:none}.progress-achievements{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.progress-page{padding-top:24px;padding-inline:0}.progress-page-heading{margin-bottom:24px}.progress-page-heading p{font-size:.93rem}.progress-mode-filter{gap:7px}.progress-mode-filter button{flex-grow:1;padding-inline:11px;font-size:.8rem}.progress-overview{grid-template-columns:1fr;gap:0;padding-top:4px;padding-bottom:16px}.progress-overview>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:16px 0}.progress-overview>div+div{border-left:0;padding-left:0;border-top:1px solid var(--progress-rule)}.progress-overview dt{min-height:0;font-size:.88rem;align-self:end}.progress-overview dd{grid-column:2;grid-row:1 / 3;font-size:2rem;margin:0}.progress-overview p{grid-column:1;font-size:.75rem;padding-top:5px}.progress-measure-note{font-size:.8rem;padding-bottom:25px}.progress-section{padding-block:27px}.progress-section-heading{margin-bottom:20px}.progress-section-heading p{font-size:.8rem}.progress-trends{grid-template-columns:1fr}.progress-trend svg{margin-top:13px}.progress-calendar-layout{gap:7px}.progress-weekdays{flex-basis:25px;font-size:.66rem}.progress-day{border-radius:3px}.progress-calendar-footer{font-size:.77rem;gap:12px}.progress-splits{grid-template-columns:1fr;gap:24px}.progress-split-rows{margin-top:13px}.progress-confusions>li{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:9px;padding:15px 0}.progress-confusion-count{grid-column:3;font-size:.76rem;text-align:left}.progress-confusions strong{font-size:.9rem}.progress-achievements{grid-template-columns:1fr}.progress-achievements>li{padding:17px 0}.progress-empty .empty-state,.progress-filter-empty .empty-state{padding-inline:0}.progress-empty .empty-illustration,.progress-filter-empty .empty-illustration{max-width:210px}.settings-actions .button{flex:1 1 135px}.settings-section{padding-block:21px}.settings-preview dt{font-size:.8rem}}@media(prefers-reduced-motion:reduce){.progress-page *,.settings-panel *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed-medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/fraunces.ttf) format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.ttf) format("truetype");font-weight:100 1000;font-display:swap}:root{font-family:DM Sans,sans-serif;color:#ede6d8;background:#111116;font-synthesis:none;font-weight:400;--ink:#111116;--cream:#ede6d8;--gold:#dfb47c;--mint:#a5bca1;--coral:#df9d88;--muted:#b3adb9;--line:rgba(247,239,217,.15);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:var(--gold)}button{touch-action:manipulation}button,input,select,a{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Barlow Condensed,DM Sans,sans-serif;font-weight:500;letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(34px,4vw,52px)}h2{font-size:28px}h3{font-size:23px}p{line-height:1.65}svg{flex-shrink:0}small{font-size:.8em}button{border:0}img{display:block;max-width:100%}::selection{background:#dfb47c;color:#111116}.app-shell{max-width:1440px;margin:auto;padding:0 48px}.app-header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand-button{background:none;padding:0}.brand{display:flex;align-items:center;gap:11px;font-family:Barlow Condensed,DM Sans,sans-serif;font-size:34px;font-weight:650;letter-spacing:-1.5px}.brand-dot{color:var(--gold)}.brand-mark{position:relative;display:flex;color:var(--gold);align-items:center;justify-content:center;width:38px;height:42px;border:1px solid #dfb47c88;border-radius:45% 45% 48% 48%;transform:rotate(-8deg)}.brand-mark i{position:absolute;right:-3px;top:2px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.desktop-nav{display:flex;gap:6px}.desktop-nav button{display:flex;align-items:center;gap:8px;padding:13px 17px;background:none;font-size:14px;font-weight:600;color:var(--muted);border-radius:24px}.desktop-nav button.active{color:var(--cream);background:#ede6d810}.desktop-nav button:hover{color:var(--gold)}.header-tools{display:flex;align-items:center;gap:14px}.level-pill{display:flex;align-items:center;gap:7px;color:var(--gold);font-size:12px;white-space:nowrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:transparent;color:inherit}.icon-button:hover{background:#ede6d811}.main-content{min-height:65vh}.mobile-nav{display:none}.app-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:32px 0 28px;color:#b3adb9;font-size:12px}.app-footer>span:last-child{display:flex;align-items:center;gap:7px}.skip-link{position:fixed;top:10px;left:20px;z-index:100;background:var(--cream);color:var(--ink);padding:15px;max-width:calc(100vw - 40px);transform:translateY(calc(-100% - 20px))}.skip-link:focus{transform:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:51px;padding:15px 22px;border-radius:13px;font-size:14px;font-weight:750;line-height:1.3;transition:transform .16s,background .16s,box-shadow .16s}.button.primary{background:var(--gold);color:#273032;box-shadow:0 3px #ae813d}.button.primary:hover{background:#ffda99;transform:translateY(-2px);box-shadow:0 5px #ae813d}.button.primary:active{transform:translateY(2px);box-shadow:0 1px #ae813d}.button.secondary{background:transparent;border:1px solid #ede6d83b;color:var(--cream)}.button.secondary:hover{background:#ede6d810}.button:disabled{opacity:.45;transform:none;box-shadow:none}.button.small{min-height:42px;padding:10px 15px}.text-action{display:inline-flex;align-items:center;gap:8px;background:none;padding:10px 0;color:var(--gold);font-weight:650;font-size:13px;text-align:left}.text-action:hover{color:#ffe0a7}.muted{color:var(--muted)}.small{font-size:12px}.music-emblem{object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 16px 18px #081b2b3b)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:42px 0 30px}.page-heading p{color:var(--muted);margin-top:11px;font-size:15px}.page-symbol{color:var(--gold);padding:16px;border:1px solid var(--line);border-radius:50%;box-sizing:content-box;width:24px;height:24px}.page-symbol svg{display:block}.field-help{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:10px}label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600}input,select{width:100%;min-height:47px;border:1px solid #ede6d832;border-radius:10px;background:#1a1920;color:var(--cream);padding:12px 13px;font-size:14px}input::placeholder{color:#b3adb9}select{padding-right:25px}fieldset{border:0;padding:0;margin:0}legend{font-size:13px;font-weight:600;margin-bottom:12px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toggle-row{flex-direction:row;position:relative;align-items:center;justify-content:space-between;gap:15px}.toggle-row>span:first-child{display:flex;flex-direction:column;gap:5px}.toggle-row small{color:var(--muted);font-weight:400;font-size:12px;line-height:1.5}.toggle-row input{position:absolute;right:0;width:44px;height:26px;opacity:0;cursor:pointer;min-height:0}.toggle-track{flex-shrink:0;width:44px;height:26px;border-radius:16px;border:1px solid #b3adb975;background:#25232b;padding:3px;pointer-events:none}.toggle-track span{display:block;border-radius:50%;height:18px;width:18px;background:#b3adb9;transition:transform .2s}.toggle-row input:checked+.toggle-track{background:var(--mint)}.toggle-row input:checked+.toggle-track span{background:#111116;transform:translate(17px)}.toggle-row input:focus-visible+.toggle-track{outline:2px solid var(--gold);outline-offset:4px}.error-message,.storage-notice{padding:16px 20px;border:1px solid #df9d8866;border-radius:12px;background:#df9d8810;color:#ffd5be;font-size:14px;line-height:1.6;margin:20px 0}.error-message .text-action,.storage-notice .text-action{margin-left:16px}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#09090dc9;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:min(560px,100%);max-height:90dvh;overflow:auto;border:1px solid #ede6d833;border-radius:24px;background:#211e27;padding:28px;box-shadow:0 30px 90px #0005}.modal>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.modal p{color:var(--muted);margin-top:15px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}.empty-state{text-align:center;padding:35px 20px 65px;max-width:590px;margin:auto}.empty-illustration{height:235px;margin-bottom:20px}.empty-illustration .music-emblem{height:100%;margin:auto}.empty-state p{color:var(--muted);margin:15px auto 25px;max-width:430px}.spin{animation:spin 1s linear infinite}.party-teaser{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border-block:1px solid var(--line);padding:21px 5px;margin-top:30px;text-align:left;color:var(--muted)}.party-teaser>span{display:flex;align-items:center;gap:13px}.party-teaser strong{color:var(--cream);font-weight:500;font-size:13px}.party-teaser small{font-size:12px}.party-teaser svg{color:var(--gold)}.curriculum-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 28px}.curriculum-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:12px;border:1px solid var(--line);border-radius:12px;background:none;font-size:13px;color:var(--muted)}.curriculum-tabs button.active{border-color:#dfb47ca6;color:var(--gold);background:#dfb47c0a}.practice-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:52px}.practice-scene{position:relative;overflow:hidden;border-radius:23px;min-height:560px;background:#17161c;isolation:isolate}.practice-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(#122e3b88,transparent 50%,#102a38dd);z-index:-1}.practice-scene-copy{padding:30px;max-width:360px}.practice-scene-copy h2{font-size:37px;color:#fff2d6}.practice-scene-copy p{font-size:14px;color:#f4ead7;margin-top:12px}.practice-scene>.music-emblem{position:absolute;width:250px;height:310px;bottom:33px;left:50%;transform:translate(-50%)}.scene-caption{position:absolute;bottom:25px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;color:#ffefd0}.practice-controls{padding:8px 0;display:flex;flex-direction:column;gap:26px}.practice-controls>h2{font-size:31px;margin-bottom:3px}.difficulty-picker{display:flex;border:1px solid var(--line);border-radius:11px;padding:4px;gap:4px}.difficulty-picker button{flex:1;background:none;padding:11px 5px;border-radius:8px;color:var(--muted);font-size:13px}.difficulty-picker button.selected{background:#48404f;color:#fff0cc}.practice-start{border-top:1px solid var(--line);padding-top:23px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:auto}.practice-start>span{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}.immersive .desktop-nav{visibility:hidden}.immersive .main-content{max-width:860px;margin:0 auto}.session-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:30px 0 20px}.session-top>div{display:flex;flex-direction:column;gap:4px;flex:1}.session-place{color:var(--muted);font-size:11px}.session-top strong{font-size:15px;font-weight:500}.round-count{font-size:21px;font-family:Barlow Condensed,DM Sans,sans-serif;color:var(--gold)}.round-count>span{color:var(--muted);font-size:16px}.round-track{height:5px;border-radius:5px;overflow:hidden;background:#ede6d817}.round-track>span{height:100%;background:var(--gold);display:block;transition:width .5s}.session-context{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0;color:var(--muted);font-size:11px}.session-context>span{display:flex;gap:6px;align-items:center}.session-context>span:first-child{text-transform:capitalize}.timer{color:var(--gold);font-variant-numeric:tabular-nums}.timer.urgent{color:#ffab8b}.listening-stage{position:relative;min-height:280px;text-align:center;padding:26px 140px 20px}.listening-copy h1{font-size:clamp(28px,3.5vw,40px)}.listening-copy p{color:var(--muted);font-size:13px;margin:11px 0 24px}.sound-button{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:14px;background:none;padding:14px 24px 8px;color:var(--gold);font-size:13px;isolation:isolate}.sound-core{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 40% 30%,#3f6056,#244849);border:1px solid #dfb47c87;box-shadow:0 0 0 9px #dfb47c08,0 0 0 20px #dfb47c04}.sound-button:hover:not(:disabled) .sound-core{background:#3d6259;box-shadow:0 0 0 11px #dfb47c10,0 0 0 24px #dfb47c05}.sound-button:disabled{opacity:.65}.sound-button.playing{opacity:1}.playing .sound-core{animation:sound-glow 1.6s ease-in-out infinite}.sound-bars{height:38px;display:flex;gap:4px;align-items:center}.sound-bars i{display:block;width:4px;height:16px;border-radius:3px;background:var(--gold);animation:sound-wave .7s ease-in-out infinite alternate}.sound-bars i:nth-child(2n){height:29px}.sound-button.compact .sound-core{width:56px;height:56px}.listening-emblem{position:absolute;width:125px;right:0;bottom:10px;opacity:.95}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.answer-grid.options-2{grid-template-columns:repeat(2,1fr)}.answer-grid.options-3,.answer-grid.options-5,.answer-grid.options-6{grid-template-columns:repeat(3,1fr)}.answer-button{min-height:68px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 21px;background:#25232b;border:1px solid #ede6d83b;border-radius:13px;text-align:left;font-weight:500;font-size:16px;transition:background .15s,transform .15s,border-color .15s}.answer-button:hover:not(:disabled){background:#36303f;border-color:var(--gold);transform:translateY(-2px)}.answer-button:disabled:not(.correct):not(.incorrect):not(.selected){opacity:.55}.answer-button kbd{font:10px DM Sans,sans-serif;border:1px solid #ede6d832;border-radius:4px;padding:3px 5px;color:#b3adb9}.answer-button.correct{background:#303e32;border-color:var(--mint);color:#d1e9ce;opacity:1}.answer-button.incorrect{background:#49332d;border-color:var(--coral);color:#f6c3ad;opacity:1}.answer-button.selected{border-color:var(--gold);background:#433828;opacity:1}.answer-button.dimmed{opacity:.4}.answer-feedback{background:#232c27;border:1px solid #a5bca14d;border-radius:16px;padding:22px 25px;margin:25px 0 40px;animation:feedback-in .3s both}.answer-feedback.retry{background:#332d25;border-color:#dfb47c50}.feedback-title{display:flex;align-items:center;gap:10px;color:var(--gold)}.feedback-title h2{font-size:23px}.feedback-title>svg{color:var(--mint)}.answer-feedback>p{font-size:13px;color:#c4bfca;margin-top:11px}.feedback-actions{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:17px}.feedback-actions>div{display:flex;flex-direction:column;gap:0}.feedback-actions .text-action{font-size:11px;padding:7px 0}.streak-pill{margin-left:auto;font-size:10px;border:1px solid #a5bca177;padding:5px 9px;border-radius:12px;color:#c7dfc2}.session-footnote{text-align:center;color:var(--muted);font-size:11px;margin:25px 0 45px}.sound-hint{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}.results-page{text-align:center;padding:25px 0 45px;max-width:720px;margin:auto}.reward-stage{height:245px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.reward-stage>.music-emblem{height:240px;animation:celebrate-arrive .6s cubic-bezier(.2,1,.5,1) both}.reward-seal{position:absolute;left:calc(50% + 60px);bottom:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:91px;height:100px;border:1px solid #dfb47c99;background:#25232b;color:var(--gold);border-radius:45% 45% 36% 36%;transform:rotate(8deg);box-shadow:0 8px 20px #08202177}.reward-seal>span{font-family:Barlow Condensed,DM Sans,sans-serif;font-size:30px;margin-top:3px}.reward-seal small{font-size:9px;margin-top:1px}.results-copy h1{font-size:39px;max-width:580px;margin:8px auto 15px}.results-copy p{color:var(--muted);font-size:13px}.results-numbers{display:flex;justify-content:center;margin:29px auto 25px}.results-numbers>div{display:flex;flex-direction:column;gap:8px;flex:1;max-width:210px;border-right:1px solid var(--line)}.results-numbers>div:last-child{border:0}.results-numbers strong{font-family:Barlow Condensed,DM Sans,sans-serif;font-size:38px;font-weight:500;color:var(--gold)}.results-numbers strong small{font-size:18px;color:#b3adb9}.results-numbers div>span{font-size:11px;color:var(--muted)}.round-results{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.round-results>span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;font-size:10px}.round-results .hit{background:#334030;color:#d1e9ce}.round-results .miss{background:#63513b;color:#ffdbab}.takeaway{text-align:left;background:#ede6d807;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:26px auto;max-width:600px}.takeaway>span{display:flex;align-items:center;gap:9px;color:var(--gold);font-size:12px;font-weight:600}.takeaway p{color:var(--muted);font-size:12px;margin-top:10px}.results-actions{display:flex;justify-content:center;gap:14px;margin:24px 0 10px}.party-welcome{position:relative;border-radius:24px;isolation:isolate;overflow:hidden;min-height:510px;background:#1a1920;display:flex;align-items:center}.party-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.party-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#112f37ef,#16383bbd 34%,transparent 70%);z-index:-1}.party-welcome-copy{padding:38px;max-width:430px;width:100%}.party-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #dfb47c66;color:var(--gold);padding:7px 11px;border-radius:15px;font-size:11px}.party-welcome h2{font-size:40px;line-height:1.1;margin:25px 0 16px}.party-welcome p{font-size:14px;color:#c4bfca}.party-entry-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:26px}.party-form{display:flex;flex-direction:column;gap:16px;margin-top:24px;max-width:330px}.party-form input,.party-form select{background:#1a1920ef}.party-form .field-pair{gap:10px}.party-form .text-action{padding:0}.code-input{font-size:21px;font-weight:650;letter-spacing:5px}.party-explainer{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:27px 7px}.party-explainer p{display:flex;align-items:flex-start;gap:13px;font-size:12px;color:var(--muted)}.party-explainer svg{margin-top:3px;color:var(--gold)}.party-explainer strong{color:var(--cream);display:block;margin-bottom:4px;font-weight:550}.local-party-link{background:transparent;border-block:1px solid var(--line);padding:24px 6px;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}.local-party-link>span{display:flex;align-items:center;gap:17px}.local-party-link>span>svg{color:var(--mint)}.local-party-link strong{display:block;font-size:14px;font-weight:500}.local-party-link small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.party-room-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:35px 0}.party-room-header h1{font-size:37px;margin-top:10px}.room-label{display:flex;align-items:center;gap:8px;color:var(--mint);font-size:11px}.lobby-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding:20px 0 35px}.invite-panel{background:#25232b;border:1px solid #ede6d81f;border-radius:22px;padding:30px;text-align:center}.invite-panel h2{font-size:27px}.invite-panel>p{font-size:12px;color:var(--muted);margin-top:12px}.room-code{font-family:DM Sans,sans-serif;font-weight:650;letter-spacing:9px;color:var(--gold);font-size:38px;padding:24px 0 20px}.room-qr{width:155px;margin:0 auto 12px;border-radius:12px}.invite-url{display:block;font-size:10px;overflow-wrap:anywhere;color:var(--muted);margin-top:9px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-heading>span{font-size:12px;color:var(--muted)}.player-list{border-bottom:1px solid var(--line);margin-bottom:22px}.player-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid var(--line)}.player-avatar{display:flex;align-items:center;justify-content:center;width:39px;height:39px;flex-shrink:0;border-radius:50%;font-family:Barlow Condensed,DM Sans,sans-serif;font-size:22px;color:#17161c}.avatar-0{background:#ebc482}.avatar-1{background:#9acfb6}.avatar-2{background:#d6a790}.avatar-3{background:#b3abd6}.player-row>div{flex:1}.player-row strong{font-size:14px;font-weight:500}.player-row strong small{font-size:10px;color:var(--muted)}.player-row>div>span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.player-row>svg{color:var(--gold)}.waiting-dot{width:7px;height:7px;border-radius:50%;background:#a4b4ae}.lobby-config{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:13px;margin:20px 0 25px}.lobby-config small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.lobby-players>.button{width:100%}.party-round-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:12px;color:var(--muted);padding:18px 0;border-block:1px solid var(--line)}.party-listening{text-align:center;min-height:260px;max-width:780px;margin:0 auto;padding:30px 15px 12px}.party-listening h2{font-size:32px;margin-bottom:18px}.guest-speaker{width:95px;height:95px;border:1px solid #dfb47c66;color:var(--gold);border-radius:50%;margin:25px auto;display:flex;align-items:center;justify-content:center}.party-listening p{color:var(--muted);font-size:13px}.party-answer-status{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:25px}.answer-clock{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border:2px solid var(--gold);border-radius:50%;font-family:Barlow Condensed,DM Sans,sans-serif;font-size:38px;color:var(--gold)}.party-reveal>span{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--mint);margin:8px 0 18px}.party-reveal h3{font-size:30px;margin-bottom:10px}.players-answering{display:flex;flex-wrap:wrap;gap:13px;margin:20px 0 30px}.players-answering>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.players-answering>span>i{display:flex;align-items:center;justify-content:center;border-radius:50%;width:24px;height:24px;font-style:normal;font-weight:600;color:#25423e}.players-answering .answered{color:var(--mint)}.scoreboard{max-width:700px;margin:24px auto;width:100%;border:1px solid var(--line);border-radius:17px;overflow:hidden}.score-row{display:flex;align-items:center;gap:13px;padding:15px 21px;border-bottom:1px solid var(--line);background:#183238;text-align:left}.score-row:last-child{border:0}.score-row.leading{background:#302c29}.rank{width:25px;color:var(--muted);font-family:Barlow Condensed,DM Sans,sans-serif;font-size:20px}.score-row.leading .rank{color:var(--gold)}.score-row>strong{font-size:14px;font-weight:500;flex:1}.score-row strong small{color:var(--muted);font-size:10px}.score-number{font-family:Barlow Condensed,DM Sans,sans-serif;font-size:24px;color:var(--gold)}.score-number small{font-family:DM Sans,sans-serif;font-size:10px;color:var(--muted)}.score-gain{color:var(--mint);font-size:12px}.party-finale{padding:10px 0 45px;text-align:center}.party-finale>.music-emblem{height:220px;margin:0 auto 20px}.party-finale h2{font-size:35px}.party-finale>p{color:var(--muted);font-size:13px;margin-top:15px}.local-setup{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;margin-bottom:35px}.local-setup>.music-emblem{max-height:400px;margin:auto}.local-setup h2{margin-bottom:22px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.name-fields label>div{display:flex;gap:4px}.name-fields input{min-width:0}.local-setup .field-pair{margin:25px 0}.local-setup>.button{margin-top:15px}.handoff-stage{text-align:center;padding:15px 0 35px}.handoff-stage>.music-emblem{height:220px;margin:auto}.handoff-stage>.party-chip{margin:20px 0}.handoff-stage h1{font-size:43px}.handoff-stage h1 span{color:var(--gold)}.handoff-stage p{font-size:13px;color:var(--muted);margin:20px 0 25px}.local-listening{text-align:center;padding:35px 0 10px}.local-listening h1{font-size:32px;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sound-wave{to{height:8px}}@keyframes sound-glow{50%{box-shadow:0 0 0 14px #dfb47c0d,0 0 0 29px #dfb47c04}}@keyframes world-arrive{0%{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes pin-arrive{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes companion-breathe{50%{translate:0 -3px;rotate:1deg}}@keyframes celebrate-arrive{0%{transform:translateY(20px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes twinkle{to{opacity:.15;scale:.6}}@keyframes feedback-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.view-enter{animation:feedback-in .3s both}@media(max-width:1100px){.app-shell{padding:0 30px}.desktop-nav button{padding:12px 11px;font-size:12px}.desktop-nav button svg{display:none}.practice-layout{gap:30px;grid-template-columns:.85fr 1.15fr}.practice-controls{gap:22px}.practice-start{align-items:flex-start;flex-direction:column;gap:15px}.practice-start .button{width:100%}.party-welcome-copy{padding:30px}.lobby-layout{gap:35px}}@media(max-width:760px){.app-shell{padding:0 20px 84px}.app-header{height:78px;gap:12px}.brand{font-size:30px;gap:9px}.brand-mark{width:33px;height:36px}.brand-mark svg{width:23px}.desktop-nav{display:none}.header-tools{gap:7px}.level-pill{font-size:11px;gap:5px}.icon-button{width:42px;height:42px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#111116f2;backdrop-filter:blur(14px);border-top:1px solid #ede6d826;padding:9px 12px calc(9px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;max-width:120px;background:transparent;color:#b3adb9;padding:7px 10px 4px;font-size:10px}.mobile-nav button.active{color:var(--gold)}.mobile-nav button.active i{position:absolute;top:-10px;left:calc(50% - 12px);width:24px;height:2px;border-radius:3px;background:var(--gold)}.app-footer{font-size:10px;padding:25px 0;justify-content:center}.app-footer>span:last-child{display:none}.party-teaser{margin-top:21px;padding:21px 2px}.party-teaser>span{display:grid;grid-template-columns:22px 1fr;gap:5px 11px}.party-teaser>span>svg{grid-row:1/3}.party-teaser strong{font-size:12px}.party-teaser small{font-size:11px}.page-heading{margin:30px 0 24px;align-items:flex-start}.page-heading h1{font-size:34px}.page-heading p{font-size:13px;max-width:420px}.page-symbol{display:none}.curriculum-tabs{display:flex;overflow-x:auto;margin-inline:-20px;padding:0 20px 5px;gap:8px;scrollbar-width:thin}.curriculum-tabs button{flex:0 0 auto;min-height:47px;padding:12px;font-size:11px;border-radius:10px;gap:7px}.curriculum-tabs button svg{width:18px}.practice-layout{display:flex;flex-direction:column;gap:26px}.practice-scene{min-height:220px;border-radius:18px}.practice-scene-copy{padding:24px;max-width:65%;position:relative;z-index:1}.practice-scene-copy h2{font-size:32px}.practice-scene-copy p{font-size:12px;margin-top:10px}.practice-scene:after{background:linear-gradient(90deg,#13303ddb,transparent),linear-gradient(0deg,#17384488,transparent)}.practice-scene>.music-emblem{height:190px;width:150px;bottom:0;right:4px;left:auto;transform:none}.scene-caption{display:none}.practice-controls{padding:0;gap:25px}.practice-controls>h2{font-size:29px}.practice-start{flex-direction:row;align-items:center;padding-top:23px;margin-top:0}.practice-start>span{display:none}.practice-start .button{width:100%}.field-pair{gap:12px}.field-pair select{font-size:12px}.immersive{padding-bottom:25px}.immersive .app-header{height:72px}.session-top{margin:22px 0 17px}.session-top .icon-button{margin-left:-10px}.session-context{font-size:10px;margin:15px 0;align-items:flex-start;gap:10px}.session-context>span:nth-child(2){max-width:180px;text-align:right;line-height:1.5;justify-content:flex-end}.listening-stage{padding:22px 0 10px;min-height:270px}.listening-copy h1{font-size:31px;max-width:330px;margin:auto}.listening-copy p{font-size:12px;margin:13px 0 20px}.sound-core{width:82px;height:82px}.listening-emblem{width:75px;bottom:10px;right:-5px;opacity:.8}.answer-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.answer-grid.options-3{grid-template-columns:repeat(3,1fr)}.answer-grid.options-5,.answer-grid.options-6{grid-template-columns:repeat(2,1fr)}.answer-button{padding:15px;min-height:61px;border-radius:12px;font-size:15px;gap:6px}.answer-button kbd{display:none}.answer-grid.options-3 .answer-button{padding:13px 10px;font-size:13px}.answer-feedback{padding:19px 18px;margin:21px 0 25px}.feedback-title{gap:8px;flex-wrap:wrap}.feedback-title h2{font-size:22px}.streak-pill{font-size:9px;margin:0}.answer-feedback>p{font-size:12px;line-height:1.65}.feedback-actions{align-items:stretch;flex-direction:column;gap:12px;margin-top:10px}.feedback-actions>div{flex-direction:row;flex-wrap:wrap;gap:5px 15px}.feedback-actions .text-action{font-size:10px}.feedback-actions .button{width:100%}.session-footnote{font-size:10px;max-width:270px;margin:22px auto}.results-page{padding-top:10px}.reward-stage{height:220px}.reward-stage>.music-emblem{height:215px}.reward-seal{width:78px;height:86px;left:calc(50% + 50px);bottom:15px}.reward-seal>span{font-size:26px}.reward-seal>svg{width:17px}.reward-seal small{font-size:8px}.results-copy h1{font-size:33px}.results-copy p{font-size:12px;max-width:290px;margin:auto}.results-numbers{margin:25px -6px}.results-numbers strong{font-size:33px}.results-numbers div>span{font-size:9px}.results-numbers strong small{font-size:14px}.takeaway{padding:18px}.takeaway p{font-size:11px}.results-actions{flex-direction:column-reverse;gap:12px}.results-actions .button{width:100%}.party-welcome{min-height:570px;border-radius:20px;align-items:flex-start}.party-art{height:100%;object-position:58% 50%}.party-welcome:after{background:linear-gradient(90deg,#123039ed,#123039b3 65%,#12303944)}.party-welcome-copy{padding:27px 24px;max-width:100%}.party-welcome h2{font-size:36px;margin-top:22px}.party-welcome p{font-size:13px}.party-entry-actions{margin-top:25px}.party-explainer{grid-template-columns:1fr;gap:20px;padding:25px 3px}.party-explainer p{font-size:11px}.local-party-link{padding:22px 3px}.party-room-header{margin:27px 0;gap:10px;align-items:flex-start}.party-room-header h1{font-size:29px}.party-room-header>.button{font-size:10px;min-height:36px;padding:9px 11px;gap:5px;margin-top:5px}.party-room-header>.button>svg{width:14px}.lobby-layout{grid-template-columns:1fr;gap:27px;padding:0 0 25px}.invite-panel{padding:24px 20px}.invite-panel h2{font-size:27px}.room-code{font-size:34px;padding:17px 0;letter-spacing:7px}.room-qr{width:128px}.lobby-players .section-heading h2{font-size:27px}.party-listening{padding:29px 0 10px;min-height:260px}.party-listening h2{font-size:30px}.party-listening p{font-size:12px}.score-row{padding:14px 15px;gap:10px}.score-row strong{font-size:12px}.score-number{font-size:22px}.score-row .player-avatar{width:31px;height:31px;font-size:18px}.score-gain{font-size:10px}.party-finale>.music-emblem{height:200px}.party-finale h2{font-size:31px}.local-setup{grid-template-columns:1fr;gap:0}.local-setup>.music-emblem{display:none}.local-setup h2{font-size:27px}.name-fields{gap:15px}.local-setup .field-pair{margin:24px 0}.handoff-stage>.music-emblem{height:200px}.handoff-stage h1{font-size:38px}.handoff-stage p,.handoff-stage .button{font-size:12px}.local-listening h1{font-size:30px}.modal-backdrop{padding:15px}.modal{padding:22px 20px;border-radius:18px;max-height:calc(100dvh - 30px)}.modal>header{gap:10px}.modal h2{font-size:27px}.modal-actions{gap:10px}.modal-actions>.button{font-size:12px;flex:1;padding:13px 15px}.error-message,.storage-notice{font-size:12px;padding:14px 16px}.error-message .text-action,.storage-notice .text-action{margin-left:0;display:flex}}@media(max-width:370px){.app-shell{padding-left:16px;padding-right:16px}.brand{font-size:27px}.header-tools{gap:2px}.level-pill{font-size:10px}.practice-scene-copy h2{font-size:28px}.party-welcome-copy{padding:25px 20px}.party-welcome h2{font-size:32px}.field-pair{gap:9px}.field-pair select{padding:12px 9px}.session-context{font-size:9px}.listening-copy h1{font-size:28px}.answer-button{font-size:13px}.results-copy h1{font-size:29px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:root{--lavender:#b4a3ce;--sky:#a9c6ca;--surface:#1a1920;--line:#3c3843;--display:"Barlow Condensed","DM Sans",sans-serif;scrollbar-color:#777080 #111116}body{background:var(--ink)}h1,h2,h3{text-wrap:balance;letter-spacing:0;font-family:var(--display);font-weight:500}button,input,select{caret-color:var(--gold)}.app-shell{max-width:1440px;padding:0 48px}.app-header{height:96px;border-bottom:0;position:relative}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:var(--lavender);border-radius:6px}.brand{font-family:var(--display);font-weight:500;letter-spacing:.03em;font-size:34px}.brand-mark{border:0;border-radius:0;transform:none;width:36px;height:40px;color:var(--gold)}.desktop-nav{gap:5px}.desktop-nav button{font-size:13px;min-height:44px;padding:11px 20px;border-radius:24px 5px 5px 24px}.desktop-nav button.active{background:var(--lavender);color:var(--ink)}.level-pill{color:var(--lavender)}.button{border-radius:24px 6px 6px 24px;min-height:48px;transition:background .16s,color .16s}.button.primary,.button.primary:hover,.button.primary:active{box-shadow:none;transform:none;color:#17151b}.button.primary:hover{background:#f0c998}.button.secondary{border-color:#777080;border-radius:6px 24px 24px 6px}.text-action:hover{color:#f0c998}.studio-status{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;color:var(--muted);font-size:12px}.studio-status>span{display:flex;align-items:center;gap:10px}.studio-status svg{color:var(--gold)}.studio-frame{position:relative;display:grid;grid-template-columns:1fr 1.35fr;grid-template-rows:auto auto;padding:36px 32px 30px 50px;gap:26px 24px;border-bottom:1px solid var(--line)}.studio-band{position:absolute;inset:0 auto 22px 0;width:17px;display:flex;flex-direction:column;gap:6px}.studio-band span:nth-child(1){height:108px;background:var(--gold);border-radius:40px 0 0}.studio-band span:nth-child(2){flex:1;background:var(--lavender)}.studio-band span:nth-child(3){height:48px;background:var(--sky)}.studio-band span:nth-child(4){height:34px;background:#645a76;border-radius:0 0 0 22px}.studio-intro h1{font-size:clamp(64px,6.8vw,96px);line-height:.99;letter-spacing:-.015em;margin:0}.studio-intro h1 em{font-style:normal;color:var(--gold)}.studio-intro p{color:var(--muted);font-size:14px;line-height:1.7;margin-top:21px}.studio-note{display:flex;gap:16px;color:var(--lavender);font-size:11px;margin-top:28px}.studio-diagram{grid-column:2;grid-row:1/3;align-self:center;min-width:0}.study-art{margin:0;width:100%}.study-art>svg{display:block;width:100%;height:auto}.study-art figcaption{font-size:11px;line-height:1.7;color:var(--muted);text-align:center;margin:13px auto 0;max-width:45ch;padding-inline:10px}.study-current{padding-top:24px;border-top:1px solid var(--line);max-width:430px;min-width:0}.study-current-title{display:flex;align-items:center;gap:10px}.study-current-title>svg{color:var(--gold);width:20px}.study-current h2{font-size:27px}.study-complete{display:flex;align-items:center;gap:5px;color:var(--mint);font-size:10px;margin-left:auto}.study-current>p{color:var(--muted);font-size:12px;line-height:1.7;margin:10px 0 20px;max-width:39ch}.study-start{display:flex;gap:19px;align-items:center}.study-start>span{font-size:10px;color:var(--muted);line-height:1.7}.study-start .button{white-space:nowrap;padding-inline:20px}.studio-bottom-band{position:absolute;bottom:0;right:0;display:flex;width:51%;gap:7px;height:6px}.studio-bottom-band span{background:var(--gold);flex:3}.studio-bottom-band span:nth-child(2){background:var(--lavender);flex:1}.studio-bottom-band span:nth-child(3){background:var(--sky);flex:1;border-radius:0 8px 8px 0}.studies-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 16px}.studies-heading h2{font-size:24px}.studies-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.study-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.study-selector button{display:flex;align-items:center;gap:12px;text-align:left;min-height:66px;padding:12px 16px;background:var(--surface);color:var(--muted);border-bottom:3px solid #494550;border-radius:4px;transition:background .16s}.study-selector button:first-child{border-top-left-radius:23px}.study-selector button:last-child{border-bottom-right-radius:23px}.study-selector button.active{background:var(--lavender);color:var(--ink);border-color:var(--lavender)}.study-selector button:hover:not(.active){background:#322d3a}.study-index{font-family:var(--display);font-size:24px}.study-selector strong{font-size:12px;font-weight:550}.study-state{display:flex;margin-left:auto}.study-selector button:nth-child(1):not(.active){border-color:var(--gold)}.study-selector button:nth-child(3):not(.active){border-color:var(--coral)}.study-selector button:nth-child(4):not(.active){border-color:var(--sky)}.study-selector button:nth-child(5):not(.active){border-color:var(--mint)}.studio-links{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}.studio-links>button{display:flex;gap:18px;align-items:center;text-align:left;background:none;padding:22px 0;border-block:1px solid var(--line)}.studio-links h2{font-size:27px}.studio-links p{font-size:12px;color:var(--muted);margin-top:7px;max-width:38ch}.studio-link-icon{display:flex;color:var(--gold)}.studio-links>button:nth-child(2) .studio-link-icon{color:var(--lavender)}.studio-link-action{margin-left:auto;display:flex;color:var(--gold)}.studio-links>button:hover h2,.party-teaser:hover strong{color:var(--gold)}.party-teaser{margin-top:8px;border-top:0}.app-footer{color:var(--muted)}.page-heading h1{font-size:clamp(38px,4vw,58px)}.page-symbol{border-radius:8px;color:var(--lavender)}.curriculum-tabs button{border-radius:4px;min-height:52px}.curriculum-tabs button.active{background:var(--lavender);color:var(--ink);border-color:var(--lavender)}.practice-scene{border-radius:32px 4px 4px;min-height:530px;background:var(--surface);border-top:8px solid var(--lavender);display:flex;flex-direction:column;justify-content:center}.practice-scene:after{display:none}.practice-scene-copy{padding:28px 32px;max-width:none}.practice-scene-copy h2{color:var(--cream);font-size:36px}.practice-scene-copy p{color:var(--muted);max-width:32ch;font-size:13px}.practice-scene .study-art{padding:0 18px 65px}.scene-caption{color:var(--muted)}input,select{border-color:#6b6473;border-radius:5px}.difficulty-picker{border-radius:5px}.difficulty-picker button{border-radius:3px}.difficulty-picker button.selected{background:var(--lavender);color:var(--ink)}.music-emblem{display:block;max-width:100%;filter:none;pointer-events:none;user-select:none}.empty-illustration .music-emblem{width:250px;height:180px;margin:auto}.empty-illustration{height:185px}.listening-emblem{display:none}.listening-stage{padding-inline:0;min-height:270px}.listening-copy h1{font-size:42px}.sound-core{background:var(--surface);border:2px solid var(--gold);border-radius:32px 8px;box-shadow:none}.sound-button:hover:not(:disabled) .sound-core{background:#332a24;box-shadow:none}.playing .sound-core{animation:none}.sound-bars i{border-radius:1px}.answer-button{border-radius:5px;min-height:68px}.answer-button:hover:not(:disabled){transform:none}.answer-button kbd{color:var(--muted)}.answer-feedback{border-radius:5px 24px 5px 5px}.feedback-title h2{font-size:28px}.reward-stage{height:200px;gap:30px}.reward-stage>.music-emblem{height:180px;width:240px;animation:none}.reward-seal{position:static;transform:none;box-shadow:none;border:0;border-radius:4px;background:var(--surface);width:95px;height:95px}.reward-seal>span{font-family:var(--display);font-size:36px}.results-copy h1{font-size:43px}.round-results>span{border-radius:3px}.takeaway{border-radius:5px}.party-welcome{background:var(--surface);border-radius:32px 4px 4px;border-top:8px solid var(--coral);min-height:470px;display:grid;grid-template-columns:1fr 1.2fr}.party-welcome:after{display:none}.party-welcome-copy{grid-column:1;grid-row:1;max-width:none;padding:36px}.party-welcome h2{font-size:47px}.ensemble-art{grid-column:2;grid-row:1;min-width:0;padding:25px}.party-chip{border-radius:4px}.invite-panel{border-radius:6px}.party-finale>.music-emblem{height:180px;width:260px;margin:0 auto 20px}.handoff-stage>.music-emblem{height:180px;width:260px;margin:auto}.local-setup>.music-emblem{width:100%;max-height:300px}.scoreboard{border-radius:6px}.player-avatar{font-family:var(--display);border-radius:8px}.modal{background:#211e27;border-radius:12px;box-shadow:0 24px 80px #0008}.modal-backdrop{backdrop-filter:none}.settings-section h3{font-family:var(--display)}.progress-page{--progress-ink:#111116;--progress-cream:#ede6d8;--progress-gold:#dfb47c;--progress-mint:#a5bca1;--progress-muted:#b3adb9;--progress-rule:#494550}.progress-page h1,.progress-page h2,.progress-focus h2{font-family:var(--display)}@media(min-width:1450px){.studio-frame{min-height:530px}}@media(max-width:1100px){.app-shell{padding-inline:30px}.studio-frame{padding-right:5px;grid-template-columns:1fr 1.1fr;gap:24px 10px}.study-start{gap:12px}.study-start>span{font-size:9px}.study-selector button{padding-inline:10px;gap:8px}.study-state{display:none}.studio-links{gap:24px}.studio-note{gap:12px}.ensemble-art{padding:10px}}@media(max-width:760px){.app-shell{padding:0 20px 88px}.app-header{height:76px}.brand{font-size:30px}.app-header:after{height:4px}.mobile-nav{background:#111116;backdrop-filter:none;border-top:1px solid #494550}.mobile-nav button{font-size:11px;min-height:52px}.mobile-nav button.active{color:var(--lavender)}.mobile-nav button.active i{background:var(--lavender)}.studio-status{padding:23px 0;font-size:11px}.studio-status>span:last-child{display:none}.studio-frame{display:grid;grid-template-columns:1fr;padding:20px 0 24px 24px;gap:20px}.studio-band{width:9px;bottom:24px}.studio-band span:nth-child(1){height:70px}.studio-band span:nth-child(3){height:28px}.studio-band span:nth-child(4){height:20px}.studio-intro h1{font-size:64px;line-height:.98}.studio-intro p{font-size:12px;margin-top:16px}.studio-note{display:none}.studio-diagram{grid-row:auto;grid-column:1;margin-left:-8px;width:calc(100% + 8px)}.study-art figcaption{font-size:10px;margin-top:6px;padding-inline:12px}.study-current{padding-top:20px;max-width:none}.study-current h2{font-size:27px}.study-current-title{gap:8px}.study-complete{font-size:9px}.study-current>p{font-size:12px;margin-bottom:18px}.study-start{gap:15px}.study-start>span{font-size:9px}.study-start .button{font-size:13px;min-height:48px;padding-inline:17px}.studio-bottom-band{width:65%}.studies-heading{margin-top:27px;gap:10px;align-items:flex-start}.studies-heading h2{font-size:23px;max-width:18ch}.studies-heading>span{font-size:10px;margin-top:6px}.study-selector{grid-template-columns:1fr;gap:5px}.study-selector button{min-height:53px;padding:10px 17px;border-bottom:0;border-radius:4px}.study-selector strong{font-size:13px}.study-index{width:25px;font-size:23px}.study-state{display:flex}.study-selector button:first-child{border-top-left-radius:23px}.study-selector button:last-child{border-bottom-right-radius:23px}.studio-links{grid-template-columns:1fr;gap:0;margin-top:23px}.studio-links>button{padding:22px 0;gap:16px}.studio-links>button+button{border-top:0}.studio-links h2{font-size:27px}.studio-links p{font-size:12px}.studio-link-icon svg{width:23px}.party-teaser{margin-top:0}.app-footer{padding-top:22px}.page-heading h1{font-size:39px}.practice-layout{gap:26px}.practice-scene{min-height:0;border-radius:24px 4px 4px}.practice-scene-copy{padding:22px 24px 6px;max-width:none}.practice-scene-copy h2{font-size:29px}.practice-scene-copy p{font-size:12px}.practice-scene .study-art{padding:0 15px 24px}.scene-caption{display:none}.curriculum-tabs button{min-height:48px}.practice-controls>h2{font-size:32px}.immersive{padding-bottom:28px}.listening-copy h1{font-size:34px}.listening-stage{min-height:270px;padding-top:25px}.answer-button{font-size:15px;min-height:62px;border-radius:5px}.answer-feedback{padding:20px 18px}.feedback-title h2{font-size:26px}.reward-stage{height:175px;gap:12px}.reward-stage>.music-emblem{height:150px;width:200px}.reward-seal{width:75px;height:85px}.results-copy h1{font-size:36px}.results-copy p{font-size:12px}.results-numbers div>span{font-size:10px}.party-welcome{display:flex;flex-direction:column;min-height:0;border-radius:24px 4px 4px}.party-welcome-copy{padding:25px 24px 12px;order:0;width:100%}.party-welcome h2{font-size:38px}.ensemble-art{order:1;padding:0 14px 25px;width:100%}.party-entry-actions{margin-top:22px}.party-entry-actions .button{min-height:48px}.party-form{max-width:none}.party-form .text-action{min-height:44px}.local-setup>.music-emblem{display:none}.modal-actions{flex-wrap:wrap}.modal h2{font-size:30px}}@media(max-width:370px){.app-shell{padding-inline:16px}.studio-intro h1{font-size:59px}.study-start{gap:11px}.study-start .button{padding-inline:14px}.study-start>span{font-size:9px}.studio-status{font-size:10px}.study-current-title h2{font-size:25px}}@media(max-width:760px){.curriculum-tabs{margin-inline:0;padding-inline:0;max-width:100%}.studio-current{grid-row:2}.studio-diagram{grid-row:3}.studio-status{padding-block:20px}}.study-drawing{position:relative}.study-drawing>svg{display:block;width:100%;height:auto}.study-art-heading,.study-key-labels,.study-relationship-labels{display:none}@media(max-width:760px){.study-art-heading{display:block;font-size:11px;line-height:1.5;color:var(--lavender);margin:12px 0 4px;padding-left:10%;letter-spacing:.03em}.study-drawing svg text{display:none}.study-key-labels,.study-relationship-labels{position:absolute;display:grid;grid-template-columns:repeat(8,1fr);left:10%;width:75%;text-align:center;font-size:12px;line-height:1;color:#111116;top:76%}.study-relationship-labels{top:48%;color:var(--cream)}.study-art figcaption{font-size:12px;line-height:1.6;margin-top:10px}}html,body{min-height:100%;height:auto;overflow:visible}#root{min-height:100dvh}.app-shell,.app-shell.immersive{min-height:100dvh;height:auto;padding:env(safe-area-inset-top) 32px env(safe-area-inset-bottom);display:flex;flex-direction:column}.app-header,.immersive .app-header{height:68px;flex:0 0 68px}.main-content,.immersive .main-content{flex:1;width:100%;min-height:0;margin:0 auto;padding:0}.app-footer{display:none}.content-scroll{display:flow-root;padding:8px 4px;overflow-wrap:anywhere}.content-scroll :is(svg,img){max-height:min(34dvh,280px)}.content-scroll :is(input,select,textarea,button){max-width:100%}.modal{height:auto;max-height:calc(100dvh - 32px);overflow:hidden;display:flex;flex-direction:column}.modal>header{flex:0 0 auto;margin-bottom:12px}.modal>.content-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-gutter:stable}.session-top{margin:8px 0}.session-context{margin:10px 0}.listening-stage{min-height:0;padding:16px 0 8px}.listening-copy h1{font-size:clamp(26px,3.5vw,40px)}.listening-copy p{margin:8px 0 12px}.sound-button{gap:6px}.sound-core{width:64px;height:64px}.answer-grid{margin:12px 0;gap:8px}.answer-button{min-height:48px;padding:10px 14px}.session-footnote{margin:12px auto}.phase-feedback .answer-grid{display:none}.phase-feedback .listening-stage{padding:10px 0 0}.phase-feedback .sound-button{display:none}.answer-feedback{margin:12px 0 0;padding:16px}.feedback-actions{margin-top:12px}.studio-status{padding:10px 0}.studio-frame{padding:18px 24px 18px 36px;gap:14px 20px}.studio-intro h1{font-size:clamp(36px,5vw,64px)}.studio-intro p,.studio-note{display:none}.study-current{padding-top:12px}.study-current>p{margin:8px 0 12px}.studies-heading{margin:16px 0 8px}.study-selector button{min-height:48px;padding:8px 12px}.studio-links{margin-top:12px;gap:24px}.studio-links>button{padding:12px 0}.studio-links h2{font-size:23px}.party-teaser{padding:12px 0;margin-top:0;min-height:48px}.page-heading{margin:12px 0 16px}.page-heading h1,.progress-page-heading h1{font-size:clamp(30px,4vw,44px)}.page-heading p{margin-top:6px}.curriculum-tabs{margin-bottom:16px}.practice-layout{gap:24px}.practice-scene{min-height:0}.practice-controls{gap:16px}.practice-controls>h2{margin:0}.practice-start{padding-top:12px}.reward-stage{height:130px}.reward-stage>.music-emblem{height:130px}.results-page{padding:8px 0}.results-copy h1{font-size:clamp(28px,4vw,40px)}.results-numbers{margin:16px 0}.results-actions{margin-top:16px}.empty-illustration{height:120px}.empty-state{padding:18px 12px}.party-welcome{min-height:0}.party-welcome-copy{padding:24px}.party-welcome h2{margin-top:12px}.party-entry-actions{margin-top:16px}.party-explainer{padding:16px 0}.party-listening{min-height:0;padding:16px 0}.progress-analysis,.progress-splits{display:block}.progress-analysis>*,.progress-splits>*{margin-bottom:24px}.progress-skill-list,.progress-achievements,.progress-confusions{display:block}.progress-achievements>li{margin-bottom:8px}.progress-table-scroll{overflow:visible}.progress-table{min-width:0;table-layout:fixed}.progress-table th,.progress-table td{overflow-wrap:anywhere}@media(max-width:760px){.app-shell,.app-shell.immersive{padding-inline:16px}.app-header,.immersive .app-header{height:60px;flex-basis:60px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;padding:6px 16px max(6px,env(safe-area-inset-bottom));margin:0;min-height:60px;z-index:40}.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-shell.immersive{padding-bottom:max(24px,env(safe-area-inset-bottom))}.mobile-nav button{min-height:48px}.main-content{padding-bottom:0}.studio-status{font-size:10px;gap:8px;padding:8px 0}.studio-status>span:last-child{display:none}.studio-frame{grid-template-columns:1fr;padding:12px 0 12px 22px;gap:10px}.studio-intro{display:none}.studio-diagram{grid-column:1;grid-row:1}.studio-diagram .study-art>svg{height:clamp(70px,14dvh,140px)}.studio-diagram figcaption{display:none}.study-current{grid-row:2;max-width:none;padding-top:8px}.study-current h2{font-size:26px}.study-current>p{margin:6px 0 10px;line-height:1.45}.study-start{justify-content:space-between;gap:8px}.study-start>span{font-size:10px}.studio-band{width:10px}.studies-heading{margin:12px 0 8px}.studies-heading h2{font-size:20px}.studies-heading>span{font-size:10px}.study-selector{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.study-selector button{flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;min-height:56px;text-align:center}.study-index,.study-state{display:none}.study-selector strong{font-size:10px;line-height:1.3}.studio-links{grid-template-columns:1fr;gap:0;margin-top:8px}.studio-links>button{gap:12px;padding:10px 0;min-height:48px}.studio-links h2{font-size:22px}.studio-links p{display:none}.party-teaser{margin-top:0;padding:10px 0}.party-teaser>span{display:flex;gap:12px}.party-teaser small{display:none}.page-heading{margin:8px 0 12px}.page-heading p{display:none}.curriculum-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 12px;padding:0;gap:4px;overflow:visible}.curriculum-tabs button{min-height:52px;padding:6px 2px;flex-direction:column;gap:4px;font-size:10px}.practice-scene{display:none}.practice-layout{display:block}.practice-controls{gap:12px}.practice-controls>h2{font-size:26px}.practice-controls .field-help{margin-top:6px;font-size:11px;line-height:1.4}.practice-controls legend{margin-bottom:6px}.practice-controls label{gap:6px}.practice-start{padding-top:10px}.session-top{margin:4px 0 8px}.session-context{margin:8px 0}.listening-stage{min-height:0;padding:10px 0 6px}.listening-copy h1{font-size:28px}.listening-copy p{margin:6px 0 10px}.sound-core{width:56px;height:56px}.answer-grid{gap:6px;margin:10px 0}.answer-grid.options-5,.answer-grid.options-6{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-button{min-height:44px;padding:9px 10px;font-size:14px}.feedback-actions{gap:8px;margin-top:8px}.feedback-actions .text-action{min-height:44px;font-size:12px}.results-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.results-actions .button{flex:1;width:auto}.reward-stage,.reward-stage>.music-emblem{height:100px}.reward-seal{bottom:0;height:72px}.results-numbers strong{font-size:30px}.takeaway{padding:12px}.takeaway p{font-size:12px}.party-welcome-copy{padding:18px}.party-welcome-copy h2{font-size:30px}.party-welcome-copy>p{margin-top:10px}.lobby-layout{gap:16px}.invite-panel{padding:16px}.room-qr{width:96px}}@media(max-height:500px)and (min-width:600px){.app-header,.immersive .app-header{height:52px;flex-basis:52px}.listening-stage{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0}.listening-copy{text-align:left}.answer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.session-context,.session-footnote{display:none}}@media(max-width:760px){.studio-diagram .study-drawing>svg{height:clamp(64px,12dvh,110px)}.studio-diagram .study-art-heading{margin-top:0}}@media(max-width:760px){.studio-diagram .study-drawing{width:min(100%,30dvh);margin-inline:auto}.studio-diagram .study-drawing>svg{height:auto;max-height:none}.answer-grid.options-12{grid-template-columns:repeat(3,minmax(0,1fr))}}.settings-tabs{display:flex;gap:6px;margin-bottom:20px}.settings-tabs button,.audition-examples button{min-height:44px;flex:1;border:1px solid var(--line);border-radius:5px;padding:8px 10px;color:var(--cream);background:transparent;font-size:14px}.settings-tabs [aria-pressed=true],.audition-examples [aria-pressed=true]{background:var(--lavender);color:var(--ink);border-color:var(--lavender)}.audio-settings h3{font-size:27px}.audio-settings>.settings-help{margin:8px 0 18px}.audio-settings>label{margin-bottom:6px}.tone-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:center}.tone-picker .icon-button{border:1px solid var(--line);border-radius:5px}.audition-examples{margin:20px 0 16px}.audition-examples legend{margin-bottom:8px}.audition-examples>div{display:flex;gap:6px}.audition-actions{display:flex;gap:8px}.audition-actions .button{flex:1;padding-inline:12px}.modal .audition-status{color:var(--lavender);min-height:24px;margin:10px 0 20px;font-size:13px}@media(max-width:370px){.settings-tabs{margin-bottom:12px}.audio-settings>.settings-help{margin-bottom:12px}.audition-examples{margin-top:12px}.modal .audition-status{margin-bottom:12px}.audition-examples button{padding-inline:4px;font-size:12px}}.app-shell:has(.performance-session){isolation:isolate;padding-bottom:max(24px,env(safe-area-inset-bottom))}.app-shell:has(.performance-session) .app-header,.app-shell:has(.performance-session) .mobile-nav{display:none}.app-shell:has(.performance-session) .main-content{max-width:1000px}body:has(.performance-session){background:#000}.performance-backdrop{position:fixed;inset:0;z-index:-1;background:#000;pointer-events:none}.performance-backdrop canvas{display:block;width:100%;height:100%}.performance-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0005,transparent 20%,transparent 55%,#0009)}.performance-session{--stage-accent:#9de9d7;--stage-secondary:#e7bc84;color:#f5f1e9;position:relative;padding:8px 0 0}.performance-session ::selection{background:var(--stage-accent);color:#0b1017}.performance-session :focus-visible,.input-selector-trigger:focus-visible,.input-selector-menu button:focus-visible{outline:2px solid var(--stage-accent,#a9c6ca);outline-offset:5px}.performance-session{display:flex;flex-direction:column;min-height:calc(100svh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.match-hud{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px}.match-hud .icon-button,.performance-menu-trigger{flex-shrink:0;width:48px;height:48px;background:#000d;color:#d5dce1}.match-position{min-width:0;display:flex;align-items:center;gap:16px;padding:8px 12px;background:#000d;border-radius:4px}.match-count{font-size:.8125rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--stage-accent)}.match-count>span{color:#bbc5cc}.performance-progress{min-width:24px;display:flex;gap:5px;width:140px}.performance-progress>span{flex:1;display:grid;place-items:center;height:3px;border-radius:2px;background:#596168;position:relative}.performance-progress .current,.performance-progress .resolved-correct{background:var(--stage-accent)}.performance-progress .resolved-miss{background:#e2ab96}.performance-progress svg{background:#000;color:var(--stage-accent);position:absolute;width:11px;height:11px}.performance-progress .resolved-miss svg{color:#e2ab96}.match-position .timer{font-size:.8125rem;min-width:24px;color:#d5dce1}.match-position .timer.urgent{color:#f4b1a0}.performance-session .listening-stage{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:24px;padding:40px 0 28px}.performance-session .sound-button{padding:8px 24px;gap:10px;color:#f5f1e9;font-size:.75rem}.performance-session .sound-button>span:last-child{background:#000d;border-radius:4px;padding:3px 8px}.performance-session .sound-core{width:60px;height:60px;border-radius:50%;border:1px solid var(--stage-accent);background:#091016ed;box-shadow:none;transition:background .2s}.performance-session .sound-core svg{width:23px;height:23px;color:var(--stage-accent)}.performance-session .sound-button:hover:not(:disabled) .sound-core{background:#25313c;box-shadow:none}.performance-session .sound-orbit{display:none}.performance-session .sound-bars i{background:var(--stage-accent);width:3px}.performance-session .notation-staff{position:relative;background:#080d13ed;border-radius:8px;width:320px;max-width:100%;height:170px;margin:0}.match-dock{width:100%;max-width:680px;margin:0 auto}.answer-console{position:relative;margin:0 auto;max-width:680px}.answer-console-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;margin-bottom:16px}.answer-console-toolbar h1{font-size:1.5rem;line-height:1.25;font-weight:500;max-width:520px;text-align:left;text-wrap:balance;background:#000e;border-radius:4px;padding:4px 0}.answer-console-toolbar>span{color:#c5c7d0;font-size:.75rem}.answer-input-selector{flex-shrink:0;position:relative;z-index:5}.input-selector-trigger{display:flex;align-items:center;justify-content:center;gap:6px;width:50px;height:48px;border:1px solid #a9bdd13d;border-radius:14px 5px;color:var(--stage-accent,var(--cream));background:#121824e8;transition:background .2s,border-color .2s}.input-selector-trigger:hover:not(:disabled),.input-selector-trigger[aria-expanded=true]{background:#27313d;border-color:var(--stage-accent,#a9c6ca)}.input-selector-trigger:disabled{opacity:.45;cursor:default}.input-selector-dot{width:3px;height:3px;border-radius:50%;background:currentColor}.input-selector-menu{position:absolute;bottom:calc(100% + 10px);right:0;width:272px;max-width:calc(100vw - 40px);padding:6px;background:#161d29;border-radius:14px;box-shadow:0 16px 48px #0009;z-index:10}.input-selector-menu button{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 12px;background:transparent;color:#f5f1e9;text-align:left;border-radius:9px}.input-selector-menu button>span{flex:1}.input-selector-menu strong{display:block;font-size:.875rem;font-weight:500}.input-selector-menu small{display:block;color:#b5bdca;font-size:.6875rem;margin-top:2px}.input-selector-menu [aria-checked=true]{background:#2c3b45;color:var(--stage-accent,#b9e7df)}.input-selector-menu button:hover:not(:disabled){background:#293442}.input-selector-menu button:disabled{opacity:.45;cursor:default}.campaign-keyboard{height:176px;max-width:none;width:100%;padding:14px 10px 10px;margin:0 auto;gap:3px;border-radius:14px;background:linear-gradient(180deg,#303540,#0c1018 12%,#10151d);border-top:1px solid #c5d9ec50}.campaign-keyboard button{border:0;border-radius:3px 3px 7px 7px;padding:0 0 16px;overflow:hidden;transition:background .08s,box-shadow .08s;touch-action:none}.campaign-keyboard .white-key{background:linear-gradient(180deg,#b9bbc4,#f3eee5 16%,#ece9e1 90%,#c2c5c9 91%,#d5d6d7 97%);color:#252c39;box-shadow:inset 0 -2px #8c929e}.campaign-keyboard .black-key{top:14px;height:59%;width:8.2%;background:linear-gradient(100deg,#1e2532,#080d15 60%,#28313e);border:1px solid #080b10;border-top:2px solid #414a59;box-shadow:0 6px 5px #0007,inset 0 -5px #323b4a;color:#e6e7ed;padding-bottom:14px}.campaign-keyboard .piano-key-label{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:1rem;line-height:1}.campaign-keyboard .black-key .piano-key-label{font-size:.8125rem}.campaign-keyboard kbd{font:10px DM Sans,sans-serif;opacity:.65;padding-top:6px}.campaign-keyboard .piano-key-light{position:absolute;inset:auto 5px 6px;height:3px;border-radius:2px;background:var(--stage-accent,#a9c6ca);opacity:0;transition:opacity .2s}.campaign-keyboard button:hover:not(:disabled) .piano-key-light,.campaign-keyboard button:focus-visible .piano-key-light{opacity:1}.campaign-keyboard .white-key:hover:not(:disabled){background:linear-gradient(180deg,#c3cbd2,#fffdf5 18%,#e1f4ed 92%,#9eadae 93%)}.campaign-keyboard .black-key:hover:not(:disabled){background:linear-gradient(100deg,#354456,#12232b)}.campaign-keyboard button:active:not(:disabled){box-shadow:inset 0 5px 14px #0005}.campaign-keyboard button:disabled:not(.correct):not(.incorrect) .piano-key-label{opacity:.45}.campaign-keyboard .white-key:disabled:not(.correct):not(.incorrect){background:linear-gradient(180deg,#95969e,#e0ded7 22%,#d5d5d0 92%,#a6a9ae 93%)}.campaign-keyboard .black-key:disabled:not(.correct):not(.incorrect){background:#111620}.campaign-keyboard button.correct{background:linear-gradient(180deg,#69a995,#c5efce);color:#102c24;box-shadow:inset 0 -5px #71b59b}.campaign-keyboard button.incorrect{background:linear-gradient(180deg,#c3897c,#f3d0b4);color:#39241e;box-shadow:inset 0 -5px #bd8775}.campaign-keyboard button.correct .piano-key-light{opacity:1;background:#28634b}.performance-session .answer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:8px;margin:0}.performance-session .answer-button>span{min-width:0;overflow-wrap:anywhere}.performance-session .answer-button{background:#10161ff5;border:1px solid #71839480;border-radius:4px;min-height:52px;font-size:.9375rem;padding:12px 16px;color:#f5f1e9;transition:background .08s,border-color .08s,transform .1s;touch-action:manipulation}.performance-session .answer-button:hover:not(:disabled){background:#283c47;border-color:var(--stage-accent)}.performance-session .answer-button:disabled:not(.correct):not(.incorrect){opacity:.7}.performance-session .answer-button.correct{color:#d3f4dd;background:#203c35;border-color:#a5d6ae}.performance-session .answer-button.incorrect{color:#f8ccba;background:#3e2a28;border-color:#df9d88}.performance-session .answer-button kbd{color:#c2c6d0;border-color:#a1b6cb40}.performance-session.phase-feedback .campaign-keyboard,.performance-session.phase-feedback .octave-picker{display:flex}.performance-session .octave-picker{margin:0 0 12px;gap:6px}.performance-session .octave-picker button{min-height:48px;background:#121824;color:#dae0e7;border:1px solid #a1b6cb4d;border-radius:4px;padding:8px 16px;font-size:.8125rem}.performance-session .octave-picker button[aria-pressed=true]{color:#0c1620;background:var(--stage-accent)}.performance-session .answer-feedback{margin:16px auto 0;padding:0;border:0;border-radius:0;background:#000e}.feedback-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.performance-session .feedback-title{color:#edf6ee;gap:8px}.performance-session .feedback-title h2{font-size:1.375rem;line-height:1.2}.performance-session .streak-pill{color:var(--stage-accent);background:transparent;font-size:.6875rem;padding:0}.feedback-summary .button{flex-shrink:0;min-height:48px;padding:12px 20px;background:var(--stage-accent);color:#0c1920;border-radius:4px 18px 4px 4px;font-size:.875rem}.feedback-detail{font-size:.8125rem;color:#c6cdd6}.feedback-detail summary{cursor:pointer;min-height:48px;padding:14px 0;width:fit-content}.feedback-detail p{max-width:65ch}.performance-session .feedback-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 20px;margin-top:8px}.performance-session .text-action{color:var(--stage-accent);min-height:48px}.performance-session .voice-talk{background:#17262feb;color:var(--stage-accent);border:1px solid var(--stage-accent)}.performance-session .voice-talk.recording{background:#473127;color:#f3c9b8;border-color:#e2a88f}.performance-session .contour-control{background:#10161ff5;border-radius:8px;padding:16px}.performance-session .contour-control input{accent-color:var(--stage-accent)}.match-options-context{color:var(--cream);font-size:.875rem}.match-options-help{margin-top:16px;color:#c6cdd6;font-size:.875rem}.match-options-actions{display:grid;gap:8px;margin:24px 0 16px}.match-options-actions button{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px;border-radius:6px;background:#111820;color:#edf6ee;text-align:left}.match-options-actions button:disabled{opacity:.6}.match-options-scene{font-size:.75rem;color:#c6cdd6}.ensemble-options{position:absolute;right:0;top:8px;z-index:2}.ensemble-hud{padding-right:56px}.ensemble-hud .match-position{flex-wrap:wrap;justify-content:center;margin-inline:auto}.ensemble-player{overflow-wrap:anywhere;font-size:.8125rem}.ensemble-score,.ensemble-status{font-size:.75rem;color:#c7c8d1}.ensemble-listen-status{display:flex;align-items:center;gap:10px;background:#000e;padding:8px;border-radius:4px;font-size:.875rem}.ensemble-answer-status{text-align:center;margin:12px 0 0;color:#c7c8d1;background:#000e;font-size:.75rem}.performance-session .score-row{background:#111824ed}.performance-session .handoff-stage{margin-block:auto}@media(max-width:760px){.performance-session .listening-stage{min-height:210px;padding:32px 0 24px}.match-hud{gap:8px}.match-position{gap:12px;padding-inline:8px}.performance-progress{width:100px;gap:4px}.answer-console-toolbar{gap:16px;margin-bottom:12px}.answer-console-toolbar h1{font-size:1.375rem}.campaign-keyboard{height:160px;padding:10px 6px 8px;gap:2px}.campaign-keyboard .black-key{top:10px;width:8.6%}.campaign-keyboard .piano-key-label{font-size:.9375rem}.campaign-keyboard .black-key .piano-key-label{font-size:.6875rem}.campaign-keyboard kbd{display:none}.performance-session .answer-button{min-height:52px;padding:12px;font-size:.875rem}.performance-session .answer-grid.options-3 .answer-button{padding:12px 8px;font-size:.8125rem}.performance-session .feedback-title h2{font-size:1.25rem}.performance-session .streak-pill{flex-basis:100%;margin:0 0 0 26px}}@media(max-width:370px){.performance-progress{width:72px}.match-position{gap:8px}.match-hud{gap:4px}.answer-console-toolbar h1{font-size:1.25rem}}@media(max-height:550px)and (min-width:600px){.performance-session .listening-stage{min-height:140px;padding:20px 0}.campaign-keyboard{height:140px}}.performance-session .feedback-slot{display:flow-root;min-height:112px}.performance-session button{-webkit-tap-highlight-color:transparent}.performance-session .button,.performance-session .icon-button{transition:background .1s,transform .1s}.performance-session .button:active:not(:disabled),.performance-session .icon-button:active:not(:disabled),.performance-session .answer-button:active:not(:disabled){transform:translateY(2px)}.performance-session .answer-button.struck{animation:answer-strike .24s cubic-bezier(.16,1,.3,1)}.campaign-keyboard button.struck{animation:key-strike .28s cubic-bezier(.16,1,.3,1)}.campaign-keyboard button.struck .piano-key-light{opacity:1}.performance-session .sound-button:active:not(:disabled) .sound-core{background:#314b51;transform:scale(.94)}.performance-session .sound-core{transition:background .08s,transform .1s}.performance-session .answer-feedback{animation:feedback-arrive .18s ease-out}@keyframes key-strike{0%{translate:0 4px}to{translate:0 0}}@keyframes answer-strike{0%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes feedback-arrive{0%{opacity:.55}to{opacity:1}}@media(min-width:1100px)and (min-height:700px){.performance-session .listening-stage{padding-bottom:36px}.match-dock,.answer-console{max-width:760px}.campaign-keyboard{height:188px}}.stage-still *,.reduce-motion .performance-session *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.performance-session *,.campaign-keyboard *,.input-selector-menu *{animation:none!important;transition:none!important}}@font-face{font-family:Archivo;src:url(/fonts/archivo-black.ttf) format("truetype");font-weight:400 900;font-display:swap}:root{--ink:#111610;--cream:#e4ecd9;--gold:#c2e86b;--mint:#c2e86b;--sky:#b9cda5;--lavender:#b9cda5;--coral:#ff956d;--muted:#a7b49c;--surface:#1b231a;--line:#3b4935;--stage-accent:#c2e86b;--stage-secondary:#ff956d;color-scheme:dark;background:var(--ink);color:var(--cream);font-family:DM Sans,sans-serif;font-size:16px;accent-color:var(--gold)}body{background:var(--ink);color:var(--cream);min-width:320px}::selection{background:var(--gold);color:var(--ink)}*{scrollbar-color:#6a7b60 #1b231a}h1,h2,h3,.brand{font-family:Archivo,DM Sans,sans-serif;font-weight:400;letter-spacing:-.025em}h1{font-size:28px;line-height:1.15}h2{font-size:21px;line-height:1.3}h3{font-size:18px}em{font-style:normal}p{line-height:1.55}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.app-shell,.app-shell.immersive{max-width:none;min-height:100svh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.app-header{height:66px;flex-basis:66px;padding:0 20px;gap:12px;background:var(--ink);border-bottom:1px solid var(--line)}.brand{font-size:26px;letter-spacing:-1px;gap:8px}.brand:after{content:".";color:var(--gold)}.brand-mark{width:25px;height:30px;border:0;transform:none;color:var(--cream)}.brand-button{min-height:48px}.header-tools{gap:8px}.level-pill{color:var(--muted);font-size:11px}.icon-button,.input-selector-trigger{width:48px;height:48px;min-height:48px;border-radius:3px;border:1px solid var(--line);color:var(--cream);background:transparent}.icon-button:hover,.input-selector-trigger:hover{background:var(--surface)}.main-content{width:100%;max-width:1100px;padding:0 24px 36px;margin:0 auto}.content-scroll{padding:0;overflow-wrap:anywhere}.content-scroll :is(svg,img){max-height:none}.content-scroll :is(button,input,select){max-width:100%}.desktop-nav{gap:4px}.desktop-nav button{border-radius:3px;font-size:13px;padding:12px;color:var(--muted);min-height:48px}.desktop-nav button.active{background:#222d20;color:var(--gold)}.app-footer,.app-shell.immersive .app-header{display:none}.app-shell.immersive .main-content{max-width:none;padding:0}.mobile-nav{background:var(--ink);border-top:1px solid var(--line);box-shadow:none}.mobile-nav button.active{color:var(--gold);background:#222d20;border-radius:3px}.mobile-nav button i{display:none}.button,.button.small{border-radius:3px;min-height:48px;padding:12px 16px;font-size:14px;font-weight:700;box-shadow:none;transition:background .15s}.button.primary{background:var(--gold);color:var(--ink);box-shadow:none}.button.primary:hover{background:#d1f18c;box-shadow:none;transform:none}.button.primary:active{background:#b1d657;transform:none}.button.secondary{background:transparent;border-color:var(--line);color:var(--cream)}.button.secondary:hover{background:#222d20}.button:disabled{opacity:.4;transform:none}.text-action{color:var(--gold);min-height:48px}.text-action:hover{color:#d1f18c}.field-pair{gap:16px}input,select,textarea{border:1px solid #6a7b60;border-radius:3px;background:var(--surface);color:var(--cream);min-height:48px;padding:11px 12px}input::placeholder{color:var(--muted)}label,legend{font-size:13px;font-weight:600}input[type=range]{padding:12px 0;border:0;background:transparent}.toggle-track{background:#222d20;border-color:#6a7b60}.page-heading,.campaign-heading{margin:28px 0 24px}.page-heading h1,.campaign-heading h1{font-size:28px}.page-heading p,.campaign-heading p{font-size:13px;margin-top:8px}.page-symbol{border:0;padding:0;color:var(--gold)}.signal-home{max-width:640px;margin:22px auto 0}.signal-home-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.signal-home-title h1{font-size:25px}.signal-home-title>span{font-size:11px;color:var(--muted)}.signal-home-art{height:144px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:3px}.signal-mark{width:220px;height:120px;color:var(--gold)}.signal-mission{display:flex;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.signal-mission>svg{color:var(--gold)}.signal-mission>div{flex:1;min-width:0}.signal-mission h2{font-family:DM Sans,sans-serif;font-size:16px;font-weight:700;letter-spacing:0}.signal-mission p{font-size:12px;color:var(--muted);margin-top:5px}.signal-mission .button{min-width:94px}.signal-home-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.signal-home-menu button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;padding:16px 0;border-bottom:1px solid var(--line);min-height:60px}.signal-home-menu button>svg:first-child{color:var(--gold)}.signal-home-menu strong{flex:1;font-size:14px}.signal-home-menu button>svg:last-child{color:var(--muted);width:17px}.signal-home-menu button:hover{color:var(--gold)}.signal-quick-studies{display:flex;justify-content:space-between;gap:10px;margin:20px 0 10px}.signal-quick-studies button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--cream)}.signal-quick-studies button:hover{background:var(--surface);color:var(--gold)}.signal-home-extras{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px}.signal-home-extras>.text-action{font-size:12px}.signal-home-extras>span{font-size:11px;color:var(--muted);width:100%;text-align:center;margin-top:10px}.campaign-page,.practice-page,.progress-page,.party-page,.local-party-page{max-width:940px;margin:auto}.campaign-heading>svg{display:none}.campaign-position{font-size:12px}.campaign-meter{background:#3b4935;height:5px;border-radius:0}.campaign-map{border:1px solid var(--line);border-radius:3px;background:var(--surface);padding:4px;margin:22px 0}.campaign-map svg{max-height:220px}.map-staff{stroke:var(--line)}.map-route{stroke:#6a7b60}.campaign-choice-heading{gap:12px;flex-wrap:wrap}.campaign-choice-heading>span{font-size:12px}.campaign-routes{gap:12px}.campaign-routes button{border:1px solid var(--line);border-radius:3px;background:var(--surface);padding:18px 14px;min-height:96px}.campaign-routes button:hover{background:#222d20;border-color:var(--gold)}.route-number{color:var(--gold);background:transparent;border-color:var(--line);border-radius:3px}.campaign-routes button strong{font-size:16px}.campaign-routes button small{font-size:11px}.campaign-hint{font-size:12px;line-height:1.6}.campaign-repertoire{background:transparent;border-radius:0;border-block:1px solid var(--line);padding:18px 0;margin:22px 0;gap:14px}.campaign-repertoire h2{font-size:17px}.campaign-repertoire p{font-size:13px}.campaign-atlas{border-color:var(--line)}.campaign-atlas summary{min-height:48px}.campaign-atlas li>span{border-radius:3px;color:var(--gold);background:var(--surface)}.campaign-records{background:var(--surface);border:1px solid var(--line);border-radius:3px}.campaign-records strong{font-family:DM Sans,sans-serif}.practice-category,.practice-recipe,.practice-locked,.practice-settings,.practice-card,.progress-card,.progress-focus,.takeaway,.practice-unlocks,.difficulty-picker button,.scenario-card{background:var(--surface);border-color:var(--line);border-radius:3px;box-shadow:none}.practice-scenario-grid button,.practice-scenario,.practice-difficulty button{border-radius:3px;border-color:var(--line)}.practice-scenario-grid button[aria-pressed=true],.practice-difficulty button[aria-pressed=true],.difficulty-picker button[aria-pressed=true]{background:#2b3822;color:var(--gold);border-color:var(--gold)}.practice-recipe h2{font-size:24px}.practice-recipe p,.practice-hint{font-size:13px}.practice-groups h2{font-size:17px}.practice-session,.practice-section{border-color:var(--line)}.stats-grid>div,.summary-stat,.stat-card,.score-row,.score-row.leading,.party-lobby,.party-config,.party-summary,.join-panel,.room-panel,.setup-panel{background:var(--surface);border-color:var(--line);border-radius:3px;box-shadow:none}.stats-grid strong,.summary-stat strong,.score-number,.rank{font-family:DM Sans,sans-serif}.progress-focus h2{font-size:23px}.empty-illustration{height:140px}.music-emblem{filter:none}.scoreboard{border-radius:3px;border-color:var(--line)}.party-mode-tabs button,.party-tabs button,.party-chip{border-radius:3px}.party-chip{background:var(--surface);border-color:var(--line)}.results-page{max-width:720px;margin:28px auto 0;text-align:center}.reward-stage{height:115px;margin-bottom:20px}.reward-stage>.music-emblem{display:none}.reward-seal{position:static;margin:auto;border:1px solid var(--line);background:var(--surface);color:var(--gold);border-radius:3px;width:170px;height:105px;transform:none;box-shadow:none}.reward-seal>span{font-family:Archivo,sans-serif;font-size:34px}.results-copy h1{font-size:30px}.results-copy p{font-size:13px}.results-numbers{margin:24px 0;border-color:var(--line)}.results-numbers strong{font-family:DM Sans,sans-serif;font-size:30px}.results-numbers span{font-size:11px}.round-results span{border-radius:3px}.round-results .hit{color:var(--ink);background:var(--gold)}.round-results .miss{color:var(--coral);background:#38271f}.takeaway{margin:22px 0;text-align:left;padding:18px}.takeaway p{font-size:13px}.results-actions{flex-wrap:wrap}.signal-result-score{font-size:14px;color:var(--gold);margin:20px 0}.signal-result-score strong{font-family:Archivo,sans-serif;font-size:28px}.signal-result-score small{display:block;color:var(--muted);margin-top:5px}.modal-backdrop{background:#080e08d9;backdrop-filter:none;padding:16px}.modal{background:var(--ink);border:1px solid #6a7b60;border-radius:4px;padding:22px;box-shadow:0 18px 48px #0008;max-height:calc(100dvh - 32px)}.modal>header h2{font-size:23px}.modal p{font-size:13px}.modal-actions{flex-wrap:wrap}.settings-tabs button{min-height:48px;border-radius:3px}.settings-tabs button[aria-pressed=true]{background:var(--gold);color:var(--ink)}.settings-section h3,.audio-settings h3{font-size:22px}.settings-help{font-size:12px}.tone-picker .icon-button{flex-shrink:0}.audition-examples button{border-radius:3px;border-color:var(--line);min-height:48px}.audition-examples button[aria-pressed=true]{background:#2b3822;color:var(--gold);border-color:var(--gold)}.error-message,.storage-notice{border-radius:3px;border-color:var(--coral);background:#38271f;color:#ffd2bf}.input-selector-menu{border:1px solid #6a7b60;border-radius:3px;background:var(--surface);color:var(--cream)}.input-selector-menu button[aria-checked=true]{background:#2b3822;color:var(--gold)}.performance-backdrop{display:none}.performance-session,.performance-session.performance-ensemble{--stage-accent:#c2e86b!important;--stage-secondary:#ff956d!important;background:var(--ink);color:var(--cream);position:relative;isolation:isolate}.signal-session{display:grid!important;grid-template-rows:48px minmax(240px,1fr) auto;min-height:100svh!important;padding:8px 20px 16px!important;gap:12px;max-width:1100px;margin:auto}.match-hud{position:relative;z-index:4;height:48px;padding:0!important;background:none!important;border:0!important;gap:12px}.match-position{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 14px}.match-count{color:var(--cream);font-size:13px;white-space:nowrap}.match-count>span{color:var(--muted)}.performance-progress{gap:5px}.performance-progress>span{height:5px!important;width:18px!important;min-width:0;border-radius:2px;background:#3b4935}.performance-progress .current{background:var(--cream)}.performance-progress .resolved-correct{background:var(--gold)}.performance-progress .resolved-miss{background:var(--coral)}.signal-points{display:flex;gap:8px;align-items:center;font-size:12px}.signal-points strong{color:var(--gold);font-variant-numeric:tabular-nums}.signal-points small{color:var(--muted);font-size:10px}.signal-score{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:12px 28px;min-height:240px;text-align:center}.signal-score>h1{font-family:Archivo,sans-serif;font-size:44px;color:var(--cream);line-height:1.1;letter-spacing:-.025em;background:transparent!important;margin:0}.signal-stage-mark{position:relative;display:grid;place-items:center;width:260px;height:90px}.signal-stage-mark .signal-mark{width:100%;height:100%;opacity:.45}.signal-stage-mark>span{position:absolute;inset:0;display:grid;place-items:center}.signal-stage-mark>span>svg{width:40px;height:40px;stroke-width:1.7;color:var(--gold)}.signal-response{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;width:100%;max-width:650px}.signal-response li{height:64px;flex:1 1 45px;max-width:84px;min-width:0;display:grid;place-items:center;border:1px solid #6a7b60;background:var(--surface);color:var(--muted);border-radius:3px;font-size:23px;font-weight:650}.signal-response li.entered{color:var(--cream);background:#2b3822;border-color:var(--gold)}.signal-response li.missed{color:var(--coral);border-color:var(--coral);background:#38271f}.signal-hint{font-size:13px;color:var(--muted);min-height:20px;max-width:60ch}.signal-prompt{font-size:23px;max-width:50ch;color:var(--cream)}.signal-energy{position:absolute;left:0;top:12px;bottom:12px;width:10px;display:flex;flex-direction:column-reverse;gap:3px}.signal-energy i{flex:1;background:#293423;border-radius:1px;transition:background .12s}.signal-energy i.lit{background:var(--gold)}.signal-energy i.lit:nth-child(-n+4){background:#ff956d}.signal-hit{position:absolute;right:0;top:16px;color:var(--gold);font-size:17px;font-weight:700;pointer-events:none;animation:signal-points .65s ease-out both}.signal-hit.miss{color:var(--coral);font-size:11px}.stage-still .signal-hit,.reduce-motion .signal-hit{animation:none}.match-dock{position:relative;z-index:3;width:100%;max-width:760px;margin:0 auto!important;background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}.signal-actions{display:flex;gap:10px;margin:0 0 10px}.signal-actions .button{flex:1;min-height:56px;font-size:16px}.answer-console{background:transparent!important;border:0!important;padding:0!important}.answer-console-toolbar{min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}.signal-task-label{font-size:13px;color:var(--muted)}.signal-inputs{display:flex;gap:6px}.signal-inputs .icon-button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--ink)}.signal-octave{display:block}.signal-octave select{width:105px;background:transparent;border-color:var(--line);font-size:12px}.campaign-keyboard,.echo-keyboard{height:clamp(180px,27svh,270px)!important;min-height:180px;background:#090e08!important;border:0!important;border-radius:4px;padding:6px;gap:4px;overflow:visible;position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;isolation:isolate}.campaign-keyboard .white-key{position:relative;width:auto!important;min-width:0;height:100%;padding:0 0 14px;border:0;border-radius:3px;background:#d6dfc5;color:#172012;box-shadow:0 5px 9px #0004;display:flex;align-items:flex-end;justify-content:center;transform:none;touch-action:none}.campaign-keyboard .black-key{position:absolute;top:6px;width:8.7%!important;height:61%;min-width:0;margin-left:-3.8%;padding:0 0 12px;z-index:2;background:#141c12;border:1px solid #627059;border-radius:0 0 3px 3px;box-shadow:0 4px 7px #0006;color:#e4ecd9;transform:none;display:flex;align-items:flex-end;justify-content:center;touch-action:none}.piano-key-label{position:static!important;display:flex!important;flex-direction:column;align-items:center;gap:7px;opacity:1!important;transform:none!important;color:inherit!important;font-size:17px!important}.piano-key-label kbd{font:11px DM Sans,sans-serif;color:inherit;opacity:.55}.piano-key-light{display:none!important}.echo-console .echo-unavailable .piano-key-label{opacity:.35!important}.campaign-keyboard button:disabled{opacity:1}.campaign-keyboard .struck,.campaign-keyboard .correct,.campaign-keyboard .echo-cue{background:var(--gold)!important;color:var(--ink)!important;box-shadow:inset 0 4px 7px #0003;transform:translateY(2px)}.campaign-keyboard .hit-miss,.campaign-keyboard .incorrect{background:var(--coral)!important;color:var(--ink)!important}.echo-note-buttons{height:clamp(180px,27svh,270px);grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:6px}.echo-note-buttons .answer-button{font-size:19px;background:var(--surface);color:var(--cream);border:1px solid #6a7b60;border-radius:3px;padding:6px}.echo-note-buttons .answer-button:disabled{opacity:.4}.echo-help{font-size:11px;line-height:1.4;margin:8px 0 0;background:none;color:var(--muted)}.answer-grid{gap:8px}.answer-button{background:var(--surface)!important;color:var(--cream)!important;border:1px solid #6a7b60!important;border-radius:3px!important;min-height:58px;padding:12px;font-size:15px;box-shadow:none!important}.answer-button.correct{background:#2b3822!important;border-color:var(--gold)!important;color:var(--gold)!important}.answer-button.incorrect{background:#38271f!important;border-color:var(--coral)!important;color:var(--coral)!important}.answer-button:disabled{opacity:.6}.answer-button.dimmed{opacity:.35}.signal-explanation{font-size:12px;margin-top:10px;color:var(--muted)}.signal-explanation summary{min-height:48px;display:flex;align-items:center;cursor:pointer}.signal-explanation p{padding:8px 0}.voice-answer{margin:0;max-width:none}.voice-talk{border-radius:3px;min-height:160px;background:var(--gold);color:var(--ink);gap:10px}.voice-talk.recording{background:var(--coral)}.voice-talk strong{font-size:21px}.voice-instructions,.voice-privacy,.voice-choices{display:none}.voice-notice,.voice-transcript{font-size:12px;margin:8px 0}.voice-notice{min-height:20px;color:var(--muted)}.phase-feedback .voice-answer{display:block}.signal-score .notation-staff{max-height:130px}.performance-ensemble .listening-stage{min-height:200px}.performance-ensemble .match-dock{padding:12px!important}.performance-ensemble .answer-feedback{background:var(--surface);color:var(--cream);border-radius:3px}.performance-ensemble .sound-button{background:var(--surface);color:var(--gold);border-color:var(--line);box-shadow:none}.performance-ensemble .sound-core{background:none;box-shadow:none}.match-options-actions button{background:var(--surface);border-color:var(--line);color:var(--cream);border-radius:3px;min-height:48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes signal-points{0%{opacity:1;translate:0 8px}to{opacity:0;translate:0 -22px}}@media(min-width:1000px){.app-shell:not(.immersive){padding-left:80px}.app-header{margin-left:-80px;padding-left:20px}.desktop-nav{position:fixed;left:0;top:66px;bottom:0;width:80px;display:flex;flex-direction:column;padding:12px 6px;border-right:1px solid var(--line);background:var(--ink);z-index:20}.desktop-nav button{flex-direction:column;gap:7px;font-size:10px;padding:14px 3px}.main-content{padding:0 36px 40px}.signal-home{margin-top:30px}.signal-home-art{height:180px}.signal-home-art .signal-mark{width:260px;height:145px}.signal-session{max-width:1000px}}@media(max-width:999px){.desktop-nav{display:none}.mobile-nav{display:flex;position:fixed;z-index:30;bottom:0;left:0;right:0;min-height:64px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));gap:3px}.mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;background:transparent;font-size:10px;color:var(--muted)}.app-shell:not(.immersive){padding-bottom:calc(82px + env(safe-area-inset-bottom))}.main-content{padding:0 16px 24px}.app-header{padding:0 16px}.signal-home{margin-top:20px}.signal-session{padding:8px 16px 12px!important;min-height:100svh!important;grid-template-rows:48px minmax(200px,1fr) auto}.signal-score{gap:12px;min-height:200px}.signal-score>h1{font-size:36px}.signal-stage-mark{width:220px;height:75px}.signal-response li{height:58px;font-size:21px}.campaign-routes{grid-template-columns:1fr}.campaign-routes button{min-height:86px}.field-pair{gap:12px}.modal{padding:18px}.settings-label-row{gap:12px}.results-page{margin:22px auto 0}.results-copy h1{font-size:27px}}@media(max-width:380px){.level-pill{display:none}.signal-home-title h1{font-size:23px}.signal-home-title>span{font-size:10px}.signal-mission{gap:10px}.signal-mission h2{font-size:15px}.signal-mission p{font-size:11px}.signal-home-menu{column-gap:16px}.signal-home-menu button{gap:8px}.signal-home-menu strong{font-size:13px}.signal-session{padding-inline:12px!important;gap:8px}.signal-score{padding:6px 20px;gap:8px}.signal-score>h1{font-size:30px}.signal-stage-mark{height:52px;width:180px}.signal-response{gap:5px}.signal-response li{height:48px;font-size:18px}.signal-hint{font-size:12px}.signal-points{gap:5px}.performance-progress>span{width:12px!important}.match-position{gap:6px}.signal-hit{font-size:13px}.signal-inputs{gap:4px}.campaign-keyboard,.echo-keyboard{min-height:166px;height:166px!important}.piano-key-label{font-size:15px!important}.piano-key-label kbd{font-size:10px}.echo-note-buttons{height:166px}.echo-note-buttons .answer-button{font-size:16px}.field-pair{grid-template-columns:1fr}.audition-examples button,.modal-backdrop{padding:10px}}@media(max-height:700px)and (max-width:999px){.signal-session{grid-template-rows:48px minmax(160px,1fr) auto;gap:8px}.signal-score{min-height:160px;gap:8px;padding-block:0}.signal-score>h1{font-size:30px}.signal-stage-mark{height:48px;width:180px}.signal-response li{height:46px;font-size:19px}.campaign-keyboard,.echo-keyboard{height:166px!important;min-height:166px}.signal-actions{margin-bottom:6px}.signal-actions .button{min-height:48px}.answer-console-toolbar{margin-bottom:6px}.echo-help{margin-top:6px}.signal-explanation{margin-top:0}.voice-talk{min-height:140px}}@media(max-height:480px)and (min-width:560px){.signal-session{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);grid-template-rows:48px 1fr;gap:10px 24px;min-height:100svh!important}.match-hud{grid-column:1/-1}.signal-score{grid-column:1;grid-row:2;min-height:200px}.match-dock{grid-column:2;grid-row:2;align-self:end}.signal-stage-mark{height:50px}.signal-score>h1{font-size:28px}.signal-response li{height:44px;font-size:18px}.signal-hint{font-size:11px}.campaign-keyboard,.echo-keyboard{height:150px!important;min-height:150px}.signal-actions .button{min-height:48px}.signal-actions{margin-bottom:6px}.answer-console-toolbar{min-height:48px;margin-bottom:6px}.echo-help{font-size:10px}.voice-talk{min-height:136px}}@media(prefers-reduced-motion:reduce){.signal-hit{animation:none}.signal-energy i{transition:none}.view-enter{animation:none}}.voice-choices{display:block;font-size:12px;margin:0}.voice-choices summary{display:flex;align-items:center;min-height:48px;cursor:pointer;color:var(--muted)}.voice-choices p{font-size:12px;line-height:1.5;margin:8px 0}.voice-privacy{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0}.voice-instructions{display:none}.results-page{margin:0 auto;padding:20px 16px calc(var(--results-actions-height,136px) + 16px);min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.results-page .reward-stage{height:auto;margin:0 0 12px}.results-page .reward-seal{width:fit-content;height:auto;min-height:40px;display:flex;flex-direction:row;gap:8px;padding:8px 12px}.results-page .reward-seal>span{font-size:22px;margin:0}.results-page .reward-seal small{font-size:11px;margin:0}.results-page .reward-seal>svg{width:18px;height:18px}.results-page .results-copy h1{font-size:clamp(24px,4vw,30px);margin:0 auto 8px}.results-page .results-copy p{max-width:60ch;margin:0 auto}.results-page .results-numbers{margin:16px 0 12px}.results-page .results-numbers>div{gap:4px}.results-page .results-numbers strong{font-size:28px}.results-page .signal-result-score{margin:12px 0;font-size:13px}.results-page .signal-result-score strong{font-size:22px}.results-page .signal-result-score small{margin-top:4px}.results-page .round-results{gap:4px}.results-page .takeaway{max-width:none;margin:12px 0;padding:12px 16px}.results-page .takeaway p{margin-top:6px}.results-page .practice-unlocks{margin:12px 0;padding:12px 16px;text-align:left}.results-page .practice-unlocks h2{font-size:18px}.results-page .practice-unlocks ul{margin:8px 0}.results-page .practice-unlocks li{padding:8px 0}.results-page .practice-unlocks p{margin-top:4px}.results-footer{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding:12px 16px calc(8px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--line)}.results-footer .results-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:688px;margin:0}.results-footer .results-actions .button{width:100%;min-width:0;padding:10px 12px}.results-footer>.text-action{margin:0;min-height:48px}@media(min-width:760px){.results-footer{flex-direction:row;justify-content:center;gap:24px}.results-footer .results-actions{width:auto}.results-footer>.text-action{flex-shrink:0}}.signal-quick-studies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.signal-quick-studies button{width:100%;height:auto;min-height:64px;display:flex;justify-content:flex-start;gap:12px;padding:10px 12px;text-align:left}.signal-quick-studies button>svg{flex-shrink:0;color:var(--gold)}.signal-quick-studies button>span{display:grid;gap:4px}.signal-quick-studies strong{font-size:13px}.signal-quick-studies small{font-size:12px;color:var(--muted);line-height:1.4}.practice-mode-guide{display:grid;gap:8px;padding:12px 0 16px;border-bottom:1px solid var(--line);font-size:13px}.practice-mode-guide strong{color:var(--cream);margin-right:6px}.practice-mode-guide p{color:var(--muted)}.scenario-row small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:4px}@media(min-width:600px){.signal-quick-studies{grid-template-columns:repeat(3,minmax(0,1fr))}}.practice-testing-notice{font-size:12px;color:var(--gold);margin-bottom:12px}.practice-lesson{border-bottom:1px solid var(--line);margin:0 0 16px;text-align:left;font-size:13px}.practice-lesson summary{min-height:48px;padding:14px 0;cursor:pointer;color:var(--gold)}.practice-lesson-body{display:grid;gap:12px;padding:0 0 16px}.practice-lesson-body p{color:var(--muted);max-width:65ch}.practice-lesson-body>.button{white-space:normal;text-align:left;justify-content:flex-start}.practice-lesson-body label{display:grid;gap:8px}.lesson-keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:6px}.lesson-keys .button{padding:8px;min-width:0}.lesson-keys .button[aria-pressed=true]{background:var(--gold);color:var(--ink)}.practice-lesson-body>svg{max-width:100%}.performance-progress .resolved-neutral{background:var(--muted)}.answer-repair{border-top:1px solid var(--line);margin-top:12px;font-size:13px}.answer-repair summary{min-height:48px;padding:14px 0;color:var(--gold);cursor:pointer}.repair-options{display:flex;flex-wrap:wrap;gap:8px}.results-performance{margin:12px 0;padding:12px 16px;border-block:1px solid var(--line);text-align:left}.results-performance h2{font-size:18px;margin-bottom:8px}.results-performance p{font-size:13px;margin:4px 0}.results-performance small,.listening-records small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:8px}.listening-records>p{color:var(--muted);font-size:13px;margin:8px 0 16px}.listening-records label{display:grid;gap:8px}.listening-records select{width:100%;min-width:0}.listening-history{padding:0;list-style:none;margin-top:12px}.listening-history li{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.listening-history span{color:var(--muted);line-height:1.5}.listening-check{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:16px}.listening-check h3{font-size:17px}.listening-check .notation-staff{width:100%;max-width:360px}.campaign-learning-arc{border-block:1px solid var(--line);padding:16px 0;margin:16px 0}.campaign-learning-arc h2{font-size:18px}.campaign-learning-arc p{font-size:13px;margin:8px 0;color:var(--muted)}.campaign-learning-arc ol{display:flex;flex-wrap:wrap;list-style:none;gap:8px 16px;padding:0;margin:12px 0;font-size:12px;color:var(--muted)}.campaign-learning-arc [aria-current=step]{color:var(--gold);font-weight:700}.campaign-learning-arc small{font-size:12px;color:var(--muted);line-height:1.5}.lesson-intro{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 4px;text-align:left}.performance-correct .signal-score>h1{color:var(--gold)}.performance-retry .signal-score>h1{color:var(--coral)}.answer-repair>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700}.answer-repair .repair-chevron{transform:rotate(-90deg);flex-shrink:0}.answer-repair[open] .repair-chevron{transform:none}.answer-repair>summary>span{flex:1}.answer-repair>summary>small{color:var(--muted);font-size:11px;font-weight:400}.repair-content{display:grid;gap:12px;padding:4px 0 16px;text-align:left}.repair-answer-line{display:flex;align-items:center;gap:10px;color:var(--gold)}.repair-answer-line>span{display:grid;gap:4px}.repair-answer-line small{color:var(--muted);font-size:12px}.repair-answer-line strong{font-size:17px}.repair-your-choice{display:flex;align-items:center;gap:8px;color:var(--coral);font-size:13px}.repair-instruction,.repair-explanation p{font-size:13px;color:var(--muted);line-height:1.5}.answer-auditions{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px}.answer-audition{width:100%;min-height:56px;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:3px;color:var(--cream)}.answer-audition>span{display:grid;gap:4px;flex:1;min-width:0}.answer-audition strong{font-size:14px;overflow-wrap:anywhere}.answer-audition small{font-size:12px;color:var(--muted)}.answer-audition>svg{flex-shrink:0;color:var(--muted)}.answer-audition.is-correct>span>small{color:var(--gold)}.answer-audition:hover,.answer-audition.selected{background:#2b3822;border-color:var(--gold)}.answer-audition.selected>svg,.answer-audition .audition-playing{color:var(--gold)}.repair-status{font-size:13px;color:var(--muted);min-height:20px}.repair-status.correct{color:var(--gold)}.repair-status.incorrect{color:var(--coral)}.repair-footnote{color:var(--muted);font-size:12px}.repair-explanation>summary{min-height:48px;display:flex;align-items:center;cursor:pointer;color:var(--cream);font-size:13px}.repair-phrase{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.repair-phrase li{padding:8px 10px;border:1px solid var(--line);background:var(--surface);font-size:14px;border-radius:3px}.repair-difference{font-size:13px}.repair-difference>strong{font-weight:600;color:var(--muted)}.repair-difference dl{display:flex;gap:24px;margin:8px 0 0}.repair-difference dt{font-size:12px;color:var(--muted)}.repair-difference dd{margin:4px 0 0;font-size:17px}.answer-feedback-settings{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;display:grid;gap:12px}.answer-feedback-settings h3{font-size:18px}:root{--ink:#eee9dc;--cream:#28343c;--gold:#3e647b;--mint:#46654d;--sky:#4b6e84;--lavender:#735c86;--coral:#a2494b;--muted:#5e685f;--surface:#faf5e9;--line:#c4c6b8;--selected-surface:#d6e2e8;--control-boundary:#859487;--error-text:#813c3e;--paper-blue:#b4cbdd;--paper-green:#bccfb6;--paper-yellow:#ecd49a;--paper-red:#d99a95;--paper-orange:#e6b18b;--paper-purple:#c1afcf;--paper-pink:#d7abc2;--stage-accent:#3e647b;--stage-secondary:#735c86;color-scheme:light;accent-color:var(--gold);background:var(--ink);color:var(--cream)}body{background:var(--ink);color:var(--cream)}*{scrollbar-color:#a2ad9f var(--ink)}::selection{background:var(--paper-pink);color:var(--cream)}input,textarea{caret-color:var(--gold)}h1,h2,h3,.brand{font-family:Barlow Condensed,DM Sans,sans-serif;font-weight:500;letter-spacing:0;line-height:1.12}h1{font-size:clamp(2rem,4vw,2.8rem)}h2{font-size:1.6rem}h3{font-size:1.3rem}button,input,select,textarea{font-family:DM Sans,sans-serif}p{line-height:1.6}button,select,input{max-width:100%}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #925d83;outline-offset:3px}.app-header{position:relative;height:78px;flex-basis:78px;border:0;background:var(--ink);padding-inline:24px}.app-header:after{content:"";position:absolute;bottom:0;left:24px;right:24px;height:10px;background:var(--paper-blue);border-radius:18px 4px 4px}.brand{font-size:30px;letter-spacing:.055em;text-transform:uppercase}.brand:after{display:none}.brand-mark{color:var(--cream)}.header-tools .level-pill{font-size:12px;color:var(--muted)}.icon-button,.input-selector-trigger{border-radius:50%;background:transparent;color:var(--cream);border-color:transparent}.icon-button:hover{background:#28343c0a}.main-content{max-width:1180px;padding-top:0}.app-footer{color:var(--muted);border:0;font-size:12px}.desktop-nav,.mobile-nav{background:var(--ink);border-color:var(--line)}.desktop-nav button,.mobile-nav button{color:var(--muted);border-radius:8px;font-size:11px}.desktop-nav button.active,.mobile-nav button.active{background:var(--paper-blue);color:var(--cream)}.mobile-nav button.active i{background:var(--gold)}.desktop-nav button:nth-child(2).active,.mobile-nav button:nth-child(2).active{background:var(--paper-red)}.desktop-nav button:nth-child(3).active,.mobile-nav button:nth-child(3).active{background:var(--paper-green)}.desktop-nav button:nth-child(4).active,.mobile-nav button:nth-child(4).active{background:var(--paper-yellow)}.desktop-nav button:nth-child(5).active,.mobile-nav button:nth-child(5).active{background:var(--paper-purple)}.button,.button.primary{background:var(--paper-blue);color:var(--cream);border:0;border-radius:7px 26px 26px 7px;min-height:52px;box-shadow:none;font-size:14px;font-weight:650;transform:none}.button:hover,.button.primary:hover{background:#a4bfd3;color:var(--cream);transform:none;box-shadow:none}.button.secondary{background:transparent;color:var(--gold);border:1px solid #91a4ad;border-radius:7px}.button.secondary:hover{background:#dce5e6}.text-action{color:var(--gold);font-size:13px}.button:disabled{opacity:.45}.button svg{flex-shrink:0}.page-heading{margin-bottom:24px}.page-heading h1{font-size:36px}.page-heading p{font-size:14px;color:var(--muted)}input:not([type=range]):not([type=checkbox]),select,textarea{background:var(--surface);color:var(--cream);border:1px solid #8e9b8d;border-radius:6px;min-height:48px;font-size:14px}.field-help{color:var(--muted);line-height:1.6}.toggle-track{background:#b8c0b0}.toggle-row input:checked+.toggle-track{background:var(--gold)}.folio-home{max-width:780px;margin:28px auto 0}.folio-welcome{margin-bottom:26px}.folio-welcome h1{font-size:clamp(29px,4vw,38px)}.folio-welcome p{font-size:14px;color:var(--muted);margin-top:8px}.folio-mission{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);background:var(--surface);border-radius:52px 8px 8px;overflow:hidden;padding-top:14px}.folio-mission:before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:var(--paper-blue)}.folio-sector-track{padding:22px 0;margin:0;list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:9px;background:var(--paper-blue);position:relative}.folio-sector-track:before{content:"";position:absolute;top:32px;bottom:32px;width:2px;background:#628297}.folio-sector-track li{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--paper-blue);border:1px solid #6c899d;font-size:11px;font-variant-numeric:tabular-nums}.folio-sector-track li.current{background:var(--paper-yellow);border:2px solid var(--cream);width:34px;height:34px;font-weight:700}.folio-sector-track li.complete{background:var(--cream);color:var(--paper-blue);border-color:var(--cream)}.folio-sector-track li>.sr-only{position:absolute!important}.folio-mission-content{padding:26px 28px 20px;min-width:0}.folio-mission-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.folio-mission-title h2{font-size:clamp(40px,6vw,62px);max-width:13ch;line-height:.98}.folio-mission-title>svg{color:var(--gold);flex:none}.folio-match-label{font-size:16px;margin-top:15px}.folio-sector-progress{margin:28px 0 24px}.folio-sector-progress>span{font-size:12px;color:var(--muted)}.folio-sector-progress>div{height:8px;background:#dedfd1;border-radius:6px;overflow:hidden;margin:8px 0}.folio-sector-progress>div>span{display:block;height:100%;min-width:3px;background:var(--gold);border-radius:6px}.folio-sector-progress>small{font-size:11px;color:var(--muted)}.folio-mission-content>.button{width:100%;justify-content:space-between;background:var(--paper-red);border-radius:26px 7px 7px 26px}.folio-session-note{font-size:12px;color:var(--muted);margin:10px 0 0}.folio-route-link{padding:10px 0 0;min-height:36px;font-size:12px}.folio-home-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.folio-home-choices>button{display:grid;grid-template-columns:1fr auto;gap:15px;text-align:left;min-height:132px;padding:20px;background:var(--paper-green);color:var(--cream);border-radius:24px 6px 6px}.folio-home-choices>button:nth-child(2){background:var(--paper-yellow)}.folio-home-choices>button>span{grid-column:1;grid-row:2}.folio-home-choices>button>svg:last-child{grid-column:2;grid-row:1}.folio-home-choices strong{font-size:16px;font-weight:650;display:block}.folio-home-choices small{font-size:12px;display:block;margin-top:5px;line-height:1.5}.folio-home details{border-top:1px solid var(--line)}.folio-home summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;font-size:14px;font-weight:600;cursor:pointer;list-style:none}.folio-home summary:after{content:"+";font:24px Barlow Condensed,sans-serif}.folio-home details[open]>summary:after{content:"−"}.folio-home summary>span{font-size:11px;color:var(--muted);font-weight:400;margin-left:auto}.folio-home .signal-quick-studies{padding:8px 0 18px}.signal-quick-studies button{background:var(--surface);color:var(--cream);border-color:var(--line);border-radius:6px}.signal-quick-studies button>svg{color:var(--gold)}.folio-device-note{margin:15px 0;font-size:11px;color:var(--muted)}.gameplay-session.signal-session{max-width:1000px;min-height:100svh!important;background:var(--ink);padding:12px 22px 24px!important;gap:14px;grid-template-rows:auto auto auto!important}.gameplay-session.signal-session .match-hud{border:0;border-bottom:10px solid var(--paper-blue);border-radius:0 0 0 26px;padding:0 0 10px}.gameplay-session.signal-session .match-count{font-family:Barlow Condensed,sans-serif;font-size:22px}.gameplay-session.signal-session .performance-progress>span{background:#c8cdbf}.gameplay-session.signal-session .performance-progress>.current{background:var(--gold)}.gameplay-session.signal-session .performance-progress>.resolved-neutral{background:#71816e}.gameplay-session.signal-session .question-stage{position:relative;min-height:0;padding:18px 22px 20px 30px;gap:12px;text-align:left;align-items:stretch;background:var(--surface);border-radius:30px 5px 5px;overflow:hidden}.gameplay-session.signal-session .question-stage:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:var(--paper-purple)}.gameplay-session.signal-session .question-stage>h1{font-family:Barlow Condensed,sans-serif;font-size:clamp(27px,4vw,34px);line-height:1.1;letter-spacing:0;max-width:30ch}.gameplay-session.signal-session .question-phase{justify-content:flex-start;font-size:12px;min-height:20px;order:2}.gameplay-session.signal-session .question-object{min-height:72px;order:3}.gameplay-session.signal-session .question-instruction{min-height:0;text-align:left;font-size:13px;order:4}.gameplay-session.signal-session .task-context{order:2}.gameplay-session.signal-session .phrase-response li{background:var(--surface);border-color:#94a195;border-radius:6px;min-height:56px}.gameplay-session.signal-session .phrase-response li>span,.gameplay-session.signal-session .phrase-response li>button{min-height:56px}.gameplay-session.signal-session .phrase-response li.entered{background:var(--paper-blue);border-color:#7994a3;color:var(--cream)}.gameplay-session.signal-session .phrase-response li.matched{background:#dce8d3;border-color:var(--mint);color:#36533b}.gameplay-session.signal-session .phrase-response li.missed{background:#efdad3;border-color:var(--coral);color:#813c3e}.gameplay-session.signal-session .question-stage.is-correct:before{background:var(--paper-green)}.gameplay-session.signal-session .question-stage.is-incorrect:before{background:var(--paper-red)}.gameplay-session.signal-session .match-dock{background:transparent!important;padding:0!important;border:0;max-width:760px;width:100%;margin:0 auto}.task-playback-actions .button,.task-playback-actions .button.secondary{background:var(--paper-yellow);color:var(--cream);border:0;border-radius:7px 26px 26px 7px}.task-playback-actions .button:last-child:not(:first-child){background:var(--paper-green)}.task-playback-actions{gap:10px}.gameplay-session .answer-console-toolbar{border:0}.input-selector-trigger{min-height:48px}.signal-task-label{display:none}.echo-help{color:var(--muted);font-size:12px}.echo-submit,.echo-edit-actions .button{color:var(--cream)}.echo-submit{background:var(--paper-blue)!important}.gameplay-session .task-lesson{margin-top:12px}.campaign-keyboard,.echo-keyboard{background:#28343c!important;border-radius:9px;box-shadow:none!important;padding:7px!important;height:clamp(180px,26svh,230px)!important;min-height:180px}.campaign-keyboard .white-key,.campaign-keyboard .piano-key.white{background:#f9f2df!important;color:#28343c!important;border-color:#c7c2b2!important;box-shadow:inset 0 -4px #d3cdbb!important;border-radius:3px 3px 5px 5px}.campaign-keyboard .black-key,.campaign-keyboard .piano-key.black{background:#3d4a53!important;color:#f5efdf!important;box-shadow:inset 0 -4px #1f2d36!important;border-color:#28343c!important}.campaign-keyboard .struck,.campaign-keyboard .correct,.campaign-keyboard .echo-cue{background:var(--paper-blue)!important;color:#28343c!important;box-shadow:inset 0 -4px #7f9daf!important}.campaign-keyboard .hit-miss,.campaign-keyboard .incorrect{background:var(--paper-red)!important;color:#28343c!important}.piano-key-label kbd{opacity:.7!important}.answer-button,.echo-note-buttons .answer-button{background:var(--surface)!important;color:var(--cream)!important;border-color:#91a08f!important;border-radius:6px!important;box-shadow:none!important}.answer-button.correct{background:#dce8d3!important;color:#36533b!important;border-color:var(--mint)!important}.answer-button.incorrect{background:#efdad3!important;color:#813c3e!important;border-color:var(--coral)!important}.voice-talk{background:var(--paper-pink);color:var(--cream);border-radius:30px 7px 7px}.voice-talk.recording{background:var(--paper-red)}.practice-page,.campaign-page,.progress-page,.party-page{margin-top:28px}.practice-recipe{background:var(--surface);padding:24px;border-radius:30px 6px 6px;border:0;border-top:12px solid var(--paper-green)}.practice-task{gap:14px}.practice-task h2{font-size:28px}.practice-task p{font-size:13px;line-height:1.6}.practice-task>svg{color:var(--mint);width:26px}.practice-library .practice-level{border:0;margin:16px 0 0;padding:0}.practice-library .practice-level-copy{margin:10px 0;font-size:13px}.practice-library .practice-level-copy p{font-size:12px}.practice-library .practice-level-heading output{background:var(--paper-purple);color:var(--cream);padding:3px 12px;border-radius:14px 4px 4px 14px;font:26px Barlow Condensed,sans-serif}.practice-level-heading output small{font-size:16px;color:var(--cream)}.practice-level-ends{font-size:11px}.practice-library .practice-launch{margin:14px 0 22px;padding:0;border:0;display:flex;flex-direction:column;gap:8px}.practice-launch>.button{width:100%;background:var(--paper-green);justify-content:space-between;order:-1}.practice-launch>p{font-size:12px;color:var(--muted)}.practice-recipe>details,.practice-level-details{border-top:1px solid var(--line);margin:0}.practice-recipe>details>summary,.practice-level-details>summary{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--cream);font-weight:500;cursor:pointer;list-style:none}.practice-level-details>summary:after{content:"+";font-size:20px}.practice-understand{margin-top:14px!important}.practice-mode-guide{padding:0 0 14px;border:0}.practice-preset-disclosure .practice-presets{border:0;margin:0 0 16px}.practice-presets legend{display:none}.practice-pitches .practice-pitch-selection{padding-top:8px}.practice-recipe .practice-history-disclosure{margin-top:0}.practice-library .scenario-row{background:transparent;border:0;border-radius:8px;color:var(--cream);min-height:68px}.practice-library .scenario-row[aria-pressed=true]{background:var(--paper-green);color:var(--cream)}.scenario-row[aria-pressed=true] small{color:#465440}.practice-picker{background:transparent;border:0}.practice-picker>summary{background:var(--paper-green);padding:13px 16px;border-radius:24px 6px 6px}.scenario-list h2{font:500 20px Barlow Condensed,sans-serif}.practice-library .practice-level-suggestion{margin:0 0 14px;border-top:0}.practice-level-facts{gap:12px 20px}.practice-level-facts dd{font-size:13px}.practice-library .practice-pitch-grid button[aria-pressed=true],.practice-targets button[aria-pressed=true]{background:var(--paper-blue);color:var(--cream);border-color:#8097a2}.practice-level-compare button[aria-pressed=true]{background:var(--paper-purple);color:var(--cream)}.campaign-map{background:var(--surface);border:0;border-radius:32px 6px 6px;border-top:12px solid var(--paper-blue)}.map-staff{stroke:#c7c9bd}.map-route{stroke:#98b0bf}.map-note{fill:var(--muted);stroke:var(--muted)}.map-note.current{fill:var(--gold);stroke:var(--gold)}.campaign-routes button{background:var(--surface);color:var(--cream);border:1px solid var(--line);border-radius:8px;padding:18px}.campaign-routes .route-number{background:var(--paper-blue);color:var(--cream)}.campaign-meter{background:#d6dacd}.campaign-meter>span{background:var(--gold)}.campaign-learning-arc{border:0;border-bottom:1px solid var(--line);padding-top:0}.campaign-learning-arc>h2{font-size:24px}.campaign-learning-arc>ol{gap:8px 14px}.campaign-repertoire{background:var(--paper-yellow);border:0;border-radius:24px 6px 6px;padding:20px}.campaign-records{background:transparent}.campaign-heading>svg{color:var(--gold)}.modal{background:var(--surface);color:var(--cream);border:0;border-top:12px solid var(--paper-blue);border-radius:30px 8px 8px;box-shadow:0 20px 65px #26333b33}.modal-backdrop{background:#28343c77;backdrop-filter:none}.modal h2{font-size:30px}.settings-tabs button.active{background:var(--paper-blue);color:var(--cream)}.results-page{background:var(--ink)}.results-footer{background:var(--ink);border-color:var(--line)}.reward-seal{background:var(--paper-yellow)!important;color:var(--cream)!important;box-shadow:none!important;border-radius:20px 5px 5px!important}.takeaway,.practice-unlocks,.progress-summary,.party-welcome,.room-panel,.local-setup,.empty-state{background:var(--surface);color:var(--cream);border-color:var(--line);box-shadow:none;border-radius:16px}.party-welcome{border-top:12px solid var(--paper-yellow)}.room-code{color:var(--gold)}.error-message,.storage-notice{background:#efdad3;color:#813c3e;border-color:#c08b83}.answer-feedback{background:var(--surface);color:var(--cream)}.study-art-heading{color:var(--muted)}.study-art{background:transparent}.study-art svg{width:100%;height:auto}.study-art figcaption{color:var(--muted);font-size:13px}.harmonic-art{max-height:160px}.music-emblem{color:var(--gold)}@media(min-width:1000px){.app-shell:not(.immersive){padding-left:112px}.app-header{margin-left:-112px;padding-left:26px}.desktop-nav{width:112px;top:90px;padding:16px 10px;border:0;border-top:14px solid var(--paper-blue);border-top-left-radius:40px}.desktop-nav button{padding:16px 6px;margin-bottom:6px}.main-content{padding:0 40px 40px}.folio-home{margin-top:38px}.folio-mission{grid-template-columns:82px minmax(0,1fr)}.folio-mission-content{padding:32px 38px 24px}.folio-home-choices>button{min-height:122px}.practice-workspace{grid-template-columns:260px minmax(0,1fr);gap:30px}.gameplay-session.signal-session{padding:22px 30px!important;max-width:1000px}.gameplay-session.signal-session .question-stage{padding:24px 32px 24px 42px}.gameplay-session.signal-session .match-dock{max-width:760px}}@media(max-width:999px){.app-header{padding-inline:18px}.app-header:after{left:18px;right:18px}.main-content{padding:0 18px 24px}.folio-home{margin-top:26px}.mobile-nav{padding-top:8px;border-top:1px solid var(--line)}.practice-recipe{padding:20px 18px}.practice-workspace{gap:20px}.practice-campaign-link{font-size:12px}.gameplay-session.signal-session{padding:10px 18px 20px!important}.gameplay-session.signal-session .question-stage{padding:16px 16px 18px 26px}}@media(max-width:380px){.brand{font-size:27px}.folio-welcome h1{font-size:28px}.folio-welcome p{font-size:13px}.folio-mission{grid-template-columns:48px minmax(0,1fr);border-top-left-radius:38px}.folio-mission-content{padding:24px 18px 18px}.folio-mission-title h2{font-size:41px}.folio-mission-title>svg{display:none}.folio-match-label{font-size:14px}.folio-home-choices{gap:9px}.folio-home-choices>button{padding:16px 13px}.folio-home-choices small{font-size:11px}.folio-home summary>span{display:none}.gameplay-session.signal-session{padding-inline:12px!important}.gameplay-session.signal-session .question-stage>h1{font-size:27px}.mobile-nav button{font-size:10px}.practice-recipe{padding-inline:14px}}@media(max-height:480px)and (min-width:560px){.gameplay-session.signal-session{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr)!important;grid-template-rows:auto 1fr!important;gap:12px 20px}.gameplay-session.signal-session .match-hud{grid-column:1/-1}.gameplay-session.signal-session .question-stage{grid-column:1;grid-row:2;align-self:start}.gameplay-session.signal-session .match-dock{grid-column:2;grid-row:2}.campaign-keyboard,.echo-keyboard{height:150px!important;min-height:150px}}.performance-session,.performance-session.performance-ensemble{--stage-accent:#3e647b!important;--stage-secondary:#735c86!important}.gameplay-session.signal-session .match-hud{height:auto!important;min-height:64px;border-bottom:10px solid var(--paper-blue)!important;padding-bottom:10px!important}.match-hud .icon-button,.performance-menu-trigger{background:transparent;color:var(--cream)}.match-position{background:transparent;color:var(--cream);padding:5px 0}.gameplay-session.signal-session .campaign-keyboard .white-key,.performance-session .campaign-keyboard button.white-key{background:#f9f2df!important;color:#28343c!important;border-color:#c7c2b2!important;box-shadow:inset 0 -4px #d3cdbb!important}.gameplay-session.signal-session .campaign-keyboard .black-key,.performance-session .campaign-keyboard button.black-key{background:#3d4a53!important;color:#f5efdf!important;box-shadow:inset 0 -4px #1f2d36!important}.gameplay-session.signal-session .campaign-keyboard button.echo-cue,.gameplay-session.signal-session .campaign-keyboard button.struck,.gameplay-session.signal-session .campaign-keyboard button.correct{background:var(--paper-blue)!important;color:#28343c!important}.gameplay-session.signal-session .campaign-keyboard button.incorrect{background:var(--paper-red)!important;color:#28343c!important}.settings-panel,.settings-panel h3,.settings-section h3,.audio-settings>label,.audition-examples legend,.answer-feedback-settings h3,.toggle-row strong{color:var(--cream)}.settings-section{border-color:var(--line)}.settings-panel .settings-help,.settings-panel .settings-source,.settings-panel .settings-preview dt,.settings-panel .toggle-row small{color:var(--muted)}.settings-tabs button[aria-pressed=true],.audition-examples button[aria-pressed=true]{background:var(--paper-blue);border-color:#8197a4;color:var(--cream)}.settings-label-row output{color:var(--gold)}.settings-range{accent-color:var(--gold)}.settings-file{color:var(--cream)}.settings-file::file-selector-button{background:var(--paper-blue);color:var(--cream);border-color:#8397a2}.settings-json{background:var(--surface);color:var(--cream);border-color:#8e9b8d;caret-color:var(--gold);scrollbar-color:#a2ad9f var(--surface)}.settings-preview>div{border-color:var(--line)}.settings-error,.settings-storage-error{background:#efdad3;color:#813c3e;border-color:#c08b83}.settings-notice{background:#dce8d3;color:#36533b;border-color:#8fa184}.settings-recovery{background:#f2e5bd;color:#5e5030;border-color:#b6a16a}.settings-danger-zone h3{color:#813c3e}.settings-panel .button.settings-danger-button{background:#efdad3;color:#813c3e;border-color:#c08b83}.settings-panel .button.settings-danger-button:hover{background:#e5c7be}.settings-panel ::selection{background:var(--paper-pink);color:var(--cream)}.progress-page{--progress-ink:var(--ink);--progress-cream:var(--cream);--progress-gold:var(--gold);--progress-mint:var(--mint);--progress-muted:var(--muted);--progress-rule:var(--line)}.progress-mode-filter button:hover,.progress-order button:hover{background:#dce5e6}.progress-mode-filter button[aria-pressed=true],.progress-order button[aria-pressed=true]{background:var(--paper-blue);color:var(--cream);border-color:#8397a2}.progress-chart-grid{stroke:var(--line)}.progress-day-0,.progress-skill-bar{background:#d6dacd}.progress-day-1{background:#a8bfa1}.progress-day-2{background:#6f9066}.progress-day-3{background:#3e647b}.progress-focus{background:var(--paper-green);color:var(--cream);border:0;border-radius:24px 6px 6px}.progress-focus-targets strong{color:var(--cream)}.progress-focus .button{background:var(--paper-blue);color:var(--cream);border-color:transparent}.progress-page ::selection{background:var(--paper-pink);color:var(--cream)}.score-row,.score-row.leading{background:var(--surface)}.score-row.leading{background:#dce8d3}.answer-audition:hover,.answer-audition.selected,.musical-response button:enabled:hover{background:#dce5e6}.musical-edit-actions .musical-submit{background:var(--paper-blue);color:var(--cream);border-color:#8397a2}.musical-edit-actions .musical-submit:enabled:hover{background:#a4bfd3;color:var(--cream)}.practice-library .practice-recipe{background:var(--surface);padding:22px 20px;border-radius:30px 6px 6px}.practice-library>.page-heading p{display:block;font-size:11px;margin-top:7px;line-height:1.5}.practice-library .practice-task{margin-bottom:14px}.practice-library .practice-task p{line-height:1.6;margin-top:6px}.practice-library .practice-level-copy>strong{font-weight:550}.practice-library .practice-understand{margin-top:0!important}.practice-library .practice-launch{margin-bottom:18px}@media(max-width:600px){.practice-page{margin-top:24px}.practice-library>.page-heading{margin-bottom:18px}.practice-library .practice-workspace{gap:14px}.practice-library .practice-recipe{padding:18px 16px}.practice-library .practice-task h2{font-size:26px}.practice-library .practice-level-copy{margin-block:8px}.practice-library .practice-level-copy p{font-size:12px}.folio-welcome{margin-bottom:22px}.folio-sector-progress{margin-block:22px}.folio-home-choices>button{min-height:124px}}:root{--ink: #07090c;--cream: #e7eef2;--gold: #e6b15a;--mint: #8fd4ae;--sky: #7ec8e3;--lavender: #c3b4de;--coral: #e07a6a;--muted: #9bb4c0;--surface: #121a22;--line: #2a3c48;--selected-surface: #1a3140;--control-boundary: #3a5160;--error-text: #ffd0c8;--paper-blue: #163044;--paper-green: #143028;--paper-yellow: #2a2112;--paper-red: #2a1614;--paper-orange: #2a1c14;--paper-purple: #241c30;--paper-pink: #2a1822;--stage-accent: #e6b15a;--stage-secondary: #7ec8e3;color-scheme:dark;accent-color:#e6b15a;background:#07090c;color:#e7eef2}body{background:#07090c;color:#e7eef2}*{scrollbar-color:#e6b15a #07090c}::selection{background:#e6b15a;color:#1a1206}input,textarea{caret-color:#e6b15a}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #7ec8e3;outline-offset:2px}.app-header:after{height:4px;background:#e6b15a;border-radius:0 0 0 14px}.icon-button:hover,.input-selector-trigger:hover{background:#162028}.desktop-nav,.mobile-nav{background:#07090c;border-color:#2a3c48}.desktop-nav button,.mobile-nav button{color:#9bb4c0}.desktop-nav button.active,.mobile-nav button.active,.desktop-nav button:nth-child(n).active,.mobile-nav button:nth-child(n).active{background:#e6b15a!important;color:#1a1206!important}.mobile-nav button.active i{background:#1a1206}.button,.button.primary{background:#e6b15a;color:#1a1206;box-shadow:none}.button:hover,.button.primary:hover{background:#f0c47a;color:#1a1206;box-shadow:none;transform:none}.button.secondary{background:transparent;color:#e7eef2;border:1px solid #3a5160}.button.secondary:hover{background:#162028;color:#e7eef2}.text-action,.text-action:hover{color:#e6b15a}input:not([type=range]):not([type=checkbox]),select,textarea{background:#10161c;color:#e7eef2;border-color:#3a5160}.toggle-track{background:#24323c}.toggle-row input:checked+.toggle-track{background:#e6b15a}.folio-mission{background:#10161c}.folio-mission:before{height:6px;background:#e6b15a}.folio-sector-track{background:#0c141b}.folio-sector-track:before{background:#3a5160}.folio-sector-track li{background:#0c141b;border-color:#3a5160;color:#9bb4c0}.folio-sector-track li.current{background:#e6b15a;color:#1a1206;border-color:#e6b15a}.folio-sector-track li.complete{background:#8fd4ae;color:#102018;border-color:#8fd4ae}.folio-sector-progress>div{background:#24323c}.folio-sector-progress>div>span{background:#e6b15a}.folio-mission-content>.button{background:#e6b15a!important;color:#1a1206!important}.folio-home-choices>button,.folio-home-choices>button:nth-child(2){background:#121a22;color:#e7eef2;border-top:4px solid #8fd4ae}.folio-home-choices>button:nth-child(2){border-top-color:#e6b15a}.folio-home-choices small{color:#9bb4c0}.signal-quick-studies button,.practice-recipe,.campaign-map,.takeaway,.practice-unlocks,.progress-summary,.party-welcome,.room-panel,.local-setup,.empty-state,.modal{background:#121a22;color:#e7eef2;border-color:#2a3c48}.practice-recipe{border-top-color:#8fd4ae}.campaign-map,.modal,.party-welcome{border-top-color:#e6b15a}.modal{box-shadow:0 18px 48px #000a}.modal-backdrop{background:#07090ccc}.practice-launch>.button,.progress-focus .button,.settings-tabs button.active,.settings-tabs button[aria-pressed=true]{background:#e6b15a;color:#1a1206;border-color:#e6b15a}.practice-picker>summary{background:#143028;color:#e7eef2}.practice-library .scenario-row[aria-pressed=true]{background:#143028;color:#e7eef2}.scenario-row[aria-pressed=true] small{color:#d7ffe8}.practice-library .practice-level-heading output{background:#241c30;color:#e7eef2}.practice-library .practice-pitch-grid button[aria-pressed=true],.practice-targets button[aria-pressed=true],.practice-level-compare button[aria-pressed=true],.progress-mode-filter button[aria-pressed=true],.progress-order button[aria-pressed=true]{background:#1a3140;color:#e7eef2;border-color:#3d8fd4}.progress-mode-filter button:hover,.progress-order button:hover,.answer-audition:hover,.answer-audition.selected,.musical-response button:enabled:hover{background:#1a2630}.map-staff{stroke:#2a3c48}.map-route{stroke:#5f86a0}.campaign-meter,.progress-day-0,.progress-skill-bar{background:#1a242c}.campaign-meter>span{background:#e6b15a}.progress-day-1{background:#1e4a38}.progress-day-2{background:#2f7a52}.progress-day-3{background:#8fd4ae}.campaign-repertoire,.progress-focus{background:#121a22;color:#e7eef2;border-top:4px solid #e6b15a}.campaign-routes .route-number{background:#163044;color:#e7eef2}.reward-seal{background:#e6b15a!important;color:#1a1206!important}.score-row.leading{background:#143028}.musical-edit-actions .musical-submit,.musical-edit-actions .musical-submit:enabled:hover{background:#e6b15a;color:#1a1206;border-color:#e6b15a}.error-message,.storage-notice,.settings-error,.settings-storage-error,.settings-panel .button.settings-danger-button,.settings-panel .button.settings-danger-button:hover{background:#2a1614;color:#ffd0c8;border-color:#c4544a}.settings-danger-zone h3{color:#ffb2a6}.settings-notice{background:#143028;color:#d7ffe8;border-color:#3f8f62}.settings-recovery{background:#2a2112;color:#f3e2b8;border-color:#e6b15a}.settings-file::file-selector-button{background:#e6b15a;color:#1a1206;border-color:#e6b15a}.desktop-nav{border-top-color:#e6b15a}.campaign-keyboard .struck,.campaign-keyboard .correct,.campaign-keyboard .echo-cue{background:#1a3140!important;color:#e7eef2!important;box-shadow:inset 0 -4px #0e2230!important}.campaign-keyboard .hit-miss,.campaign-keyboard .incorrect{background:#3a1c18!important;color:#ffd0c8!important}html:has(.tactical-match),body:has(.tactical-match),#root:has(.tactical-match){height:100dvh;overflow:hidden}.app-shell.immersive:has(.tactical-match){height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;padding:0;background:#07090c;color-scheme:dark}.app-shell.immersive:has(.tactical-match) .main-content{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;height:100%;max-width:none;margin:0;padding:0!important;overflow:hidden}.app-shell.immersive:has(.tactical-match) .content-scroll{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;height:100%;margin:0;padding:0;overflow:hidden}.tactical-match.gameplay-session.signal-session{--ink: #07090c;--cream: #e7eef2;--surface: #121a22;--muted: #9bb4c0;--line: #2a3c48;--gold: #e6b15a;--mint: #8fd4ae;--coral: #e07a6a;--error-text: #ffd0c8;--selected-surface: #1a3140;--paper-blue: #3d8fd4;--paper-green: #3f8f62;--paper-yellow: #e6b15a;--paper-red: #c4544a;--paper-purple: #7a6bb5;--paper-pink: #c47a9a;--stage-accent: #e6b15a !important;--stage-secondary: #7ec8e3 !important;flex:1 1 auto;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,auto) minmax(0,1fr)!important;align-content:stretch;gap:6px;width:100%;max-width:none!important;height:100%;min-height:0!important;max-height:100%;margin:0;overflow:hidden;padding:max(6px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;background:#07090c!important;color:var(--cream);color-scheme:dark;scrollbar-color:#e6b15a #07090c}.tactical-match ::selection{background:#e6b15a;color:#1a1206}.tactical-match input,.tactical-match textarea,.tactical-match select{caret-color:#e6b15a}.tactical-match :focus-visible{outline:2px solid #7ec8e3;outline-offset:2px}.tactical-match.gameplay-session.signal-session:has(details[open]){overflow-y:auto;overscroll-behavior:contain}.tactical-match .match-hud,.tactical-match .question-stage,.tactical-match .match-dock{width:min(760px,100%);margin-inline:auto}.tactical-match .match-hud{display:flex;align-items:center;gap:8px;height:44px!important;min-height:44px!important;padding:0 0 4px!important;border:0!important;border-bottom:4px solid #e6b15a!important;border-radius:0 0 0 16px!important;background:transparent!important}.tactical-match .match-hud .icon-button,.tactical-match .performance-menu-trigger{width:44px;height:44px;min-height:44px;color:#e7eef2;background:transparent;border-radius:4px}.tactical-match .match-hud .icon-button:hover,.tactical-match .performance-menu-trigger:hover{background:#162028}.tactical-match .match-position{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-width:0;padding:0;color:#e7eef2;background:transparent}.tactical-match .match-count{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:500;letter-spacing:.02em;line-height:1;color:#e7eef2}.tactical-match .match-count>span{color:#9bb4c0}.tactical-match .performance-progress{display:flex;flex-wrap:nowrap;align-items:center;gap:3px;min-width:0;max-width:min(46vw,16rem);overflow:hidden}.tactical-match .performance-progress>span{flex:1 1 4px;width:auto!important;max-width:14px;height:4px!important;border-radius:2px;background:#24323c}.tactical-match .performance-progress>.current{background:#e6b15a}.tactical-match .performance-progress>.resolved-neutral{background:#5f86a0}.tactical-match .question-stage{position:relative;min-height:0!important;padding:2px 4px 2px 14px!important;gap:2px!important;text-align:left;align-items:stretch;justify-content:center;background:transparent!important;border-radius:0!important;overflow:hidden}.tactical-match .question-stage:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:5px;background:#e6b15a;border-radius:0 0 8px}.tactical-match.phase-playing .question-stage:before{background:#7ec8e3}.tactical-match.performance-correct .question-stage:before{background:#8fd4ae}.tactical-match.performance-retry .question-stage:before{background:#e07a6a}.tactical-match .question-phase{display:none;align-items:center;justify-content:flex-start;gap:8px;min-height:0;margin:0;color:#9bb4c0;font-size:13px}.tactical-match.phase-feedback .question-phase{display:flex;order:-1;font-family:Barlow Condensed,sans-serif;font-size:34px;font-weight:500;line-height:.95;letter-spacing:.03em;text-transform:uppercase}.tactical-match.phase-feedback .question-phase svg{display:none}.tactical-match.performance-correct .question-phase{color:#8fd4ae}.tactical-match.performance-retry .question-phase{color:#ffb2a6}.tactical-match .question-phase small{display:none}.tactical-match .question-stage>h1{font-family:Barlow Condensed,sans-serif!important;font-size:26px!important;font-weight:500;line-height:1;letter-spacing:.02em;text-transform:uppercase;max-width:none!important;margin:0;color:#e7eef2}.tactical-match.phase-feedback .question-stage>h1{font-size:16px!important;color:#9bb4c0;text-transform:none;letter-spacing:0}.tactical-match .question-coaching{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tactical-match .question-instruction,.tactical-match .task-context,.tactical-match .phrase-anchor{min-height:0!important;margin:0;font-size:13px;line-height:1.3;color:#9bb4c0;text-align:left}.tactical-match .phrase-anchor strong{color:#e7eef2}.tactical-match .question-object{min-height:0!important;gap:6px;color:#e7eef2}.tactical-match .musical-event{min-height:0;gap:4px}.tactical-match .musical-event strong{font-size:1.2rem}.tactical-match .musical-event small,.tactical-match .phrase-response li small{color:#9bb4c0}.tactical-match .notation-staff{max-height:min(18dvh,112px)}.tactical-match .score-symbol{font-size:clamp(2rem,7vw,3rem)}.tactical-match .listening-events,.tactical-match .chord-object,.tactical-match .rhythm-measure,.tactical-match .progression-rail{min-height:48px}.tactical-match .chord-object{min-height:64px;padding-block:4px}.tactical-match .phrase-response{gap:6px}.tactical-match .phrase-response li,.tactical-match .phrase-response li>span,.tactical-match .phrase-response li>button{min-height:44px;background:#121a22;border-color:#3a5160;color:#9bb4c0}.tactical-match .phrase-response li.entered{background:#1a3140;border-color:#3d8fd4;color:#e7eef2}.tactical-match .phrase-response li.matched{background:#143028;border-color:#3f8f62;color:#d7ffe8}.tactical-match .phrase-response li.missed{background:#2a1614;border-color:#c4544a;color:#ffd0c8}.tactical-match .match-dock{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:visible;align-self:stretch;max-width:none!important;padding:8px 8px 6px!important;background:#0d141b!important;border:0;border-radius:18px 4px 4px;border-top:4px solid #e6b15a}.tactical-match .answer-console-toolbar{position:relative;z-index:6}.tactical-match .input-selector-menu{z-index:30;background:#121a22;color:#e7eef2;border:1px solid #3a5160}.tactical-match .task-playback-actions{flex:0 0 auto;min-height:44px;margin:0 0 6px!important;gap:8px}.tactical-match .task-playback-actions>.button,.tactical-match .button,.tactical-match .button.primary,.tactical-match .button.secondary{min-height:44px;padding:8px 14px;border-radius:4px 16px 16px 4px;box-shadow:none;transform:none}.tactical-match .task-playback-actions>.button,.tactical-match .echo-submit,.tactical-match .phrase-submit,.tactical-match .musical-submit,.tactical-match .modal .button.primary{background:#e6b15a!important;color:#1a1206!important;border:0!important}.tactical-match .task-playback-actions>.button:last-child:not(:first-child){background:#3d8fd4!important;color:#061018!important;border-radius:16px 4px 4px 16px}.tactical-match .button.secondary,.tactical-match .phrase-edit-actions .button.secondary,.tactical-match .musical-edit-actions button:not(.musical-submit){background:transparent!important;color:#e7eef2!important;border:1px solid #3a5160!important}.tactical-match .button:hover,.tactical-match .button.secondary:hover{transform:none;box-shadow:none}.tactical-match .task-playback-actions>.button:hover{background:#f0c47a!important}.tactical-match .button.secondary:hover{background:#162028!important}.tactical-match .button:disabled{opacity:.45}.tactical-match .answer-console,.tactical-match .musical-response{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;min-width:0;max-width:none}.tactical-match .answer-console-toolbar{flex:0 0 auto;min-height:44px;margin:0 0 6px;border:0}.tactical-match .answer-grid{flex:1 1 auto;align-content:stretch;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));grid-auto-rows:minmax(44px,1fr);gap:6px;margin:0;min-height:0}.tactical-match .answer-button,.tactical-match .echo-note-buttons .answer-button{min-height:44px;height:100%;padding:6px 10px;background:#121a22!important;color:#e7eef2!important;border:1px solid #2c4150!important;border-top:3px solid #e6b15a!important;border-radius:2px 12px 2px 2px!important;box-shadow:none!important;font-size:.95rem}.tactical-match .answer-button:hover:enabled{background:#1a2630!important}.tactical-match .answer-button kbd{color:#9bb4c0}.tactical-match .answer-button.correct{background:#143028!important;color:#d7ffe8!important;border-color:#3f8f62!important;border-top-color:#8fd4ae!important}.tactical-match .answer-button.incorrect{background:#2a1614!important;color:#ffd0c8!important;border-color:#c4544a!important;border-top-color:#e07a6a!important}.tactical-match .answer-button.dimmed{opacity:.55}.tactical-match .campaign-keyboard,.tactical-match .echo-keyboard{flex:1 1 auto;height:auto!important;min-height:108px!important;max-height:min(30dvh,200px);background:#07090c!important;border-radius:6px;padding:6px!important}.tactical-match .octave-picker{min-height:40px;gap:6px}.tactical-match .octave-picker button{min-height:40px;background:#121a22;color:#e7eef2;border:1px solid #2c4150;border-radius:4px}.tactical-match .octave-picker button[aria-pressed=true]{background:#e6b15a;color:#1a1206;border-color:#e6b15a}.tactical-match .echo-help,.tactical-match .musical-response-help,.tactical-match .musical-empty,.tactical-match .voice-instructions{position:absolute;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;min-height:0!important}.tactical-match .echo-help:empty{display:none}.tactical-match .phrase-edit-actions,.tactical-match .musical-edit-actions{flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:6px;margin-top:6px}.tactical-match .phrase-edit-actions .button,.tactical-match .musical-edit-actions button{flex:1 1 0;min-width:0;min-height:44px;padding:6px 8px;font-size:12px}.tactical-match .phrase-edit-actions .phrase-submit{flex-basis:auto;margin-left:0}.tactical-match .musical-entry-area{min-height:0;padding:0}.tactical-match .musical-entries button{min-height:44px}.tactical-match .musical-entry-status{min-height:0;margin:2px 0;font-size:12px}.tactical-match .musical-palette button,.tactical-match .musical-degree-choices button{min-height:44px}.tactical-match .musical-entered-staff svg{max-height:96px}.tactical-match .contour-control{display:flex;flex-direction:column;gap:6px;min-height:0}.tactical-match .contour-control label{font-size:13px;color:#9bb4c0}.tactical-match .voice-answer{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;margin:0}.tactical-match .voice-talk{flex:1 1 auto;min-height:88px;gap:8px;border-radius:8px 20px 20px 8px;background:#e6b15a;color:#1a1206}.tactical-match .voice-talk.recording{background:#c4544a;color:#fff5f2}.tactical-match .voice-notice,.tactical-match .voice-transcript{margin:4px 0 0;font-size:12px;line-height:1.3;color:#9bb4c0}.tactical-match .voice-choices{margin-top:4px}.tactical-match .voice-choices summary{min-height:40px;padding:8px 0;color:#e6b15a}.tactical-match .task-lesson{flex:0 0 auto;margin-top:4px}.tactical-match .practice-lesson,.tactical-match .answer-repair{border:0;border-top:1px solid #2a3c48;margin:0;font-size:13px}.tactical-match .practice-lesson summary,.tactical-match .answer-repair>summary{min-height:40px;padding:8px 0;color:#e6b15a;font-weight:600}.tactical-match .answer-repair>summary>small{color:#9bb4c0}.tactical-match.phase-feedback .match-dock>.answer-console,.tactical-match.phase-feedback .match-dock>.musical-response,.tactical-match.phase-feedback .match-dock>.echo-console{display:none}.tactical-match .error-message{flex:0 0 auto;margin:0 0 6px;background:#2a1614;color:#ffd0c8;border:1px solid #c4544a;border-radius:4px}.tactical-match .repair-content{color:#e7eef2}.tactical-match .repair-comparison small,.tactical-match .repair-explanation-copy,.tactical-match .repair-structural,.tactical-match .repair-difference,.tactical-match .repair-footnote,.tactical-match .practice-lesson-body p{color:#9bb4c0}.tactical-match .repair-comparison strong{color:#e7eef2}.tactical-match .modal{background:#10161c;color:#e7eef2;border:0;border-top:8px solid #e6b15a;border-radius:18px 6px 6px;box-shadow:0 18px 48px #000a}.tactical-match .modal-backdrop{background:#07090ccc}.tactical-match .modal h2,.tactical-match .modal p,.tactical-match .match-options-help,.tactical-match .match-options-context{color:#e7eef2}.tactical-match .match-options-help,.tactical-match .match-options-context{color:#c5d5de}.tactical-match .match-options-scene:empty{display:none}@media(max-height:700px){.tactical-match .question-stage>h1{font-size:22px!important}.tactical-match.phase-feedback .question-phase{font-size:28px}.tactical-match .campaign-keyboard,.tactical-match .echo-keyboard{min-height:96px!important;max-height:22dvh}.tactical-match .listening-events,.tactical-match .chord-object{min-height:40px}}@media(max-height:520px)and (min-width:700px){.tactical-match.gameplay-session.signal-session{grid-template-columns:minmax(220px,.9fr) minmax(300px,1.1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;gap:8px 12px}.tactical-match .match-hud{grid-column:1 / -1;width:100%}.tactical-match .question-stage{grid-column:1;grid-row:2;width:100%;align-self:stretch}.tactical-match .match-dock{grid-column:2;grid-row:2;width:100%}}@media(prefers-reduced-motion:reduce){.tactical-match .question-stage:before{transition:none}}.tactical-match.stage-still .question-stage:before{transition:none}.tactical-match.gameplay-session.signal-session .match-hud{height:44px!important;min-height:44px!important;padding:0 0 4px!important;border:0!important;border-bottom:4px solid #e6b15a!important;border-radius:0 0 0 16px!important}.tactical-match.gameplay-session.signal-session .question-stage:before{width:5px!important;background:#e6b15a!important;border-radius:0 0 8px}.tactical-match.gameplay-session.signal-session.phase-playing .question-stage:before{background:#7ec8e3!important}.tactical-match.gameplay-session.signal-session.performance-correct .question-stage:before{background:#8fd4ae!important}.tactical-match.gameplay-session.signal-session.performance-retry .question-stage:before{background:#e07a6a!important}.tactical-match.gameplay-session.signal-session .question-phase{display:none!important}.tactical-match.gameplay-session.signal-session.phase-feedback .question-phase{display:flex!important;order:-1}.tactical-match.gameplay-session.signal-session .match-dock{align-self:stretch!important;align-items:stretch!important;width:min(760px,100%)!important;height:auto!important;background:#0d141b!important;border-top:4px solid #e6b15a!important;border-radius:18px 4px 4px!important;padding:8px!important;position:relative}.tactical-match.gameplay-session.signal-session .task-playback-actions{width:100%;justify-content:flex-start!important;margin:0 0 8px!important}.tactical-match.gameplay-session.signal-session .task-playback-actions>.button,.tactical-match.gameplay-session.signal-session .task-playback-actions>.playback-replay{flex:1 1 auto!important;margin:0!important;order:0;width:auto}.tactical-match.gameplay-session.signal-session:not(.phase-feedback) .task-playback-actions{padding-right:52px}.tactical-match.gameplay-session.signal-session .answer-console:not(.echo-console)>.answer-console-toolbar{position:absolute;top:8px;right:8px;width:auto;min-height:44px;margin:0!important;z-index:6}.tactical-match.gameplay-session.signal-session .answer-console,.tactical-match.gameplay-session.signal-session .musical-response,.tactical-match.gameplay-session.signal-session .echo-console{position:static!important;align-self:stretch!important;width:100%!important;max-width:none!important;margin:0!important}.tactical-match.gameplay-session.signal-session .campaign-keyboard,.tactical-match.gameplay-session.signal-session .echo-keyboard{display:grid!important;width:100%!important;max-width:none!important;height:auto!important;min-height:168px!important;max-height:none!important;margin:0!important;flex:1 1 auto}.tactical-match.gameplay-session.signal-session .answer-grid{width:100%!important;margin:0!important;flex:0 1 auto;align-content:start;grid-auto-rows:88px}.tactical-match.gameplay-session.signal-session .answer-grid.options-2,.tactical-match.gameplay-session.signal-session .answer-grid.options-3,.tactical-match.gameplay-session.signal-session .answer-grid.options-4{flex:1 1 auto;align-content:stretch;grid-auto-rows:minmax(96px,1fr)}.tactical-match.gameplay-session.signal-session .answer-button{height:100%;max-height:none}.tactical-match.gameplay-session.signal-session .answer-grid.options-2 .answer-button,.tactical-match.gameplay-session.signal-session .answer-grid.options-3 .answer-button,.tactical-match.gameplay-session.signal-session .answer-grid.options-4 .answer-button{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:18px 16px 22px;font-family:Barlow Condensed,sans-serif;font-size:clamp(28px,8vw,44px);font-weight:500;letter-spacing:.02em;line-height:.95;text-transform:uppercase}.tactical-match.gameplay-session.signal-session .answer-button kbd{font-family:DM Sans,sans-serif;font-size:12px;letter-spacing:0;text-transform:none}@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-italic.ttf) format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Syncopate;src:url(/fonts/syncopate.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Syncopate;src:url(/fonts/syncopate-bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--f-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--f-label: Syncopate, "DM Sans", system-ui, sans-serif;--f-text: "DM Sans", system-ui, sans-serif;--r-sm: 12px;--r-md: 18px;--r-lg: 26px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--header-h: 58px;--gold: #ffcf8a;--gold-hi: #fff4dc;--gold-deep: #f0a060;--jade: #8fe3bb;--rose: #ff8f80;--azure: #9ccdf2;--cream: #f4ead8;--glass: rgba(244, 234, 216, .07);--glass-2: rgba(244, 234, 216, .12);--glass-line: rgba(244, 234, 216, .22);--glass-hi: rgba(255, 255, 255, .16);--accent-soft: rgba(255, 207, 138, .14);--accent-line: rgba(255, 207, 138, .38);--yes-soft: rgba(143, 227, 187, .14);--no-soft: rgba(255, 143, 128, .14);--energy: 0;--sky-base: 7 19 24;--sky-warm: 196 83 42;--sky-deep: 84 46 120;--sky-cool: 15 96 106;--sky-light: 232 162 74;--sky-glow: 255 214 160}html[data-theme],html[data-theme] body{margin:0;height:100dvh;overflow:hidden;background:rgb(var(--sky-base));color:var(--text);font-family:var(--f-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}html[data-theme] #root{height:100dvh;overflow:hidden}html[data-theme] button,html[data-theme] input,html[data-theme] select,html[data-theme] textarea{font-family:var(--f-text)}html[data-theme] h1,html[data-theme] h2,html[data-theme] h3{font-family:var(--f-display);font-weight:400;font-style:italic;letter-spacing:-.01em;line-height:1.05;color:var(--text);text-transform:none}html[data-theme] h1{font-size:clamp(34px,10vw,46px)}html[data-theme] h2{font-size:26px}html[data-theme] h3{font-size:21px}html[data-theme] p{font-size:14px;line-height:1.55}html[data-theme] ::selection{background:var(--gold);color:var(--accent-ink)}html[data-theme] *{scrollbar-width:thin;scrollbar-color:var(--line) transparent}html[data-theme] :focus-visible{outline:1.5px solid var(--gold)!important;outline-offset:3px}html[data-theme] .app-shell{max-width:none;height:100dvh;margin:0;padding:0;background:transparent}html[data-theme] .app-header,html[data-theme] .mobile-nav,html[data-theme] .app-footer{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}.drift-label,html[data-theme] .drift-label{font-family:var(--f-label);font-size:9px;line-height:12px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);font-style:normal}html[data-theme] .drift-label.is-warm{color:var(--gold);text-shadow:0 0 12px rgba(255,207,138,.5)}.drift-title{color:var(--text);letter-spacing:.34em}.drift-glass{position:relative;border:0;color:var(--text);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi),0 20px 40px -12px #00000059;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);transition:background .22s var(--ease-soft),transform .14s var(--ease-soft),box-shadow .22s;cursor:pointer}.drift-glass:hover{background:#f4ead81a}.drift-glass:active{background:var(--glass-2);transform:scale(.99)}.drift-ornament{display:flex;align-items:center;gap:12px}.drift-ornament i{display:block;width:44px;height:1px;background:linear-gradient(90deg,transparent,rgba(244,234,216,.4))}.drift-ornament i:last-child{transform:scaleX(-1)}.drift-ornament b{display:block;width:5px;height:5px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 8px var(--gold)}.drift-orb{position:relative;flex:none;display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:50%;color:var(--text);background:radial-gradient(circle at 38% 30%,#fff3,#f4ead80f 55%,#f4ead808);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px #ffffff38,inset 0 -10px 18px -10px #0006,0 14px 28px -10px #00000073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;transition:transform .16s var(--ease-soft),box-shadow .26s,background .26s,opacity .2s}.drift-orb:not(:disabled):active{transform:scale(.94)}.drift-orb:disabled{cursor:default}.drift-orb.orb-gold{color:#3a1d0e;background:radial-gradient(circle at 40% 32%,var(--gold-hi),var(--gold) 58%,var(--gold-deep));box-shadow:inset 0 1px #ffffffb3,inset 0 -8px 16px -6px #b05a1e8c,0 0 0 1px #ffdcaa59,0 0 34px #ffbe788c,0 16px 30px -12px #78320a99}.drift-orb.orb-mini{width:38px;height:38px}.drift-orb .orb-label{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--f-label);font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);pointer-events:none}.drift-orb .orb-label small{font-size:inherit;color:var(--gold);letter-spacing:inherit}.drift-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border:0;border-radius:99px;font-family:var(--f-display);font-style:italic;font-size:23px;letter-spacing:0;cursor:pointer;transition:transform .14s var(--ease-soft),filter .2s,background .2s}.drift-pill:active{transform:scale(.98)}.drift-pill.pill-gold{color:#3a1d0e;background:radial-gradient(120% 160% at 30% 0%,var(--gold-hi),var(--gold) 50%,var(--gold-deep));box-shadow:inset 0 1px #ffffffb3,inset 0 -10px 20px -12px #a0501499,0 0 32px #ffbe7866,0 16px 30px -14px #78320a99}.drift-pill.pill-glass{color:var(--text);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.drift-link{display:inline-flex;align-items:center;gap:8px;padding:8px 0;border:0;background:none;color:var(--gold);font-family:var(--f-label);font-size:9px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer}html[data-theme] .button,html[data-theme] .button.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:0!important;border-radius:99px!important;background:radial-gradient(120% 160% at 30% 0%,var(--gold-hi),var(--gold) 50%,var(--gold-deep))!important;color:#3a1d0e!important;font-family:var(--f-display);font-style:italic;font-size:20px!important;font-weight:400;letter-spacing:0;text-transform:none;box-shadow:inset 0 1px #ffffffb3,0 0 26px #ffbe784d,0 12px 24px -12px #78320a8c!important;transform:none;cursor:pointer;transition:transform .14s var(--ease-soft),filter .16s}html[data-theme] .button:hover{filter:brightness(1.04)}html[data-theme] .button:active{transform:scale(.98)}html[data-theme] .button.secondary{background:var(--glass)!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}html[data-theme] .button:disabled{opacity:.4;filter:none;cursor:default}html[data-theme] .text-action,html[data-theme] .folio-route-link{color:var(--gold)!important;background:none;border:0;font-family:var(--f-label);font-size:9px!important;letter-spacing:.28em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;padding:10px 0;cursor:pointer}html[data-mood=correct] .drift-bloom{background:radial-gradient(60% 40% at 50% 34%,rgba(255,214,150,.5),rgba(255,170,110,.14) 55%,transparent 80%);animation:bloom 1.6s var(--ease) both}html[data-mood=incorrect] .drift-bloom{background:radial-gradient(70% 45% at 50% 36%,rgba(120,190,230,.24),transparent 75%);animation:bloom-cool 1.8s var(--ease-soft) both}html[data-mood=triumph] .drift-bloom{background:radial-gradient(70% 45% at 50% 22%,rgba(255,222,170,.55),rgba(255,150,120,.18) 50%,transparent 80%);animation:bloom-hold 3.2s var(--ease) both}html[data-mood=complete] .drift-bloom{background:radial-gradient(70% 40% at 50% 22%,rgba(156,205,242,.2),transparent 75%);animation:bloom-hold 3s var(--ease) both}@keyframes bloom{0%{opacity:0;transform:scale(.7)}25%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes bloom-cool{0%{opacity:0}30%{opacity:1}to{opacity:.35}}@keyframes bloom-hold{0%{opacity:0;transform:scale(.8)}40%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(1.08)}}.device{position:relative;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:rgb(var(--sky-base));color:var(--text);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;isolation:isolate}.device>:not(.drift-field){position:relative;z-index:1}.device-portal{display:contents}.device-status{height:var(--header-h);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px 0 16px}.device-lead{display:flex;align-items:center;min-width:0}.device-readout{justify-self:center;display:flex;align-items:center;white-space:nowrap}.device-actions{justify-self:end;display:flex;align-items:center;gap:2px}html[data-theme] .device-status .icon-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent!important;color:var(--text-dim)!important;box-shadow:none!important;cursor:pointer;transition:color .2s,background .2s}html[data-theme] .device-status .icon-button:hover{color:var(--text)!important;background:var(--glass)!important}html[data-theme] .device-status .drift-back{margin-left:-10px}.drift-wordmark{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-label);font-weight:700;font-size:9.5px;letter-spacing:.52em;text-transform:uppercase;color:var(--text)}.drift-wordmark i{width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}.device-screen{position:relative;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-program{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.device-program main{flex:1;min-height:0;display:flex;flex-direction:column;animation:screen-in .62s var(--ease) both}html[data-theme] .device-program .content-scroll{flex:1;min-height:0;overflow:auto;margin:0;padding:8px 20px 28px;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 10px,#000 calc(100% - 18px),transparent)}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}.device-strip:not(:has(>.device-portal>*)){display:none!important}.device-deck:not(:has(>:not(.device-portal:empty))){display:none!important}.device-drawer:not(:has(.device-drawer-body>:not(.device-portal:empty))){display:none!important}.device-strip{flex:none;padding:4px 16px 10px}.device-strip>.device-portal{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 10px}.device-transport{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;justify-content:center;gap:30px;min-height:92px;padding-bottom:20px}.device-octave{grid-column:1;grid-row:2}.device-mode{grid-column:2;grid-row:2}.device-strip:not(:has(.device-octave)) .device-mode{grid-column:1 / -1}.device-strip:not(:has(.device-transport)) .device-octave,.device-strip:not(:has(.device-transport)) .device-mode{grid-row:1}.device-octave{display:grid;grid-template-columns:32px auto 32px;align-items:center;height:36px;border-radius:99px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.octave-readout{display:flex;align-items:baseline;gap:6px;padding:0 2px}.octave-readout small{font-family:var(--f-label);font-size:7.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.octave-readout strong{font-family:var(--f-display);font-style:italic;font-size:21px;font-weight:400;line-height:1;color:var(--text);animation:tick-in .26s var(--ease)}@keyframes tick-in{0%{opacity:0;transform:translateY(5px)}}.device-octave button{height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-dim);border-radius:99px;cursor:pointer;transition:color .16s}.device-octave button:disabled{opacity:.25;cursor:default}.device-octave button:not(:disabled):hover{color:var(--gold)}.device-octave.is-fixed button{display:none}.device-octave.is-fixed{grid-template-columns:auto;padding:0 14px}.device-mode{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));height:36px;padding:0;box-sizing:border-box;border-radius:99px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-width:0}.mode-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));border-radius:99px;background:radial-gradient(120% 140% at 35% 0%,#fff4dc57,#ffcf8a29);box-shadow:inset 0 0 0 1px #ffcf8a8c,0 0 16px #ffbe7840;transform:translate(calc(var(--i) * 100%));transition:transform .38s var(--ease)}.device-mode button{position:relative;min-width:0;border:0;border-radius:99px;background:transparent;color:var(--text-dim);font-family:var(--f-label);font-size:8px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color .24s}.device-mode button[aria-pressed=true]{color:var(--gold-hi)}.device-mode button:disabled:not([aria-pressed=true]){opacity:.32}.device-deck{flex:none;display:flex;flex-direction:column;min-height:0;padding:4px 16px 12px}.deck-keys{display:grid;gap:10px;grid-template-columns:1fr}.deck-keys button{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:14px 22px;min-height:64px;border:0;border-radius:99px;background:var(--glass);color:var(--text);box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer}.deck-keys button>svg:first-child{display:none}.deck-keys button>span{font-family:var(--f-display);font-style:italic;font-size:24px;line-height:1}.deck-keys button>small{grid-column:1;margin-top:6px;font-family:var(--f-label);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.deck-keys button>svg:last-child{grid-column:2;grid-row:1 / 3;color:var(--gold)}.device .practice-launch{display:flex;flex-direction:column;gap:6px;padding-top:12px}html[data-theme] .device .practice-launch .button{width:100%;min-height:64px;padding:11px 22px 12px;flex-direction:column;gap:5px}.device .practice-launch .button span{font-size:23px}html[data-theme] .device .practice-launch .button small{font-family:var(--f-label);font-style:normal;font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:#5a3416!important;opacity:.8}html[data-theme] .device .practice-launch .button small{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:380px){html[data-theme] .device .practice-launch .button small{letter-spacing:.16em}}.device-drawer{flex:none;position:relative;z-index:6}.device-sliver{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;height:34px;border:0;background:transparent;color:var(--text-dim);font-family:var(--f-label);font-size:8px;letter-spacing:.34em;text-transform:uppercase;cursor:pointer}.device-sliver i{display:block;width:32px;height:3px;border-radius:3px;background:#f4ead83d;transition:background .2s,width .3s var(--ease)}.device-sliver:hover i,.device-sliver[aria-expanded=true] i{width:44px;background:var(--gold)}.device-sliver:hover,.device-sliver[aria-expanded=true]{color:var(--text)}.device-drawer-body{display:none}.drawer-open .device-drawer{position:absolute;inset:auto 0 0;max-height:80%;display:flex;flex-direction:column-reverse;background:#0a161cd1;backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-radius:28px 28px 0 0;box-shadow:0 -30px 60px -10px #0000008c,inset 0 1px #f4ead833;animation:sheet-in .42s var(--ease)}.drawer-open .device-drawer .device-sliver{order:-1}.drawer-open .device-drawer-body{display:block;overflow:auto;padding:20px 20px 12px;min-height:0;overscroll-behavior:contain}.device-scrim{position:absolute;inset:0;z-index:5;border:0;padding:0;background:#02080a80;animation:fade-in .26s ease}@keyframes sheet-in{0%{transform:translateY(60px);opacity:0}}@keyframes fade-in{0%{opacity:0}}html[data-theme] .modal-backdrop{background:#02080a99!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}html[data-theme] .modal{background:#0c1a21e6!important;color:var(--text)!important;border:0!important;border-radius:28px!important;box-shadow:0 40px 90px -20px #000c,inset 0 0 0 1px var(--glass-line),inset 0 1px 0 var(--glass-hi)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:sheet-in .38s var(--ease)}html[data-theme] .modal header h2{font-size:30px}html[data-theme] .modal .icon-button{background:transparent!important;color:var(--text-dim)!important;border:0!important}html[data-theme] .match-options-help,html[data-theme] .match-options-context{color:var(--text-dim);font-size:13px}html[data-theme] .match-options-actions button{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 18px;margin-top:8px;border:0;border-radius:99px;background:var(--glass);color:var(--text);box-shadow:inset 0 0 0 1px var(--glass-line);font-family:var(--f-display);font-style:italic;font-size:19px;cursor:pointer}html[data-theme] .modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}html[data-theme] .modal-actions .button{flex:1}html[data-theme] input:not([type=range]):not([type=checkbox]),html[data-theme] select,html[data-theme] textarea{background:#f4ead80f;color:var(--text);border:0;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--glass-line);min-height:44px;padding:0 14px;font-size:15px}html[data-theme] select option,html[data-theme] select optgroup{background:#0c1a21;color:var(--text)}html[data-theme] input[type=range]{accent-color:var(--gold)}html[data-theme] .practice-page,html[data-theme] .campaign-page,html[data-theme] .progress-page,html[data-theme] .party-page,html[data-theme] .local-party-page,html[data-theme] .results-page{margin:0;max-width:none}html[data-theme] .page-heading,html[data-theme] .progress-page-heading{margin:8px 0 22px}html[data-theme] .page-heading h1,html[data-theme] .progress-page-heading h1{margin:0 0 6px}html[data-theme] .page-heading p,html[data-theme] .progress-page-heading p{color:var(--text-dim);margin:0}html[data-theme] .page-symbol,html[data-theme] .practice-heading-icon{display:none!important}html[data-theme] .practice-recipe,html[data-theme] .party-welcome,html[data-theme] .takeaway,html[data-theme] .empty-state,html[data-theme] .progress-section,html[data-theme] .progress-overview,html[data-theme] .readiness-note,html[data-theme] .learning-recommendations,html[data-theme] .settings-section,html[data-theme] .lobby-config,html[data-theme] .lobby-players,html[data-theme] .invite-panel,html[data-theme] .party-form,html[data-theme] .local-setup,html[data-theme] .handoff-stage,html[data-theme] .practice-level,html[data-theme] .recipe-shelf,html[data-theme] .workshop,html[data-theme] .campaign-atlas,html[data-theme] .results-performance{background:#f4ead80d!important;color:var(--text)!important;border:0!important;border-radius:var(--r-lg)!important;box-shadow:inset 0 0 0 1px #f4ead824,inset 0 1px #ffffff14!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}html[data-theme] details>summary{cursor:pointer}html[data-theme] :is(.settings-section,.lobby-players){padding:20px!important}html[data-theme] :is(.readiness-note,.workshop,.recipe-shelf,.takeaway,.progress-section):not(:is(.practice-recipe,.party-welcome,.lobby-players,.invite-panel,.local-setup,.handoff-stage) *){padding-inline:20px!important}html[data-theme] .settings-section+.settings-section{margin-top:12px}html[data-theme] .settings-panel{padding-bottom:16px}html[data-theme] .settings-actions .button{flex:1 1 auto;white-space:nowrap;overflow-wrap:normal;padding-inline:18px}html[data-theme] :is(.practice-recipe,.party-welcome,.lobby-players,.invite-panel,.local-setup,.handoff-stage) :is(.party-form,.lobby-config,.practice-level,.readiness-note,.recipe-shelf,.workshop,.learning-recommendations,.takeaway){background:transparent!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme] .lobby-players .lobby-config{margin:14px 0;padding:14px 0!important;border-top:1px solid rgba(244,234,216,.1)!important;display:flex;align-items:center;gap:12px}html[data-theme] .lobby-players .lobby-config>span{min-width:0;display:flex;flex-direction:column;gap:2px}html[data-theme] .lobby-players>.button{width:100%}html[data-theme] .party-room-header{align-items:flex-start;gap:12px}html[data-theme] .party-room-header>.button{flex:none;white-space:nowrap;min-height:40px;padding:0 16px}html[data-theme] .learning-recommendations{padding:20px 22px!important}html[data-theme] .learning-recommendations .learning-section-heading{margin-bottom:16px}html[data-theme] .learning-compact>ul>li,html[data-theme] .learning-compact>ul>li>.button{margin-left:0}html[data-theme] .learning-compact>ul>li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:10px;align-items:center;padding:0}html[data-theme] .learning-compact .learning-suggestion-copy{display:contents}html[data-theme] .learning-compact .learning-suggestion-copy h3{grid-column:2;margin:0}html[data-theme] .learning-compact .learning-suggestion-copy :is(p,small),html[data-theme] .learning-compact>ul>li>.button{grid-column:1 / -1}html[data-theme] .learning-compact>ul>li>.button{justify-self:start;margin-top:4px}@media(max-width:600px){html[data-theme] .learning-recommendations>ul>li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:10px;align-items:center}html[data-theme] .learning-suggestion-copy{display:contents}html[data-theme] .learning-suggestion-copy h3{grid-column:2;margin:0}html[data-theme] .learning-suggestion-copy :is(p,small),html[data-theme] .learning-recommendations>ul>li>.button{grid-column:1 / -1}html[data-theme] .learning-recommendations>ul>li>.button{justify-self:start;margin:4px 0 0}}html[data-theme] .practice-picker>summary,html[data-theme] .signal-quick-studies button,html[data-theme] .scenario-row{background:#f4ead80d!important;color:var(--text)!important;border:0!important;border-radius:var(--r-md)!important;box-shadow:inset 0 0 0 1px #f4ead824!important}html[data-theme] .scenario-row[aria-pressed=true],html[data-theme] .scenario-row[aria-current=true],html[data-theme] .scenario-row.selected{box-shadow:inset 0 0 0 1px var(--accent-line),0 0 24px -8px var(--glow)!important}html[data-theme] .section-heading h2,html[data-theme] .progress-section-heading h2,html[data-theme] .learning-section-heading h2{font-size:24px}html[data-theme] .learning-section-heading span,html[data-theme] .progress-section-heading span,html[data-theme] .field-help,html[data-theme] .settings-help{color:var(--text-dim)}html[data-theme] .storage-notice{border-radius:var(--r-md);background:var(--no-soft);color:var(--text);padding:10px 14px}html[data-theme] .signal-quick-studies{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:14px}html[data-theme] .signal-quick-studies button{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 14px;cursor:pointer;font-family:var(--f-display);font-style:italic;font-size:19px}html[data-theme] .signal-quick-studies svg{color:var(--gold)}html[data-theme] .settings-tabs{display:flex;gap:6px;padding:4px;border-radius:99px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);margin-bottom:18px}html[data-theme] .settings-tabs button{flex:1;min-height:40px;border:0;border-radius:99px;background:transparent;color:var(--text-dim);font-family:var(--f-label);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}html[data-theme] .settings-tabs button[aria-pressed=true]{color:var(--gold-hi);background:#ffcf8a24;box-shadow:inset 0 0 0 1px var(--accent-line)}html[data-theme] .audition-examples div{display:flex;gap:6px;flex-wrap:wrap}html[data-theme] .audition-examples button,html[data-theme] .progress-mode-filter button,html[data-theme] .party-chip{min-height:38px;padding:0 16px;border:0;border-radius:99px;background:var(--glass);color:var(--text-dim);box-shadow:inset 0 0 0 1px var(--glass-line);font-family:var(--f-label);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}html[data-theme] .audition-examples button[aria-pressed=true],html[data-theme] .progress-mode-filter button[aria-pressed=true]{color:var(--gold-hi);background:#ffcf8a24;box-shadow:inset 0 0 0 1px var(--accent-line)}html[data-theme] .audition-examples legend,html[data-theme] .audio-settings>label,html[data-theme] .settings-label-row label{font-family:var(--f-label);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}html[data-theme] .tone-picker{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center}html[data-theme] .tone-picker .icon-button{width:44px;height:44px;border-radius:50%;border:0;background:var(--glass);color:var(--text);box-shadow:inset 0 0 0 1px var(--glass-line)}html[data-theme] .tone-picker select{font-family:var(--f-display);font-style:italic;font-size:20px;text-align:center}html[data-theme] .toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;box-shadow:inset 0 -1px #f4ead81a}html[data-theme] .toggle-row small{display:block;color:var(--text-dim);font-size:12.5px;margin-top:3px}html[data-theme] .toggle-track{flex:none;width:44px;height:26px;border-radius:99px;background:#f4ead81f;box-shadow:inset 0 0 0 1px var(--glass-line);position:relative;transition:background .24s}html[data-theme] .toggle-track span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--cream);transition:transform .3s var(--ease)}html[data-theme] .toggle-row input:checked+.toggle-track{background:#ffcf8a66}html[data-theme] .toggle-row input:checked+.toggle-track span{transform:translate(18px);background:var(--gold-hi);box-shadow:0 0 12px var(--gold)}html[data-theme] .toggle-row input{position:absolute;opacity:0;pointer-events:none}html[data-theme] .content-scroll:has(.dusk-home){display:flex;flex-direction:column;padding-top:0;padding-bottom:6px}.dusk-home{flex:1;display:flex;flex-direction:column;min-height:min(100%,720px);padding-bottom:6px}.dusk-sky{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:calc(100% + 40px);min-height:clamp(306px,42dvh,390px);margin:clamp(0px,2dvh,20px) -20px 0;padding:0;border:0;background:none;color:inherit;text-align:center;cursor:pointer}.sector-arc{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;overflow:visible}.arc-path{fill:none;stroke:#f4ead81a;stroke-width:1}.arc-path.arc-lit{stroke:#ffcf8a6b;stroke-width:1.2;filter:drop-shadow(0 0 4px rgba(255,190,120,.6))}.arc-star .star-core{fill:#f4ead852}.arc-star.star-gate .star-core{fill:none;stroke:#f4ead880;stroke-width:1}.arc-star.star-lit .star-core{fill:var(--gold-hi);filter:drop-shadow(0 0 3px var(--gold)) drop-shadow(0 0 7px rgba(255,180,110,.7));animation:star-in .9s var(--ease) both;animation-delay:var(--d)}.arc-star.star-now .star-core{fill:none;stroke:var(--gold-hi);stroke-width:1.3;filter:drop-shadow(0 0 6px rgba(255,220,170,.9))}.arc-star .star-halo{fill:#ffcf8a2e;animation:breathe 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.arc-star.is-fresh .star-core{animation:star-fresh 1.6s var(--ease) both;animation-delay:calc(var(--d) + .4s)}.arc-star .star-flare{fill:none;stroke:var(--gold-hi);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center;animation:flare 1.6s var(--ease) both;animation-delay:calc(var(--d) + .5s)}@keyframes star-in{0%{opacity:0;transform:scale(0)}}@keyframes star-fresh{0%{transform:scale(0)}40%{transform:scale(2.6)}to{transform:scale(1)}}@keyframes flare{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(7)}}@keyframes breathe{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.dusk-sky-copy{position:absolute;left:0;right:0;top:clamp(78px,24vw,104px);display:flex;flex-direction:column;align-items:center;gap:0}.dusk-title{display:block;margin-top:16px;font-family:var(--f-display);font-style:italic;font-size:clamp(64px,21vw,96px);line-height:.86;letter-spacing:-.02em;color:var(--text);text-shadow:0 10px 40px rgba(0,0,0,.25);animation:title-in 1.2s var(--ease) both .12s}.dusk-title.is-long{font-size:clamp(50px,15.5vw,74px)}.dusk-sky-copy .drift-ornament{margin-top:22px;animation:fade-in 1.4s ease both .5s}@keyframes title-in{0%{opacity:0;transform:translateY(14px);letter-spacing:.02em;filter:blur(4px)}}.dusk-sky:hover .dusk-title{text-shadow:0 0 40px rgba(255,207,138,.25)}.dusk-continue{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:80px;margin-top:auto;flex:none;padding:0 12px 0 28px;border-radius:99px;text-align:left;animation:rise-in .9s var(--ease) both .3s}.continue-copy{display:flex;flex-direction:column;gap:7px}.continue-title{font-family:var(--f-display);font-style:italic;font-size:32px;line-height:1}.dusk-continue .drift-orb{width:56px;height:56px}.dusk-continue .drift-orb:after{content:"";position:absolute;inset:-6px;border-radius:50%;box-shadow:0 0 0 1px #ffcf8a59;animation:halo 2.8s ease-out infinite}@keyframes halo{0%{opacity:.8;transform:scale(.92)}to{opacity:0;transform:scale(1.35)}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}.dusk-menu{display:flex;flex-direction:column;margin:18px 6px 0;animation:rise-in .9s var(--ease) both .42s}.dusk-menu button{display:flex;align-items:center;justify-content:space-between;gap:16px;white-space:nowrap;min-height:53px;padding:0;border:0;background:none;color:var(--text);box-shadow:inset 0 1px #f4ead829;font-family:var(--f-display);font-style:italic;font-size:27px;cursor:pointer;transition:padding .26s var(--ease),color .2s}.dusk-menu button:last-child{box-shadow:inset 0 1px #f4ead829,inset 0 -1px #f4ead829}.dusk-menu button:hover,.dusk-menu button:focus-visible{padding-left:8px}.dusk-menu button:active{color:var(--gold-hi)}.dusk-menu button .drift-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.dusk-voice{align-self:center;display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:8px 14px;border:0;border-radius:99px;background:none;color:var(--text-dim);cursor:pointer;animation:fade-in 1.2s ease both .7s}.dusk-voice:hover{color:var(--gold)}.dusk-voice:hover .drift-label{color:var(--text)}@media(max-height:700px){.dusk-title{font-size:60px}.dusk-title.is-long{font-size:46px}.dusk-menu button{min-height:48px;font-size:24px}.dusk-continue{min-height:70px}.continue-title{font-size:28px}}.drift-chart{display:flex;flex-direction:column;gap:26px;padding-bottom:20px}.chart-head{text-align:center;margin-top:10px}.chart-head h1{margin:12px 0 8px;font-size:clamp(48px,14vw,62px);line-height:.92;animation:title-in 1s var(--ease) both}.chart-head p{margin:0 auto;max-width:30ch;color:var(--text-dim);font-family:var(--f-display);font-style:italic;font-size:17px;line-height:1.35}.chart-arc{position:relative;margin:-6px -20px -10px}.chart-count{position:absolute;left:0;right:0;top:48%;margin:0;text-align:center;font-family:var(--f-display);font-style:italic}.chart-count strong{font-size:54px;font-weight:400;line-height:1;color:var(--gold-hi);text-shadow:0 0 30px rgba(255,190,120,.4)}.chart-count span{font-size:22px;color:var(--text-dim);margin-left:6px}.chart-next-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.chart-next-head h2{margin:0;font-size:30px}.campaign-routes{display:flex;flex-direction:column;gap:10px}.chart-route{display:flex;align-items:center;gap:16px;width:100%;min-height:76px;padding:0 12px 0 20px;border-radius:99px;text-align:left;animation:rise-in .7s var(--ease) both}.chart-route:nth-child(2){animation-delay:80ms}.chart-route:nth-child(3){animation-delay:.16s}.route-numeral{flex:none;width:30px;font-family:var(--f-display);font-style:italic;font-size:22px;color:var(--gold);text-align:center}.route-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.route-copy strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:24px;line-height:1.05}.chart-rule{margin:14px 0 0;text-align:center}.chart-study p{margin:0 0 16px;color:var(--text);font-family:var(--f-display);font-style:italic;font-size:19px;line-height:1.3}.study-ladder{display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;position:relative}.study-ladder:before{content:"";position:absolute;left:8%;right:8%;top:5px;height:1px;background:#f4ead829}.study-ladder li{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.study-ladder i{position:relative;width:11px;height:11px;border-radius:50%;background:#0c1a21;box-shadow:inset 0 0 0 1px #f4ead859}.study-ladder .is-done i{background:var(--gold);box-shadow:0 0 10px var(--gold)}.study-ladder .is-now i{background:#0c1a21;box-shadow:inset 0 0 0 1.5px var(--gold-hi),0 0 14px #ffcf8acc;animation:breathe 2.6s ease-in-out infinite}.study-ladder span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.chart-atlas h2{margin:0 0 12px;font-size:30px}.chart-atlas ol{margin:0;padding:0 0 0 4px;list-style:none;position:relative}.chart-atlas ol:before{content:"";position:absolute;left:9px;top:14px;bottom:14px;width:1px;background:linear-gradient(180deg,#ffcf8a80,#f4ead81a)}.chart-atlas li{display:flex;align-items:center;gap:18px;padding:10px 0}.atlas-star{position:relative;flex:none;width:11px;height:11px;border-radius:50%;background:#0c1a21;box-shadow:inset 0 0 0 1px #f4ead84d}.chart-atlas .is-done .atlas-star{background:var(--gold-hi);box-shadow:0 0 10px var(--gold)}.chart-atlas .is-now .atlas-star{box-shadow:inset 0 0 0 1.5px var(--gold-hi),0 0 16px #ffcf8ae6;animation:breathe 2.6s ease-in-out infinite}.atlas-copy{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:baseline}.atlas-copy strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:22px;line-height:1.1}.atlas-copy small{grid-column:2;color:var(--text-dim);font-size:12px;margin-top:2px}.chart-atlas .is-ahead strong{color:#f4ead88c}.chart-atlas .is-now strong{color:var(--gold-hi)}.chart-records{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:18px 0 0;box-shadow:inset 0 1px #f4ead824}.chart-records div{text-align:center}.chart-records dt{font-family:var(--f-label);font-size:7.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.chart-records dd{margin:6px 0 0;font-family:var(--f-display);font-style:italic;font-size:30px}.chart-records small{font-size:16px;color:var(--text-dim)}.chart-finish{text-align:center}html[data-theme] .campaign-atlas summary{padding:16px 18px;font-family:var(--f-label);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--text)}html[data-theme] .campaign-scoreboard{width:calc(100% - 24px);margin:0 12px 14px;border-collapse:collapse;font-size:13px}html[data-theme] .campaign-scoreboard caption{color:var(--text-dim);font-size:12px;padding-bottom:8px;text-align:left}html[data-theme] .campaign-scoreboard th{font-family:var(--f-label);font-size:7.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);text-align:left;padding:6px 4px;font-weight:400}html[data-theme] .campaign-scoreboard td{padding:8px 4px;box-shadow:inset 0 1px #f4ead814}html[data-theme] .tactical-match.gameplay-session.signal-session{--ink: var(--bg);--cream: var(--text);--surface: var(--panel);--muted: var(--text-dim);--gold: #ffcf8a;--mint: var(--yes);--coral: var(--no);display:flex!important;flex-direction:column;flex:1;height:100%!important;min-height:0!important;max-height:none!important;padding:0!important;background:transparent!important;color:var(--text)!important;overflow:hidden!important}html[data-theme] .device-program .content-scroll:has(.tactical-match){overflow:hidden;padding:0;display:flex;flex-direction:column;-webkit-mask-image:none;mask-image:none}html[data-theme] .main-content:has(.tactical-match){padding:0!important}.round-pearls{display:flex;align-items:center;gap:clamp(4px,calc(60px / var(--rounds)),9px);margin:0;padding:0;list-style:none}.round-pearls li{position:relative;width:6px;height:6px;border-radius:50%;background:#f4ead83d;transition:background .4s,box-shadow .4s,transform .4s var(--spring)}.round-pearls li.is-now{background:transparent;box-shadow:inset 0 0 0 1.2px var(--gold-hi),0 0 12px #ffdcaacc;transform:scale(1.7);animation:breathe-soft 2.4s ease-in-out infinite}.round-pearls li.is-hit{background:var(--gold-hi);box-shadow:0 0 8px var(--gold),0 0 16px #ffb46e99;animation:pearl-in .7s var(--spring)}.round-pearls li.is-hit:after{content:"";position:absolute;inset:-3px;border-radius:50%;box-shadow:0 0 0 1px var(--gold-hi);animation:flare-ring .9s var(--ease) both}.round-pearls li.is-miss{background:transparent;box-shadow:inset 0 0 0 1.2px var(--rose);animation:pearl-in .6s var(--ease)}@keyframes pearl-in{0%{transform:scale(2.4)}to{transform:scale(1)}}@keyframes flare-ring{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(3.2)}}@keyframes breathe-soft{0%,to{opacity:.6}50%{opacity:1}}html[data-theme] .device .question-stage{position:relative;flex:1 1 auto;width:auto!important;max-width:none!important;align-self:stretch;box-sizing:border-box;min-height:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:0!important;padding:4px 18px 0!important;text-align:center;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible}html[data-theme] .device .question-stage:before,html[data-theme] .device .question-stage:after{display:none!important}.question-stage>*{position:relative;z-index:1}html[data-theme] .device .tactical-match .question-phase{order:0;display:inline-flex!important;align-items:center;gap:9px;padding:0!important;border:0!important;background:none!important;color:var(--text-dim)!important;font-family:var(--f-label)!important;font-size:9px!important;letter-spacing:.32em!important;text-transform:uppercase;margin:0!important}html[data-theme] .device .tactical-match .question-phase small{display:inline!important;margin-left:2px;padding-left:10px;border-left:1px solid rgba(244,234,216,.2);color:#f4ead873;font-size:8px;letter-spacing:.26em}.phase-glyph{display:inline-grid;place-items:center;width:12px;height:12px;color:var(--gold)}.phase-dot{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.phase-answering .phase-dot{animation:breathe-soft 1.6s ease-in-out infinite}html[data-theme] .question-stage.is-correct .question-phase,html[data-theme] .question-stage.is-incorrect .question-phase{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eq-bars{display:inline-flex;align-items:flex-end;gap:2px;height:11px}.eq-bars i{width:2px;height:100%;border-radius:2px;background:currentColor;transform-origin:bottom;animation:eq .82s ease-in-out infinite}.eq-bars i:nth-child(2){animation-delay:-.3s}.eq-bars i:nth-child(3){animation-delay:-.56s}.eq-bars i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}html[data-theme] .device .tactical-match .question-stage h1{order:1;margin:2px 0 0!important;font-family:var(--f-display)!important;font-style:italic;font-size:clamp(34px,10.4vw,48px)!important;font-weight:400!important;letter-spacing:-.015em!important;line-height:1!important;text-transform:none!important;color:var(--text)!important;text-shadow:0 8px 30px rgba(0,0,0,.25);animation:verdict-in .7s var(--ease) both}html[data-theme] .device .tactical-match .question-stage.is-correct h1{font-size:clamp(48px,15vw,64px)!important;color:var(--gold-hi)!important;text-shadow:0 0 40px rgba(255,200,130,.55),0 0 2px rgba(255,230,190,.6)}html[data-theme] .device .tactical-match .question-stage.is-incorrect h1{font-size:clamp(44px,13.5vw,58px)!important;color:var(--text)!important}@keyframes verdict-in{0%{opacity:0;transform:translateY(8px);filter:blur(5px);letter-spacing:.03em}}html[data-theme] .tactical-match .question-instruction{order:2;margin:2px 0 0!important;font-family:var(--f-label);font-size:9px!important;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim)!important;animation:fade-in .7s ease both .26s}html[data-theme] .tactical-match .is-correct .question-instruction{color:var(--gold)!important}html[data-theme] .tactical-match .is-incorrect .question-instruction{color:var(--azure)!important}html[data-theme] .tactical-match .task-context{order:2;margin:0;color:var(--text-dim);font-family:var(--f-label);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase}html[data-theme] .tactical-match .question-object{order:3;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;flex:1 1 auto;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}html[data-theme] .tactical-match .question-coaching,html[data-theme] .device:has(.tactical-match) .echo-help{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}.drift-staff{display:block;width:100%;max-width:440px;height:auto;max-height:100%;overflow:visible;color:#f4ead866}.staff-lines line{stroke-width:1}.staff-clef{fill:#f4ead8d1}.staff-note{--pillar: var(--gold)}.staff-note .note-head{fill:var(--gold)}.staff-note .note-stem,.staff-note .note-ledger{stroke:#f4ead8bf;stroke-width:1.3;stroke-linecap:round}.staff-note .note-sharp{fill:#f4ead8d9}.staff-note .note-shine{fill:#fffc}.staff-note .note-ripple{fill:none;stroke:var(--gold-hi);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center}.staff-note .note-pillar{opacity:.9}.note-entered .note-head,.note-sounding .note-head{fill:var(--gold);filter:drop-shadow(0 0 4px rgba(255,200,130,.9)) drop-shadow(0 0 10px rgba(255,170,100,.5))}.note-entered,.note-matched,.note-missed,.note-reveal{animation:note-drop .52s var(--spring) both}.note-entered .note-ripple{animation:ripple .9s var(--ease) both}.note-sounding .note-head{fill:var(--gold-hi)}.note-written .note-head{fill:var(--cream)}.note-written .note-shine{display:none}.note-written{animation:fade-in .6s ease both}.note-anchor .note-head{fill:#9ccdf21f;stroke:var(--azure);stroke-width:1.2;filter:drop-shadow(0 0 6px rgba(156,205,242,.7))}.note-anchor .note-stem,.note-anchor .note-ledger{stroke:#9ccdf299}.note-anchor .note-sharp{fill:#9ccdf2bf}.note-anchor .note-shine{display:none}.note-anchor{animation:fade-in .8s ease both}.note-matched{--pillar: var(--jade)}.note-matched .note-head{fill:var(--jade);filter:drop-shadow(0 0 5px rgba(143,227,187,.9)) drop-shadow(0 0 14px rgba(143,227,187,.4))}.note-matched .note-ripple{stroke:var(--jade);animation:ripple 1.1s var(--ease) both;animation-delay:inherit}.note-missed .note-head{fill:var(--rose);filter:drop-shadow(0 0 4px rgba(255,143,128,.7))}.note-missed .note-stem,.note-missed .note-ledger{stroke:#ff8f80b3}.note-ghost .note-head{fill:#9ccdf224;stroke:var(--azure);stroke-width:1.2;stroke-dasharray:2.5 2}.note-ghost .note-stem,.note-ghost .note-ledger{stroke:#9ccdf2bf;stroke-dasharray:3 2.5}.note-ghost .note-sharp{fill:var(--azure)}.note-ghost .note-shine{display:none}.note-ghost{animation:ghost-in .9s var(--ease) both}.note-reveal .note-head{fill:var(--azure);filter:drop-shadow(0 0 6px rgba(156,205,242,.8))}.note-reveal .note-stem,.note-reveal .note-ledger{stroke:#9ccdf2cc}@keyframes note-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes ghost-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes ripple{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.6)}}.staff-slot .slot-seed{fill:#f4ead847}.staff-slot.slot-next .slot-seed{fill:var(--gold);filter:drop-shadow(0 0 4px var(--gold));animation:breathe-soft 1.4s ease-in-out infinite}.staff-slot .slot-caret{stroke:#ffcf8a59;stroke-width:1;stroke-dasharray:2 4;animation:breathe-soft 1.4s ease-in-out infinite}.staff-slot .slot-unknown{fill:#f4ead80d;stroke:#f4ead866;stroke-width:1;stroke-dasharray:2 3;transform-box:fill-box;transform-origin:center;animation:breathe 3s ease-in-out infinite}.staff-slot.is-sounding .slot-unknown{stroke:var(--gold);fill:#ffcf8a1f}.staff-slot .slot-glow{animation:fade-in .2s ease both}.staff-slot .slot-label{font-family:var(--f-label);font-size:7px;letter-spacing:.2em;fill:#f4ead86b;text-transform:uppercase}.staff-slot.slot-filled .slot-label{fill:#f4ead8b3}.staff-slot.is-sounding .slot-label{fill:var(--gold)}.is-correct .staff-slot.slot-filled .slot-label{fill:var(--jade)}html[data-theme] .tactical-match .echo-staff{position:relative;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:2px}html[data-theme] .tactical-match .phrase-anchor{margin:0!important;font-family:var(--f-label);font-size:8.5px!important;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)!important}html[data-theme] .tactical-match .phrase-anchor strong{color:var(--azure)!important;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:18px;letter-spacing:0;text-transform:none;margin-left:4px}html[data-theme] .tactical-match .phrase-response.staff-overlay{position:absolute!important;left:calc(62 / 360 * 100%);right:5%;top:22px;bottom:0;display:flex!important;gap:0!important;margin:0!important;padding:0!important;list-style:none}html[data-theme] .tactical-match .staff-overlay li{flex:1;display:flex!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}html[data-theme] .tactical-match .staff-overlay li>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}html[data-theme] .tactical-match .staff-overlay li>button{flex:1;margin:0 2px;border:0!important;border-radius:14px!important;background:transparent!important;color:transparent!important;padding:0!important;cursor:pointer}html[data-theme] .tactical-match .staff-overlay li>button:hover{background:#f4ead80d!important}html[data-theme] .tactical-match .staff-overlay li>button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--gold)!important;background:#ffcf8a14!important}html[data-theme] .tactical-match .staff-overlay li>button>*{opacity:0}html[data-theme] .tactical-match .note-staff{width:100%;max-width:360px;display:flex!important;background:none!important;border:0!important;padding:0!important}html[data-theme] .tactical-match .task-staff .drift-staff{max-width:340px}html[data-theme] .tactical-match .interval-events,html[data-theme] .tactical-match .dictation-targets{display:flex!important;align-items:center;justify-content:center;gap:18px!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important}html[data-theme] .tactical-match .musical-event{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}html[data-theme] .tactical-match .musical-event strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:26px;color:var(--text)!important}html[data-theme] .tactical-match .musical-event small{font-family:var(--f-label);font-size:7.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)!important}html[data-theme] .tactical-match .note-head{display:block;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 38% 32%,var(--gold-hi),var(--gold) 55%,var(--gold-deep))!important;transform:none;box-shadow:0 0 14px #ffbe7899,0 0 34px #ffaa644d;animation:pearl-float 3.6s ease-in-out infinite}html[data-theme] .tactical-match .musical-event+.interval-join+.musical-event .note-head{animation-delay:-1.8s}html[data-theme] .tactical-match .interval-join{width:70px;height:1px;background:linear-gradient(90deg,#ffcf8a99,#ffcf8a1a)!important;margin-bottom:30px}html[data-theme] .tactical-match .interval-events.together{flex-direction:column-reverse;gap:10px!important}html[data-theme] .tactical-match .interval-events.together .interval-join{width:1px;height:24px;margin:0;background:#ffcf8a66!important}html[data-theme] .tactical-match .interval-events.together .musical-event{flex-direction:row}@keyframes pearl-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pearl-pulse{50%{transform:scale(1.18);box-shadow:0 0 24px #ffc882e6,0 0 50px #ffaa6473}}html[data-theme] .tactical-match .chord-object{position:relative;display:flex!important;flex-direction:column-reverse;align-items:center;gap:8px!important;width:auto;height:auto;padding:0!important;background:none!important;border:0!important;filter:none}html[data-theme] .tactical-match .chord-object>span{position:static!important;display:block;width:26px!important;height:26px!important;border:0!important;border-radius:50%!important;background:radial-gradient(circle at 38% 32%,var(--gold-hi),var(--gold) 55%,var(--gold-deep))!important;box-shadow:0 0 14px #ffbe7899;transform:none!important;animation:pearl-float 3.6s ease-in-out infinite}html[data-theme] .tactical-match .chord-object>span:nth-child(2){animation-delay:-1.2s}html[data-theme] .tactical-match .chord-object>span:nth-child(3){animation-delay:-2.4s}html[data-theme] .tactical-match .chord-object>i{position:absolute!important;left:50%!important;top:-14px!important;bottom:-14px!important;width:1px!important;background:linear-gradient(180deg,transparent,rgba(255,207,138,.5),transparent)!important}html[data-theme] .tactical-match .progression-rail{display:flex!important;align-items:center;gap:26px;height:auto;background:none!important;border:0!important}html[data-theme] .tactical-match .progression-rail>span{display:block;position:static!important;width:14px;height:40px;border-radius:99px;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 50%,rgba(240,160,96,.4))!important;box-shadow:0 0 14px #ffbe7880;opacity:.6;animation:pearl-float 3.6s ease-in-out infinite}html[data-theme] .tactical-match .progression-rail>span:nth-child(2){animation-delay:-.9s}html[data-theme] .tactical-match .progression-rail>span:nth-child(3){animation-delay:-1.8s}html[data-theme] .tactical-match .progression-rail>span:nth-child(4){animation-delay:-2.7s}html[data-theme] .tactical-match .progression-rail>span{transition:opacity .7s var(--ease-soft)}html[data-theme] .tactical-match.phase-playing .progression-rail>span{opacity:1}html[data-theme] .tactical-match .progression-structure{display:flex;gap:10px;margin:0;padding:0;list-style:none;flex-wrap:wrap;justify-content:center}html[data-theme] .tactical-match .progression-structure li{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:16px;background:#9ccdf214;box-shadow:inset 0 0 0 1px #9ccdf259}html[data-theme] .tactical-match .progression-structure small{font-family:var(--f-label);font-size:7px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim)}html[data-theme] .tactical-match .progression-structure span{font-family:var(--f-display);font-style:italic;font-size:17px;color:var(--azure)}html[data-theme] .tactical-match .listening-events{display:flex!important;align-items:center;gap:12px;height:70px;background:none!important;border:0!important}html[data-theme] .tactical-match .phrase-event{display:block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 38% 32%,var(--gold-hi),var(--gold) 60%,var(--gold-deep))!important;box-shadow:0 0 10px #ffbe788c;opacity:.55;animation:pearl-float 3s ease-in-out infinite}html[data-theme] .tactical-match .phrase-event:nth-child(2n){transform:translateY(10px)}html[data-theme] .tactical-match .phrase-event{transition:opacity .7s var(--ease-soft)}html[data-theme] .tactical-match.phase-playing .phrase-event{opacity:1}@keyframes wave{0%,to{transform:translateY(12px)}50%{transform:translateY(-12px)}}html[data-theme] .tactical-match .score-symbol{font-family:var(--f-display);font-style:italic;font-size:84px;line-height:1;color:var(--cream)!important;text-shadow:0 0 30px rgba(255,207,138,.3)}html[data-theme] .tactical-match .rhythm-measure{display:flex;align-items:center;gap:22px;color:var(--text)}html[data-theme] .tactical-match .rhythm-measure strong{font-family:var(--f-display);font-size:28px;line-height:.85;font-weight:400}html[data-theme] .tactical-match .rhythm-measure span{display:flex;flex-direction:column;align-items:center;gap:8px}html[data-theme] .tactical-match .rhythm-measure i{display:block;width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1px #f4ead873}html[data-theme] .tactical-match .rhythm-measure small{font-family:var(--f-label);font-size:7.5px;color:var(--text-dim)}html[data-theme] .tactical-match .dictation-targets .note-head{width:18px;height:18px;opacity:.6}html[data-theme] .tactical-match .dictation-targets strong{font-size:20px}html[data-theme] .tactical-match .is-correct .note-head,html[data-theme] .tactical-match .is-correct .chord-object>span,html[data-theme] .tactical-match .is-correct .phrase-event,html[data-theme] .tactical-match .is-correct .progression-rail>span{background:radial-gradient(circle at 38% 32%,#e4fff1,var(--jade) 60%,#4fb487)!important;box-shadow:0 0 16px #8fe3bbb3!important}html[data-theme] .tactical-match .is-incorrect .note-head,html[data-theme] .tactical-match .is-incorrect .chord-object>span,html[data-theme] .tactical-match .is-incorrect .phrase-event,html[data-theme] .tactical-match .is-incorrect .progression-rail>span{background:radial-gradient(circle at 38% 32%,#fff0ec,var(--rose) 60%,#d35d4f)!important;box-shadow:0 0 12px #ff8f8099!important}html[data-theme] .tactical-match .note-staff .note-head{animation:none}.device-transport.transport-feedback .orb-next{animation:orb-arrive .6s var(--spring) both}.device-transport .orb-side{animation:orb-arrive .6s var(--spring) both 80ms}@keyframes orb-arrive{0%{opacity:0;transform:scale(.6)}}.drift-orb.orb-main{width:74px;height:74px}.drift-orb.orb-main.orb-gold:before{content:"";position:absolute;inset:-9px;border-radius:50%;box-shadow:0 0 0 1px #ffcf8a4d;animation:halo 2.6s ease-out infinite}.drift-orb.orb-main .orb-label{top:calc(100% + 17px)}.transport-waiting .orb-main svg{margin-left:4px}.drift-orb.is-playing{cursor:default}.orb-rings{position:relative;width:30px;height:30px}.orb-rings i{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 1.5px #3a1d0e;opacity:0;animation:rings 1.6s var(--ease) infinite}.orb-rings i:nth-child(2){animation-delay:.53s}.orb-rings i:nth-child(3){animation-delay:1.06s}@keyframes rings{0%{opacity:.9;transform:scale(.15)}to{opacity:0;transform:scale(1.15)}}html[data-mood=correct] .orb-next{box-shadow:inset 0 1px #ffffffb3,inset 0 -8px 16px -6px #b05a1e8c,0 0 0 1px #ffdcaa59,0 0 50px #ffbe78cc,0 16px 30px -12px #78320a99}html[data-theme] .device:has(.tactical-match) .device-deck{flex:1 1 auto;min-height:150px;max-height:40dvh;padding:0 12px 4px}.device-deck .match-dock,.device-deck .answer-console,.device-deck .echo-console,.device-deck .musical-response{flex:1 1 auto;display:flex;flex-direction:column;width:100%;min-height:0;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}html[data-theme] .device-deck .error-message{margin:0 0 8px;padding:10px 14px;border-radius:16px;background:var(--no-soft);color:var(--text);font-size:13px}html[data-theme] .device-deck .campaign-keyboard{position:relative;flex:1 1 auto;display:grid!important;grid-template-columns:repeat(7,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:0!important;width:100%!important;max-width:560px!important;height:auto!important;min-height:150px!important;margin:0 auto!important;padding:0!important;box-sizing:border-box;border:0!important;border-radius:22px 22px 26px 26px!important;background:#040c106b!important;box-shadow:inset 0 0 0 1px #f4ead824,0 30px 50px -20px #0009!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}html[data-theme] .device-deck .campaign-keyboard:before{content:"";position:absolute;left:0;right:0;top:0;height:10px;z-index:3;background:linear-gradient(180deg,#0000008c,#0000),linear-gradient(90deg,transparent,rgba(255,207,138,.5),transparent) 0 0 / 100% 1px no-repeat;display:block!important;pointer-events:none}html[data-theme] .device-deck .campaign-keyboard .white-key{position:relative!important;grid-row:1!important;height:100%!important;min-height:0!important;margin:0!important;padding:0 0 14px!important;display:flex!important;align-items:flex-end;justify-content:center;overflow:hidden;border:0!important;border-radius:0 0 10px 10px!important;background:linear-gradient(180deg,#f4ead821,#f4ead833 50%,#faf0de4d 90%,#f4ead829)!important;color:var(--text)!important;box-shadow:inset -1px 0 #0006,inset 1px 0 #ffffff1f,inset 0 -4px #ffffff14,inset 0 -5px #00000040!important;transform-origin:top;transition:transform 90ms var(--ease-soft),background .26s,box-shadow .26s;cursor:pointer}html[data-theme] .device-deck .campaign-keyboard .white-key:first-of-type{border-bottom-left-radius:24px!important}html[data-theme] .device-deck .campaign-keyboard .white-key:nth-of-type(7){border-bottom-right-radius:24px!important;box-shadow:inset 1px 0 #ffffff14,inset 0 -4px #ffffff12!important}html[data-theme] .device-deck .campaign-keyboard .white-key:after,html[data-theme] .device-deck .campaign-keyboard .black-key:after{content:"";position:absolute;left:-20%;right:-20%;bottom:-30%;height:90%;border-radius:50%;background:radial-gradient(closest-side,#ffd6a0f2,#ffaa6466 50%,#ff965a00);opacity:0;transform:translateY(20%) scale(.7);transition:opacity .7s var(--ease-soft),transform .9s var(--ease);pointer-events:none}html[data-theme] .device-deck .campaign-keyboard .black-key{position:absolute!important;z-index:2;top:0!important;width:9.2%!important;height:58%!important;min-height:0!important;margin:0!important;padding:0 0 10px!important;transform:translate(-50%);display:flex!important;align-items:flex-end;justify-content:center;overflow:hidden;border:0!important;border-radius:0 0 8px 8px!important;background:linear-gradient(180deg,#03080b,#0b161c 70%,#1a262d 88%,#0a1318)!important;color:var(--black-ink)!important;box-shadow:inset 1px 0 #ffffff12,inset -1px 0 #ffffff0a,inset 0 -3px #ffffff0f,0 6px 10px #0000008c,0 2px #0009!important;transform-origin:top;transition:transform 90ms var(--ease-soft),box-shadow .26s;cursor:pointer}html[data-theme] .device-deck .campaign-keyboard .white-key:not(:disabled):active,html[data-theme] .device-deck .campaign-keyboard .white-key.struck{transform:scaleY(.988)}html[data-theme] .device-deck .campaign-keyboard .black-key:not(:disabled):active,html[data-theme] .device-deck .campaign-keyboard .black-key.struck{transform:translate(-50%) scaleY(.98)}html[data-theme] .device-deck .campaign-keyboard button:not(:disabled):active:after,html[data-theme] .device-deck .campaign-keyboard .struck:after{opacity:1;transform:none;transition-duration:40ms,.16s}html[data-theme] .device-deck .campaign-keyboard .white-key:not(:disabled):active,html[data-theme] .device-deck .campaign-keyboard .white-key.struck{background:linear-gradient(180deg,#f4ead81f,#ffdcaa42 60%,#ffcf8a66)!important}html[data-theme] .device-deck .campaign-keyboard .echo-cue{box-shadow:inset 0 0 0 1.5px var(--azure),inset 0 -30px 40px -20px #9ccdf280,0 0 24px #9ccdf280!important}html[data-theme] .device-deck .campaign-keyboard .hit-good:after,html[data-theme] .device-deck .campaign-keyboard .correct:after{background:radial-gradient(closest-side,#c8ffe1f2,#8fe3bb66 50%,#8fe3bb00);opacity:1;transform:none}html[data-theme] .device-deck .campaign-keyboard .hit-miss:after,html[data-theme] .device-deck .campaign-keyboard .incorrect:after{background:radial-gradient(closest-side,#ffd2c8e6,#ff8f8073 50%,#ff8f8000);opacity:1;transform:none}html[data-theme] .device-deck .campaign-keyboard .correct{box-shadow:inset 0 0 0 1.5px var(--jade)!important}html[data-theme] .device-deck .campaign-keyboard .incorrect{box-shadow:inset 0 0 0 1.5px var(--rose)!important}html[data-theme] .device-deck .campaign-keyboard button:disabled{cursor:default;opacity:1}html[data-theme] .device-deck .campaign-keyboard .echo-unavailable,html[data-theme] .device-deck .campaign-keyboard .piano-unavailable{filter:none!important}html[data-theme] .device-deck .campaign-keyboard .white-key.echo-unavailable,html[data-theme] .device-deck .campaign-keyboard .white-key.piano-unavailable{background:linear-gradient(180deg,#f4ead808,#f4ead80f)!important;color:#f4ead840!important}html[data-theme] .device-deck .campaign-keyboard .black-key.echo-unavailable,html[data-theme] .device-deck .campaign-keyboard .black-key.piano-unavailable{background:linear-gradient(180deg,#03080b,#071015)!important;color:#f4ead824!important}html[data-theme] .device:has(.tactical-match.phase-waiting) .campaign-keyboard,html[data-theme] .device:has(.tactical-match.phase-playing) .campaign-keyboard{filter:saturate(.8) brightness(.86);transition:filter .5s}html[data-theme] .device .piano-key-light{display:none!important}html[data-theme] .device .piano-key-label{position:relative!important;z-index:1;display:flex!important;flex-direction:column;align-items:center;gap:3px;line-height:1;pointer-events:none}html[data-theme] .device .piano-key-label kbd{display:none!important}html[data-theme] .device .key-letter{font-family:var(--f-display);font-style:italic;font-size:19px;font-weight:400}html[data-theme] .device .key-octave{font-family:var(--f-label);font-size:7px;letter-spacing:.1em;opacity:.45}html[data-theme] .device .black-key .key-letter{font-family:var(--f-label);font-style:normal;font-size:7px;letter-spacing:.04em;opacity:.7}html[data-theme] .device .black-key .key-octave{display:none}html[data-theme] .device .piano-key-label svg{color:currentColor}html[data-theme] .device-deck .echo-note-buttons,html[data-theme] .device-deck .answer-grid{flex:1 1 auto;display:grid!important;gap:8px!important;margin:0!important;align-content:stretch}html[data-theme] .device-deck .echo-note-buttons{grid-template-columns:repeat(4,1fr)!important;grid-auto-rows:1fr!important}html[data-theme] .device-deck .answer-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:clamp(58px,10dvh,86px)!important;align-content:start!important;flex:none!important}html[data-theme] .device:has(.tactical-match) .device-deck:not(:has(.campaign-keyboard,.echo-note-buttons,.voice-answer)){flex:none}html[data-theme] .device-deck .answer-grid.options-2,html[data-theme] .device-deck .answer-grid.options-3{grid-template-columns:1fr!important}html[data-theme] .device .answer-button{position:relative;display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:0!important;padding:8px 12px!important;overflow:hidden;border:0!important;border-radius:22px!important;background:#f4ead812!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px #f4ead82e,inset 0 1px #ffffff1f,0 12px 24px -16px #0009!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--f-display)!important;font-style:italic;font-size:22px!important;font-weight:400;line-height:1.05;transition:transform .12s var(--ease-soft),box-shadow .24s,background .24s,opacity .3s;cursor:pointer}html[data-theme] .device .answer-button:after{content:"";position:absolute;left:10%;right:10%;bottom:-60%;height:100%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,207,138,.5),transparent);opacity:0;transition:opacity .5s;pointer-events:none}html[data-theme] .device .answer-button:not(:disabled):active:after,html[data-theme] .device .answer-button.struck:after{opacity:1;transition-duration:60ms}html[data-theme] .device .answer-button kbd{display:block!important;position:absolute;top:9px;left:14px;font-family:var(--f-label);font-style:normal;font-size:7px;color:#f4ead866;background:none;border:0;box-shadow:none;padding:0}html[data-theme] .device .answer-button:not(:disabled):hover{background:#f4ead81a!important}html[data-theme] .device .answer-button:not(:disabled):active{transform:scale(.97)}html[data-theme] .device .answer-button:disabled{opacity:1;cursor:default}html[data-theme] .device:has(.tactical-match.phase-waiting) .answer-button,html[data-theme] .device:has(.tactical-match.phase-playing) .answer-button:not(.echo-cue){opacity:.5}html[data-theme] .device .answer-button.echo-cue{box-shadow:inset 0 0 0 1.5px var(--azure),0 0 22px -4px #9ccdf2cc!important}html[data-theme] .device .answer-button.correct,html[data-theme] .device .answer-button.hit-good{background:#8fe3bb24!important;color:var(--text)!important;box-shadow:inset 0 0 0 1.5px var(--jade),0 0 30px -8px #8fe3bbcc!important;animation:tile-correct .7s var(--spring)}html[data-theme] .device .answer-button.incorrect,html[data-theme] .device .answer-button.hit-miss{background:#ff8f801f!important;color:var(--text)!important;box-shadow:inset 0 0 0 1.5px var(--rose),0 0 24px -10px #ff8f80cc!important;animation:tile-miss .5s var(--ease-soft)}html[data-theme] .device .answer-button.dimmed{opacity:.32}html[data-theme] .device .answer-button.correct svg{color:var(--jade)}html[data-theme] .device .answer-button.incorrect svg{color:var(--rose)}@keyframes tile-correct{40%{transform:scale(1.04)}}@keyframes tile-miss{20%{transform:translate(-3px)}45%{transform:translate(3px)}70%{transform:translate(-1px)}}html[data-theme] .device .contour-control{display:grid;gap:14px;align-content:center;flex:1;color:var(--text-dim);font-size:13px;text-align:center}html[data-theme] .device .contour-control output{font-family:var(--f-display);font-style:italic;font-size:30px;color:var(--gold-hi);text-align:center}html[data-theme] .device-deck .voice-answer{flex:1 1 auto;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:transparent!important;border:0!important;box-shadow:none!important;padding:6px!important;margin:0!important}html[data-theme] .device-deck .voice-talk{flex:none;width:clamp(92px,15dvh,128px)!important;height:auto!important;aspect-ratio:1;min-height:0!important;padding:0!important;display:grid!important;place-items:center;border:0!important;border-radius:50%!important;background:radial-gradient(circle at 38% 30%,#fff3,#f4ead80f 55%,#f4ead808)!important;color:var(--gold)!important;box-shadow:inset 0 0 0 1px var(--glass-line),inset 0 1px #ffffff38,0 0 40px -10px #ffbe7880!important;font-family:var(--f-label);font-size:8px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}html[data-theme] .device-deck .voice-talk.recording{animation:voice-pulse 1.1s ease-in-out infinite;background:radial-gradient(circle at 40% 32%,var(--gold-hi),var(--gold) 58%,var(--gold-deep))!important;color:#3a1d0e!important}html[data-theme] .device-deck .voice-talk:disabled{opacity:.45}html[data-theme] .device-deck .voice-instructions{margin:0;text-align:center;color:var(--text-dim);font-size:12.5px;max-width:32ch}@keyframes voice-pulse{50%{box-shadow:0 0 0 14px #ffcf8a24,0 0 60px -6px #ffbe78cc}}html[data-theme] .device-drawer-body *{max-width:100%;box-sizing:border-box}html[data-theme] .device-drawer-body summary{padding:14px 16px;color:var(--gold)}html[data-theme] .device-drawer-body,html[data-theme] .device-drawer-body p{color:var(--text);font-size:14px}html[data-theme] .device-drawer-body details,html[data-theme] .device-drawer-body .practice-lesson,html[data-theme] .device-drawer-body .answer-repair{background:#f4ead80d!important;color:var(--text)!important;border:0!important;border-radius:var(--r-md)!important;box-shadow:inset 0 0 0 1px #f4ead824!important}html[data-theme] .device-drawer-body .drift-staff{max-width:320px;margin:0 auto}html[data-theme] .notation-staff{display:block;width:min(100%,320px);margin:8px auto}html[data-theme] .content-scroll:has(.drift-results){padding-bottom:0}html[data-theme] .results-page.drift-results{max-width:600px;margin:0 auto!important;padding:0 0 calc(var(--results-actions-height, 90px) + 10px)!important;background:none!important;border:0!important;box-shadow:none!important;text-align:left;min-height:100%}html[data-theme] .drift-results .results-footer{position:fixed;left:0;right:0;bottom:0;z-index:3;display:block;padding:22px 20px calc(16px + env(safe-area-inset-bottom));border:0;background:linear-gradient(180deg,#07131800,#071318b3 45%,#071318d9)}html[data-theme] .drift-results .results-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;width:100%;max-width:580px;margin:0 auto}html[data-theme] .drift-results .drift-pill{width:100%;font-family:var(--f-display)!important;font-style:italic;font-size:23px!important}.drift-results{display:flex;flex-direction:column;align-items:stretch;gap:22px}.results-sky{margin:4px -20px -24px}.results-sky svg{display:block;width:100%;max-width:520px;margin:0 auto;overflow:visible}.results-thread{fill:none;stroke:#ffcf8a59;stroke-width:1;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--len));transition:stroke-dashoffset .26s linear}.result-star{opacity:0;transition:opacity .3s}.result-star.is-shown{opacity:1}.result-star .star-body{fill:#f4ead84d;transform-box:fill-box;transform-origin:center}.result-star.is-hit.is-shown .star-body{fill:var(--gold-hi);filter:drop-shadow(0 0 4px var(--gold)) drop-shadow(0 0 10px rgba(255,180,110,.8));animation:star-pop .7s var(--spring) both}.result-star.is-hit .star-glow{fill:#ffcf8a1f;opacity:0;transform-box:fill-box;transform-origin:center}.result-star.is-hit.is-shown .star-glow{animation:glow-pulse 1.4s var(--ease) both}.result-star .star-spark{stroke:var(--gold-hi);stroke-width:.8;opacity:0;transform-box:fill-box;transform-origin:center}.result-star.is-hit.is-shown .star-spark{animation:spark .9s var(--ease) both}.result-star.is-miss .star-body{fill:none;stroke:var(--rose);stroke-width:1.2}.result-star.is-miss.is-shown .star-body{animation:fade-in .5s ease both}.is-bloom .result-star.is-hit .star-glow{opacity:1;animation:breathe 3.4s ease-in-out infinite}@keyframes star-pop{0%{transform:scale(0)}60%{transform:scale(1.6)}to{transform:scale(1)}}@keyframes glow-pulse{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.4)}to{opacity:.4;transform:scale(1)}}@keyframes spark{0%{opacity:1;transform:scale(.2) rotate(0)}to{opacity:0;transform:scale(1.8) rotate(45deg)}}.results-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.results-head h1{margin:10px 0 0;font-size:clamp(54px,17vw,76px)!important;line-height:.95;animation:title-in 1.1s var(--ease) both .3s}.is-passed .results-head h1{color:var(--gold-hi)!important;text-shadow:0 0 40px rgba(255,200,130,.45)}.results-score{display:flex;align-items:baseline;gap:8px;margin:2px 0 0!important;font-family:var(--f-display);font-style:italic;animation:fade-in .9s ease both .6s}.results-score strong{font-size:40px;font-weight:400;line-height:1}.results-score span{font-size:22px;color:var(--text-dim)}.results-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:16px 0;box-shadow:inset 0 1px #f4ead824,inset 0 -1px #f4ead824;animation:rise-in .9s var(--ease) both .7s}.results-stats div{text-align:center}.results-stats dt{font-family:var(--f-label);font-size:7px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim)}.results-stats dd{margin:8px 0 0;font-family:var(--f-display);font-style:italic;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.results-stats dd small{font-size:16px;color:var(--text-dim)}.results-stats .stat-xp dd{color:var(--gold-hi);text-shadow:0 0 18px rgba(255,190,120,.5)}.results-stats .stat-level.is-up dt{color:var(--gold)}.results-stats .stat-level.is-up dd{color:var(--gold-hi);animation:level-up 1.2s var(--spring) both 1.6s}@keyframes level-up{0%{transform:scale(1)}40%{transform:scale(1.5);text-shadow:0 0 30px var(--gold)}to{transform:scale(1)}}.results-note{display:flex;flex-direction:column;align-items:flex-start;gap:8px;animation:rise-in .9s var(--ease) both .85s}.results-note p{display:flex;flex-direction:column;gap:6px;margin:0}.results-note em{font-family:var(--f-display);font-size:20px;color:var(--text)}.results-discovery em{color:var(--gold-hi)}.results-more{border-top:1px solid rgba(244,234,216,.14)}.results-more>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 2px;cursor:pointer;list-style:none;font-family:var(--f-label);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}.results-more>summary::-webkit-details-marker{display:none}.results-more[open]>summary{color:var(--text)}.results-more>summary:after{content:"+";font-family:DM Sans,system-ui,sans-serif;font-size:16px;letter-spacing:0;line-height:1;color:var(--gold)}.results-more[open]>summary:after{content:"−"}.results-more>:not(summary){margin-bottom:14px}html[data-theme] .results-performance{padding:14px 18px}html[data-theme] .results-performance p{margin:4px 0;color:var(--text-dim)}.results-actions .drift-pill{animation:rise-in .9s var(--ease) both 1s}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.drift-field .sky-l{animation:none!important}}@media(max-height:720px){:root{--header-h: 50px}html[data-theme] .device .tactical-match .question-stage h1{font-size:30px!important}.device-transport{min-height:78px;padding-bottom:16px}.drift-orb.orb-main{width:62px;height:62px}.device-strip>.device-portal{row-gap:8px}}@media(min-width:720px){.device-screen,.device-status{width:100%;max-width:620px;margin:0 auto;box-sizing:border-box}}html[data-theme] .study-art{margin:6px 0 0;text-align:center}html[data-theme] .study-art .drift-staff{max-width:340px;margin:4px auto 0}html[data-theme] .study-art figcaption{margin-top:2px;color:var(--text-dim);font-family:var(--f-display);font-style:italic;font-size:16px;line-height:1.35}html[data-theme] .study-art-heading{text-align:center}html[data-theme] .drift-emblem{display:block;width:min(220px,70%);height:auto;margin:0 auto}.drift-emblem .emblem-orbit{transform-box:view-box}.drift-emblem .emblem-moon{animation:pearl-float 4s ease-in-out infinite}.drift-emblem.is-celebrate .emblem-spark{transform-box:fill-box;transform-origin:center;animation:spark-slow 3s ease-in-out infinite}@keyframes spark-slow{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}html[data-theme] .empty-illustration{margin:0 auto 6px}html[data-theme] .practice-recipe .practice-level,html[data-theme] .practice-recipe .readiness-note,html[data-theme] .practice-recipe details{background:none!important;box-shadow:inset 0 1px #f4ead81f!important;border-radius:0!important;backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme] .practice-recipe h2,html[data-theme] .practice-recipe h3{font-size:30px}html[data-theme] .practice-picker>summary{min-height:64px;padding:12px 20px;border-radius:99px!important}html[data-theme] .practice-picker>summary strong,html[data-theme] .practice-picker>summary b{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:22px}html[data-theme] .party-welcome h2{font-size:34px;line-height:1}html[data-theme] .party-welcome .party-chip,html[data-theme] .party-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px}html[data-theme] .audition-actions{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;margin:14px 0 6px}html[data-theme] .audition-actions .button{font-size:19px!important;padding:0 16px}html[data-theme] .audition-status{font-family:var(--f-label);font-size:8.5px!important;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)!important}html[data-theme] .settings-panel h3{font-size:26px;margin:18px 0 8px}html[data-theme] .gameplay-session.signal-session .note-head{border:0!important}html[data-theme] .gameplay-session.signal-session .note-head:after{display:none!important}html[data-theme] .practice-level-heading output{background:none!important;box-shadow:none!important;padding:0!important;font-family:var(--f-display);font-style:italic;font-size:32px;color:var(--gold-hi)}html[data-theme] .practice-level-heading label{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:24px}html[data-theme] :is(.practice-page,.campaign-page,.progress-page,.party-page,.local-party-page,.session-page){background:none!important;border:0!important;box-shadow:none!important}html[data-theme] .local-party-page .session-top{background:none!important;border:0!important;box-shadow:none!important}@media(max-height:700px){.dusk-sky{min-height:262px}.dusk-sky-copy{top:70px}.dusk-sky-copy .drift-ornament{margin-top:14px}.dusk-menu{margin-top:12px}.dusk-menu button{min-height:44px;font-size:23px}.dusk-voice{margin-top:8px}}html[data-theme] .local-party-page.performance-session,html[data-theme] .party-page:has(.listening-stage){display:flex;flex-direction:column;min-height:100%;gap:0}html[data-theme] .content-scroll:has(.local-party-page.performance-session){-webkit-mask-image:none;mask-image:none}html[data-theme] .match-hud.ensemble-hud{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:0;margin:0 -8px;background:none!important;border:0!important;box-shadow:none!important}html[data-theme] .ensemble-hud .icon-button{width:42px;height:42px;border:0;border-radius:50%;background:transparent!important;color:var(--text-dim)!important;box-shadow:none!important}html[data-theme] .ensemble-hud .match-position{display:flex;justify-content:center;align-items:baseline;gap:14px;font-family:var(--f-label);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim)}html[data-theme] .ensemble-hud .ensemble-player{color:var(--text)}html[data-theme] .ensemble-hud .ensemble-score{color:var(--gold)}html[data-theme] .ensemble-options{position:absolute;top:0;right:0}html[data-theme] .listening-stage{flex:1 1 auto;display:grid!important;place-items:center;min-height:220px!important;padding:20px 0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important}html[data-theme] .sound-button{position:relative;display:grid;place-items:center;width:96px;height:96px;padding:0;border:0;border-radius:50%;color:#3a1d0e;background:radial-gradient(circle at 40% 32%,var(--gold-hi),var(--gold) 58%,var(--gold-deep))!important;box-shadow:inset 0 1px #ffffffb3,inset 0 -10px 18px -8px #b05a1e8c,0 0 44px #ffbe788c,0 18px 34px -14px #78320a99!important;cursor:pointer}html[data-theme] .sound-button.compact{width:56px;height:56px}html[data-theme] .sound-button .sound-orbit{position:absolute;inset:-12px;border-radius:50%;box-shadow:0 0 0 1px #ffcf8a59;animation:halo 2.6s ease-out infinite;border:0!important;background:none!important}html[data-theme] .sound-button .sound-core{display:grid;place-items:center;background:none!important;color:inherit!important;box-shadow:none!important}html[data-theme] .sound-button .sound-bars{display:flex;align-items:flex-end;gap:3px;height:22px}html[data-theme] .sound-button .sound-bars i{width:3px;height:100%;border-radius:2px;background:currentColor;transform-origin:bottom;animation:eq .82s ease-in-out infinite}html[data-theme] .sound-button>span:not(.sound-orbit):not(.sound-core),html[data-theme] .sound-button .sound-label{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--f-label);font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);background:none!important;padding:0!important}html[data-theme] .match-dock{display:flex;flex-direction:column;gap:14px;padding:0 0 8px;background:none!important;border:0!important;box-shadow:none!important}html[data-theme] .match-dock h1{margin:0 0 4px;padding:0!important;text-align:center;font-size:clamp(32px,9.5vw,44px)!important;line-height:1.02;background:none!important;color:var(--text)!important;box-shadow:none!important}html[data-theme] .match-dock .answer-console-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;background:none!important;border:0!important}html[data-theme] .match-dock .answer-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:clamp(58px,10dvh,86px)!important;gap:8px!important;margin:0!important}html[data-theme] .match-dock .answer-grid.options-2,html[data-theme] .match-dock .answer-grid.options-3{grid-template-columns:1fr!important}html[data-theme] .match-dock .answer-button,html[data-theme] .party-page .answer-button{position:relative;display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:0!important;padding:8px 12px!important;overflow:hidden;border:0!important;border-radius:22px!important;background:#f4ead812!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px #f4ead82e,inset 0 1px #ffffff1f!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--f-display)!important;font-style:italic;font-size:22px!important;font-weight:400;cursor:pointer}html[data-theme] .match-dock .answer-button.correct{background:#8fe3bb24!important;box-shadow:inset 0 0 0 1.5px var(--jade),0 0 30px -8px #8fe3bbcc!important;animation:tile-correct .7s var(--spring)}html[data-theme] .match-dock .answer-button.incorrect{background:#ff8f801f!important;box-shadow:inset 0 0 0 1.5px var(--rose)!important;animation:tile-miss .5s var(--ease-soft)}html[data-theme] .match-dock .answer-button.dimmed{opacity:.32}html[data-theme] .match-dock .answer-button.correct svg{color:var(--jade)}html[data-theme] .answer-feedback{padding:18px 20px!important;border:0!important;border-radius:var(--r-lg)!important;background:#f4ead80f!important;box-shadow:inset 0 0 0 1px #f4ead829!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:rise-in .6s var(--ease) both}html[data-theme] .feedback-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}html[data-theme] .feedback-title{display:flex;align-items:center;gap:10px;color:var(--gold-hi)}html[data-theme] .feedback-title h2{margin:0;font-size:26px}html[data-theme] .feedback-detail summary{margin-top:10px;font-family:var(--f-label);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}html[data-theme] .party-finale{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:20px}html[data-theme] .scoreboard{width:100%;display:flex;flex-direction:column;margin:10px 0}html[data-theme] .score-row{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;padding:14px 4px;box-shadow:inset 0 1px #f4ead824;background:none!important;border:0!important}html[data-theme] .score-row .rank{font-family:var(--f-display);font-style:italic;font-size:22px;color:var(--text-dim)}html[data-theme] .score-row strong{text-align:left;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:24px}html[data-theme] .score-row .score-number{font-family:var(--f-display);font-style:italic;font-size:26px;color:var(--gold-hi)}html[data-theme] .score-row.leading strong{color:var(--gold-hi)}html[data-theme] .handoff-stage{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:26px 20px!important}html[data-theme] .handoff-stage h1 span{color:var(--gold-hi)}html[data-theme] .listening-stage .sound-button{justify-self:center;align-self:center;margin:0 auto!important;inset:auto!important;position:relative!important;transform:none!important}html[data-theme] .match-dock .answer-console-toolbar{flex-direction:column}html[data-theme] .device:has(.tactical-match) .device-deck{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scroll-padding-bottom:12px}html[data-theme] .device:has(.tactical-match) .device-deck .match-dock{flex:none}.device-transport .orb-side{flex:none}.modal .answer-repair>summary{display:none}.modal-backdrop{z-index:1000}html[data-theme] .device-program:has(.tactical-match.phase-waiting:not(.task-staff)),html[data-theme] .device-program:has(.tactical-match.phase-answering),html[data-theme] .device-screen:has(.tactical-match.phase-waiting:not(.task-staff)) .device-strip,html[data-theme] .device-screen:has(.tactical-match.phase-answering) .device-strip{cursor:pointer;-webkit-tap-highlight-color:transparent}.device-transport .tap-listen{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;min-height:74px;margin:0}.device-transport .tap-listen .orb-label{position:static;font-family:var(--f-label);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim)}.device-transport .tap-waiting .orb-label{color:var(--gold, var(--accent));animation:tap-breathe 2.4s ease-in-out infinite}.device-transport .tap-listen .orb-rings{position:relative;width:34px;height:34px}@keyframes tap-breathe{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.device-transport .tap-waiting .orb-label{animation:none}}html[data-theme] .tactical-match .chord-object.is-uncounted>span{width:46px!important;height:46px!important;filter:blur(1px)}.device-transport .tap-listen .orb-rings i{box-shadow:0 0 0 1.5px var(--gold, var(--accent))}.tactical-match{position:relative}.touch-bloom-area{position:absolute;inset:0;pointer-events:none;visibility:hidden}.device-screen>.device-portal>.touch-bloom,.touch-bloom{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;mix-blend-mode:screen}.device-program:has(.touch-bloom-area){touch-action:manipulation;user-select:none;-webkit-user-select:none}.answer-grid{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.answer-grid .answer-button:disabled{pointer-events:none}.term-sheet{display:flex;flex-direction:column;gap:18px;padding-bottom:6px}html[data-theme] .modal .term-rule{margin:0;font-family:var(--f-display);font-style:italic;font-size:23px;line-height:1.25;color:var(--gold)}html[data-theme] .modal .term-description{margin:0;font-size:15px;line-height:1.6;color:color-mix(in srgb,var(--cream) 82%,transparent)}.term-example{display:flex;flex-direction:column;gap:10px}.term-example>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.term-letters{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;min-width:0;font-family:var(--f-display);font-size:20px;font-weight:400;color:var(--cream)}.term-letters i{font-style:normal;padding:0 3px;color:var(--text-dim);font-size:16px}.term-group,.term-letter-wrap{display:inline-flex;align-items:center}.term-letter{min-width:34px;min-height:36px;padding:0 6px;border:0;border-radius:10px;background:none;color:inherit;font:inherit;cursor:pointer;transition:background .2s,color .2s,text-shadow .2s}.term-letter:hover:not(:disabled){background:var(--glass)}.term-letter:active:not(:disabled),.term-letter.is-now{color:var(--gold-hi);text-shadow:0 0 14px rgba(255,190,120,.8);background:var(--accent-soft)}.term-letter:disabled{cursor:default}.term-bookmark{flex:none;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);color:var(--text-dim);cursor:pointer;transition:color .2s,background .2s,box-shadow .2s,transform .14s}.term-bookmark:active{transform:scale(.94)}.term-bookmark.is-saved{color:var(--gold);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line),0 0 18px -4px #ffbe7899}.term-sound{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:4px;text-align:center}.term-sound>strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:24px;color:var(--cream)}.term-sound>strong small{font-family:var(--f-label);font-style:normal;font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.term-sound-controls{display:flex;align-items:center;gap:18px;margin-top:6px}html[data-theme] .modal .term-hint{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:color-mix(in srgb,var(--cream) 55%,transparent)}.keybed-scroll{position:relative;overflow-x:auto;overflow-y:hidden;border-radius:10px;background:#07060a;box-shadow:inset 0 0 0 1px var(--glass-line),0 18px 40px -22px #000;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:manipulation;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent)}.keybed-scroll::-webkit-scrollbar{display:none}.keybed-scroll:active{cursor:grabbing}.keybed{position:relative;height:112px;padding:0}.keybed.is-compact{height:74px}.kb-octave{font-family:var(--f-label);font-size:7.5px;letter-spacing:.08em;color:#281a0c80;pointer-events:none}.kb-key{position:absolute;top:0;display:flex;align-items:flex-end;justify-content:center;padding:0 0 7px;border:0;margin:0;cursor:pointer;font:inherit;transition:background .26s var(--ease),box-shadow .26s var(--ease),transform .12s ease;-webkit-tap-highlight-color:transparent}.kb-white{height:100%;background:linear-gradient(180deg,#d9d2c4,#f4ead8 70%,#e4dccd);box-shadow:inset -1px 0 #00000047;border-radius:0 0 5px 5px;z-index:1}.kb-black{height:61%;background:linear-gradient(180deg,#24212a,#121016 85%);box-shadow:inset 0 -3px #000,0 2px 4px #00000080;border-radius:0 0 4px 4px;z-index:2}.kb-key:active{transform:translateY(1px)}.kb-key.is-tonic:after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:color-mix(in srgb,var(--gold-deep) 60%,transparent)}.kb-white.is-lit{background:linear-gradient(180deg,#f6c98a,var(--gold) 60%,#ffe4b8);box-shadow:inset -1px 0 #0003,0 0 22px 2px #ffbe788c;animation:kb-strike .52s var(--ease) both}.kb-black.is-lit{background:linear-gradient(180deg,#c98a3e,var(--gold-deep) 70%,#ffbd76);box-shadow:0 0 18px 2px #ffaa6499;animation:kb-strike .52s var(--ease) both}.kb-key.is-root.kb-white{background:linear-gradient(180deg,#ffd9a0,#fff1d6 65%,#ffe6bf)}.kb-key.is-root:before{content:"";position:absolute;inset:auto 18% 24px;height:2px;border-radius:2px;background:#6b3f12;opacity:.55}.kb-key.is-now{filter:brightness(1.15)}.kb-name{font-family:var(--f-label);font-size:9px;letter-spacing:.06em;color:#3b220c;pointer-events:none}.kb-black .kb-name{color:#2a1404;font-size:8px}@keyframes kb-strike{0%{filter:brightness(1.6);transform:translateY(2px)}to{filter:none;transform:none}}.term-progression{display:flex;flex-direction:column;gap:8px}.term-chord{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;opacity:.55;transition:opacity .3s var(--ease)}.term-chord.is-lit{opacity:1}.term-numeral{font-family:var(--f-display);font-style:italic;font-size:22px;color:var(--gold);text-align:center}.term-chord.is-now .term-numeral{text-shadow:0 0 14px rgba(255,190,120,.8)}.stage-reveal{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px;animation:reveal-in .48s var(--ease) both}.reveal-streak{font-family:var(--f-label);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--cream) 55%,transparent)}.reveal-name{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 18px;border:0;border-radius:999px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--gold);font-family:var(--f-display);font-style:italic;font-size:22px;cursor:pointer}.reveal-name i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--accent-line);font:600 11px/1 var(--f-text);font-style:normal;color:var(--gold)}.reveal-name:active{transform:scale(.97)}.reveal-notes{font-family:var(--f-label);font-size:11px;letter-spacing:.14em;color:var(--cream);opacity:.85;white-space:pre}@keyframes reveal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.glossary-page{display:flex;flex-direction:column;gap:26px;padding:8px 16px 40px;max-width:680px;margin:0 auto;width:100%;box-sizing:border-box}.glossary-head h1{font-family:var(--f-display);font-size:40px;font-weight:400;margin:0}.glossary-head p{margin:8px 0 16px;color:color-mix(in srgb,var(--cream) 65%,transparent);font-size:14px;line-height:1.5}.glossary-search{flex-direction:row;align-items:center;gap:8px;padding:0 14px;border-radius:999px;background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);color:color-mix(in srgb,var(--cream) 60%,transparent)}.glossary-search input{border:0;background:transparent;min-height:44px;padding:0;color:var(--cream)}.glossary-search input:focus{outline:none}.glossary-group h2{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;font-family:var(--f-display);font-weight:400;font-size:26px}.glossary-group h2 small{font-family:var(--f-text);font-size:12px;color:color-mix(in srgb,var(--cream) 55%,transparent)}.glossary-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.glossary-group li button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 16px;border:0;border-radius:var(--r-md);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line);color:var(--cream);text-align:left;cursor:pointer;font:inherit}.glossary-group li button>span{display:flex;flex-direction:column;gap:3px;min-width:0}.glossary-group li strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:20px}.glossary-group li small{font-size:12.5px;color:color-mix(in srgb,var(--cream) 60%,transparent)}.glossary-group li svg{flex:none;color:var(--gold);opacity:.7}.glossary-group li button:active{transform:scale(.99);background:var(--glass-2)}.glossary-empty{text-align:center;color:color-mix(in srgb,var(--cream) 55%,transparent)}.glossary-tabs{display:flex;gap:6px;margin:0 0 14px}.glossary-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border:0;border-radius:99px;background:none;box-shadow:inset 0 0 0 1px var(--glass-line);color:var(--text-dim);font-family:var(--f-label);font-size:9px;letter-spacing:.26em;text-transform:uppercase;cursor:pointer}.glossary-tabs button[aria-selected=true]{color:var(--gold-hi);background:var(--glass-2);box-shadow:inset 0 0 0 1px var(--accent-line)}.glossary-tabs small{min-width:18px;padding:2px 5px;border-radius:99px;background:var(--gold);color:#3a1d0e;font-size:8px;letter-spacing:0;font-weight:700}.notebook-item{display:flex;align-items:stretch;gap:6px}.notebook-item>button:first-child{flex:1;min-width:0}html[data-theme] .glossary-group li .notebook-remove{flex:none;width:46px;justify-content:center;padding:0;color:var(--text-dim)}.notebook-empty{display:flex;align-items:center;justify-content:center;gap:10px;max-width:34ch;margin:20px auto;line-height:1.5}@media(prefers-reduced-motion:reduce){.kb-key.is-lit,.stage-reveal{animation:none}}html[data-theme] .glossary-search input{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;padding:0!important}.glossary-group h2{display:block}.glossary-category{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.glossary-category>span{display:flex;flex-direction:column;gap:4px;min-width:0}.glossary-category>span small{font-family:var(--f-text);font-size:12px;color:color-mix(in srgb,var(--cream) 55%,transparent)}.glossary-category em{flex:none;display:inline-flex;align-items:center;gap:2px;padding:6px 4px 6px 10px;border-radius:99px;font-family:var(--f-label);font-style:normal;font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);box-shadow:inset 0 0 0 1px var(--accent-line);transition:background .2s,color .2s}.glossary-category:hover em,.glossary-category:focus-visible em{background:var(--accent-soft);color:var(--gold-hi)}.glossary-category:active em{transform:scale(.97)}.term-pager{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:-4px 0 16px}.term-strip{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);padding:2px 14px}.term-strip::-webkit-scrollbar{display:none}.term-strip button{flex:none;min-height:32px;padding:0 12px;border:0;border-radius:99px;background:none;color:var(--text-dim);font-family:var(--f-display);font-style:italic;font-size:15px;white-space:nowrap;cursor:pointer;transition:color .2s,background .2s,box-shadow .2s}.term-strip button:first-child{font-family:var(--f-label);font-style:normal;font-size:8.5px;letter-spacing:.22em;text-transform:uppercase}.term-strip button.is-current{color:var(--gold-hi);background:var(--glass-2);box-shadow:inset 0 0 0 1px var(--accent-line)}.term-page{touch-action:pan-y;transition:transform .22s var(--ease)}.term-page.is-next{animation:term-turn-next .32s var(--ease) both}.term-page.is-prev{animation:term-turn-prev .32s var(--ease) both}@keyframes term-turn-next{0%{opacity:0;transform:translate(28px)}}@keyframes term-turn-prev{0%{opacity:0;transform:translate(-28px)}}.term-prose,.term-examples{display:flex;flex-direction:column;gap:12px}.term-sheet.is-example{gap:12px;padding:14px 14px 12px;border-radius:var(--r-md);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line)}.term-example-head{display:flex;flex-direction:column;gap:3px}.term-example-head strong{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:20px;color:var(--cream)}.term-example-head small{font-size:13px;line-height:1.45;color:color-mix(in srgb,var(--cream) 68%,transparent)}.term-sheet.is-example .term-letters{font-size:17px}.term-play{color:var(--gold)}.term-index{display:flex;flex-direction:column;gap:10px}.term-turn{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:22px;padding-top:14px;border-top:1px solid var(--glass-line)}.term-turn button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;border:0;background:none;color:var(--cream);font-family:var(--f-display);font-style:italic;font-size:17px;text-align:left;cursor:pointer;justify-self:start;min-width:0}.term-turn button.is-next{justify-self:end;text-align:right}.term-turn button span{display:flex;flex-direction:column;min-width:0}.term-turn button small{font-family:var(--f-label);font-style:normal;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim)}.term-turn svg{flex:none;color:var(--gold)}.term-count{font-family:var(--f-label);font-size:9px;letter-spacing:.18em;color:var(--text-dim)}html[data-theme] .progress-page .progress-section,html[data-theme] .progress-page .progress-overview,html[data-theme] .progress-page .readiness-note,html[data-theme] .progress-page .progress-focus{padding:22px 20px!important;margin-block:0 16px}html[data-theme] .progress-page .progress-overview{padding-block:6px!important}html[data-theme] .progress-page .progress-overview>div{padding-inline:0}html[data-theme] .progress-page .progress-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}html[data-theme] .progress-page .progress-section-heading>div{min-width:0}html[data-theme] .progress-page .progress-section-heading>svg{flex:none;margin-top:4px}html[data-theme] .progress-page .progress-section-heading h2{margin:0 0 6px}html[data-theme] .progress-page .progress-measure-note{margin:0 4px 20px}html[data-theme] .progress-page .progress-history-note{padding-inline:4px}html[data-theme] .progress-page .progress-analysis{margin-bottom:16px}html[data-theme] .progress-page .progress-table-scroll{margin-inline:-4px}html[data-theme] .progress-page :is(.progress-skill-list,.progress-confusions)>li{padding-inline:0}html[data-theme] .progress-page .progress-details>summary{min-height:48px;display:flex;align-items:center;gap:10px}html[data-theme] .progress-page select{max-width:100%;text-overflow:ellipsis}@media(max-width:600px){html[data-theme] .main-content.view-progress{padding-inline:6px}html[data-theme] .view-progress .content-scroll{padding-inline:12px}html[data-theme] .progress-page .progress-section,html[data-theme] .progress-page .progress-overview,html[data-theme] .progress-page .progress-focus{padding:20px 18px!important}html[data-theme] .progress-page .progress-section-heading h2{font-size:22px}html[data-theme] .progress-page .progress-overview>div{column-gap:14px}}html[data-theme] .achievements .ach-meter{height:6px;border-radius:99px;background:#f4ead81a;overflow:hidden;margin:4px 0 20px}html[data-theme] .achievements .ach-meter>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--gold-hi, var(--accent)))}html[data-theme] .achievements .ach-subhead{font-family:var(--f-label);font-style:normal;font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);margin:0 0 4px}html[data-theme] .achievements .ach-list{list-style:none;margin:0 0 12px;padding:0}html[data-theme] .achievements .ach-list>li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:12px 0;box-shadow:inset 0 -1px #f4ead814}html[data-theme] .achievements .ach-list>li:last-child{box-shadow:none}html[data-theme] .achievements .ach-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--text-dim);box-shadow:inset 0 0 0 1px #f4ead838}html[data-theme] .achievements li.is-earned .ach-icon{color:var(--accent-ink);background:var(--accent);box-shadow:0 0 18px -6px var(--glow)}html[data-theme] .achievements .ach-copy{min-width:0}html[data-theme] .achievements .ach-copy strong{display:block;font-family:var(--f-display);font-style:italic;font-weight:400;font-size:19px;line-height:1.2;color:var(--text)}html[data-theme] .achievements li:not(.is-earned) .ach-copy strong{color:var(--text-dim)}html[data-theme] .achievements .ach-copy p{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--text-dim);overflow-wrap:anywhere}html[data-theme] .achievements .ach-date{display:block;margin-top:6px;font-size:12px;color:var(--yes)}html[data-theme] .achievements .ach-progress{display:flex;align-items:center;gap:10px;margin-top:7px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}html[data-theme] .achievements .ach-progress>i{flex:1;max-width:160px;height:4px;border-radius:99px;background:#f4ead81a;overflow:hidden}html[data-theme] .achievements .ach-progress>i>b{display:block;height:100%;background:var(--accent);opacity:.75}html[data-theme] .achievements .ach-groups{margin-top:8px}html[data-theme] .achievements .ach-group{box-shadow:inset 0 1px #f4ead81a}html[data-theme] .achievements .ach-group>summary{list-style:none;padding:12px 0}html[data-theme] .achievements .ach-group>summary::-webkit-details-marker{display:none}html[data-theme] .achievements .ach-group-title{flex:1;min-width:0;font-size:15px;color:var(--text)}html[data-theme] .achievements .ach-group-title small{display:block;margin-top:2px;font-size:12px;color:var(--text-dim)}html[data-theme] .achievements .ach-group-count{flex:none;font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}html[data-theme] .achievements .ach-group>summary>svg{flex:none;transition:transform .2s}html[data-theme] .achievements .ach-group[open]>summary>svg{transform:rotate(180deg)}html[data-theme] .achievements .ach-group{margin:0;padding:0;border:0}html[data-theme] .achievements .ach-group>summary,html[data-theme] .achievements .ach-group>summary *{text-decoration:none}html[data-theme] .achievements .ach-group[open]>.ach-list{margin-bottom:8px}html[data-theme] .progress-page .progress-scenario-filter{display:grid;gap:8px;margin-bottom:12px}html[data-theme] .progress-page .progress-mode-filter{margin-bottom:20px}.drift-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;container-type:size;background:rgb(var(--sky-base));transition:background-color 1.2s var(--ease-soft)}.drift-field .sky-l{position:absolute;display:block;pointer-events:none;will-change:transform;transition:opacity 2.4s var(--ease-soft)}.sky-soft{border-radius:50%}.drift-breath{position:absolute;left:50%;top:34%;width:120cqw;height:60cqh;margin:-30cqh 0 0 -60cqw;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-glow) / .42),rgb(var(--sky-glow) / .12) 50%,transparent);opacity:calc(var(--energy) * .9);transform:scale(calc(.7 + var(--energy) * .45))}.drift-bloom{position:absolute;inset:0;opacity:0}.drift-grain{position:absolute;inset:0;opacity:.28;background-image:radial-gradient(rgba(255,255,255,.06) .7px,transparent 1px),radial-gradient(rgba(0,0,0,.28) .7px,transparent 1px);background-size:3px 3px,4px 4px;background-position:0 0,1px 2px}@keyframes drift-a{to{transform:translate(22cqw,8cqh) scale(1.14)}}@keyframes drift-b{to{transform:translate(-20cqw,-7cqh) scale(1.1)}}@keyframes drift-c{to{transform:translate(18cqw,-6cqh) scale(.9)}}.drift-blob.b1{width:130cqw;height:58cqh;left:-52cqw;top:-16cqh;background:radial-gradient(closest-side,rgb(var(--sky-warm) / .62),rgb(var(--sky-warm) / .22) 55%,rgb(var(--sky-warm) / 0));animation:drift-a 28s ease-in-out infinite alternate}.drift-blob.b2{width:112cqw;height:62cqh;right:-58cqw;top:20cqh;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .85),rgb(var(--sky-deep) / .3) 58%,rgb(var(--sky-deep) / 0));animation:drift-b 33s ease-in-out infinite alternate}.drift-blob.b3{width:130cqw;height:52cqh;left:-36cqw;top:58cqh;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .85),rgb(var(--sky-cool) / .3) 58%,rgb(var(--sky-cool) / 0));animation:drift-c 24s ease-in-out infinite alternate}.drift-blob.b4{width:84cqw;height:40cqh;left:10cqw;top:12cqh;background:radial-gradient(closest-side,rgb(var(--sky-light) / .42),rgb(var(--sky-light) / 0));opacity:.7;animation:drift-b 20s ease-in-out infinite alternate-reverse}@container (min-aspect-ratio: 1 / 1){.drift-blob.b1{width:80cqw;left:-20cqw}.drift-blob.b2{width:70cqw;right:-26cqw}.drift-blob.b3{width:90cqw;left:-10cqw}.drift-blob.b4{width:50cqw;left:25cqw}}@keyframes sky-swell{0%{transform:translate(-7cqw,2cqh) scaleY(.9)}to{transform:translate(7cqw,-3cqh) scale(1.05,1.12)}}[data-sky=tide] .l1{width:150cqw;height:70cqh;left:-25cqw;top:-32cqh;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .8),rgb(var(--sky-deep) / .25) 60%,transparent);animation:drift-b 34s ease-in-out infinite alternate}[data-sky=tide] .l2{width:190cqw;height:44cqh;left:-45cqw;top:46cqh;background:radial-gradient(closest-side,rgb(var(--sky-warm) / .6),rgb(var(--sky-warm) / .18) 60%,transparent);animation:sky-swell 15s ease-in-out infinite alternate}[data-sky=tide] .l3{width:120cqw;height:20cqh;left:-10cqw;top:52cqh;background:radial-gradient(closest-side,rgb(var(--sky-light) / .38),transparent);animation:sky-swell 11s ease-in-out -4s infinite alternate-reverse}[data-sky=tide] .l4{width:210cqw;height:48cqh;left:-62cqw;top:62cqh;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .85),rgb(var(--sky-cool) / .3) 60%,transparent);animation:sky-swell 19s ease-in-out -7s infinite alternate}[data-sky=tide] .l5{width:230cqw;height:40cqh;left:-60cqw;top:82cqh;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .75),transparent);animation:sky-swell 24s ease-in-out -11s infinite alternate-reverse}@keyframes sky-slide{0%{transform:translate(-26cqw) scaleY(.88)}to{transform:translate(26cqw) scaleY(1.12)}}[data-sky=veil] .sky-l{width:210cqw;height:38cqh;left:-55cqw;animation:sky-slide 40s ease-in-out infinite alternate}[data-sky=veil] .l1{top:-10cqh;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .8),transparent);animation-duration:42s}[data-sky=veil] .l2{top:10cqh;background:radial-gradient(closest-side,rgb(var(--sky-warm) / .5),transparent);animation-duration:31s;animation-direction:alternate-reverse}[data-sky=veil] .l3{top:28cqh;background:radial-gradient(closest-side,rgb(var(--sky-light) / .24),transparent);animation-duration:26s;animation-delay:-9s}[data-sky=veil] .l4{top:42cqh;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .75),transparent);animation-duration:47s;animation-direction:alternate-reverse}[data-sky=veil] .l5{top:60cqh;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .7),transparent);animation-duration:36s;animation-delay:-14s}[data-sky=veil] .l6{top:78cqh;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .6),transparent);animation-duration:54s;animation-direction:alternate-reverse}@keyframes sky-sway{0%{transform:translate(-7cqw) skew(-12deg) scaleY(.92);opacity:.6}to{transform:translate(8cqw) skew(10deg) scaleY(1.06);opacity:1}}[data-sky=aurora] .l1{width:170cqw;height:64cqh;left:-35cqw;top:58cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .8),rgb(var(--sky-cool) / .25) 60%,transparent);animation:drift-c 30s ease-in-out infinite alternate}[data-sky=aurora] .l2{width:150cqw;height:50cqh;left:-20cqw;top:-18cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .85),transparent);animation:drift-a 36s ease-in-out infinite alternate}[data-sky=aurora] :is(.l3,.l4,.l5,.l6){width:38cqw;height:88cqh;top:-6cqh;transform-origin:50% 0;-webkit-mask-image:radial-gradient(closest-side,#000 25%,transparent);mask-image:radial-gradient(closest-side,#000 25%,transparent);animation:sky-sway 19s ease-in-out infinite alternate}[data-sky=aurora] .l3{left:-8cqw;background:linear-gradient(to bottom,transparent 4%,rgb(var(--sky-light) / .42) 34%,rgb(var(--sky-warm) / .36) 62%,transparent 94%)}[data-sky=aurora] .l4{left:20cqw;background:linear-gradient(to bottom,transparent 8%,rgb(var(--sky-cool) / .75) 38%,rgb(var(--sky-deep) / .5) 66%,transparent 96%);animation-duration:25s;animation-delay:-8s}[data-sky=aurora] .l5{left:46cqw;background:linear-gradient(to bottom,transparent 2%,rgb(var(--sky-warm) / .5) 30%,rgb(var(--sky-deep) / .5) 64%,transparent 92%);animation-duration:21s;animation-delay:-15s;animation-direction:alternate-reverse}[data-sky=aurora] .l6{left:72cqw;background:linear-gradient(to bottom,transparent 10%,rgb(var(--sky-light) / .3) 40%,rgb(var(--sky-cool) / .55) 70%,transparent 96%);animation-duration:28s;animation-delay:-4s}@keyframes sky-ring{0%{transform:scale(.12);opacity:0}14%{opacity:1}to{transform:scale(1.7);opacity:0}}[data-sky=resonance] .l1{width:140cqw;height:60cqh;left:-48cqw;top:-14cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-warm) / .5),rgb(var(--sky-warm) / .15) 60%,transparent);animation:drift-a 30s ease-in-out infinite alternate}[data-sky=resonance] .l2{width:150cqw;height:60cqh;left:-30cqw;top:60cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .8),rgb(var(--sky-cool) / .25) 60%,transparent);animation:drift-c 26s ease-in-out infinite alternate}[data-sky=resonance] .l3{width:110cqw;height:70cqh;right:-50cqw;top:22cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .8),transparent);animation:drift-b 34s ease-in-out infinite alternate}[data-sky=resonance] :is(.l4,.l5,.l6,.l7){width:120cqmin;height:120cqmin;left:calc(50% - 60cqmin);top:calc(34% - 60cqmin);border-radius:50%;animation:sky-ring 16s cubic-bezier(.2,.6,.4,1) infinite}[data-sky=resonance] .l4{background:radial-gradient(closest-side,transparent 66%,rgb(var(--sky-light) / .3) 74%,rgb(var(--sky-warm) / .14) 80%,transparent 90%)}[data-sky=resonance] .l5{background:radial-gradient(closest-side,transparent 66%,rgb(var(--sky-cool) / .45) 75%,transparent 90%);animation-delay:-4s}[data-sky=resonance] .l6{background:radial-gradient(closest-side,transparent 66%,rgb(var(--sky-warm) / .32) 74%,rgb(var(--sky-deep) / .2) 82%,transparent 92%);animation-delay:-8s}[data-sky=resonance] .l7{background:radial-gradient(closest-side,transparent 66%,rgb(var(--sky-deep) / .55) 76%,transparent 90%);animation-delay:-12s}@keyframes sky-rise-a{0%{transform:translate(0);opacity:0}12%{opacity:1}78%{opacity:.8}to{transform:translate(7cqw,-128cqh);opacity:0}}@keyframes sky-rise-b{0%{transform:translate(0);opacity:0}12%{opacity:.9}78%{opacity:.7}to{transform:translate(-9cqw,-128cqh);opacity:0}}[data-sky=lanterns] .l1{width:140cqw;height:58cqh;left:-50cqw;top:-18cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .85),rgb(var(--sky-deep) / .25) 60%,transparent);animation:drift-a 32s ease-in-out infinite alternate}[data-sky=lanterns] .l2{width:120cqw;height:56cqh;right:-50cqw;top:26cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-warm) / .45),transparent);animation:drift-b 28s ease-in-out infinite alternate}[data-sky=lanterns] .l3{width:150cqw;height:54cqh;left:-36cqw;top:62cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .8),rgb(var(--sky-cool) / .25) 60%,transparent);animation:drift-c 24s ease-in-out infinite alternate}[data-sky=lanterns] :is(.l4,.l5,.l6,.l7,.l8,.l9,.l10){width:34cqmin;height:34cqmin;top:104cqh;border-radius:50%;opacity:0;background:radial-gradient(closest-side,rgb(var(--sky-glow) / .34),rgb(var(--sky-light) / .2) 30%,rgb(var(--sky-warm) / .08) 60%,transparent);animation:sky-rise-a 42s linear infinite}[data-sky=lanterns] .l4{left:8cqw;animation-delay:-3s}[data-sky=lanterns] .l5{left:26cqw;width:24cqmin;height:24cqmin;animation-name:sky-rise-b;animation-duration:50s;animation-delay:-21s}[data-sky=lanterns] .l6{left:44cqw;width:44cqmin;height:44cqmin;animation-duration:38s;animation-delay:-30s}[data-sky=lanterns] .l7{left:62cqw;width:26cqmin;height:26cqmin;animation-name:sky-rise-b;animation-duration:46s;animation-delay:-10s}[data-sky=lanterns] .l8{left:80cqw;animation-duration:54s;animation-delay:-38s}[data-sky=lanterns] .l9{left:52cqw;width:20cqmin;height:20cqmin;animation-name:sky-rise-b;animation-duration:40s;animation-delay:-16s}[data-sky=lanterns] .l10{left:16cqw;width:22cqmin;height:22cqmin;animation-duration:48s;animation-delay:-44s}@keyframes sky-fold{0%{transform:rotate(-24deg) translate(-9cqw,-2cqh) scaleY(.7)}to{transform:rotate(-9deg) translate(9cqw,4cqh) scaleY(1.3)}}@keyframes sky-fold-b{0%{transform:rotate(16deg) translate(8cqw,3cqh) scaleY(1.2)}to{transform:rotate(6deg) translate(-8cqw,-3cqh) scaleY(.75)}}[data-sky=silk] .l1{width:150cqw;height:60cqh;left:-25cqw;top:26cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .7),transparent);animation:drift-b 40s ease-in-out infinite alternate}[data-sky=silk] :is(.l2,.l3,.l4,.l5){width:230cqw;height:36cqh;left:-65cqw;-webkit-mask-image:radial-gradient(closest-side,#000 10%,transparent);mask-image:radial-gradient(closest-side,#000 10%,transparent);animation:sky-fold 26s ease-in-out infinite alternate}[data-sky=silk] .l2{top:4cqh;background:linear-gradient(90deg,transparent 6%,rgb(var(--sky-warm) / .62) 32%,rgb(var(--sky-deep) / .6) 56%,rgb(var(--sky-cool) / .6) 80%,transparent 96%)}[data-sky=silk] .l3{top:34cqh;background:linear-gradient(90deg,transparent 6%,rgb(var(--sky-cool) / .7) 28%,rgb(var(--sky-deep) / .55) 52%,rgb(var(--sky-warm) / .5) 78%,transparent 96%);animation-name:sky-fold-b;animation-duration:31s}[data-sky=silk] .l4{top:44cqh;height:18cqh;background:linear-gradient(90deg,transparent 10%,rgb(var(--sky-light) / .24) 40%,rgb(var(--sky-glow) / .12) 62%,transparent 90%);animation-duration:21s;animation-delay:-9s}[data-sky=silk] .l5{top:66cqh;background:linear-gradient(90deg,transparent 6%,rgb(var(--sky-deep) / .7) 30%,rgb(var(--sky-cool) / .7) 64%,transparent 94%);animation-name:sky-fold-b;animation-duration:37s;animation-delay:-14s}@keyframes sky-beam{0%{transform:rotate(16deg) translate(-10cqw);opacity:.45}to{transform:rotate(30deg) translate(10cqw);opacity:1}}[data-sky=lightfall] .l1{width:130cqw;height:60cqh;right:-45cqw;top:-20cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-warm) / .6),rgb(var(--sky-warm) / .2) 60%,transparent);animation:drift-b 30s ease-in-out infinite alternate}[data-sky=lightfall] .l2{width:120cqw;height:66cqh;left:-50cqw;top:22cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-deep) / .85),transparent);animation:drift-a 36s ease-in-out infinite alternate}[data-sky=lightfall] .l3{width:150cqw;height:52cqh;left:-30cqw;top:64cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .85),rgb(var(--sky-cool) / .28) 60%,transparent);animation:drift-c 26s ease-in-out infinite alternate}[data-sky=lightfall] :is(.l4,.l5,.l6,.l7){width:22cqw;height:150cqh;top:-32cqh;transform-origin:50% 0;background:linear-gradient(to bottom,rgb(var(--sky-glow) / .3),rgb(var(--sky-light) / .12) 45%,transparent 85%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);animation:sky-beam 30s ease-in-out infinite alternate}[data-sky=lightfall] .l4{left:14cqw}[data-sky=lightfall] .l5{left:40cqw;width:14cqw;animation-duration:23s;animation-delay:-9s}[data-sky=lightfall] .l6{left:62cqw;width:30cqw;animation-duration:37s;animation-delay:-18s;animation-direction:alternate-reverse}[data-sky=lightfall] .l7{left:86cqw;width:16cqw;animation-duration:27s;animation-delay:-4s}@keyframes sky-turn{to{transform:rotate(360deg)}}@keyframes sky-turn-back{to{transform:rotate(-360deg)}}[data-sky=eclipse] .l1{width:160cqw;height:70cqh;left:-30cqw;top:54cqh;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-cool) / .7),transparent);animation:drift-c 30s ease-in-out infinite alternate}[data-sky=eclipse] :is(.l2,.l3){left:calc(50% - var(--r));top:calc(33% - var(--r));width:calc(var(--r) * 2);height:calc(var(--r) * 2);border-radius:50%}[data-sky=eclipse] .l2{--r: 110cqmin;opacity:.5;background:conic-gradient(from 40deg,rgb(var(--sky-deep) / .9),rgb(var(--sky-cool) / .8),rgb(var(--sky-deep) / .9),rgb(var(--sky-warm) / .7),rgb(var(--sky-deep) / .9));-webkit-mask-image:radial-gradient(closest-side,transparent 22%,#000 55%,transparent);mask-image:radial-gradient(closest-side,transparent 22%,#000 55%,transparent);animation:sky-turn-back 160s linear infinite}[data-sky=eclipse] .l3{--r: 70cqmin;opacity:.62;background:conic-gradient(from 0deg,rgb(var(--sky-warm) / .8),rgb(var(--sky-deep) / .85),rgb(var(--sky-cool) / .8),rgb(var(--sky-light) / .45),rgb(var(--sky-warm) / .8));-webkit-mask-image:radial-gradient(closest-side,transparent 34%,#000 58%,rgb(0 0 0 / .5) 74%,transparent);mask-image:radial-gradient(closest-side,transparent 34%,#000 58%,rgb(0 0 0 / .5) 74%,transparent);animation:sky-turn 90s linear infinite}[data-sky=eclipse] .l4{left:calc(50% - 36cqmin);top:calc(33% - 36cqmin);width:72cqmin;height:72cqmin;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--sky-base) / .55) 30%,transparent)}html[data-mood=listening] .drift-blob.b4{opacity:1}html[data-mood=answering] .drift-blob.b4{opacity:.85}html[data-mood=incorrect] .drift-blob.b1{opacity:.45}html[data-mood=incorrect] .drift-blob.b4{opacity:.25}.drift-field:not(.is-mini) .sky-fx{transition:opacity 2.4s var(--ease-soft)}html[data-mood=incorrect] .drift-field:not(.is-mini) .sky-fx{opacity:.78}.sky-fx{position:absolute;inset:0}.drift-field.is-mini .sky-l{animation-play-state:paused;will-change:auto;transition:none}.drift-field.is-mini.is-live .sky-l{animation-play-state:running;will-change:transform}html.field-still .drift-field *,html.reduce-motion .drift-field *{animation-play-state:paused!important}@keyframes sky-fx-in{0%{opacity:0}}.drift-field:not(.is-mini)>.sky-fx{animation:sky-fx-in 1.6s var(--ease-soft)}html.field-still .drift-field>.sky-fx{animation-play-state:running!important}
