.microfacet-course{--mf-bg:#081318;--mf-raised:#0d2027;--mf-line:#29434c;--mf-muted:#9db2b5;--mf-ink:#edf6f4;--mf-cyan:#74e5df;--mf-gold:#f4c96b;--mf-violet:#bf9dff;display:grid;gap:2.5rem;padding-block:1rem 5rem;color:var(--mf-ink)}.microfacet-course button,.microfacet-course select,.microfacet-course input{font:inherit}.microfacet-orientation{display:grid;gap:1.25rem;align-items:end;padding:1.5rem 0 2rem;border-bottom:1px solid var(--gray-700)}.microfacet-orientation>div:first-child{max-width:65ch}.microfacet-orientation span,.microfacet-lesson__header>div>span,.microfacet-viewport header span,.microfacet-action>span,.microfacet-evidence span,.microfacet-term span{color:var(--accent-dark);font-size:.72rem;font-weight:800;letter-spacing:.04em}.microfacet-orientation h2{max-width:19ch;margin-top:.55rem;font-size:clamp(1.8rem,5vw,3.5rem);letter-spacing:-.04em;line-height:1.1;text-wrap:balance}.microfacet-orientation p{max-width:62ch;margin-top:.75rem;color:var(--mf-muted);line-height:1.7}.microfacet-mode{display:flex;flex-wrap:wrap;gap:.5rem}.microfacet-mode button,.microfacet-step-nav button,.microfacet-button,.microfacet-pagination button,.microfacet-pagination a,.microfacet-prediction button{min-height:44px;padding:.7rem .85rem;border:1px solid var(--mf-line);border-radius:.55rem;color:var(--mf-ink);background:transparent;font-size:.78rem;font-weight:750;cursor:pointer}.microfacet-mode button{display:grid;gap:.18rem;text-align:left}.microfacet-mode button[aria-pressed=true]{border-color:var(--mf-cyan);background:color-mix(in srgb,var(--mf-cyan) 11%,transparent)}.microfacet-mode small{color:var(--mf-muted);font-size:.65rem;font-weight:500}.microfacet-step-nav{display:grid;grid-template-columns:repeat(9,minmax(9.3rem,1fr));overflow-x:auto;border-block:1px solid var(--gray-700);scrollbar-width:thin}.microfacet-step-nav button{min-width:9.3rem;display:grid;gap:.3rem;align-content:start;border:0;border-right:1px solid var(--gray-700);border-radius:0;text-align:left}.microfacet-step-nav button[aria-current=step]{background:color-mix(in srgb,var(--mf-cyan) 10%,transparent);box-shadow:inset 0 -3px 0 var(--mf-cyan)}.microfacet-step-nav span{color:var(--mf-cyan);font:700 .66rem ui-monospace,monospace}.microfacet-step-nav strong{font-size:.73rem;line-height:1.35}.microfacet-lesson{display:grid;gap:1.5rem}.microfacet-lesson__header{display:grid;gap:1.25rem;align-items:end}.microfacet-lesson__header h1{max-width:20ch;margin-top:.4rem;font-size:clamp(2rem,6vw,4.4rem);letter-spacing:-.045em;line-height:1.08;text-wrap:balance}.microfacet-lesson__header>p{max-width:54ch;padding:1rem;border:1px solid var(--gray-700);border-radius:.7rem;color:var(--mf-muted);background:var(--gray-900);line-height:1.7}.microfacet-lesson__header>p strong{display:block;margin-bottom:.3rem;color:var(--mf-ink)}.microfacet-viewport{display:grid;gap:1rem;padding:1rem;background:var(--mf-bg);border:1px solid var(--mf-line);border-radius:.8rem}.microfacet-viewport>header{display:flex;gap:1rem;align-items:end;justify-content:space-between}.microfacet-viewport>header h2{margin-top:.35rem;font-size:clamp(1.1rem,3vw,1.5rem);letter-spacing:-.02em}.microfacet-viewport>header output{color:var(--mf-gold);font:700 .8rem ui-monospace,monospace}.microfacet-viewport__visual{min-width:0;display:grid;place-items:center;min-height:16rem;border:1px solid #203a42;background:#09181e}.microfacet-schematic{display:block;width:100%;height:auto;max-height:20rem}.microfacet-ground{fill:none;stroke:#47616a;stroke-width:5}.microfacet-mirror{stroke:var(--mf-gold);stroke-width:4;stroke-linecap:round}.microfacet-ray{fill:none;stroke-width:4}.microfacet-ray.cyan{stroke:var(--mf-cyan)}.microfacet-ray.gold{stroke:var(--mf-gold)}.microfacet-ray.muted{stroke:#c2d3d5}.microfacet-schematic text{fill:var(--mf-ink);font:700 14px var(--font-body)}.microfacet-label{fill:var(--mf-muted)!important;font-weight:500!important}.microfacet-bars{display:grid;gap:.75rem}.microfacet-bar>div{display:flex;gap:.75rem;justify-content:space-between;color:var(--mf-muted);font-size:.72rem}.microfacet-bar strong{color:var(--mf-ink);font-family:ui-monospace,monospace}.microfacet-bar>i{display:block;height:.55rem;margin-top:.35rem;border-radius:999px;background:var(--mf-line)}.microfacet-bar>i:after{content:"";display:block;height:100%;width:100%;border-radius:inherit;background:currentColor;transform-origin:left;transform:scaleX(var(--bar-scale,1))}.microfacet-bar>i{background:color-mix(in srgb,var(--mf-line) 60%,transparent);overflow:hidden}.microfacet-bar>i[style]{color:var(--mf-cyan)}.microfacet-bar>i.tone-gold{color:var(--mf-gold)}.microfacet-bar>i.tone-violet{color:var(--mf-violet)}.microfacet-curve{display:block;width:min(100%,32rem);height:auto}.microfacet-axis{stroke:#4b6870;stroke-width:1}.microfacet-curve__path{fill:none;stroke:var(--mf-cyan);stroke-width:4;stroke-linecap:round}.microfacet-curve__guide{stroke:var(--mf-gold);stroke-width:1.5;stroke-dasharray:5 5}.microfacet-curve__point{fill:var(--mf-gold);stroke:#fff4d2;stroke-width:2}.microfacet-curve text{fill:var(--mf-muted);font:12px var(--font-body)}.microfacet-curve__value{fill:var(--mf-ink)!important;font-family:ui-monospace,monospace!important;font-weight:700}.microfacet-energy,.microfacet-material{width:min(100%,42rem);padding:2rem 1.25rem}.microfacet-energy__lead{display:flex;gap:1rem;align-items:center;justify-content:center;color:var(--mf-muted);font-size:.78rem}.microfacet-energy__lead b{color:var(--mf-gold);font-size:1.4rem}.microfacet-energy__bar{display:flex;height:2rem;margin-top:1.6rem;border:1px solid var(--mf-line);border-radius:999px;overflow:hidden}.microfacet-energy__bar i{background:var(--mf-gold)}.microfacet-energy__bar b{background:var(--mf-cyan)}.microfacet-energy__legend{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin-top:.75rem;color:var(--mf-muted);font-size:.73rem}.swatch{display:inline-block;width:.65rem;height:.65rem;margin-right:.35rem;border-radius:50%}.swatch.gold{background:var(--mf-gold)}.swatch.cyan{background:var(--mf-cyan)}.microfacet-material{display:flex;gap:2rem;align-items:center;justify-content:center}.microfacet-material__orb{width:clamp(8rem,25vw,12rem);aspect-ratio:1;border-radius:50%;box-shadow:0 1.5rem 3rem #00000059,inset -1.3rem -1.3rem 2.5rem #00000040}.microfacet-material>div:last-child{display:grid;gap:.35rem}.microfacet-material span,.microfacet-material small{color:var(--mf-muted);font-size:.72rem}.microfacet-material strong{font:700 1rem ui-monospace,monospace}.microfacet-factors{display:flex;flex-wrap:wrap;gap:.55rem 1.2rem;color:var(--mf-muted);font-size:.72rem}.microfacet-factors b{color:var(--mf-gold);font-family:ui-monospace,monospace}.microfacet-gate,.microfacet-prediction,.microfacet-action,.microfacet-controls,.microfacet-evidence,.microfacet-explanation{display:grid;gap:1rem;padding:1.25rem;border-block:1px solid var(--gray-700);background:color-mix(in srgb,var(--gray-900) 70%,transparent)}.microfacet-gate strong,.microfacet-prediction>span,.microfacet-action>span{color:var(--mf-cyan);font-size:.76rem;font-weight:800}.microfacet-gate p,.microfacet-action p,.microfacet-evidence>p,.microfacet-term p,.microfacet-details p{max-width:68ch;color:var(--mf-muted);line-height:1.7}.microfacet-button{width:fit-content}.microfacet-button--primary{border-color:var(--mf-gold);color:#171107;background:var(--mf-gold)}.microfacet-prediction h2{max-width:58ch;font-size:clamp(1.1rem,3vw,1.5rem);line-height:1.45}.microfacet-prediction>div{display:flex;flex-wrap:wrap;gap:.55rem}.microfacet-prediction>div button{color:var(--mf-ink);background:#12282f}.microfacet-prediction__skip{width:fit-content;border:0!important;padding-inline:0!important;color:var(--mf-muted)!important;text-decoration:underline;text-underline-offset:.25rem}.microfacet-feedback{padding:.8rem;border:1px solid var(--mf-line);background:#0b1d23}.microfacet-feedback strong{display:block;color:var(--mf-ink)}.microfacet-controls{background:#0a1c22}.microfacet-controls>header{display:flex;gap:1rem;align-items:end;justify-content:space-between}.microfacet-controls h2{margin-top:.3rem;font-size:1rem}.microfacet-controls output{color:var(--mf-gold);font:700 1.3rem ui-monospace,monospace}.microfacet-controls>p{color:var(--mf-muted);font-size:.73rem}.microfacet-range{width:100%;accent-color:var(--mf-gold)}.microfacet-select{width:100%;min-height:44px;padding:.65rem;border:1px solid var(--mf-line);border-radius:.5rem;color:var(--mf-ink);background:#10262d}.microfacet-control-actions{display:flex;flex-wrap:wrap;gap:.5rem}.microfacet-evidence{border-color:color-mix(in srgb,var(--mf-cyan) 50%,var(--gray-700));background:color-mix(in srgb,var(--mf-cyan) 6%,var(--mf-bg))}.microfacet-evidence h2{margin-top:.3rem;font-size:1.2rem}.microfacet-evidence__term{padding-top:1rem;border-top:1px solid var(--mf-line)}.microfacet-evidence__term strong{color:var(--mf-cyan);font-size:.76rem}.microfacet-evidence__term p{margin-top:.3rem;color:var(--mf-ink);line-height:1.7}.microfacet-explanation{gap:1.4rem;border-color:color-mix(in srgb,var(--mf-gold) 50%,var(--gray-700));background:color-mix(in srgb,var(--mf-gold) 5%,var(--mf-bg))}.microfacet-term h2{margin-top:.35rem;font-size:clamp(1.5rem,4vw,2.3rem);letter-spacing:-.03em}.microfacet-details{display:grid;gap:1.25rem}.microfacet-details>div{display:grid;gap:.55rem;padding-top:1rem;border-top:1px solid var(--mf-line)}.microfacet-details span,.microfacet-code summary{color:var(--mf-gold);font-size:.74rem;font-weight:800}.microfacet-details code{width:fit-content;max-width:100%;padding:.8rem;border:1px solid var(--mf-line);border-radius:.45rem;color:var(--mf-ink);background:#09181e;font:700 .82rem/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.microfacet-code{border-top:1px solid var(--mf-line)}.microfacet-code summary{min-height:52px;display:flex;align-items:center;cursor:pointer}.microfacet-code pre{overflow:auto;margin:0;padding:1rem;border:1px solid var(--mf-line);background:#071318}.microfacet-code code{color:#c9efea;font:700 .76rem/1.7 ui-monospace,monospace}.microfacet-code p{margin-top:.75rem;color:var(--mf-muted);font-size:.75rem;line-height:1.6}.microfacet-code a{display:inline-flex;min-height:44px;align-items:center;margin-top:.75rem;color:var(--mf-cyan);font-size:.78rem;font-weight:800}.microfacet-pagination{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between}.microfacet-pagination button,.microfacet-pagination a{color:var(--mf-cyan);text-decoration:none}.microfacet-takeaway{padding:1rem 0;border-block:1px solid var(--gray-700);color:var(--mf-muted);line-height:1.7}.microfacet-takeaway strong{color:var(--mf-gold)}@media(min-width:50em){.microfacet-orientation,.microfacet-lesson__header{grid-template-columns:minmax(0,1fr) auto}.microfacet-mode{justify-content:flex-end}.microfacet-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.microfacet-course{gap:1.6rem;padding-bottom:3rem}.microfacet-mode button{flex:1}.microfacet-step-nav{grid-template-columns:repeat(9,9rem)}.microfacet-lesson__header h1{font-size:clamp(1.9rem,9vw,2.7rem)}.microfacet-viewport__visual{min-height:13rem}.microfacet-material{gap:1rem;padding-inline:.7rem}.microfacet-material__orb{width:7rem}.microfacet-energy{padding-inline:.7rem}.microfacet-energy__lead{font-size:.68rem}.microfacet-control-actions>*{flex:1;justify-content:center;text-align:center}.microfacet-pagination>*{flex:1;justify-content:center;text-align:center}.microfacet-pagination span{display:none}}@media(prefers-reduced-motion:reduce){.microfacet-course *{scroll-behavior:auto}}.microfacet-lesson__header h2{max-width:20ch;margin-top:.4rem;font-size:clamp(2rem,6vw,4.4rem);letter-spacing:-.045em;line-height:1.08;text-wrap:balance}@media(max-width:40rem){.microfacet-lesson__header h2{font-size:clamp(1.9rem,9vw,2.7rem)}}
