.studio{--ms-blue:#2f6fe0;--ms-red:#e04a3c;--ms-green:#149457;--ms-purple:#8b5cd6;--ms-amber:#c06a10;--ms-paper:#fbfaf7;--ms-card:#fff;--ms-ink:#111;--ms-muted:#5b5b57;--ms-rule:#d9d6cd;--ms-wash:#f2efe7;--ms-shadow:#3c372821;--ms-display:"Hammersmith One", "Trebuchet MS", "Segoe UI", sans-serif;--ms-body:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--ms-mono:"Courier New", Courier, monospace;--ms-radius:14px;--ms-radius-sm:9px;--ms-t:.22s;--ms-e:cubic-bezier(.16, 1, .3, 1);background:var(--ms-paper);color:var(--ms-ink);font-family:var(--ms-body);flex-direction:column;min-height:100dvh;font-size:17px;line-height:1.6;display:flex}html.studio-dark{background:#000}html.studio-dark .studio{--ms-amber:#e6a44a;--ms-paper:#000;--ms-card:#0c0e12;--ms-ink:#ededea;--ms-muted:#9ea2a9;--ms-rule:#31363f;--ms-wash:#14171c;--ms-shadow:#000000b3}.studio:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(circle at 1px 1px,#78694617 1px,#0000 0),radial-gradient(circle at 1px 1px,#7869460f 1px,#0000 0);background-position:0 0,7px 11px;background-size:22px 22px,13px 13px;position:fixed;inset:0}html.studio-dark .studio:before{opacity:0}.studio>*{z-index:1;position:relative}.studio-shell{width:100%;max-width:1040px;margin:0 auto;padding:0 24px}.studio-main{flex:1 0 auto;padding-bottom:50px}.studio a{color:inherit;text-decoration:none}.studio a:hover{text-decoration:underline}.studio h1,.studio h2,.studio h3{font-family:var(--ms-display);font-weight:400}.studio img{max-width:100%;display:block}.studio-mark{font-family:var(--ms-display);letter-spacing:.2px;white-space:nowrap;font-size:25px;line-height:1}.studio-mark:hover{text-decoration:none}.studio-mark-a{color:var(--ms-ink)}.studio-mark-b{color:var(--ms-blue)}.studio-mark-sm{font-size:20px}.studio-header{z-index:40;background:var(--ms-paper);border-bottom:1px solid var(--ms-rule);position:sticky;top:0}.studio-header-inner{justify-content:space-between;align-items:center;gap:20px;padding-block:16px 14px;padding-inline:24px;display:flex}.studio-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-chip{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;border:1.5px solid var(--ms-rule);color:var(--ms-muted);cursor:pointer;transition:color var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e), background-color var(--ms-t) var(--ms-e);background:0 0;border-radius:999px;padding:7px 15px;font-size:13px;font-weight:700}.studio-chip:hover{color:var(--ms-ink);border-color:var(--ms-blue)}.studio-chip.is-on{color:#fff;background:var(--ms-blue);border-color:var(--ms-blue)}.studio-chip.is-empty{opacity:.45;cursor:not-allowed}.studio-chip.is-empty:hover{color:var(--ms-muted);border-color:var(--ms-rule)}.studio-exit{font-family:var(--ms-display);border:2px solid var(--ms-ink);white-space:nowrap;transition:color var(--ms-t) var(--ms-e), background-color var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e);border-radius:999px;padding:9px 18px;font-size:15px}.studio-exit:hover{color:#fff;background:var(--ms-red);border-color:var(--ms-red);text-decoration:none}.studio-head{padding:40px 0 8px}.studio-title{margin:0 0 14px;font-size:44px;line-height:1.05}.studio-mission{max-width:760px;color:var(--ms-muted);margin:0;font-size:18px}.studio-rule{border:0;border-top:2px solid var(--ms-rule);border-radius:2px;margin:26px 0 0}.studio-back{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ms-muted);margin-bottom:14px;font-size:13px;font-weight:700;display:inline-block}.studio-back:hover{color:var(--ms-blue)}.studio-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:30px 0 10px;list-style:none;display:grid}.studio-grid-3{grid-template-columns:repeat(3,1fr);align-items:start}.studio-grid-3 .studio-card-title{min-height:2.4em}.studio-grid li{display:flex}.studio-grid.is-refiltered>li{animation:studio-card-in .28s var(--ms-e) both;animation-delay:calc(var(--i,0) * 30ms)}@keyframes studio-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.studio-grid.is-refiltered>li{animation:none}}.studio-card{background:var(--ms-card);border:1.5px solid var(--ms-rule);border-radius:var(--ms-radius);width:100%;transition:transform var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e), box-shadow var(--ms-t) var(--ms-e);flex-direction:column;display:flex;position:relative}.studio-card-vizwrap{border-radius:calc(var(--ms-radius) - 1.5px) calc(var(--ms-radius) - 1.5px) 0 0;position:relative;overflow:hidden}.studio-card-viz{aspect-ratio:4/3;background:var(--ms-wash);border-bottom:1.5px solid var(--ms-rule);width:100%;display:block}.studio-card-body{padding:16px 17px 18px}.studio-card-title{font-family:var(--ms-display);margin:0;font-size:19px;line-height:1.2}.studio-card-meta{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ms-muted);align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:700;display:flex}a.studio-card:hover{border-color:var(--ms-blue);box-shadow:0 14px 26px -14px var(--ms-shadow);text-decoration:none;transform:translateY(-4px)}a.studio-card:focus-visible{outline:3px solid var(--ms-blue);outline-offset:2px}.studio-card-go{color:var(--ms-blue);opacity:0;transition:opacity var(--ms-t) var(--ms-e), transform var(--ms-t) var(--ms-e);transform:translate(-5px)}a.studio-card:hover .studio-card-go,a.studio-card:focus-visible .studio-card-go{opacity:1;transform:none}.studio-card.is-soon{cursor:not-allowed}.studio-card.is-soon .studio-card-viz,.studio-card.is-soon .studio-card-title{opacity:.42}.studio-card.is-soon .studio-card-meta{color:var(--ms-red)}.studio-card-tape{opacity:0;pointer-events:none;transition:opacity var(--ms-t) var(--ms-e);background-image:repeating-linear-gradient(-45deg,#e04a3c2e 0 12px,#0000 12px 24px);background-size:34px 34px;position:absolute;inset:0}.studio-card.is-soon:hover .studio-card-tape{opacity:1;animation:1.1s linear infinite studio-tape}@keyframes studio-tape{0%{background-position:0 0}to{background-position:34px 0}}.studio-chapter-reveal{transition:grid-template-rows var(--ms-t) var(--ms-e);grid-template-rows:0fr;display:grid}@media (hover:hover){.studio-card:hover .studio-chapter-reveal{grid-template-rows:1fr}}.studio-card.is-expanded .studio-chapter-reveal{grid-template-rows:1fr}.studio-card:has(:focus-visible) .studio-chapter-reveal{grid-template-rows:1fr}.studio-chapter-reveal-inner{overflow:hidden}.studio-topics{border-top:1px solid var(--ms-rule);margin:14px 0 0;padding:13px 0 0;font-size:14.5px;line-height:1.45;list-style:none}.studio-topics li{gap:8px;margin-bottom:7px;display:flex}.studio-topics li:last-child{margin-bottom:0}.studio-topic-dot{color:var(--ms-blue);flex:none}.studio-topic-bc .studio-topic-dot{color:var(--ms-purple)}.studio-topic-beyond .studio-topic-dot{color:var(--ms-green)}.studio-optional{border:1px solid var(--ms-green);color:var(--ms-green);letter-spacing:1px;border-radius:999px;margin-left:9px;padding:2px 8px 3px;font-size:11px}.studio-chapter-num{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-red);margin-bottom:6px;font-size:12px;font-weight:700}.studio-count{font-family:var(--ms-mono);letter-spacing:.9px;text-transform:uppercase;color:var(--ms-muted);padding-top:18px;font-size:12.5px;font-weight:700}.studio-footer{background:var(--ms-wash);border-top:2px solid var(--ms-rule);flex:none;margin-top:40px;padding:34px 0 22px}.studio-footer-grid{grid-template-columns:repeat(4,1fr);gap:26px;display:grid}.studio-footer-heading{font-family:var(--ms-display);margin-bottom:9px;font-size:16px;display:block}.studio-footer-children{margin:0;padding:0;list-style:none}.studio-footer-children li{margin-bottom:5px}.studio-footer-children a,.studio-footer-children span{color:var(--ms-muted);font-size:14.5px}.studio-footer-children a:hover{color:var(--ms-blue);text-decoration:underline}.studio-footer-children .is-soon{opacity:.55}.studio-colophon{border-top:1px solid var(--ms-rule);font-family:var(--ms-mono);letter-spacing:.9px;text-transform:uppercase;color:var(--ms-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding-top:16px;font-size:12.5px;font-weight:700;display:flex}.studio-theme{color:var(--ms-muted);cursor:pointer;transition:color var(--ms-t) var(--ms-e);background:0 0;border:0;align-items:center;gap:11px;padding:0;display:inline-flex}.studio-theme:hover{color:var(--ms-ink)}.studio-theme:focus-visible{outline:2px solid var(--ms-purple);outline-offset:4px;border-radius:4px}.studio-theme-label{font-family:var(--ms-mono);letter-spacing:.9px;text-transform:uppercase;white-space:nowrap;font-size:12.5px;font-weight:700;display:grid}.studio-theme-label>span{visibility:hidden;text-align:right;grid-area:1/1}.studio-theme-label>span.is-on{visibility:visible}.studio-theme-track{border:1.5px solid var(--ms-rule);background:var(--ms-wash);width:50px;height:26px;transition:border-color var(--ms-t) var(--ms-e), background var(--ms-t) var(--ms-e);border-radius:999px;flex:none;position:relative}.studio-theme:hover .studio-theme-track{border-color:var(--ms-purple)}.studio-theme[aria-checked=true] .studio-theme-track{background:var(--ms-purple);border-color:var(--ms-purple)}.studio-theme-icon{transition:opacity var(--ms-t) var(--ms-e);font-size:12px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.studio-theme-icon.is-sun{color:var(--ms-muted);opacity:0;left:5px}.studio-theme-icon.is-moon{color:var(--ms-muted);right:5px}.studio-theme[aria-checked=true] .studio-theme-icon.is-sun{opacity:1;color:#fff}.studio-theme[aria-checked=true] .studio-theme-icon.is-moon{opacity:0}.studio-theme-knob{background:var(--ms-card);width:19px;height:19px;box-shadow:0 1px 3px var(--ms-shadow);transition:transform var(--ms-t) var(--ms-e), background var(--ms-t) var(--ms-e);border-radius:50%;margin-top:-9.5px;position:absolute;top:50%;left:2px}.studio-theme[aria-checked=true] .studio-theme-knob{transform:translate(24px)}.studio-home-link,.studio-footer-children a.studio-home-link{color:var(--ms-blue)}.studio-footer-children a.studio-home-link:hover{color:var(--ms-blue);text-decoration:underline}.studio-gate{background:var(--ms-card);border:1.5px solid var(--ms-rule);border-radius:var(--ms-radius);max-width:440px;box-shadow:0 18px 40px -26px var(--ms-shadow);margin:56px auto;padding:30px 28px}.studio-gate h1{margin:0 0 8px;font-size:30px}.studio-gate p{color:var(--ms-muted);margin:0 0 20px;font-size:15.5px}.studio-field{margin-bottom:16px}.studio-field label{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ms-muted);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.studio-field input{width:100%;font-family:var(--ms-body);color:var(--ms-ink);background:var(--ms-paper);border:1.5px solid var(--ms-rule);border-radius:var(--ms-radius-sm);padding:11px 13px;font-size:16px}.studio-field input:focus-visible{border-color:var(--ms-blue);outline:none;box-shadow:0 0 0 3px #2f6fe038}.studio-btn{font-family:var(--ms-display);border:2px solid var(--ms-blue);background:var(--ms-blue);color:#fff;cursor:pointer;transition:background-color var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e);border-radius:999px;padding:11px 22px;font-size:16px}.studio-btn:hover:not(:disabled){background:var(--ms-purple);border-color:var(--ms-purple)}.studio-btn:disabled{opacity:.6;cursor:default}.studio-error{color:var(--ms-red);margin:12px 0 0;font-size:14.5px}@media (max-width:900px){.studio-header-inner{padding-inline:38px}.studio-grid,.studio-grid-3,.studio-footer-grid{grid-template-columns:repeat(2,1fr)}.studio-title{font-size:34px}}@media (max-width:560px){.studio-shell{padding:0 18px}.studio-header-inner{flex-wrap:wrap;gap:14px;padding-block:14px 13px;padding-inline:28px}.studio-filters{order:3;gap:6px;width:100%}.studio-chip{letter-spacing:.6px;padding:6px 10px;font-size:11.5px}.studio-grid,.studio-grid-3{grid-template-columns:1fr}.studio-card-viz{aspect-ratio:16/9}.studio-grid-3 .studio-card-title{min-height:0}.studio-title{font-size:29px}.studio-mission{font-size:16.5px}.studio-footer-grid{gap:22px}}@media (hover:none){.studio-card:not(.has-toggle) .studio-chapter-reveal{grid-template-rows:1fr}a.studio-card:hover{transform:none}.studio-card-go{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.studio-card,.studio-card-go,.studio-theme-knob,.studio-theme-track,.studio-theme-icon,.studio-chapter-reveal{transition:none}a.studio-card:hover{transform:none}.studio-card.is-soon:hover .studio-card-tape{animation:none}}.studio-viz-tangent{offset-path:path("M12 76 C 34 76, 40 20, 60 20 S 86 66, 108 26");offset-rotate:auto;animation:7s cubic-bezier(.45,0,.55,1) infinite alternate studio-ride}@keyframes studio-ride{0%{offset-distance:4%}to{offset-distance:96%}}@media (prefers-reduced-motion:reduce){.studio-viz-tangent{offset-distance:42%;animation:none}}.studio{--ms-head:var(--ms-lesson-head,77px)}.lesson-step{scroll-margin-top:calc(var(--ms-head) + 18px);border-bottom:1px solid var(--ms-rule);padding:44px 0 50px}.lesson-step:first-child{padding-top:8px}.lesson-step:last-child{border-bottom:0}.lesson-body{max-width:760px;margin-inline:auto}.lesson-eyebrow{font-family:var(--ms-mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--ms-blue);margin-bottom:10px;font-size:12px;font-weight:700}.lesson-head{margin-bottom:20px}.lesson-title{margin:0;font-size:31px;line-height:1.15}.lesson-lead-head{padding-top:8px}.lesson-lead-title{margin:0 0 16px;font-size:46px;line-height:1.05}.lesson-lead-mission{color:var(--ms-muted);max-width:62ch;margin:0 0 22px;font-size:18.5px}.lesson-lead-head .studio-back{margin-bottom:18px}.lesson-revealall{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-muted);opacity:.55;cursor:pointer;border:0;border-bottom:1px dotted var(--ms-rule);transition:opacity var(--ms-t) var(--ms-e), color var(--ms-t) var(--ms-e);background:0 0;margin:0 0 22px;padding:0;font-size:11px;font-weight:700;display:inline-block}.lesson-revealall:hover,.lesson-revealall[aria-pressed=true]{opacity:1;color:var(--ms-blue);border-bottom-color:var(--ms-blue)}.lesson-p{margin:0 0 18px}.lesson-p:last-child{margin-bottom:0}.lesson-tex{margin:22px 0;padding:2px 0;overflow:hidden}.lesson-tex .katex-display{margin:0}.lesson-figure{margin:26px 0 22px}.lesson-figure-frame{border:1px solid var(--ms-rule);border-radius:var(--ms-radius);background:var(--ms-card);padding:16px;overflow:hidden}.lesson-figure.is-bare .lesson-figure-frame{background:0 0;border:0;padding:0}.lesson-figure-frame iframe{width:100%;transition:height var(--ms-t) var(--ms-e);border:0;display:block}.lesson-figure-wait{border-radius:var(--ms-radius-sm);background:var(--ms-wash)}.lesson-figure figcaption{color:var(--ms-muted);margin-top:11px;font-size:14.5px;line-height:1.5}.lesson-figure-num{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-ink);margin-right:9px;font-size:11.5px;font-weight:700}.lesson-steps{border:1px solid var(--ms-rule);border-left:3px solid var(--ms-blue);border-radius:0 var(--ms-radius-sm) var(--ms-radius-sm) 0;background:var(--ms-card);margin:22px 0;overflow:hidden}.lesson-steps.is-left{border-left-color:var(--ms-amber)}.lesson-steps.is-right{border-left-color:var(--ms-green)}.lesson-steps-head{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-muted);border-bottom:1px solid var(--ms-rule);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 18px;font-size:12px;font-weight:700;display:flex}.lesson-steps-count{opacity:.75;flex:none}.lesson-steps.is-stepping{cursor:pointer}.lesson-steps.is-stepping:hover{border-color:var(--ms-blue)}.lesson-steps li{animation:lesson-step-in .26s var(--ms-e) both}@keyframes lesson-step-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.lesson-steps-more{border:0;border-top:1px solid var(--ms-rule);background:var(--ms-wash);width:100%;color:var(--ms-blue);font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:color var(--ms-t) var(--ms-e), background var(--ms-t) var(--ms-e);justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:11.5px;font-weight:700;display:flex}.lesson-steps-more:hover{background:var(--ms-card)}.lesson-steps-more.is-done{color:var(--ms-muted)}.lesson-steps-more.is-done:hover{color:var(--ms-ink)}.lesson-steps-chev{font-size:13px}.lesson-steps ol{margin:0;padding:0;list-style:none}.lesson-steps li{border-bottom:1px solid var(--ms-rule);grid-template-columns:26px 1fr;gap:3px 12px;padding:13px 18px;display:grid}.lesson-steps li:last-child{border-bottom:0}.lesson-step-n{font-family:var(--ms-mono);color:var(--ms-muted);grid-row:span 2;padding-top:3px;font-size:12.5px;font-weight:700}.lesson-step-label{color:var(--ms-muted);font-size:15px}.lesson-step-math{padding:3px 0;font-size:16px;overflow:hidden}.lesson-step-math .katex-display{text-align:left;margin:0}.lesson-step-math .katex-display>.katex{text-align:left}.lesson-steps li.is-answer{background:var(--ms-wash)}.lesson-steps li.is-answer .lesson-step-n{color:var(--ms-blue)}.lesson-texrows{gap:14px;margin:20px 0;display:grid}.lesson-texrows>div{border-left:2px solid var(--ms-rule);gap:4px;padding-left:14px;display:grid}.lesson-texrow-label{color:var(--ms-muted);font-size:14.5px}.lesson-texrow-math{display:block;overflow:hidden}.lesson-texrows .katex-display{text-align:left;margin:0}.lesson-term{background:var(--ms-wash);border-radius:var(--ms-radius-sm);margin:22px 0;padding:15px 18px}.lesson-term dt{font-family:var(--ms-display);color:var(--ms-blue);margin-bottom:5px;font-size:17px}.lesson-term dd{margin:0;font-size:16px}.lesson-note{border:1px dashed var(--ms-rule);border-radius:var(--ms-radius-sm);color:var(--ms-muted);margin:22px 0;padding:14px 17px;font-size:15.5px}.lesson-note-head{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-ink);margin-bottom:6px;font-size:11.5px;font-weight:700}.lesson-checklist{border:1px solid var(--ms-rule);border-radius:var(--ms-radius-sm);background:var(--ms-card);margin:22px 0;overflow:hidden}.lesson-checklist-head{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-muted);border-bottom:1px solid var(--ms-rule);padding:12px 18px;font-size:12px;font-weight:700}.lesson-checklist ol{margin:0;padding:0;list-style:none}.lesson-checklist li{border-bottom:1px solid var(--ms-rule);grid-template-columns:30px 1fr;gap:13px;padding:15px 18px;display:grid}.lesson-checklist li:last-child{border-bottom:0}.lesson-check-n{font-family:var(--ms-mono);color:var(--ms-card);background:var(--ms-blue);border-radius:50%;place-items:center;width:24px;height:24px;margin-top:2px;font-size:13px;font-weight:700;display:grid}.lesson-check-ask{margin-bottom:5px;font-size:16.5px}.lesson-check-body{color:var(--ms-muted);font-size:15px}.lesson-check-fail,.lesson-checklist-pass{align-items:baseline;gap:9px;margin-top:9px;font-size:14.5px;display:flex}.lesson-check-fail>span:first-child,.lesson-checklist-pass>span:first-child{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;flex:none;font-size:11px;font-weight:700}.lesson-check-fail>span:first-child{color:var(--ms-red)}.lesson-check-fail>span:last-child{color:var(--ms-muted)}.lesson-checklist-pass{background:var(--ms-wash);margin-top:0;padding:14px 18px}.lesson-checklist-pass>span:first-child{color:var(--ms-green)}.lesson-accordion{border:1px solid var(--ms-rule);border-radius:var(--ms-radius-sm);background:var(--ms-card);margin:22px 0}.lesson-accordion summary{cursor:pointer;font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-purple);padding:13px 18px;font-size:12px;font-weight:700;list-style:none}.lesson-accordion summary::-webkit-details-marker{display:none}.lesson-accordion summary:before{content:"+";width:15px;color:var(--ms-muted);display:inline-block}.lesson-accordion[open] summary:before{content:"−"}.lesson-accordion[open] summary{border-bottom:1px solid var(--ms-rule)}.lesson-accordion-body{padding:16px 18px 4px}.lesson-actions{grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0;display:grid}.lesson-action{border:1px solid var(--ms-rule);border-radius:var(--ms-radius-sm);background:var(--ms-card);transition:border-color var(--ms-t) var(--ms-e), transform var(--ms-t) var(--ms-e);gap:4px;padding:16px 18px;display:grid}.lesson-action:hover{border-color:var(--ms-blue);text-decoration:none;transform:translateY(-2px)}.lesson-action.is-primary{border-color:var(--ms-blue)}.lesson-action-label{font-family:var(--ms-display);font-size:18px}.lesson-action-note{color:var(--ms-muted);font-size:14px}.lesson-progress{top:var(--ms-head);z-index:39;background:var(--ms-rule);height:2px;position:sticky}.lesson-progress i{background:var(--ms-blue);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.lesson-rail{z-index:38;position:fixed;top:50%;right:22px;transform:translateY(-50%)}.lesson-rail ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.lesson-rail button{cursor:pointer;font:inherit;background:0 0;border:0;justify-content:flex-end;align-items:center;padding:4px 0;display:flex;position:relative}.lesson-rail-dot{background:var(--ms-rule);width:7px;height:7px;transition:background var(--ms-t) var(--ms-e), transform var(--ms-t) var(--ms-e);border-radius:50%;flex:none}.lesson-rail button.is-current .lesson-rail-dot{background:var(--ms-blue);transform:scale(1.5)}.lesson-rail button:hover .lesson-rail-dot{background:var(--ms-muted)}.lesson-rail-name{text-overflow:ellipsis;max-width:calc(50vw - 440px);color:var(--ms-muted);white-space:nowrap;opacity:0;transition:opacity var(--ms-t) var(--ms-e), transform var(--ms-t) var(--ms-e);pointer-events:none;font-size:12.5px;position:absolute;top:50%;right:calc(100% + 10px);overflow:hidden;transform:translateY(-50%)translate(6px)}.lesson-rail button:hover .lesson-rail-name,.lesson-rail button:focus-visible .lesson-rail-name{opacity:1;transform:translateY(-50%)}.lesson-next-wrap{z-index:38;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.lesson-next{border:1px solid var(--ms-rule);background:var(--ms-card);box-shadow:0 4px 18px var(--ms-shadow);cursor:pointer;font-family:var(--ms-body);color:var(--ms-ink);transition:border-color var(--ms-t) var(--ms-e), color var(--ms-t) var(--ms-e);border-radius:999px;align-items:center;gap:10px;padding:9px 17px;font-size:15px;display:flex}.lesson-next:hover{border-color:var(--ms-blue);color:var(--ms-blue);text-decoration:none}.lesson-next-count{font-family:var(--ms-mono);letter-spacing:1px;color:var(--ms-muted);font-size:11.5px;font-weight:700}.lesson-next-arrow{font-size:14px}.lesson-next.is-done{padding:10px 20px}@media (max-width:1200px){.lesson-rail{display:none}}@media (max-width:700px){.lesson-lead-title{font-size:33px}.lesson-title{font-size:25px}.lesson-lead-mission{font-size:16.5px}.lesson-step{padding:34px 0 40px}.lesson-figure-frame{padding:11px}.lesson-actions{grid-template-columns:1fr}.lesson-steps li{grid-template-columns:20px 1fr;gap:3px 9px;padding:12px 14px}.lesson-checklist li{grid-template-columns:26px 1fr;gap:10px;padding:13px 14px}.lesson-next-wrap{bottom:16px}}@media (prefers-reduced-motion:reduce){.lesson-steps li,.lesson-steps-more,.lesson-revealall,.lesson-figure-frame,.lesson-rail-dot,.lesson-rail-name,.lesson-action,.lesson-next{transition:none}}.solutions-shell{max-width:820px}.solutions-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:26px;display:flex}.solutions-count{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-muted);font-size:12px;font-weight:700}.solutions-tools{gap:8px;display:flex}.solutions-tools .studio-chip:hover{text-decoration:none}.solutions-topic{margin-bottom:34px}.solutions-topic-head{border-bottom:1px solid var(--ms-rule);align-items:baseline;gap:12px;margin:0 0 16px;padding-bottom:10px;font-size:22px;display:flex}.solutions-topic-n{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-blue);flex:none;font-size:11.5px;font-weight:700}.solutions-q{border:1px solid var(--ms-rule);border-radius:var(--ms-radius);background:var(--ms-card);margin-bottom:18px;padding:18px 20px}.solutions-q-head{align-items:baseline;gap:12px;font-size:16.5px;display:flex}.solutions-q-n{font-family:var(--ms-mono);color:var(--ms-muted);flex:none;min-width:20px;font-size:12.5px;font-weight:700}.solutions-q-tex{margin:12px 0 4px;overflow:hidden}.solutions-q-tex .katex-display{margin:0}.solutions-reveal{margin-top:12px}.solutions-reveal summary{cursor:pointer;font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-green);border:1px solid var(--ms-rule);transition:border-color var(--ms-t) var(--ms-e);border-radius:999px;padding:5px 13px;font-size:11.5px;font-weight:700;list-style:none;display:inline-block}.solutions-reveal summary::-webkit-details-marker{display:none}.solutions-reveal summary:hover{border-color:var(--ms-green)}.solutions-reveal[open] summary{margin-bottom:4px}.solutions-reveal-body{padding-top:6px}.solutions-reveal-body>:first-child{margin-top:12px}.exam-actions{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px;display:grid}.exam-preview{border:1px solid var(--ms-rule);border-radius:var(--ms-radius);background:var(--ms-card);height:78vh;min-height:460px;overflow:hidden}.exam-preview object{width:100%;height:100%;display:block}.exam-fallback{color:var(--ms-muted);padding:24px}.exam-fallback a{color:var(--ms-blue)}@media (max-width:700px){.exam-actions{grid-template-columns:1fr}.exam-preview{display:none}.solutions-q{padding:15px}.solutions-topic-head{font-size:19px}}@media (prefers-reduced-motion:reduce){.solutions-reveal summary{transition:none}}.studio-ready{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-green);margin-left:9px;font-size:10px;font-weight:700}a.studio-card.is-open:hover{text-decoration:none}.studio-logout{color:var(--ms-muted);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-family:inherit;font-size:14.5px}.studio-logout:hover{color:var(--ms-blue);text-decoration:underline}.studio-logout:disabled{cursor:default;opacity:.6}.studio .pw-toggle{height:calc(100% - 4px);color:var(--ms-muted);transition:color var(--ms-t) var(--ms-e);top:2px;right:2px}.studio .pw-toggle:hover{color:var(--ms-blue)}.studio .pw-toggle:focus-visible{outline:2px solid var(--ms-blue);outline-offset:-2px;color:var(--ms-blue)}@media (prefers-reduced-motion:reduce){.studio .pw-toggle{transition:none}}.studio-enter{animation:studio-enter .4s var(--ms-e) both;flex-direction:column;flex:1 0 auto;display:flex}@keyframes studio-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.studio-enter{animation:none}}.lesson-jump{z-index:38;opacity:0;pointer-events:none;transition:opacity var(--ms-t) var(--ms-e), transform var(--ms-t) var(--ms-e);gap:6px;display:grid;position:fixed;bottom:20px;right:20px;transform:translateY(8px)}.lesson-jump.is-visible{opacity:1;pointer-events:auto;transform:none}.lesson-jump button{border:1px solid var(--ms-rule);background:var(--ms-card);width:38px;height:38px;color:var(--ms-muted);box-shadow:0 4px 18px var(--ms-shadow);cursor:pointer;transition:color var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e);border-radius:50%;place-items:center;padding:0;display:grid}.lesson-jump button:hover:not(:disabled){color:var(--ms-blue);border-color:var(--ms-blue)}.lesson-jump button:focus-visible{outline:2px solid var(--ms-blue);outline-offset:3px}.lesson-jump button:disabled{opacity:.35;cursor:default}@media (max-width:700px){.lesson-jump{bottom:14px;right:14px}.lesson-jump button{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){.lesson-jump,.lesson-jump button{transition:none}}html.studio-dark .lesson-next,html.studio-dark .lesson-jump button{background:var(--ms-wash)}.lesson-problem{background:var(--ms-wash);border-left:3px solid var(--ms-purple);border-radius:0 var(--ms-radius-sm) var(--ms-radius-sm) 0;margin:22px 0;padding:16px 19px;font-size:16.5px}.lesson-problem-head{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-purple);margin-bottom:7px;font-size:11.5px;font-weight:700}.lesson-lead-sub{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-muted);margin:0 0 14px;font-size:12px;font-weight:700}.studio-grid-2{grid-template-columns:repeat(2,1fr);align-items:start}.prep-door-facts{border-top:1px solid var(--ms-rule);gap:7px;margin:14px 0 0;padding:13px 0 0;font-size:14.5px;line-height:1.4;display:grid}.prep-door-facts>div{grid-template-columns:88px 1fr;gap:10px;display:grid}.prep-door-facts dt{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ms-muted);padding-top:2px;font-size:11px;font-weight:700}.prep-door-facts dd{margin:0}.studio-card.is-soon .prep-door-facts{opacity:.6}.prep-how{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:30px 0 0;list-style:none;display:grid}.prep-how li{border:1px solid var(--ms-rule);border-radius:var(--ms-radius);background:var(--ms-card);align-content:start;gap:6px;padding:18px 20px;display:grid}.prep-how-n{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-blue);font-size:12px;font-weight:700}.prep-how-title{font-family:var(--ms-display);font-size:19px}.prep-how p{color:var(--ms-muted);margin:0;font-size:15px}.prep-banner{border:2px solid var(--ms-blue);border-radius:var(--ms-radius);background:var(--ms-card);color:var(--ms-ink);transition:transform var(--ms-t) var(--ms-e), box-shadow var(--ms-t) var(--ms-e);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding:22px 24px;display:flex}a.prep-banner:hover{box-shadow:0 14px 26px -14px var(--ms-shadow);text-decoration:none;transform:translateY(-3px)}a.prep-banner:focus-visible{outline:3px solid var(--ms-blue);outline-offset:2px}.prep-banner.is-soon{border-color:var(--ms-rule);border-style:dashed}.prep-banner-text{flex:320px;gap:4px;display:grid}.prep-banner-eyebrow{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-blue);font-size:12px;font-weight:700}.prep-banner.is-soon .prep-banner-eyebrow{color:var(--ms-muted)}.prep-banner.is-scored .prep-banner-eyebrow{color:var(--ms-green)}.prep-banner-title{font-family:var(--ms-display);font-size:24px;line-height:1.15}.prep-banner-score{font-size:38px}.prep-banner-of{color:var(--ms-muted);font-size:20px}.prep-banner-note{color:var(--ms-muted);max-width:560px;font-size:15px}.prep-banner-go{font-family:var(--ms-display);border:2px solid var(--ms-blue);background:var(--ms-blue);color:#fff;white-space:nowrap;border-radius:999px;flex:none;padding:11px 22px;font-size:16px}.prep-banner.is-scored .prep-banner-go{background:var(--ms-green);border-color:var(--ms-green)}.prep-banner.is-scored{border-color:var(--ms-green)}.prep-mark{font-size:11px}.prep-mark.is-miss{color:var(--ms-red)}.prep-mark.is-clean{color:var(--ms-green)}.diag-shell{max-width:820px}.diag-facts{grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 0;display:grid}.diag-facts>div{border:1px solid var(--ms-rule);border-radius:var(--ms-radius-sm);background:var(--ms-card);padding:14px 16px}.diag-facts dt{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ms-muted);margin-bottom:4px;font-size:11px;font-weight:700}.diag-facts dd{font-family:var(--ms-display);margin:0;font-size:17px}.diag-bar{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-muted);justify-content:space-between;align-items:center;gap:14px;padding-top:22px;font-size:12px;font-weight:700;display:flex}.diag-bar-time{font-variant-numeric:tabular-nums;color:var(--ms-ink)}.diag-bar-time.is-over{color:var(--ms-red)}.studio-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.diag-strip{flex-wrap:wrap;gap:6px;margin:14px 0 20px;padding:0;list-style:none;display:flex}.diag-strip button{border:1.5px solid var(--ms-rule);width:34px;height:34px;color:var(--ms-muted);font-family:var(--ms-mono);cursor:pointer;transition:color var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e), background-color var(--ms-t) var(--ms-e);background:0 0;border-radius:50%;padding:0;font-size:12px;font-weight:700}.diag-strip button:hover,.diag-strip button.is-answered{border-color:var(--ms-blue);color:var(--ms-blue)}.diag-strip button.is-current{background:var(--ms-blue);border-color:var(--ms-blue);color:#fff}.diag-strip button:focus-visible{outline:2px solid var(--ms-blue);outline-offset:2px}.diag-q{border:1px solid var(--ms-rule);border-radius:var(--ms-radius);background:var(--ms-card);animation:lesson-step-in .26s var(--ms-e) both;padding:22px 24px}.diag-q:focus,.diag-score:focus,.diag-shell .studio-title:focus{outline:none}.diag-q-eyebrow{font-family:var(--ms-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ms-blue);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:11.5px;font-weight:700;display:flex}.diag-q-kind{color:var(--ms-muted)}.diag-q-prompt{margin-top:10px;font-size:17.5px;line-height:1.5}.diag-q-tex{margin:14px 0 0;overflow:hidden}.diag-q-tex .katex-display{margin:0}.lesson-choices{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.lesson-problem .lesson-choices{margin-top:12px}.lesson-problem-tex{margin:12px 0 0;overflow:hidden}.lesson-problem-tex .katex-display{margin:0}.lesson-choice>button,.lesson-choice>div{text-align:left;border:1.5px solid var(--ms-rule);border-radius:var(--ms-radius-sm);background:var(--ms-paper);width:100%;color:var(--ms-ink);font:inherit;align-items:center;gap:12px;padding:10px 14px;font-size:16px;line-height:1.4;display:flex}.lesson-choice>button{cursor:pointer;transition:border-color var(--ms-t) var(--ms-e), background-color var(--ms-t) var(--ms-e)}.lesson-choice>button:hover{border-color:var(--ms-blue)}.lesson-choice>button:focus-visible{outline:2px solid var(--ms-blue);outline-offset:2px}.lesson-choice-key{width:24px;height:24px;font-family:var(--ms-mono);color:var(--ms-muted);transition:background-color var(--ms-t) var(--ms-e), color var(--ms-t) var(--ms-e);border:1.5px solid;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.lesson-choice-text{flex:auto;min-width:0}.lesson-choice.is-picked>button{border-color:var(--ms-blue);background:var(--ms-wash)}.lesson-choice.is-picked .lesson-choice-key{background:var(--ms-blue);border-color:var(--ms-blue);color:#fff}.lesson-choice.is-correct>*{border-color:var(--ms-green)}.lesson-choice.is-correct .lesson-choice-key{background:var(--ms-green);border-color:var(--ms-green);color:#fff}.lesson-choice.is-wrong>*{border-color:var(--ms-red)}.lesson-choice.is-wrong .lesson-choice-key{background:var(--ms-red);border-color:var(--ms-red);color:#fff}.diag-spr{max-width:280px;margin:16px 0 0}.diag-spr-hint{color:var(--ms-muted);margin:7px 0 0;font-size:13.5px}.diag-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.diag-nav-right{flex-wrap:wrap;gap:8px;display:flex}.studio-btn.is-quiet{color:var(--ms-blue);background:0 0}.studio-btn.is-quiet:hover:not(:disabled){background:var(--ms-wash);color:var(--ms-purple)}a.studio-btn:hover{text-decoration:none}.diag-confirm{border-left:3px solid var(--ms-red);border-radius:0 var(--ms-radius-sm) var(--ms-radius-sm) 0;background:var(--ms-wash);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;font-size:15px;display:flex}.diag-score{flex-wrap:wrap;align-items:baseline;gap:14px;padding-top:22px;display:flex}.diag-score-big{font-family:var(--ms-display);font-size:60px;line-height:1}.diag-score-of{font-family:var(--ms-display);color:var(--ms-muted);font-size:22px}.diag-time{color:var(--ms-muted);font-size:15px}.diag-blank-note{color:var(--ms-red);margin:8px 0 0;font-size:14.5px}.diag-section{margin-top:32px}.diag-section-head{border-bottom:1px solid var(--ms-rule);margin:0 0 14px;padding-bottom:10px;font-size:22px}.diag-section-note{color:var(--ms-muted);margin:-4px 0 16px;font-size:15px}.diag-bars{gap:14px;display:grid}.diag-bar-row{gap:6px;display:grid}.diag-bar-label{justify-content:space-between;gap:12px;font-size:15.5px;display:flex}.diag-bar-count{font-family:var(--ms-mono);letter-spacing:1px;color:var(--ms-muted);font-size:12px;font-weight:700}.diag-bar-track{border:1px solid var(--ms-rule);background:var(--ms-wash);border-radius:999px;height:10px;overflow:hidden}.diag-bar-fill{background:var(--ms-blue);height:100%;transition:width .5s var(--ms-e);border-radius:999px}.diag-bar-fill.is-low{background:var(--ms-red)}.diag-bar-fill.is-full{background:var(--ms-green)}.diag-map{gap:10px;display:grid}.diag-map-domain{border:1px solid var(--ms-rule);border-radius:var(--ms-radius);background:var(--ms-card);padding:14px 18px 6px}.diag-map-domain-head{font-family:var(--ms-display);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;font-size:18px;display:flex}.diag-map-domain-head a,.diag-map-topic a{color:var(--ms-blue);font-size:14.5px}.diag-map-topic{border-top:1px solid var(--ms-rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;font-size:15.5px;display:flex}.diag-map-topic-name{align-items:baseline;gap:10px;display:flex}.diag-map-tally{font-family:var(--ms-mono);letter-spacing:1px;font-size:12px;font-weight:700}.diag-map-tally.is-miss{color:var(--ms-red)}.diag-map-tally.is-clean{color:var(--ms-green)}.diag-map-skip{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-green);font-size:11.5px;font-weight:700}.diag-review .solutions-q .lesson-choices{margin-top:12px}.diag-answer{font-family:var(--ms-mono);letter-spacing:.8px;color:var(--ms-muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:12.5px;font-weight:700;display:flex}.diag-verdict{text-transform:uppercase}.diag-verdict.is-right{color:var(--ms-green)}.diag-verdict.is-wrong{color:var(--ms-red)}@media (max-width:700px){.studio-grid-2,.prep-how,.diag-facts{grid-template-columns:1fr}.diag-facts{grid-template-columns:repeat(2,1fr)}.prep-banner{padding:18px}.prep-banner-title{font-size:21px}.prep-banner-go{text-align:center;width:100%}.diag-q{padding:16px}.diag-score-big{font-size:46px}.diag-strip button{width:32px;height:32px}}@media (prefers-reduced-motion:reduce){.prep-banner,.diag-strip button,.diag-bar-fill,.lesson-choice>button,.lesson-choice-key{transition:none}.diag-q{animation:none}}.studio-card.is-outline{cursor:pointer}@media (hover:hover){.studio-card.is-outline:hover{border-color:var(--ms-blue)}}.studio-card.is-expanded{border-color:var(--ms-blue)}.studio-outline{font-family:var(--ms-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ms-muted);margin-left:9px;font-size:10px;font-weight:700}.studio-card-toggle{font-family:var(--ms-mono);letter-spacing:1px;text-transform:uppercase;border:1.5px solid var(--ms-rule);background:var(--ms-card);color:var(--ms-muted);cursor:pointer;transition:color var(--ms-t) var(--ms-e), border-color var(--ms-t) var(--ms-e);border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;position:absolute;bottom:10px;right:10px}.studio-card-toggle:hover,.studio-card.is-expanded .studio-card-toggle{color:var(--ms-blue);border-color:var(--ms-blue)}.studio-card-toggle:focus-visible{outline:2px solid var(--ms-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){.studio-card-toggle{transition:none}}
