[data-skin=lab]{--lab-page:#fafcfb;--lab-panel:#fff;--lab-panel-2:#f1f5f9;--lab-ink:#18201e;--lab-ink-2:#46504d;--lab-ink-3:#69736f;--lab-accent:#7c3aed;--lab-accent-tint:#ede9fe;--lab-accent-ink:#5b21b6;--lab-instrument-bg:#091117;--lab-instrument-bezel:#26343d;--lab-instrument-grid:#213039;--lab-instrument-ink:#edf7f3;--lab-ok:#16835f;--lab-warn:#b45309;--lab-bad:#c82f4f;--lab-sans:var(--font-cairo), "Cairo", sans-serif;--lab-mono:var(--font-cairo), "Cairo", sans-serif;color:var(--lab-ink);font-family:var(--lab-sans);--lab-hairline:#f1f5f9!important}[data-skin=lab] *,[data-skin=lab] :before,[data-skin=lab] :after{box-sizing:border-box}[data-skin=lab] button,[data-skin=lab] a,[data-skin=lab] input{font:inherit}[data-skin=lab] button,[data-skin=lab] a{-webkit-tap-highlight-color:transparent}[data-skin=lab] :focus-visible{outline:3px solid var(--lab-accent);outline-offset:3px}.lab-kicker{color:var(--lab-accent-ink);font-family:var(--lab-mono);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700;line-height:1.35}:is(.public-layout__main:has(.lab-hub),.public-layout__main:has(.lab-shell)){width:100%;max-width:none;padding:0}.lab-shell{background-color:var(--lab-page);background-image:linear-gradient(90deg,#0000 31px,#35433e0e 32px),linear-gradient(#0000 31px,#35433e0e 32px);background-size:32px 32px;width:100%;max-width:none;min-height:100vh;margin:0;overflow-x:clip}.lab-skip-link{z-index:100;border:1px solid var(--lab-ink);background:var(--lab-panel);min-height:44px;color:var(--lab-ink);padding:.7rem 1rem;position:fixed;top:-5rem;left:1rem}.lab-skip-link:focus{top:1rem}.lab-rail{display:none}.lab-workspace{min-width:0;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.lab-mobile-header{z-index:30;border-bottom:1px solid var(--lab-hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f6f2f5;grid-template-columns:44px minmax(0,1fr) 36px;align-items:center;gap:.65rem;min-height:64px;padding:.55rem .8rem;display:grid;position:sticky;top:0}.lab-mobile-header a{width:44px;height:44px;color:var(--lab-ink);place-items:center;display:grid}.lab-mobile-header svg{width:21px;height:21px}.lab-mobile-header div{min-width:0}.lab-mobile-header span,.lab-mobile-header strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lab-mobile-header span{color:var(--lab-ink-3);font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.lab-mobile-header strong{font-size:.94rem}.lab-mobile-header>svg{color:var(--lab-accent)}.lab-lesson-header{display:none}.lab-mobile-topics{border-bottom:1px solid var(--lab-hairline);background:var(--lab-panel);flex-wrap:wrap;gap:.5rem;padding:.7rem 1rem;display:flex}.lab-mobile-topics button{border:1px solid var(--lab-hairline);min-width:52px;min-height:44px;color:var(--lab-ink-2);font-family:var(--lab-mono);background:0 0;border-radius:999px;font-weight:700}.lab-mobile-topics button[aria-current=step]{border-color:var(--lab-accent);background:var(--lab-accent-tint);color:var(--lab-accent-ink)}.lab-content{width:100%;max-width:none;margin:0;padding:1rem}.lab-content--practice{background:var(--lab-panel);padding:0;overflow:hidden}.lab-bottom-nav{z-index:40;padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));border-top:1px solid var(--lab-hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #16201d14}.lab-bottom-nav button{min-height:56px;color:var(--lab-ink-3);background:0 0;border:0;border-radius:8px;place-items:center;gap:.15rem;font-size:.68rem;font-weight:700;display:grid}.lab-bottom-nav svg{width:20px;height:20px}.lab-bottom-nav button[aria-current=page]{background:var(--lab-accent-tint);color:var(--lab-accent-ink)}.lab-instrument{background:var(--lab-instrument-bg);width:100%;max-width:1180px;color:var(--lab-instrument-ink);box-shadow:inset 0 0 0 5px var(--lab-instrument-bezel), 0 12px 34px #080f143d;border:1px solid #354650;border-radius:14px;margin-inline:auto;overflow:hidden}.lab-instrument__header{border-bottom:1px solid #34434b;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.65rem 1rem .55rem;display:flex}.lab-instrument__eyebrow,.lab-instrument__readout dt{color:#9eafb6;font-family:var(--lab-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.lab-instrument__title{color:#fff;margin:.1rem 0 0;font-size:1rem;line-height:1.2}.lab-instrument__subtitle{color:#b9c7cc;margin:.15rem 0 0;font-size:.74rem}.lab-instrument__reset{color:#f4f8f7;background:#152129;border:1px solid #52636c;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;min-width:44px;min-height:44px;padding:.4rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.lab-instrument__reset svg{width:15px}.lab-instrument__readouts{background:#101b22;border-bottom:1px solid #34434b;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin:0;padding:.45rem 1rem;display:grid}.lab-instrument__readout{border-left:2px solid var(--lab-accent);padding:.15rem .6rem}.lab-instrument__readout dd{color:#fff;font-family:var(--lab-mono);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:.4rem;margin:.15rem 0 0;font-size:1.05rem;display:flex}.lab-instrument__readout small{color:#9eafb6;font-size:.62rem}.lab-instrument__stage{background-image:linear-gradient(var(--lab-instrument-grid) 1px, transparent 1px), linear-gradient(90deg, var(--lab-instrument-grid) 1px, transparent 1px);background-size:24px 24px;min-height:180px;padding:.5rem}.lab-instrument__stage>canvas,.lab-instrument__stage canvas{max-height:min(300px,42vw)}.lab-tool-skeleton{min-height:100vh;color:var(--lab-ink);font-family:var(--lab-sans);background:var(--lab-page);background-image:linear-gradient(90deg,#0000 31px,#35433e0e 32px),linear-gradient(#0000 31px,#35433e0e 32px);background-size:32px 32px;grid-template-columns:260px minmax(0,1fr);display:grid}.lab-tool-skeleton__rail{border-right:1px solid var(--lab-hairline);background:#fffffff5;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.lab-tool-skeleton__workspace{min-width:0}.lab-tool-skeleton__back,.lab-tool-skeleton__line,.lab-tool-skeleton__title,.lab-tool-skeleton__heading,.lab-tool-skeleton__readout,.lab-tool-skeleton__eyebrow,.lab-tool-skeleton__card-heading,.lab-tool-skeleton__card-copy{background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0) 0 0/200% 100%;border-radius:4px;animation:1.6s ease-in-out infinite lab-skeleton-shimmer;display:block}.lab-tool-skeleton__back{width:7rem;height:2.75rem}.lab-tool-skeleton__mark{color:#cbd5e1;background:#e2e8f0;place-items:center;width:3rem;height:3rem;display:grid}.lab-tool-skeleton__mark svg{width:23px;height:23px}.lab-tool-skeleton__line{width:15rem;max-width:100%;height:.7rem}.lab-tool-skeleton__line--short{width:6rem}.lab-tool-skeleton__title{width:10rem;height:1.7rem}.lab-tool-skeleton__nav{border-block:1px solid var(--lab-hairline);gap:.45rem;padding-block:.9rem;display:grid}.lab-tool-skeleton__nav span{background:#f1f5f9;height:2.75rem}.lab-tool-skeleton__topics{gap:.45rem;padding-top:.5rem;display:grid}.lab-tool-skeleton__topics span{border-bottom:1px solid var(--lab-hairline);background:#f8fafc;height:2.2rem}.lab-tool-skeleton__header{border-bottom:1px solid var(--lab-hairline);background:#fffffff2;justify-content:space-between;align-items:end;gap:2rem;min-height:148px;padding:2rem 2.5rem 1.4rem;display:flex}.lab-tool-skeleton__header>div{gap:.65rem;display:grid}.lab-tool-skeleton__heading{width:min(24rem,55vw);height:2.7rem}.lab-tool-skeleton__readout{background:#17242a;width:10rem;height:4.2rem}.lab-tool-skeleton__content{width:min(1180px,100%);margin:0 auto;padding:2rem 2.5rem 3rem}.lab-tool-skeleton__eyebrow{width:6rem;height:.7rem}.lab-tool-skeleton__card-heading{width:min(22rem,75vw);height:2rem;margin-top:.8rem}.lab-tool-skeleton__card-copy{width:min(34rem,90vw);height:1rem;margin-top:.8rem}.lab-tool-skeleton__instrument{background:linear-gradient(145deg,#15242c,#091117);border:1px solid #354650;border-radius:14px;height:min(430px,52vw);margin-top:1.7rem;box-shadow:inset 0 0 0 5px #26343d}@keyframes lab-skeleton-shimmer{to{background-position:-200% 0}}@media (max-width:1023px){.lab-tool-skeleton{display:block}.lab-tool-skeleton__rail,.lab-tool-skeleton__header{display:none}.lab-tool-skeleton__content{padding:5.5rem 1rem 5rem}}@media (prefers-reduced-motion:reduce){.lab-tool-skeleton__back,.lab-tool-skeleton__line,.lab-tool-skeleton__title,.lab-tool-skeleton__heading,.lab-tool-skeleton__readout,.lab-tool-skeleton__eyebrow,.lab-tool-skeleton__card-heading,.lab-tool-skeleton__card-copy{animation:none}}.lab-instrument__controls{border-top:1px solid #34434b;padding:.6rem 1rem .75rem}.lab-learn{width:100%;max-width:1280px;margin:0 auto}.lab-learn__progress{color:var(--lab-ink-2);font-family:var(--lab-mono);font-variant-numeric:tabular-nums;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.72rem;display:flex}.lab-learn__progress>div,.lab-mastery>div{background:var(--lab-hairline);flex:1;height:4px;overflow:hidden}.lab-learn__progress i,.lab-mastery i{background:var(--lab-accent);height:100%;display:block}.lab-learn__beat{border:1px solid var(--lab-hairline);background:var(--lab-panel);padding:clamp(1rem,3vw,2.2rem);box-shadow:0 14px 40px #1d272412}.lab-learn__beat>h2{letter-spacing:-.035em;max-width:20ch;margin:.45rem 0 1rem;font-size:clamp(1.65rem,5vw,2.65rem);line-height:1.06}.lab-learn__explain{color:var(--lab-ink-2);font-size:1rem;line-height:1.7}.lab-learn__instrument{margin:1.5rem calc(-1*clamp(1rem,3vw,2.2rem))}.lab-observe{border-left:3px solid var(--lab-accent);background:var(--lab-accent-tint);color:var(--lab-ink-2);margin:1rem 0 1.5rem;padding:.9rem 1rem}.lab-check{border:1px solid var(--lab-hairline);background:var(--lab-page);padding:1rem}.lab-check h3{margin:.35rem 0 1rem;font-size:1.05rem}.lab-check__options{gap:.6rem;display:grid}.lab-check__options button,.lab-check__free button,.lab-next{border:1px solid var(--lab-ink);background:var(--lab-panel);min-height:44px;color:var(--lab-ink);font-weight:700}.lab-check__options button{text-align:left;padding:.75rem .9rem}.lab-check__options button:hover:not(:disabled){border-color:var(--lab-accent);background:var(--lab-accent-tint)}.lab-check__free{grid-template-columns:1fr auto;gap:.5rem;display:grid}.lab-check__free label{color:var(--lab-ink-2);grid-column:1/-1;font-size:.78rem;font-weight:700}.lab-check__free input{border:1px solid var(--lab-hairline);background:#fff;min-width:0;min-height:44px;padding:.65rem}.lab-check__free button{padding:.6rem .9rem}.lab-check__feedback{border:1px solid;gap:.7rem;margin-top:.8rem;padding:.85rem;display:flex}.lab-check__feedback svg{flex:none;width:21px}.lab-check__feedback strong,.lab-check__feedback p{margin:0;display:block}.lab-check__feedback p{color:var(--lab-ink-2);margin-top:.2rem;font-size:.88rem}.lab-check__feedback.is-correct{color:var(--lab-ok);background:#e6f5ef}.lab-check__feedback.is-wrong{color:var(--lab-bad);background:#fff0f3}.lab-next{background:var(--lab-ink);color:#fff;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.7rem 1rem;display:flex}.lab-next svg{width:18px}.lab-3d{height:280px;min-height:280px}.lab-3d>div{min-height:280px}.lab-3d__loading,.lab-3d__static{color:#c5d1d5;font-family:var(--lab-mono);align-content:center;place-items:center;gap:.7rem;font-size:.75rem;display:grid}.lab-3d__loading span{border:2px solid #52636c;border-top-color:var(--lab-accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite lab-spin}.lab-3d__fallback{width:min(100%,420px)}.lab-3d__static p{margin:0}.lab-hub{background:var(--lab-page);background-image:radial-gradient(#b9c0ba .8px,#0000 .8px);background-size:18px 18px;width:100%;max-width:none;min-height:100vh;margin:0;padding:clamp(.75rem,2vw,2rem);overflow-x:clip}.lab-hub__inner{width:min(1180px,100%);margin:0 auto}.lab-hub__hero{border:1px solid var(--lab-ink);background:#fff;gap:1.25rem;padding:clamp(1.2rem,4vw,3rem);display:grid;position:relative;overflow:hidden;box-shadow:8px 8px #d8dcd7}.lab-hub__hero:after{content:"";background:linear-gradient(90deg,#d97706 20%,#7c3aed 20% 40%,#e11d48 40% 60%,#0d9488 60% 80%,#4f46e5 80%);height:5px;position:absolute;inset:0 0 auto}.lab-hub__back{min-height:44px;color:var(--lab-ink-2);align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.lab-hub__back svg{width:18px}.lab-hub__hero h1{letter-spacing:-.065em;max-width:11ch;margin:.65rem 0 .8rem;font-size:clamp(2.5rem,8vw,5.8rem);line-height:.9}.lab-hub__hero-copy>p:last-child{max-width:58ch;color:var(--lab-ink-2);margin:0;line-height:1.65}.lab-hub__specimen{background:var(--lab-instrument-bg);color:#fff;min-height:150px;box-shadow:inset 0 0 0 5px var(--lab-instrument-bezel);border:1px solid #42505a;grid-template-columns:auto 1fr auto;align-items:end;gap:.45rem;padding:1rem;display:grid}.lab-hub__specimen span{color:#a8b8bf;font-family:var(--lab-mono);font-size:.8rem}.lab-hub__specimen strong{font-family:var(--lab-mono);letter-spacing:-.06em;font-size:clamp(2.4rem,8vw,4.5rem)}.lab-hub__specimen small{color:#a8b8bf;font-family:var(--lab-mono);grid-column:1/-1}.lab-hub__specimen i{background:repeating-linear-gradient(90deg,#7c3aed 0 8px,#0000 8px 12px);grid-column:1/3;height:3px}.lab-hub__specimen svg{color:#a78bfa;width:30px}.lab-hub__stats{border-top:1px solid var(--lab-hairline);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.lab-hub__stats div{border-right:1px solid var(--lab-hairline);padding:.8rem}.lab-hub__stats div:last-child{border-right:0}.lab-hub__stats dt{color:var(--lab-ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}.lab-hub__stats dd{font-family:var(--lab-mono);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.5rem}.lab-hub__controls{border:1px solid var(--lab-hairline);background:#fffffff5;gap:.8rem;margin-top:1.5rem;padding:1rem;display:grid}.lab-hub__search{position:relative}.lab-hub__search label{color:var(--lab-ink-2);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.lab-hub__search svg{width:19px;color:var(--lab-ink-3);position:absolute;bottom:.75rem;left:.8rem}.lab-hub__search input{border:1px solid var(--lab-hairline);background:var(--lab-page);width:100%;min-height:46px;color:var(--lab-ink);padding:.65rem .8rem .65rem 2.5rem}.lab-hub__filters{flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.2rem;display:flex}.lab-hub__filters>svg{width:18px;color:var(--lab-ink-3);flex:none}.lab-hub__filters button{border:1px solid var(--lab-hairline);min-height:44px;color:var(--lab-ink-2);background:#fff;flex:none;padding:.55rem .8rem;font-size:.75rem;font-weight:700}.lab-hub__filters button[aria-pressed=true]{border-color:var(--lab-ink);background:var(--lab-ink);color:#fff}.lab-hub__count{color:var(--lab-ink-3);font-family:var(--lab-mono);margin:0;font-size:.72rem}.lab-hub__catalog{margin-top:2rem}.lab-unit{margin-top:2.5rem}.lab-unit__header{grid-template-columns:auto 1fr auto;align-items:end;gap:1rem;margin-bottom:.8rem;display:grid}.lab-unit__header span,.lab-unit__header small{color:var(--lab-ink-3);font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.lab-unit__header h2{margin:.15rem 0 0;font-size:clamp(1.4rem,4vw,2rem)}.lab-unit__header i{background:var(--lab-accent);height:1px}.lab-unit__grid{gap:.9rem;display:grid}.lab-chapter{background:#ffffffe0;border:1px dashed #aeb6b0;flex-direction:column;min-width:0;min-height:310px;padding:1rem;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.lab-chapter:hover{border-color:var(--lab-accent);transform:translateY(-3px);box-shadow:0 12px 28px #18201e14}.lab-chapter__top,.lab-chapter footer{color:var(--lab-ink-3);font-family:var(--lab-mono);text-transform:uppercase;justify-content:space-between;align-items:center;gap:.5rem;font-size:.65rem;display:flex}.lab-chapter__status{border:1px solid var(--lab-hairline);background:var(--lab-panel-2);padding:.25rem .45rem}.lab-chapter.is-ready{border-style:solid;border-color:var(--lab-accent)}.lab-chapter.is-ready .lab-chapter__status{border-color:var(--lab-accent);background:var(--lab-accent-tint);color:var(--lab-accent-ink);font-weight:800}.lab-chapter__instrument{border-left:3px solid var(--lab-accent);background:var(--lab-instrument-bg);color:#fff;align-items:center;gap:.65rem;margin:1rem 0;padding:.65rem;display:flex}.lab-chapter__instrument svg{width:23px;color:var(--lab-accent)}.lab-chapter__instrument span,.lab-chapter__instrument strong{display:block}.lab-chapter__instrument span{color:#9eafb6;font-family:var(--lab-mono);text-transform:uppercase;font-size:.58rem}.lab-chapter__instrument strong{margin-top:.1rem;font-size:.82rem}.lab-chapter h3{letter-spacing:-.02em;margin:0;font-size:1.35rem}.lab-chapter__topics{flex-wrap:wrap;gap:.35rem;margin:.8rem 0 1rem;display:flex}.lab-chapter__topics span{border:1px solid var(--lab-hairline);background:var(--lab-accent-tint);color:var(--lab-ink-2);padding:.25rem .45rem;font-size:.66rem}.lab-chapter footer{border-top:1px solid var(--lab-hairline);text-transform:none;justify-content:flex-start;margin-top:auto;padding-top:.75rem}.lab-chapter footer svg{width:14px;margin-left:.35rem}.lab-chapter__open{border:1px solid var(--lab-accent);background:var(--lab-accent);color:#fff;justify-content:center;align-items:center;min-height:42px;margin-top:.75rem;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.lab-chapter__open:hover{background:var(--lab-accent-ink)}.lab-chapter__pending{border:1px dashed var(--lab-hairline);min-height:42px;color:var(--lab-ink-3);background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-top:.75rem;padding:0 .9rem;font-size:.78rem;font-weight:600;display:inline-flex}.lab-empty{border:1px dashed var(--lab-hairline);background:var(--lab-panel);text-align:center;padding:2rem}.lab-empty>svg{width:34px;color:var(--lab-accent)}@keyframes lab-spin{to{transform:rotate(360deg)}}@media (min-width:640px){.lab-content{padding:1.5rem}.lab-hub__hero{grid-template-columns:minmax(0,1fr) minmax(250px,.65fr)}.lab-hub__stats{grid-column:1/-1}.lab-hub__controls{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr) auto;align-items:end}.lab-unit__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lab-shell{grid-template-columns:260px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.lab-rail{border-right:1px solid var(--lab-hairline);background:#fffffff5;flex-direction:column;height:100vh;padding:1rem;display:flex;position:sticky;top:0;overflow:hidden auto}.lab-back{min-height:44px;color:var(--lab-ink-2);align-items:center;gap:.35rem;font-size:.74rem;font-weight:700;text-decoration:none;display:flex}.lab-back svg{width:17px}.lab-rail__mark{border:1px solid var(--lab-ink);background:var(--lab-instrument-bg);width:48px;height:48px;color:var(--lab-accent);box-shadow:4px 4px 0 var(--lab-accent-tint);place-items:center;margin:1rem 0 .8rem;display:grid}.lab-rail__mark svg{width:23px}.lab-rail>h1{margin:.2rem 0 1.2rem;font-size:1.35rem;line-height:1.05}.lab-mode-nav{border-block:1px solid var(--lab-hairline);gap:.3rem;padding:.75rem 0;display:grid}.lab-mode-nav button{min-height:44px;color:var(--lab-ink-2);text-align:left;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:.65rem;padding:.55rem .65rem;font-weight:700;display:flex}.lab-mode-nav button[aria-current=page]{border-left-color:var(--lab-accent);background:var(--lab-accent-tint);color:var(--lab-accent-ink)}.lab-mode-nav svg{width:18px}.lab-topic-nav{gap:.25rem;padding-top:1rem;display:grid}.lab-topic-nav>p{margin-bottom:.35rem}.lab-topic-nav button{border:0;border-bottom:1px solid var(--lab-hairline);min-height:44px;color:var(--lab-ink-2);text-align:left;background:0 0;grid-template-columns:40px minmax(0,1fr);align-items:center;padding:.25rem;display:grid}.lab-topic-nav button[aria-current=step]{color:var(--lab-accent-ink)}.lab-topic-nav button span{border:1px solid var(--lab-hairline);width:32px;height:32px;font-family:var(--lab-mono);place-items:center;font-size:.62rem;display:grid}.lab-topic-nav button svg{width:14px;color:var(--lab-ok)}.lab-topic-nav button b{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.lab-mastery{color:var(--lab-ink-3);margin-top:auto;padding-top:1rem;font-size:.7rem}.lab-mastery span,.lab-mastery strong{display:block}.lab-mastery strong{color:var(--lab-ink);font-family:var(--lab-mono);margin:.2rem 0 .5rem;font-size:1.25rem}.lab-workspace{flex-direction:column;height:100vh;padding-bottom:0;display:flex;overflow:hidden}.lab-mobile-header,.lab-mobile-topics,.lab-bottom-nav{display:none}.lab-lesson-header{border-bottom:1px solid var(--lab-hairline);background:#f6f6f2e0;flex-shrink:0;justify-content:space-between;align-items:center;gap:1.5rem;min-height:80px;padding:.8rem 2.5rem .7rem;display:flex}.lab-lesson-header h2{letter-spacing:-.045em;margin:.25rem 0;font-size:2.4rem;line-height:1}.lab-lesson-header>div>p:last-child{color:var(--lab-ink-2);margin:0}.lab-lesson-header__readout{border:1px solid var(--lab-instrument-bezel);background:var(--lab-instrument-bg);color:#fff;min-width:160px;padding:.7rem .9rem}.lab-lesson-header__readout span,.lab-lesson-header__readout strong,.lab-lesson-header__readout small{font-family:var(--lab-mono);display:block}.lab-lesson-header__readout span,.lab-lesson-header__readout small{color:#a9b8be;text-transform:uppercase;font-size:.62rem}.lab-lesson-header__readout strong{color:#fff;text-transform:uppercase;margin:.2rem 0;font-size:1rem}.lab-content{flex:1;min-height:0;padding:1.5rem 2.5rem 2.5rem;overflow-y:auto}.lab-content--practice{border:1px solid var(--lab-hairline);margin-top:2rem;padding:0}.lab-learn__beat{grid-template-columns:minmax(360px,45%) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.lab-learn__instrument{grid-area:1/2/10;margin:0;position:sticky;top:1.5rem}}@media (prefers-reduced-motion:reduce){[data-skin=lab] *,[data-skin=lab] :before,[data-skin=lab] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lab-reference{width:min(1180px,100%);color:var(--lab-ink);margin:0 auto}.lab-reference__header{isolation:isolate;border:1px solid #26343d;border-top:4px solid var(--lab-accent);background-color:#091117;background-image:linear-gradient(#94a3b80e 1px,#0000 1px),linear-gradient(90deg,#94a3b80e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(230px,290px);align-items:stretch;gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.4rem,3vw,2.5rem);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 45px #09111729}.lab-reference__header:after{z-index:-1;content:"";border:1px solid #a78bfa4d;border-radius:50%;width:28rem;height:28rem;position:absolute;bottom:-13rem;right:-8rem;box-shadow:0 0 0 3rem #7c3aed09,0 0 0 7rem #7c3aed06}.lab-reference__header-copy{z-index:1;align-self:center;position:relative}.lab-reference__header .lab-kicker{color:#c4b5fd;margin:0}.lab-reference__header h2{color:#f8fafc;letter-spacing:-.055em;max-width:13ch;margin:.55rem 0 .75rem;font-size:clamp(2rem,5vw,4rem);font-weight:500;line-height:.96}.lab-reference__header-copy>p:last-of-type{color:#aab9c0;max-width:58ch;margin:0;font-size:clamp(.9rem,1.5vw,1.02rem);line-height:1.7}.lab-reference__header-tags{flex-wrap:wrap;gap:.45rem;margin-top:1.2rem;display:flex}.lab-reference__header-tags span{color:#cbd5e1;font-family:var(--lab-mono);letter-spacing:.035em;background:#101b22c7;border:1px solid #34434b;border-radius:999px;padding:.35rem .58rem;font-size:.64rem;font-weight:700}.lab-reference__mark{z-index:1;background:#101b22db;border:1px solid #40515b;border-radius:14px;align-content:end;min-height:230px;padding:1.1rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 32px #00000047}.lab-reference__mark>span,.lab-reference__mark>small{color:#8fa3ad;font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.lab-reference__mark>strong{color:#f8fafc;font-family:var(--lab-mono);letter-spacing:-.04em;margin:.1rem 0;font-size:clamp(1.3rem,2.2vw,1.8rem)}.lab-reference__molecule{height:138px;position:absolute;top:.85rem;left:0;right:0}.lab-reference__molecule:before,.lab-reference__molecule:after{content:"";background:#52636c;border-radius:999px;width:126px;height:3px;position:absolute;top:68px;left:50%}.lab-reference__molecule:before{transform:translate(-50%)rotate(35deg)}.lab-reference__molecule:after{transform:translate(-50%)rotate(-35deg)}.lab-reference__molecule b,.lab-reference__molecule i{z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 0 18px #7c3aed59}.lab-reference__molecule b{color:#fff;width:52px;height:52px;font-family:var(--lab-mono);background:#7c3aed;font-size:.72rem;top:43px;left:50%;transform:translate(-50%)}.lab-reference__molecule i{background:#38bdf8;border:3px solid #091117;width:22px;height:22px}.lab-reference__molecule i:first-child{top:23px;left:calc(50% - 76px)}.lab-reference__molecule i:nth-child(2){top:23px;right:calc(50% - 76px)}.lab-reference__molecule i:nth-child(3){top:100px;left:calc(50% - 76px)}.lab-reference__molecule i:nth-child(4){top:100px;right:calc(50% - 76px)}.lab-reference__body{gap:1rem;min-width:0;margin-top:1rem;display:grid}.lab-reference__tabs{background:#101b22;border:1px solid #26343d;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;min-width:0;padding:.7rem;display:grid;box-shadow:0 10px 28px #0911171f}.lab-reference__tabs-label{color:#8fa3ad;font-family:var(--lab-mono);letter-spacing:.07em;text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:center;padding:.3rem .35rem .7rem;font-size:.63rem;display:flex}.lab-reference__tabs-label b{color:#c4b5fd}.lab-reference__tabs button{color:#c5d1d5;text-align:left;background:#14222a;border:1px solid #34434b;border-radius:10px;grid-template-columns:28px 22px minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;min-height:66px;padding:.65rem;transition:border-color .15s,background-color .15s,transform .15s;display:grid}.lab-reference__tabs button:hover{background:#192b35;border-color:#667b85}.lab-reference__tabs button[aria-selected=true]{color:#fff;background:linear-gradient(135deg,#5b21b6,#7c3aed);border-color:#8b5cf6;box-shadow:0 8px 22px #7c3aed47}.lab-reference__tabs button:focus-visible{outline-offset:2px;outline:3px solid #c4b5fd}.lab-reference__tabs button svg{width:20px;height:20px}.lab-reference__tabs button[aria-selected=true] .lab-reference__tab-number{color:#e9d5ff}.lab-reference__tab-copy{min-width:0;display:grid}.lab-reference__tab-copy strong{overflow-wrap:anywhere;font-size:.78rem;line-height:1.2}.lab-reference__tab-copy small{color:#8fa3ad;font-family:var(--lab-mono);margin-top:.18rem;font-size:.58rem;line-height:1.2}.lab-reference__tabs button[aria-selected=true] small{color:#ddd6fe}.lab-reference__panel{border:1px solid var(--lab-hairline);background:#fff;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 14px 36px #1d272414}.lab-reference__sheet-head{background:linear-gradient(90deg,#7c3aed14,#0000 48%),#f7f5ff;border-bottom:1px solid #d9d6ec;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,2.5vw,1.6rem);display:flex}.lab-reference__sheet-head p{color:var(--lab-accent-ink);font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-size:.62rem;font-weight:800}.lab-reference__sheet-head h3{color:var(--lab-ink);letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,3vw,2rem)}.lab-reference__sheet-head>span{color:var(--lab-accent-ink);font-family:var(--lab-mono);white-space:nowrap;background:#fff;border:1px solid #d8d1f6;border-radius:999px;padding:.35rem .6rem;font-size:.62rem;font-weight:700}.lab-reference__sheet-content{gap:1.15rem;min-width:0;padding:clamp(1rem,2.5vw,1.6rem);display:grid}.lab-reference__lead{border-left:4px solid var(--lab-accent);background:var(--lab-accent-tint);grid-template-columns:minmax(90px,.25fr) minmax(0,1fr);align-items:start;gap:1rem;padding:.9rem 1rem;display:grid}.lab-reference__lead span{color:var(--lab-accent-ink);font-family:var(--lab-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.64rem;font-weight:800}.lab-reference__lead p{color:var(--lab-ink-2);margin:0;font-size:.88rem;line-height:1.65}.lab-reference__lead--warning{background:#fff1f2;border-left-color:#e11d48}.lab-reference__lead--warning span{color:#be123c}.lab-reference__formula-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.lab-reference__formula-row>div{border:1px solid var(--lab-hairline);background:var(--lab-page);border-radius:10px;align-content:start;min-height:118px;padding:.9rem;display:grid}.lab-reference__formula-row small{color:var(--lab-ink-3);font-family:var(--lab-mono);letter-spacing:.045em;text-transform:uppercase;font-size:.62rem;font-weight:700}.lab-reference__formula-row strong{color:var(--lab-accent-ink);margin:.55rem 0 .35rem;font-size:.87rem;line-height:1.35}.lab-reference__formula-row>div>span{color:var(--lab-ink-2);font-size:.75rem;line-height:1.45}.lab-reference__table{border:1px solid var(--lab-hairline);border-collapse:separate;border-spacing:0;background:#fff;border-radius:10px;width:100%;font-size:.78rem;overflow:hidden}.lab-reference__table caption{color:#dce7eb;font-family:var(--lab-mono);letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#101b22;padding:.7rem .85rem;font-size:.65rem;font-weight:700}.lab-reference__table th,.lab-reference__table td{border-right:1px solid var(--lab-hairline);border-bottom:1px solid var(--lab-hairline);text-align:left;vertical-align:top;padding:.62rem .7rem;line-height:1.4}.lab-reference__table th:last-child,.lab-reference__table td:last-child{border-right:0}.lab-reference__table tbody tr:last-child td{border-bottom:0}.lab-reference__table th{color:#5b21b6;font-family:var(--lab-mono);letter-spacing:.035em;text-transform:uppercase;background:#ede9fe;font-size:.62rem}.lab-reference__table tbody tr:nth-child(2n){background:#fafaf8}.lab-reference__table tbody tr:hover{background:#f5f3ff}.lab-reference__table td strong{color:#5b21b6;font-family:var(--lab-mono);background:#f5f3ff;border:1px solid #d8d1f6;border-radius:5px;padding:.16rem .38rem;font-size:.72rem;display:inline-block}.lab-reference__bond-scale{color:#f8fafc;background:#101b22;border:1px solid #34434b;border-radius:12px;grid-template-columns:1fr 2.4fr 1.5fr;min-height:118px;display:grid;position:relative;overflow:hidden}.lab-reference__bond-scale>div{border-right:1px solid #34434b;align-content:center;gap:.2rem;padding:1rem;display:grid}.lab-reference__bond-scale>div:last-of-type{border-right:0}.lab-reference__bond-scale span,.lab-reference__bond-scale small{color:#94a3b8;font-family:var(--lab-mono);font-size:.62rem}.lab-reference__bond-scale strong{font-size:clamp(.78rem,1.7vw,1.05rem)}.lab-reference__bond-scale i{background:linear-gradient(90deg,#38bdf8 0 20%,#8b5cf6 20% 68%,#f43f5e 68% 100%);height:7px;position:absolute;bottom:0;left:0;right:0}.lab-reference__note{color:#6b4f13;background:#fffbeb;border-left:4px solid #f59e0b;margin:0;padding:.85rem 1rem;font-size:.82rem;line-height:1.6}.lab-reference__equation{color:#f8fafc;text-align:center;background:#101b22;border:1px solid #34434b;border-radius:12px;justify-items:center;padding:1.2rem;display:grid}.lab-reference__equation span,.lab-reference__equation small{color:#94a3b8;font-family:var(--lab-mono);font-size:.65rem}.lab-reference__equation strong{color:#c4b5fd;margin:.7rem 0;font-size:clamp(1.05rem,3vw,1.65rem)}.lab-reference__definitions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.lab-reference__definitions>div{border:1px solid var(--lab-hairline);background:var(--lab-page);border-radius:10px;padding:.95rem}.lab-reference__definitions dt{color:var(--lab-ink);align-items:center;gap:.5rem;font-weight:800;line-height:1.35;display:flex}.lab-reference__definitions dt span{color:var(--lab-accent);font-family:var(--lab-mono);font-size:.62rem}.lab-reference__definitions dd{color:var(--lab-ink-2);margin:.5rem 0 0;font-size:.8rem;line-height:1.55}.lab-reference__definitions--mistakes>div{background:snow;border-top:3px solid #fb7185;padding-top:1.2rem;position:relative}.lab-reference__definitions--mistakes dt{color:#9f1239}.lab-reference__definitions--mistakes dd:before{color:#0f766e;content:"Correction · ";font-family:var(--lab-mono);letter-spacing:.035em;text-transform:uppercase;font-size:.64rem;font-weight:800}.lab-reference__force-ladder{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:.35rem;display:grid}.lab-reference__force-ladder>div{color:#e2e8f0;background:#101b22;border:1px solid #34434b;border-radius:10px;align-content:center;min-height:98px;padding:.8rem;display:grid}.lab-reference__force-ladder span,.lab-reference__force-ladder small{color:#94a3b8;font-family:var(--lab-mono);font-size:.6rem}.lab-reference__force-ladder strong{margin:.25rem 0;font-size:.78rem}.lab-reference__force-ladder>i{background:#8b5cf6;height:2px;position:relative}.lab-reference__force-ladder>i:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid #8b5cf6;position:absolute;top:-4px;right:0}@media (min-width:760px){.lab-reference__body{grid-template-columns:250px minmax(0,1fr);align-items:start}.lab-reference__tabs{flex-direction:column;display:flex;position:sticky;top:1rem}.lab-reference__tabs-label,.lab-reference__tabs button{width:100%}}@media (max-width:759px){.lab-reference__header{grid-template-columns:1fr}.lab-reference__header h2{max-width:11ch}.lab-reference__mark{min-height:176px;padding-left:52%}.lab-reference__molecule{height:150px;right:48%}.lab-reference__tab-copy small{display:none}.lab-reference__sheet-head{align-items:flex-start}.lab-reference__sheet-head>span{display:none}.lab-reference__lead,.lab-reference__formula-row,.lab-reference__definitions{grid-template-columns:1fr}.lab-reference__formula-row>div{min-height:0}.lab-reference__table{background:0 0;border:0;display:block}.lab-reference__table caption{border-radius:9px;display:block}.lab-reference__table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.lab-reference__table tbody{gap:.65rem;margin-top:.65rem;display:grid}.lab-reference__table tr{border:1px solid var(--lab-hairline);background:#fff;border-radius:9px;display:block;overflow:hidden}.lab-reference__table tbody tr:nth-child(2n){background:#fff}.lab-reference__table td{overflow-wrap:anywhere;border-right:0;grid-template-columns:minmax(94px,.7fr) minmax(0,1fr);gap:.65rem;padding:.58rem .7rem;display:grid}.lab-reference__table td:before{color:var(--lab-ink-3);content:attr(data-label);font-family:var(--lab-mono);letter-spacing:.035em;text-transform:uppercase;font-size:.58rem;font-weight:800}.lab-reference__force-ladder{grid-template-columns:1fr}.lab-reference__force-ladder>i{width:2px;height:24px;margin-left:1rem}.lab-reference__force-ladder>i:after{border:5px solid #0000;border-top:7px solid #8b5cf6;border-bottom:0;top:auto;bottom:0;right:-4px}}@media (max-width:420px){.lab-reference__header{border-radius:12px;padding:1.15rem}.lab-reference__header-tags span:nth-child(3){display:none}.lab-reference__mark{min-height:160px}.lab-reference__tabs{padding:.5rem}.lab-reference__tabs button{grid-template-columns:24px minmax(0,1fr);min-height:58px;padding:.55rem}.lab-reference__tabs button svg{display:none}.lab-reference__tab-copy strong{font-size:.7rem}.lab-reference__sheet-content{padding:.8rem}.lab-reference__bond-scale{grid-template-columns:.85fr 1.35fr 1fr}.lab-reference__bond-scale>div{padding:.7rem .55rem}.lab-reference__bond-scale strong{font-size:.72rem}}.lab-reference__header{border:0;border-top:3px solid var(--lab-accent);border-bottom:1px solid var(--lab-hairline);background:var(--lab-panel);box-shadow:none;border-radius:0;padding:1.1rem;display:block}.lab-reference__header:after,.lab-reference__mark{display:none}.lab-reference__header .lab-kicker,.lab-reference__header h2,.lab-reference__header-copy>p:last-of-type{color:inherit}.lab-reference__header .lab-kicker{color:var(--lab-accent-ink)}.lab-reference__header h2{max-width:none;margin:.25rem 0;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.1}.lab-reference__header-copy>p:last-of-type{color:var(--lab-ink-2);font-size:1rem;line-height:1.55}.lab-reference__header-tags span{color:var(--lab-ink-3);background:0 0;border:0;border-radius:0;padding:0;font-size:.68rem}.lab-reference__body{gap:1.2rem;width:100%;margin-top:1rem;display:grid}.lab-reference__tabs{width:100%;box-shadow:none;background:0 0;border:0;flex-wrap:wrap;gap:.4rem;padding:0;display:flex}.lab-reference__tabs-label{display:none}.lab-reference__tabs button{border:1px solid var(--lab-hairline);min-height:46px;color:var(--lab-ink);cursor:pointer;background:#fff;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:.65rem;padding:.6rem .85rem;font-size:.82rem;font-weight:700;transition:all .15s;display:flex}.lab-reference__tab-number{color:var(--lab-ink-3);font-family:var(--lab-mono);font-size:.72rem;font-weight:800}.lab-reference__tab-copy{text-align:left;flex-direction:column;display:flex}.lab-reference__tab-copy strong{font-size:.84rem;font-weight:700;line-height:1.2}.lab-reference__tab-copy small{color:var(--lab-ink-3);font-size:.68rem}.lab-reference__tabs button:hover{border-color:var(--lab-accent);background:var(--lab-accent-tint)}.lab-reference__tabs button[aria-selected=true]{border-left-color:var(--lab-accent);border-color:var(--lab-accent);background:var(--lab-accent-tint);color:var(--lab-accent-ink)}.lab-reference__tabs button[aria-selected=true] .lab-reference__tab-number,.lab-reference__tabs button[aria-selected=true] small{color:var(--lab-accent-ink)}.lab-reference__panel{border:1px solid var(--lab-hairline);background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 4px 16px #0000000a}@media (min-width:1024px){.lab-reference__body{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:1.5rem}.lab-reference__tabs{flex-direction:column;grid-column:1;gap:.4rem;display:flex;position:sticky;top:1.5rem}.lab-reference__tabs button{justify-content:flex-start;width:100%}.lab-reference__panel{grid-column:2}}@media (max-width:759px){.lab-reference__body{grid-template-columns:1fr}.lab-reference__tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.lab-reference__tabs-label{grid-column:1/-1}}.lab-mistakes{counter-reset:mistake;gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.lab-mistake{border:1px solid var(--lab-hairline);background:var(--lab-panel);border-radius:14px;gap:.5rem;padding:1rem 1.1rem 1rem 1.25rem;display:grid;position:relative;box-shadow:0 1px 2px #0f172a0a}.lab-mistake:before{background:linear-gradient(to bottom, var(--lab-bad), var(--lab-ok));content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:.9rem;bottom:.9rem;left:0}.lab-mistake__index{font-family:var(--lab-mono);letter-spacing:.06em;color:var(--lab-ink-3);opacity:.55;font-size:.68rem;font-weight:800;position:absolute;top:.75rem;right:.9rem}.lab-mistake__row{align-items:flex-start;gap:.55rem;margin:0;padding-right:2rem;font-size:.88rem;line-height:1.55;display:flex}.lab-mistake__row b{font-family:var(--lab-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.1rem;font-size:.62rem;font-weight:800;display:block}.lab-mistake__icon{stroke-width:3px;flex-shrink:0;width:15px;height:15px;margin-top:.28rem}.lab-mistake__row--wrong{color:var(--lab-ink-2)}.lab-mistake__row--wrong b,.lab-mistake__row--wrong .lab-mistake__icon{color:var(--lab-bad)}.lab-mistake__row--right{border-top:1px dashed var(--lab-hairline);color:var(--lab-ink);padding-top:.5rem;font-weight:500}.lab-mistake__row--right b,.lab-mistake__row--right .lab-mistake__icon{color:var(--lab-ok)}.lab-mistake__why{color:var(--lab-ink-3);margin:0;padding-left:2.05rem;font-size:.78rem;line-height:1.55}.lab-mistake .katex{text-transform:none;font-size:1em}@media (min-width:900px){.lab-mistakes{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
