:root{--ink:#15110e;--vellum:#f4f2ed;--vellum-paper:#fbfaf7;--vellum-shade-soft:#e8e4da;--brass:#b58c56;--brass-light:#cdaa7a;--on-brass:var(--ink);--moss:#5e6b3f;--oxblood:#7a2e26;--folio:#d8d2c4;--on-folio-primary:#15110e;--on-folio-secondary:#15110ea8;--on-folio-tertiary:#15110e80;--rule-on-folio:#15110e1f;--rule-on-folio-strong:#15110e38;--ink-text-primary:#15110e;--ink-text-secondary:#15110ea8;--ink-text-tertiary:#15110e6b;--ink-rule:#15110e1a;--ink-rule-strong:#15110e2e;--vellum-text-primary:#15110e;--vellum-text-secondary:#15110ea8;--vellum-text-tertiary:#15110e6b;--vellum-rule:#15110e1a;--vellum-rule-strong:#15110e2e;--brass-soft:#b58c562e;--bg:var(--vellum);--text:var(--vellum-text-primary);--text-secondary:var(--vellum-text-secondary);--text-tertiary:var(--vellum-text-tertiary);--rule:var(--vellum-rule);--rule-strong:var(--vellum-rule-strong);--helper-secondary:var(--vellum-text-secondary);--helper-tertiary:var(--vellum-text-tertiary);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--ease-page:cubic-bezier(.32, .08, .24, 1);--ease-snap:cubic-bezier(.4, 0, .2, 1);--dur-instant:.12s;--dur-snap:.2s;--dur-toggle:.28s;--dur-page:.48s;--dur-chapter:.64s;--dur-draw:.8s;--shadow-sheet:0 -32px 64px -24px #15110e80;--radius-sm:4px;--radius-lg:20px;--font-serif:"Recia", Georgia, serif;--font-sans:"Switzer", -apple-system, system-ui, sans-serif;--reading-width:680px;--a11y-font-scale:1;--a11y-leading-scale:1;--a11y-typeface-leading-bump:1}[data-surface=vellum]{--bg:var(--vellum);--text:var(--vellum-text-primary);--text-secondary:var(--vellum-text-secondary);--text-tertiary:var(--vellum-text-tertiary);--rule:var(--vellum-rule);--rule-strong:var(--vellum-rule-strong)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{font-family:var(--font-serif);color:var(--text);background:var(--bg);font-feature-settings:"kern", "liga";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:16px;line-height:1.4}html,body,#root{min-height:100dvh}#root{background:var(--bg);color:var(--text);flex-direction:column;display:flex}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid var(--brass);outline-offset:4px}input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}a:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=link]:focus-visible,[role=menuitem]:focus-visible,[role=menuitemradio]:focus-visible,[role=option]:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[tabindex="0"]:focus-visible,summary:focus-visible,select:focus-visible,[contenteditable=true]:focus-visible{outline:2px solid var(--brass);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.skip-link{z-index:10000;background:var(--ink);color:#fbfaf7;font-family:var(--font-sans);outline:2px solid var(--brass);outline-offset:2px;transition:transform .16s var(--ease-snap);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500;position:fixed;top:12px;left:12px;transform:translateY(-180%);box-shadow:0 4px 16px #14100c3d}.skip-link:focus{transform:translateY(0)}p{margin:0 0 1em}p:last-child{margin-bottom:0}::selection{background:var(--brass);color:var(--on-brass)}.eyebrow{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0;font-size:11px;font-weight:500;display:block}.eyebrow--quiet{color:var(--helper-secondary)}.block-hdr{margin-bottom:16px}.block-hdr .section-instructions{margin-bottom:0}.display{font-family:var(--font-serif);letter-spacing:-.018em;color:var(--text);margin:0;font-weight:500;line-height:1.08}.display--40{font-size:40px}.display--56{font-size:56px}.display--72{font-size:72px}@media (width<=720px){.display--56{font-size:40px}.display--72{font-size:48px}}.italic{font-style:italic}.body-prose{font-family:var(--font-serif);color:var(--text);font-size:19px;font-weight:400;line-height:1.62}.caption{font-family:var(--font-sans);color:var(--text-secondary);font-size:13px;line-height:1.4}.btn{font-family:var(--btn-font-family,var(--font-sans));font-size:var(--btn-font-size,13px);letter-spacing:.06em;text-transform:uppercase;padding:var(--btn-padding-y,14px) var(--btn-padding-x,28px);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background var(--dur-snap) var(--ease-snap), color var(--dur-snap) var(--ease-snap), border-color var(--dur-snap) var(--ease-snap), transform var(--dur-instant) var(--ease-snap);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:140px;font-weight:500;display:inline-flex;position:relative}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--btn-bg,var(--brass));color:var(--btn-text-color,var(--on-brass));border-color:var(--btn-bg,var(--brass))}.btn--primary:hover:not(:disabled){background:var(--btn-bg,var(--brass-light));border-color:var(--btn-bg,var(--brass-light));filter:brightness(1.08)}[data-surface=vellum] .btn--primary{background:var(--btn-bg,var(--vellum-text-primary));color:var(--btn-text-color,var(--vellum));border-color:var(--btn-bg,var(--vellum-text-primary))}[data-surface=vellum] .btn--primary:hover:not(:disabled){background:var(--btn-bg,#2b2520);border-color:var(--btn-bg,#2b2520);filter:brightness(1.08)}.btn--secondary{color:var(--btn-bg,var(--brass));border-color:var(--btn-bg,var(--brass));background:0 0}.btn--secondary:hover:not(:disabled){background:var(--btn-secondary-hover-bg,var(--brass-soft))}[data-surface=vellum] .btn--secondary{color:var(--btn-bg,var(--vellum-text-primary));border-color:var(--btn-bg,var(--vellum-text-primary))}[data-surface=vellum] .btn--secondary:hover:not(:disabled){background:var(--btn-secondary-hover-bg,#15110e0f)}.btn--tertiary{font-family:var(--btn-font-family,var(--font-sans));font-size:var(--btn-font-size,13px);letter-spacing:.06em;color:var(--btn-bg,var(--vellum-text-primary));text-underline-offset:4px;text-transform:none;background:0 0;border:0;border-radius:0;min-width:0;padding:6px 0;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}.btn--tertiary:hover{color:var(--btn-bg,var(--brass))}[data-surface=vellum] .btn--tertiary{color:var(--btn-bg,var(--vellum-text-primary))}[data-surface=vellum] .btn--tertiary:hover{color:var(--btn-bg,var(--brass))}.btn-dots{gap:4px;display:inline-flex}.btn-dots span{opacity:.3;width:6px;height:6px;animation:btn-dot 1.2s infinite var(--ease-snap);background:currentColor;border-radius:50%}.btn-dots span:nth-child(2){animation-delay:.2s}.btn-dots span:nth-child(3){animation-delay:.4s}@keyframes btn-dot{0%,to{opacity:.3}50%{opacity:1}}.brass-pulse{background:var(--brass);width:8px;height:8px;animation:brass-pulse 1.8s infinite var(--ease-snap);border-radius:50%;display:inline-block}@keyframes brass-pulse{0%,to{opacity:.3}50%{opacity:1}}.field{flex-direction:column;gap:6px;width:100%;display:flex}.field label{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);transition:color var(--dur-snap) var(--ease-snap);font-size:11px;font-weight:500}.field input,.field textarea{font-family:var(--font-serif);border:0;border-bottom:1px solid var(--rule-strong);color:var(--text);transition:border-color var(--dur-snap) var(--ease-snap);background:0 0;outline:none;width:100%;padding:10px 0;font-size:18px;line-height:1.4}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary)}.field input:focus,.field textarea:focus{border-bottom-color:var(--brass);border-bottom-width:2px;padding-bottom:9px}.field:focus-within label{color:var(--brass)}.field--error input,.field--error textarea{border-bottom-color:var(--oxblood)}.field--error .field-help{color:var(--oxblood);font-style:italic}.field-help{font-family:var(--font-sans);color:var(--text-secondary);font-size:13px}.sk-bar{background:var(--rule-strong);height:12px;animation:sk-pulse 1.8s infinite var(--ease-snap);border-radius:2px}@keyframes sk-pulse{0%,to{opacity:.5}50%{opacity:1}}.page-enter{animation:page-enter var(--dur-page) var(--ease-page) forwards}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-stagger>*{animation:page-enter var(--dur-page) var(--ease-page) backwards}.page-stagger>:first-child{animation-delay:0s}.page-stagger>:nth-child(2){animation-delay:80ms}.page-stagger>:nth-child(3){animation-delay:.16s}.page-stagger>:nth-child(4){animation-delay:.24s}.page-stagger>:nth-child(5){animation-delay:.32s}.page-stagger>:nth-child(6){animation-delay:.4s}.page-stagger>:nth-child(7){animation-delay:.48s}.page-stagger>:nth-child(8){animation-delay:.56s}@media (prefers-reduced-motion:reduce){html:not([data-a11y-motion=full]) *,html:not([data-a11y-motion=full]) :before,html:not([data-a11y-motion=full]) :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}}html[data-a11y-motion=reduced] *,html[data-a11y-motion=reduced] :before,html[data-a11y-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}html[data-a11y-typeface=legible]{--font-serif:"Atkinson Hyperlegible", system-ui, sans-serif;--font-sans:"Atkinson Hyperlegible", system-ui, sans-serif}html[data-a11y-typeface=dyslexic]{--font-serif:"OpenDyslexic", "Comic Sans MS", sans-serif;--font-sans:"OpenDyslexic", "Comic Sans MS", sans-serif;--a11y-typeface-leading-bump:1.12}html[data-a11y-typeface=dyslexic] :is(em,i,.rt-prose em,.rt-prose i){font-style:normal;font-weight:600}html[data-a11y-contrast=high]{--vellum-text-secondary:#15110ee6;--vellum-text-tertiary:#15110eb8;--vellum-rule:#15110e47;--vellum-rule-strong:#15110e75;--ink-text-secondary:#15110ee6;--ink-text-tertiary:#15110eb8;--ink-rule:#15110e47;--ink-rule-strong:#15110e75;--helper-secondary:#15110ee6;--helper-tertiary:#15110eb8;--brass:#8a6a38;--on-brass:var(--vellum)}html[data-a11y-contrast=high] .surface-page--immersive,html[data-a11y-contrast=high] [data-surface=ink]{--ink-text-secondary:#efe6d2e6;--ink-text-tertiary:#efe6d2bd;--ink-rule:#efe6d24d;--ink-rule-strong:#efe6d27a}html[data-a11y-contrast=high] :focus-visible{outline-offset:2px;outline:2px solid var(--ink)!important}html[data-a11y-contrast=high] .surface-page--immersive :focus-visible,html[data-a11y-contrast=high] [data-surface=ink] :focus-visible{outline-color:var(--vellum)!important}.player-page[data-a11y-reader=on] .player-sidebar{display:none}.player-page[data-a11y-reader=on] .player-grid{grid-template-columns:minmax(0,1fr)}.player-page[data-a11y-reader=on] .chapter-tabs{display:none}.player-page[data-a11y-reader=on] .activity-frame{box-shadow:none;background:0 0;border-color:#0000}.player-page[data-a11y-reader=on] .audio-player-frame{border-color:var(--vellum-rule);background:0 0}.reading{max-width:var(--reading-width);width:100%;margin:0 auto}@media (width<=720px){.reading{padding:0 24px}}.hr{border:0;border-top:1px solid var(--rule);margin:0}.hr--strong{border-top-color:var(--rule-strong)}.rt-prose{font-family:var(--font-serif);color:var(--text)}.rt-prose>*{margin:0 0 1em}.rt-prose>:last-child{margin-bottom:0}.rt-prose h1,.rt-prose h2,.rt-prose h3,.rt-prose h4,.rt-prose h5{font-family:var(--font-serif);letter-spacing:-.018em;color:var(--text);margin:1.4em 0 .5em;font-weight:500;line-height:1.08}.rt-prose>:first-child,.rt-prose>:first-child>:first-child{margin-top:0}.rt-prose h1{font-size:calc(56px * var(--a11y-font-scale));letter-spacing:-.022em}.rt-prose h2{font-size:calc(40px * var(--a11y-font-scale))}.rt-prose h3{font-size:calc(30px * var(--a11y-font-scale));letter-spacing:-.014em}.rt-prose h4{font-size:calc(22px * var(--a11y-font-scale));letter-spacing:-.008em}.rt-prose h5{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-top:1.6em;margin-bottom:.4em;font-size:12px;font-weight:500}.rt-prose p{font-size:calc(19px * var(--a11y-font-scale));line-height:calc(1.62 * var(--a11y-leading-scale) * var(--a11y-typeface-leading-bump));color:var(--text)}.rt-prose strong{color:inherit;font-weight:600}.rt-prose em{font-style:italic}.rt-prose u{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.rt-prose a{color:var(--brass);text-underline-offset:4px;transition:opacity .2s var(--ease-snap);text-decoration:underline;text-decoration-thickness:1px}.rt-prose a:hover{opacity:.7}.rt-prose ul,.rt-prose ol{font-size:calc(19px * var(--a11y-font-scale));line-height:calc(1.62 * var(--a11y-leading-scale) * var(--a11y-typeface-leading-bump));padding-left:1.4em}.rt-prose ul li::marker{color:var(--brass)}.rt-prose ol li::marker{color:var(--brass);font-family:var(--font-serif)}.rt-prose li{margin-bottom:.4em}.rt-prose blockquote{font-family:var(--font-serif);font-style:italic;font-size:calc(22px * var(--a11y-font-scale));line-height:calc(1.4 * var(--a11y-leading-scale));color:var(--text);text-align:center;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);max-width:580px;margin:2em auto;padding:1.2em 0;position:relative}.rt-prose blockquote p{font-size:inherit}.rt-prose hr{background:var(--brass);opacity:.35;border:0;width:60%;height:1px;margin:3em auto}.rt-prose .rt-button-block{text-align:center;margin:2em 0}.rt-prose a.rt-button{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--brass);transition:background .2s var(--ease-snap), color .2s var(--ease-snap);border-radius:999px;justify-content:center;align-items:center;padding:14px 28px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.rt-prose a.rt-button.rt-button--primary{background:var(--brass);color:var(--on-brass)}.rt-prose a.rt-button.rt-button--primary:hover{background:var(--brass-light);border-color:var(--brass-light);opacity:1}.rt-prose a.rt-button.rt-button--secondary{color:var(--brass);background:0 0}.rt-prose a.rt-button.rt-button--secondary:hover{background:var(--brass-soft);opacity:1}.rt-prose img.rt-image,.rt-prose img{border-radius:6px;max-width:100%;height:auto;margin:1em 0;display:block}.rt-prose video.rt-video,.rt-prose video{background:#000;border-radius:6px;max-width:100%;height:auto;margin:1em 0;display:block}.rt-prose audio.rt-audio,.rt-prose audio{width:100%;margin:1em 0;display:block}.rt-prose ul[data-bullet]{padding-left:0;list-style:none}.rt-prose ul[data-bullet]>li{margin-bottom:6px;padding-left:28px;position:relative}.rt-prose ul[data-bullet=disc]>li:before{content:"";background:var(--bullet-color,currentColor);border-radius:50%;width:7px;height:7px;position:absolute;top:12px;left:6px}.rt-prose ul[data-bullet=ring]>li:before{content:"";border:1.4px solid var(--bullet-color,currentColor);border-radius:50%;width:8px;height:8px;position:absolute;top:11px;left:6px}.rt-prose ul[data-bullet=square]>li:before{content:"";background:var(--bullet-color,currentColor);width:7px;height:7px;position:absolute;top:12px;left:6px}.rt-prose ul[data-bullet=square-outline]>li:before{content:"";border:1.4px solid var(--bullet-color,currentColor);width:8px;height:8px;position:absolute;top:11px;left:6px}.rt-prose ul[data-bullet=dash]>li:before{content:"";background:var(--bullet-color,currentColor);width:13px;height:1.6px;position:absolute;top:15px;left:2px}.rt-prose ul[data-bullet=check]>li:before{content:"✓";font-family:var(--font-sans);color:var(--bullet-color,currentColor);font-size:15px;position:absolute;top:1px;left:2px}.rt-prose ul[data-bullet=arrow]>li:before{content:"→";font-family:var(--font-sans);color:var(--bullet-color,currentColor);font-size:15px;position:absolute;top:1px;left:1px}.rt-prose ul[data-bullet=star]>li:before{content:"★";color:var(--bullet-color,currentColor);font-size:13px;position:absolute;top:2px;left:1px}.rt-prose ul[data-bullet=custom]>li:before{content:"";background:var(--bullet-image) center / contain no-repeat;width:14px;height:14px;position:absolute;top:12px;left:3px}.rt-prose ul[data-bullet] ul{padding-left:0;list-style:none}.rt-prose ul[data-bullet] ul>li{padding-left:24px;position:relative}.rt-prose ul[data-bullet] ul>li:before{content:"";border:1.4px solid var(--bullet-color,currentColor);background:0 0;border-radius:50%;width:6px;height:6px;position:absolute;top:12px;left:6px}.rt-prose img[data-align=left]{float:left;margin:.4em 1.2em .6em 0}.rt-prose img[data-align=right]{float:right;margin:.4em 0 .6em 1.2em}.rt-prose img[data-align=center]{margin-left:auto;margin-right:auto;display:block}.rt-prose img[data-align=full]{width:100%;margin:1em 0;display:block}.rt-prose:after{content:"";clear:both;display:table}@media (width<=600px){.rt-prose img[data-align=left],.rt-prose img[data-align=right]{float:none;margin:1em 0;display:block;width:100%!important}}.rt-image-nv{line-height:0;position:relative}.rt-image-nv img{border-radius:6px;max-width:100%;height:auto;display:block;margin:0!important}.rt-image-nv.is-selected img{outline:1.5px solid var(--brass);outline-offset:2px}.rt-image-handle{background:var(--brass);z-index:3;border:1.5px solid #fbfaf7;border-radius:2px;width:10px;height:10px;position:absolute}.rt-image-handle.tl{cursor:nwse-resize;top:-3px;left:-3px}.rt-image-handle.tr{cursor:nesw-resize;top:-3px;right:-3px}.rt-image-handle.bl{cursor:nesw-resize;bottom:-3px;left:-3px}.rt-image-handle.br{cursor:nwse-resize;bottom:-3px;right:-3px}.rt-image-bar{z-index:4;background:#15110e;border-radius:9px;align-items:center;gap:2px;padding:5px;line-height:1;display:flex;position:absolute;top:-46px;left:0;box-shadow:0 12px 28px -8px #15110e80}.rt-image-bar-btn{cursor:pointer;color:#efe6d2;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 6px;display:flex}.rt-image-bar-btn:hover{background:#efe6d224}.rt-image-bar-btn.on{color:#efe6d2;background:#b58c564d}.rt-image-bar-txt{font-family:var(--font-sans);font-size:12px;font-weight:500}.rt-image-bar-div{background:#efe6d22e;width:1px;height:18px;margin:0 3px}.rt-image-alt-input{color:#efe6d2;font-family:var(--font-sans);background:#efe6d21a;border:1px solid #efe6d240;border-radius:6px;outline:none;width:200px;padding:6px 8px;font-size:12px}.rt-prose .rt-spacer{width:100%;display:block}.rt-prose .rt-spacer[data-size=sm]{height:16px}.rt-prose .rt-spacer[data-size=md]{height:32px}.rt-prose .rt-spacer[data-size=lg]{height:64px}.rt-spacer-nv{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;margin:2px 0;display:flex;position:relative}.rt-spacer-nv--sm{height:16px}.rt-spacer-nv--md{height:32px}.rt-spacer-nv--lg{height:64px}.rt-spacer-guide{border:1px dashed #0000;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;transition:border-color .14s,background .14s;display:flex}.rt-spacer-nv:hover .rt-spacer-guide,.rt-spacer-nv.is-selected .rt-spacer-guide{background:#b58c560f;border-color:#b58c568c}.rt-spacer-nv.is-selected .rt-spacer-guide{border-style:solid}.rt-spacer-tag{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-text-tertiary);opacity:0;font-size:9px;font-weight:500;transition:opacity .14s}.rt-spacer-nv:hover .rt-spacer-tag,.rt-spacer-nv.is-selected .rt-spacer-tag{opacity:1}.rt-spacer-bar{top:-46px}.rt-grid{gap:8px;width:100%;margin:1.75em 0;display:grid}.rt-grid[data-layout=single]{grid-template-columns:1fr}.rt-grid[data-layout="2x1"],.rt-grid[data-layout="2x2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.rt-grid[data-layout="3x3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.rt-grid[data-layout="4x4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.rt-grid[data-gap="0"]{gap:0}.rt-grid[data-gap="4"]{gap:4px}.rt-grid[data-gap="8"]{gap:8px}.rt-grid[data-gap="16"]{gap:16px}.rt-grid[data-aspect="1:1"] .rt-grid-cell{aspect-ratio:1}.rt-grid[data-aspect="4:3"] .rt-grid-cell{aspect-ratio:4/3}.rt-grid[data-aspect="3:2"] .rt-grid-cell{aspect-ratio:3/2}.rt-grid-cell{background:#15110e0d;border-radius:6px;margin:0;position:relative;overflow:hidden;container-type:inline-size}.rt-grid-cell img{object-fit:cover;border-radius:6px;width:100%;height:100%;display:block;margin:0!important}.rt-grid-label{max-width:88%;font-family:var(--font-sans);font-size:calc(clamp(10px, 7.2cqw, 15px) * var(--label-scale,1));letter-spacing:.01em;white-space:normal;overflow-wrap:break-word;pointer-events:none;line-height:1.25;display:inline-block;position:absolute}@media (width<=600px){.rt-grid[data-layout="3x3"],.rt-grid[data-layout="4x4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}.rt-grid-nv{width:100%;margin:1.75em 0;position:relative}.rt-grid-nv[data-width=column]{max-width:var(--reading-width)}.rt-grid-nv[data-width=full]{max-width:none}.rt-grid-nv .rt-grid{margin:0}.text-editor .rt-editor .ProseMirror{max-width:860px}.text-editor .rt-editor .ProseMirror>:is(p,h1,h2,h3,h4,h5,ul,ol){max-width:var(--reading-width)}.rt-grid-nv.is-selected .rt-grid{outline:1.5px solid var(--brass);outline-offset:5px;border-radius:8px;box-shadow:0 0 0 8px #b58c561a}.rt-grid-nv .rt-grid-cell.is-cellsel{overflow:visible}.rt-grid-nv .rt-grid-cell--empty{cursor:pointer;background:0 0;border:1.5px dashed #15110e33;justify-content:center;align-items:center;transition:border-color .14s,background .14s;display:flex}.rt-grid-nv .rt-grid-cell--empty:hover{background:#15110e05;border-color:#15110e57}.rt-grid-empty-inner{color:#15110e6b;flex-direction:column;align-items:center;gap:7px;display:flex}.rt-grid-empty-inner span{font-family:var(--font-sans);font-size:11px;font-weight:500}.rt-grid-nv .rt-grid-cell.is-drop{border:1.5px dashed var(--brass);background:#b58c561f}.rt-grid-nv .rt-grid-cell.is-drop .rt-grid-empty-inner{color:#7a5a2e}.rt-grid-uploading{background:#15110e0f;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rt-grid-spin{color:var(--brass);animation:1s linear infinite rt-grid-spin}@keyframes rt-grid-spin{to{transform:rotate(360deg)}}.rt-grid-nudge{font-family:var(--font-sans);letter-spacing:.02em;color:#15110e80;margin-top:8px;font-size:11px}.rt-grid-bar{flex-wrap:wrap;max-width:calc(100vw - 48px);top:-46px;left:0}.rt-grid-cellbar{z-index:5;top:-42px;left:-1px}.rt-grid-drag{cursor:grab;color:#efe6d2bf}.rt-grid-drag:hover{color:#efe6d2}.rt-grid-drag:active{cursor:grabbing}.rt-grid-lg{gap:1.3px;width:13px;height:13px;display:grid}.rt-grid-lg i{background:#efe6d280;border-radius:1px}.rt-image-bar-btn.on .rt-grid-lg i{background:#efe6d2}.rt-grid-gg{width:15px;height:11px;display:flex}.rt-grid-gg i{background:#efe6d280;border-radius:1px;flex:1}.rt-image-bar-btn.on .rt-grid-gg i{background:#efe6d2}.rt-grid-wg{border:1px solid #efe6d26b;border-radius:2px;justify-content:center;align-items:center;width:17px;height:12px;display:flex}.rt-grid-wg i{background:#efe6d280;border-radius:1px;height:3.5px}.rt-image-bar-btn.on .rt-grid-wg{border-color:#efe6d299}.rt-image-bar-btn.on .rt-grid-wg i{background:#efe6d2}.rt-grid-modal{z-index:1000;background:#15110e80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rt-grid-modal-panel{background:var(--vellum-paper);border-radius:16px;width:100%;max-width:520px;max-height:85vh;padding:24px;overflow:auto;box-shadow:0 24px 80px -12px #0006}.rt-grid-modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.rt-grid-modal-head span{font-family:var(--font-sans);font-size:14px;font-weight:600}.rt-grid-modal-head button{color:var(--vellum-text-secondary);display:flex}.rt-grid-modal-foot{justify-content:flex-end;margin-top:16px;display:flex}.rt-grid-modal-done{background:var(--brass);color:var(--on-brass);font-family:var(--font-sans);border-radius:999px;padding:8px 20px;font-size:13px;font-weight:500}.rt-hr-nv{position:relative}.rt-hr-nv.is-selected .rt-hr{outline-offset:4px;border-radius:4px;outline:1.5px solid #b58c56;box-shadow:0 0 0 8px #b58c561a}.rt-hrp{z-index:60;width:320px;font-family:var(--font-sans);background:#fbfaf7;border:1px solid #15110e2e;border-radius:16px;padding:16px;animation:.18s cubic-bezier(.4,0,.2,1) rt-hrp-in;position:fixed;box-shadow:0 12px 32px -8px #15110e3d,0 2px 8px -2px #15110e1f}@keyframes rt-hrp-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.rt-hrp-caret{background:#fbfaf7;border-top:1px solid #15110e2e;border-left:1px solid #15110e2e;width:12px;height:12px;position:absolute}.rt-hrp-caret.up{top:-6px;transform:translate(-50%)rotate(45deg)}.rt-hrp-caret.down{bottom:-6px;transform:translate(-50%)rotate(225deg)}.rt-hrp-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#15110ea8;font-size:11px;font-weight:600}.rt-hrp-rule{background:#15110e1a;height:1px;margin:12px 0}.rt-hrp-group{margin-bottom:12px}.rt-hrp-glabel{letter-spacing:.14em;text-transform:uppercase;color:#15110ea8;margin-bottom:8px;font-size:11px;font-weight:600}.rt-hrp-group.is-disabled{opacity:.42;pointer-events:none}.rt-hrp-seg{background:#15110e0b;border:1px solid #15110e1a;border-radius:10px;height:44px;padding:3px;display:flex;position:relative}.rt-hrp-thumb{background:#b58c56;border-radius:7px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;bottom:3px;left:3px}.rt-hrp-opt{z-index:1;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;transition:background .15s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.rt-hrp-opt:not(.on):hover{background:#15110e0f}.rt-hrp-cap{letter-spacing:.06em;text-transform:uppercase;color:#15110ea8;font-size:10px;font-weight:500}.rt-hrp-opt.on .rt-hrp-cap{color:#15110e}.rt-hrp-num{color:#15110ea8;font-size:12px;font-weight:500}.rt-hrp-opt.on .rt-hrp-num{color:#15110e}.rt-hrp-wbar{background:#15110e80;border-radius:2px;height:2px}.rt-hrp-opt.on .rt-hrp-wbar{background:#15110e}.rt-hrp-tline{background:#15110e80;width:26px}.rt-hrp-opt.on .rt-hrp-tline{background:#15110e}.rt-hrp-sline{border-top:2px solid #15110e80;width:32px}.rt-hrp-opt.on .rt-hrp-sline{border-top-color:#15110e}.rt-hrp-aframe{align-items:center;width:34px;height:12px;display:flex;position:relative}.rt-hrp-aframe:before{content:"";background:#15110e33;height:1px;position:absolute;top:50%;left:0;right:0}.rt-hrp-aframe.a-left{justify-content:flex-start}.rt-hrp-aframe.a-center{justify-content:center}.rt-hrp-aframe.a-right{justify-content:flex-end}.rt-hrp-abar{background:#15110e8c;border-radius:2px;width:14px;height:2px;position:relative}.rt-hrp-opt.on .rt-hrp-abar{background:#15110e}.rt-hrp-foot{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.rt-hrp-remove{cursor:pointer;font-family:var(--font-sans);color:#7a2e26;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:6px 8px;font-size:13px;font-weight:500;display:flex}.rt-hrp-remove:hover{text-underline-offset:4px;background:#7a2e2614;text-decoration:underline}.rt-hrp-done{color:#15110e;cursor:pointer;font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;background:#b58c56;border:0;border-radius:999px;padding:10px 22px;font-size:13px;font-weight:500}.rt-hrp-done:hover{background:#c09a63}.cf-well-row{cursor:pointer;width:100%;height:44px;font-family:var(--font-sans);background:#15110e0b;border:1px solid #15110e1a;border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.cf-well-row:hover{background:#15110e0f}.cf-well-row-swatch{border-radius:6px;flex-shrink:0;width:24px;height:24px;box-shadow:inset 0 0 0 1px #15110e2e}.cf-well-row-val{color:#15110e;font-size:13px;font-weight:500}.cf-well-row-chev{color:#15110e6b;margin-left:auto}@media (prefers-reduced-motion:reduce){.rt-hrp{animation:none}.rt-hrp-thumb{transition:none}}.rt-audio-mount,um-audio-player{display:block}.um-audio{--au-on-accent:var(--ink);--au-track:color-mix(in oklch, var(--text) 16%, transparent);--au-muted:color-mix(in oklch, var(--text) 62%, transparent);--au-hairline:color-mix(in oklch, var(--text) 14%, transparent);--au-fill:color-mix(in oklch, var(--text) 3.5%, transparent);--au-hover:color-mix(in oklch, var(--text) 8%, transparent);--au-accent-tint:color-mix(in oklch, var(--brass) 15%, transparent);--au-accent-hover:color-mix(in oklch, var(--brass) 92%, white);--au-halo:color-mix(in oklch, var(--brass) 22%, transparent);box-sizing:border-box;border:1px solid var(--au-hairline);background:var(--au-fill);width:100%;font-family:var(--font-sans);border-radius:14px;flex-direction:column;gap:8px;margin:16px 0;padding:12px 16px;display:flex}.um-audio-row{align-items:center;gap:14px;display:flex}.um-audio-title{letter-spacing:.12em;text-transform:uppercase;color:var(--au-muted);font-size:11px;font-weight:600}.um-audio-play{background:var(--brass);width:40px;height:40px;color:var(--au-on-accent);cursor:pointer;transition:transform .1s var(--ease-snap), background .2s var(--ease-snap);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.um-audio-play svg{width:18px;height:18px}.um-audio-play:hover{background:var(--au-accent-hover)}.um-audio-play:active{transform:scale(.94)}.um-audio-play.is-buffering{opacity:.6}.um-audio-play.is-buffering svg{animation:1s linear infinite um-audio-spin}@keyframes um-audio-spin{to{transform:rotate(360deg)}}.um-audio-time{font-variant-numeric:tabular-nums;color:var(--au-muted);flex:none;font-size:13px}.um-audio-time.elapsed{text-align:right;min-width:44px}.um-audio-time.total{text-align:left;min-width:44px}.um-audio-time.is-long{min-width:62px}.um-audio-seek{cursor:pointer;touch-action:none;flex:auto;align-items:center;height:20px;display:flex;position:relative}.um-audio-track{background:var(--au-track);width:100%;height:4px;transition:height .12s var(--ease-snap);border-radius:999px;position:relative}.um-audio-fill{background:var(--brass);border-radius:999px;width:0%;height:100%;position:absolute;top:0;left:0}.um-audio-thumb{background:var(--brass);width:10px;height:10px;transition:width .12s var(--ease-snap), height .12s var(--ease-snap);border-radius:50%;position:absolute;top:50%;left:0%;transform:translate(-50%,-50%)}.um-audio-seek:hover .um-audio-track,.um-audio.is-dragging .um-audio-track,.um-audio-seek:focus-visible .um-audio-track{height:6px}.um-audio-seek:hover .um-audio-thumb,.um-audio.is-dragging .um-audio-thumb,.um-audio-seek:focus-visible .um-audio-thumb{width:14px;height:14px}.um-audio-seek:focus-visible{outline:none}.um-audio-seek:focus-visible .um-audio-thumb{box-shadow:0 0 0 6px var(--au-halo)}.um-audio-speed{font-variant-numeric:tabular-nums;min-width:46px;height:28px;color:var(--au-muted);cursor:pointer;transition:background .2s var(--ease-snap), color .2s var(--ease-snap);background:0 0;border:0;border-radius:8px;flex:none;padding:0 10px;font-family:inherit;font-size:12.5px;font-weight:500}.um-audio-speed:hover{background:var(--au-hover);color:var(--text)}.um-audio-speed.is-on{background:var(--au-accent-tint);color:var(--text);font-weight:600}.um-audio-play:focus-visible,.um-audio-speed:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.um-audio-error{color:var(--au-muted);font-size:13px}.um-audio--empty{border-style:dashed}.um-audio-emptytext{font-family:var(--font-serif);color:var(--au-muted);font-size:14px;font-style:italic}@media (prefers-reduced-motion:reduce){.um-audio-play:active{transform:none}.um-audio-play.is-buffering svg{animation:none}}.rt-prose a.rt-button.rt-button--download:before{content:"↓";vertical-align:-1px;margin-right:8px;font-size:1.05em;font-weight:600;display:inline-block}@media (width<=720px){.rt-prose h1{font-size:40px}.rt-prose h2{font-size:30px}.rt-prose h3{font-size:24px}.rt-prose h4{font-size:19px}.rt-prose p,.rt-prose ul,.rt-prose ol{font-size:17px}.rt-prose blockquote{font-size:19px}}.rt-editor .ProseMirror{outline:none;min-height:160px;padding:8px 0}.rt-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--ink-text-tertiary);pointer-events:none;float:left;height:0;font-style:italic}.splash{background:var(--vellum);z-index:9999;pointer-events:none;opacity:1;transition:opacity .28s var(--ease-page);place-items:center;display:grid;position:fixed;inset:0}.splash--gone{opacity:0}.splash-mark{font-family:var(--font-serif);letter-spacing:-.018em;color:var(--brass);animation:brass-pulse 2.4s infinite var(--ease-page);font-size:40px;font-weight:500;line-height:1.08}.surface-page{min-height:100vh}.surface-page--ink,.surface-page--immersive{background:var(--vellum);color:var(--vellum-text-primary)}[data-surface=ink]{--bg:var(--vellum);--text:var(--vellum-text-primary);--text-secondary:var(--vellum-text-secondary);--text-tertiary:var(--vellum-text-tertiary);--rule:var(--vellum-rule);--rule-strong:var(--vellum-rule-strong)}.surface-page--vellum{background:var(--vellum);color:var(--vellum-text-primary)}body,.surface-page{transition:background .28s var(--ease-snap), color .28s var(--ease-snap)}.studio-content{min-height:100dvh;margin-left:var(--studio-rail-w,264px);transition:margin-left .22s var(--ease-snap);flex-direction:column;flex:1;display:flex}@media (width<=768px){.studio-content{margin-left:0}}.volume{background:#fbfaf7;border-color:#15110e1a}.volume:before{border-color:#15110e0f}.volume:hover{box-shadow:0 24px 48px -24px #15110e2e}.volume-gloss{color:#15110ea8}.launcher-menu{background:#fbfaf7;border-color:#15110e1f;box-shadow:0 24px 48px -16px #15110e2e}.launcher-menu-email{color:#15110e8c}.launcher-menu-rule{background:#15110e1a}.launcher-menu-item{color:#15110ed9}.course-hero-fade{background:linear-gradient(#f4f2ede0 0%,#f4f2edf0 60%,#f4f2ed 100%)}.course-hero-content .display{color:var(--vellum-text-primary)}.course-hero-content .course-pull-quote{color:var(--vellum-text-secondary)}.fc-text ul,.fc-text ol{margin:0;padding-left:1.4em}.fc-text ul{list-style:outside}.fc-text ol{list-style:decimal}.fc-text ul ul{list-style:circle}.fc-text ol ol{list-style:lower-alpha}.fc-text li{margin:0}.sp-shell{--chrome-accent:var(--brass);background:var(--vellum);min-height:100vh;color:var(--vellum-text-primary);flex-direction:column;display:flex}.sp-header{border-bottom:1px solid var(--vellum-rule);background:var(--vellum);z-index:10;position:sticky;top:0}.sp-header-inner{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;max-width:1200px;margin:0 auto;padding:14px 24px;display:grid}.sp-header-left{align-items:center;gap:14px;min-width:0;min-height:30px;display:flex}.sp-brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:160px;height:28px;animation:sp-brand-fade .2s var(--ease-snap,ease) both;flex-shrink:0;display:block}@keyframes sp-brand-fade{0%{opacity:0}to{opacity:1}}.sp-brand-wordmark{font-family:var(--font-serif);color:var(--vellum-text-primary);white-space:nowrap;flex-shrink:0;font-size:20px;line-height:1}.sp-brand-divider{background:var(--vellum-rule-strong);flex-shrink:0;width:1px;height:20px}.sp-course-title{font-family:var(--font-serif);color:var(--vellum-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:500;overflow:hidden}.sp-library-back{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--vellum-text-secondary);border:1px solid var(--vellum-rule);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px 6px 11px;font-size:11px;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.sp-library-back span{font-size:15px;line-height:1}.sp-library-back:hover{color:var(--vellum-text-primary);border-color:var(--vellum-rule-strong);background:var(--vellum-paper)}.sp-progress{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--helper-tertiary);text-align:right;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.sp-progress-bar{background:var(--vellum-rule);border-radius:2px;grid-column:1/-1;height:2px;overflow:hidden}.sp-progress-fill{background:var(--chrome-accent);height:100%;transition:width .48s var(--ease-page)}.sp-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:48px 24px 32px}.sp-chapter-eyebrow{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--chrome-accent);margin-bottom:12px;font-size:11px;font-weight:500}.sp-section-title{font-family:var(--font-serif);letter-spacing:-.018em;color:var(--vellum-text-primary);margin:0 0 32px;font-size:32px;font-weight:500;line-height:1.15}.sp-section-surface{background:var(--vellum-paper);border:1px solid var(--vellum-rule);border-radius:var(--radius-lg);position:relative;overflow:hidden}.sp-footer{border-top:1px solid var(--vellum-rule);background:var(--vellum);justify-content:flex-end;align-items:center;gap:16px;padding:20px 24px;display:flex;position:sticky;bottom:0}.sp-hint{font-family:var(--font-serif);color:var(--helper-tertiary);font-size:13px;font-style:italic}.sp-continue{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;background:var(--btn-bg,var(--chrome-accent));color:var(--btn-text-color,var(--chrome-accent-text,var(--ink)));cursor:pointer;box-shadow:0 4px 12px -4px color-mix(in srgb, var(--btn-bg,var(--chrome-accent)) 40%, transparent);border:0;border-radius:999px;padding:14px 32px;font-size:13px;font-weight:500;transition:transform .12s,box-shadow .2s,opacity .2s}.sp-continue:hover:not(:disabled){box-shadow:0 6px 16px -4px color-mix(in srgb, var(--btn-bg,var(--chrome-accent)) 55%, transparent);transform:translateY(-1px)}.sp-continue:active:not(:disabled){transform:translateY(0)}.sp-continue:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.sp-back{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--btn-bg,var(--chrome-accent));color:var(--btn-bg,var(--chrome-accent));cursor:pointer;background:0 0;border-radius:999px;padding:14px 32px;font-size:13px;font-weight:500;transition:transform .12s,background .2s,border-color .2s}.sp-back:hover:not(:disabled){background:var(--btn-secondary-hover-bg,#15110e0f);transform:translateY(-1px)}.sp-back:active:not(:disabled){transform:translateY(0)}.sp-back:disabled{opacity:.4;cursor:not-allowed}.sp-loading{background:var(--vellum);min-height:100vh;position:relative}.sp-loading:after{content:"";background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--brass) 18%, transparent), transparent 60%);animation:1.6s ease-in-out infinite sp-pulse;position:absolute;inset:0}@keyframes sp-pulse{0%,to{opacity:.4}50%{opacity:1}}.sp-fatal{background:var(--vellum);min-height:100vh;color:var(--vellum-text-primary);text-align:center;place-items:center;padding:24px;display:grid}.sp-fatal h1{font-family:var(--font-serif);margin:0 0 8px;font-size:28px;font-weight:500}.sp-fatal p{font-family:var(--font-serif);color:var(--vellum-text-secondary);font-style:italic}.sp-shell--complete{place-items:center;display:grid}.sp-complete{text-align:center;max-width:640px;padding:64px 24px}.sp-display{font-family:var(--font-serif);letter-spacing:-.018em;color:var(--vellum-text-primary);margin:12px 0 16px;font-size:48px;font-weight:500;line-height:1.08}.sp-prose{font-family:var(--font-serif);color:var(--vellum-text-secondary);margin:0;font-size:18px;line-height:1.55}.sp-eyebrow{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--chrome-accent);font-size:11px;font-weight:500}.sp-complete-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:32px;display:flex}.sp-exit{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;background:var(--btn-bg,var(--chrome-accent));color:var(--btn-text-color,var(--chrome-accent-text,var(--ink)));cursor:pointer;box-shadow:0 4px 12px -4px color-mix(in srgb, var(--btn-bg,var(--chrome-accent)) 40%, transparent);border:0;border-radius:999px;padding:14px 32px;font-size:13px;font-weight:500;transition:transform .12s,box-shadow .2s,filter .2s}.sp-exit:hover{filter:brightness(1.06);box-shadow:0 6px 16px -4px color-mix(in srgb, var(--btn-bg,var(--chrome-accent)) 55%, transparent);transform:translateY(-1px)}.sp-exit:active{transform:translateY(0)}.sp-complete-review{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--btn-bg,var(--chrome-accent));color:var(--btn-bg,var(--chrome-accent));cursor:pointer;background:0 0;border-radius:999px;padding:14px 32px;font-size:13px;font-weight:500;transition:transform .12s,background .2s,border-color .2s}.sp-complete-review:hover{background:var(--btn-secondary-hover-bg,#15110e0f);transform:translateY(-1px)}.sp-complete-review:active{transform:translateY(0)}.sp-close{border:1px solid var(--vellum-rule);background:var(--vellum-paper);width:40px;height:40px;color:var(--vellum-text-secondary);cursor:pointer;z-index:20;border-radius:50%;place-items:center;transition:background .2s,color .2s,border-color .2s;display:grid;position:fixed;top:20px;right:24px}.sp-close:hover{background:var(--vellum);color:var(--vellum-text-primary);border-color:var(--vellum-rule-strong)}.sp-excluded{text-align:center;background:var(--vellum-paper);color:var(--vellum-text-primary);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:320px;padding:64px 32px;display:flex}.sp-excluded-icon{background:var(--vellum-shade-soft);width:72px;height:72px;color:var(--brass);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.sp-excluded-title{font-family:var(--font-serif);color:var(--vellum-text-primary);margin:0;font-size:24px;font-weight:500}.sp-excluded-body{font-family:var(--font-serif);color:var(--vellum-text-secondary);max-width:480px;margin:0;font-size:16px;line-height:1.55}.sp-excluded-hint{font-family:var(--font-sans);letter-spacing:.06em;color:var(--vellum-text-tertiary);margin:12px 0 0;font-size:12px}.sp-excluded-hint strong{color:var(--brass);font-weight:600}@media (width<=720px){.sp-main{padding:32px 16px 24px}.sp-section-title{margin-bottom:24px;font-size:24px}.sp-header-inner{padding:12px 16px}.sp-footer{padding:16px}.sp-continue{padding:12px 24px}.sp-back{padding:12px 20px}.sp-display{font-size:32px}}.sp-body{display:contents}.sp-shell.has-nav{flex-direction:row;height:100dvh;overflow:hidden}.sp-shell.has-nav .sp-body{flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex;overflow-y:auto}.sp-nav{background:var(--vellum-paper);border-right:1px solid var(--vellum-rule);flex-shrink:0;width:300px;height:100dvh;padding:20px 0 32px;overflow-y:auto}.sp-shell.has-nav[data-nav-open=false] .sp-nav{display:none}.sp-nav-head{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--helper-tertiary);padding:0 20px 14px;font-size:11px;font-weight:600}.sp-nav-chapter{margin-bottom:6px;padding:6px 12px}.sp-nav-chapter.is-current-module{background:var(--nav-active-module-bg);border-radius:10px}.sp-nav-chapter-title{font-family:var(--font-serif);color:var(--vellum-text-primary);align-items:baseline;gap:8px;padding:0 8px 8px;font-size:14px;font-weight:500;display:flex}.sp-nav-chapter-num{font-family:var(--font-sans);letter-spacing:.08em;color:var(--chrome-accent);font-size:10px;font-weight:600}.sp-nav-lessons{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sp-nav-lesson{text-align:left;width:100%;font-family:var(--font-sans);color:var(--vellum-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px;font-size:13px;line-height:1.35;transition:background .14s,color .14s;display:flex}.sp-nav-lesson:hover:not(:disabled){background:var(--nav-hover-bg,var(--vellum-shade-soft));color:var(--vellum-text-primary)}.sp-nav-lesson.is-current{background:var(--nav-active-bg,color-mix(in srgb, var(--chrome-accent) 14%, transparent));color:var(--nav-active-text,var(--vellum-text-primary));font-weight:500}.sp-nav-lesson.is-locked{color:var(--vellum-text-tertiary);cursor:not-allowed}.sp-nav-lesson-title{flex:1;min-width:0}.sp-nav-marker{width:18px;height:18px;color:var(--vellum-text-tertiary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.sp-nav-lesson.is-done .sp-nav-marker{background:var(--chrome-accent);color:var(--vellum)}.sp-nav-lesson.is-current .sp-nav-marker{color:var(--nav-active-text,var(--chrome-accent))}.sp-nav-dot{border:1.5px solid;border-radius:50%;width:7px;height:7px}.sp-nav-lesson.is-current .sp-nav-dot{background:var(--nav-active-text,var(--chrome-accent));border-color:var(--nav-active-text,var(--chrome-accent))}.sp-nav-toggle{border:1px solid var(--vellum-rule);width:34px;height:34px;color:var(--vellum-text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;place-items:center;transition:background .16s,color .16s,border-color .16s;display:grid}.sp-nav-toggle:hover{background:var(--vellum-paper);color:var(--vellum-text-primary);border-color:var(--vellum-rule-strong)}.sp-nav-backdrop{display:none}@media (width<=899px){.sp-shell.has-nav{flex-direction:column;height:auto;overflow:visible}.sp-shell.has-nav .sp-body{display:contents}.sp-nav{z-index:60;width:min(84vw,320px);transition:transform .26s var(--ease-page);display:block;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 48px #00000047}.sp-shell.has-nav[data-nav-open=false] .sp-nav{display:block}.sp-shell.has-nav[data-nav-open=true] .sp-nav{transform:translate(0)}.sp-nav-backdrop{z-index:55;opacity:0;pointer-events:none;background:#0006;transition:opacity .26s;position:fixed;inset:0}.sp-shell.has-nav[data-nav-open=true] .sp-nav-backdrop{opacity:1;pointer-events:auto}}@media (width<=719px){.sp-shell[data-branded=true] .sp-course-title,.sp-shell[data-branded=true] .sp-brand-divider{display:none}.sp-shell[data-branded=true] .sp-brand-logo{max-width:120px;height:24px}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
/*$vite$:1*/