.path-map,.path-picker{max-width:820px;margin:0 auto}.path-header{grid-template-columns:minmax(0,1fr) 168px;align-items:center;gap:28px;padding:8px 0 12px;display:grid}.path-header h1{letter-spacing:-.04em;margin:6px 0 10px;font-size:clamp(1.75rem,3.4vw,2.375rem);font-weight:650;line-height:1.15}.path-header-copy>p{max-width:600px;color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.65}.path-header-art{width:168px}.path-summary{color:var(--ink-muted);align-items:center;gap:14px;margin:20px 0 18px;font-size:.8125rem;display:flex}.path-meter{background:var(--surface-subtle);border-radius:999px;flex:0 220px;height:10px;overflow:hidden}.path-meter>span{width:var(--path-progress);border-radius:inherit;background:var(--accent);height:100%;transition:width .6s;display:block;box-shadow:inset 0 3px #ffffff47}.path-header .ui-button[data-variant=primary]{min-height:52px;box-shadow:0 4px 0 var(--accent-strong);white-space:normal;text-align:left;border-radius:14px;padding:12px 22px;font-size:.9375rem}.path-header .ui-button[data-variant=primary]:active{box-shadow:0 1px 0 var(--accent-strong);transform:translateY(3px)}.path-finished{background:var(--ui-selected);color:var(--accent-strong);border-radius:12px;align-items:center;gap:8px;margin:0;padding:10px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.path-before{max-width:600px;color:var(--ink-muted);margin:18px 0 0;font-size:.8125rem;line-height:1.65}.path-before strong{color:var(--ink);margin-right:6px;font-weight:600}.path-switcher{display:inline-block;position:relative}.path-switcher>button{min-height:32px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;margin-left:-8px;padding:4px 8px;font-size:.8125rem;font-weight:600;display:inline-flex}.path-switcher>button:hover,.path-switcher>button[aria-expanded=true]{background:var(--ui-hover);color:var(--accent-strong)}.path-switcher-menu{z-index:12;border:1px solid var(--line);background:var(--surface);border-radius:14px;width:min(360px,100vw - 32px);padding:8px;animation:.16s ease-out rise-in;position:absolute;top:38px;left:-8px;box-shadow:0 14px 36px #18201c1f}.path-switcher-menu ul{margin:0;padding:0;list-style:none}.path-switcher-menu li a{border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.path-switcher-menu li a:hover,.path-switcher-menu li a[aria-current=page]{background:var(--ui-hover)}.path-switcher-menu li a>span{flex:1;gap:2px;min-width:0;display:grid}.path-switcher-menu strong{font-size:.875rem;font-weight:600;line-height:1.4}.path-switcher-menu small{color:var(--ink-muted);font-size:.75rem}.path-switcher-menu svg{color:var(--accent-strong);flex-shrink:0}.path-switcher-art{width:56px}.path-switcher-all{border-top:1px solid var(--line);color:var(--accent-strong);align-items:center;gap:6px;margin-top:6px;padding:10px 8px 4px;font-size:.8125rem;font-weight:600;display:flex}.path-guide,.path-reading{margin:12px 0 0}.path-guide>summary,.path-reading>summary{min-height:40px;color:var(--tone-ink);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:6px 12px;font-size:.8125rem;font-weight:600;list-style:none;display:inline-flex}.path-guide>summary::-webkit-details-marker{display:none}.path-reading>summary::-webkit-details-marker{display:none}.path-guide>summary:hover,.path-reading>summary:hover{background:var(--tone-wash)}.path-chevron{transition:transform .2s}details[open]>summary .path-chevron{transform:rotate(180deg)}.path-guide ul,.path-reading ul{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:12px;margin:6px 0 0;padding:14px 18px;list-style:none;display:grid}.path-guide li{color:var(--ink-muted);font-size:.875rem;line-height:1.65}.path-guide strong{color:var(--ink);font-weight:600;display:block}.path-reading li{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.path-reading a{align-items:center;gap:8px;font-size:.875rem;line-height:1.5;display:inline-flex}.path-reading a:hover span{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.path-reading a svg{color:var(--ink-muted);flex-shrink:0}.path-added{color:var(--ink-muted);font-size:.75rem}.path-lessons{gap:6px;margin:18px 0 0;padding:0;list-style:none;display:grid;position:relative}.path-lesson{position:relative}.path-lesson:not(:last-child):after{content:"";z-index:0;background:repeating-linear-gradient(to bottom, var(--line) 0 6px, transparent 6px 11px);border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:64px;bottom:-14px;left:40px}.path-lesson[data-state=completed]:not(:last-child):after{background:var(--tone)}.path-lesson>a{z-index:1;border:2px solid #0000;border-radius:18px;align-items:center;gap:18px;padding:10px 14px;transition:background-color .15s,border-color .15s;display:flex;position:relative}.path-lesson>a:hover{background:var(--surface)}.path-node{border:2px solid var(--line);background:var(--surface);width:52px;height:52px;color:var(--ink-muted);box-shadow:0 4px 0 var(--line);border-radius:50%;flex-shrink:0;place-items:center;margin:0 0 4px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:grid}.path-lesson>a:hover .path-node{transform:translateY(-2px)}.path-lesson>a:active .path-node{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.path-lesson[data-state=completed] .path-node{border-color:var(--tone);background:var(--tone);color:#fff;box-shadow:0 4px 0 var(--tone-strong)}.path-lesson[data-state=current] .path-node{border-color:var(--tone);background:var(--tone);color:#fff;animation:2.6s ease-in-out infinite breathe}.path-lesson[data-state=skipped] .path-node{box-shadow:none;border-style:dashed}.path-lesson[data-state=current]>a{border-color:color-mix(in srgb, var(--tone) 35%, var(--line));background:var(--surface);box-shadow:0 6px 18px #18201c0d}.path-lesson-copy{flex:1;gap:3px;min-width:0;display:grid}.path-lesson-title{overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.45}.path-lesson[data-state=upcoming] .path-lesson-title{color:color-mix(in srgb, var(--ink) 80%, var(--ink-muted))}.path-lesson-meta{color:var(--ink-muted);font-size:.8125rem}.path-lesson[data-state=completed] .path-lesson-meta{color:var(--tone-ink)}.path-lesson-cta{background:var(--tone);color:#fff;box-shadow:0 3px 0 var(--tone-strong);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:9px 16px;font-size:.875rem;font-weight:650;display:inline-flex}.path-lesson[data-celebrate] .path-node{animation:pop-in .7s var(--motion-pop) .2s both}.path-lesson[data-celebrate] .path-node:after{content:"";border:3px solid var(--tone);border-radius:50%;width:52px;height:52px;animation:.9s ease-out .55s both ring-out;position:absolute}.path-jump{z-index:14;right:max(20px,50vw - 590px);bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 20px);border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--accent-strong);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:650;animation:.2s ease-out rise-in;display:inline-flex;position:fixed;box-shadow:0 8px 24px #18201c1f}.path-picker-heading{padding:8px 0}.path-picker-heading h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(1.75rem,3.4vw,2.375rem);font-weight:650;line-height:1.15}.path-picker-heading p{color:var(--ink-muted);margin:0;line-height:1.6}.path-topic-chip{background:var(--ui-selected);min-height:36px;color:var(--accent-strong);border-radius:999px;align-items:center;gap:6px;margin-top:14px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.path-cards{gap:20px;margin:28px 0 0;padding:0;list-style:none;display:grid}.path-card>a{border:1px solid var(--line);background:var(--surface);box-shadow:0 4px 0 var(--line);border-radius:22px;grid-template-columns:150px minmax(0,1fr);gap:8px 24px;padding:24px;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.path-card>a:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 30%, var(--line));transform:translateY(-2px)}.path-card>a:active{box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.path-card-art{width:150px}.path-card-copy{align-content:start;gap:8px;display:grid}.path-card-meta{color:var(--ink-muted);font-size:.75rem;font-weight:600}.path-card-title{letter-spacing:-.03em;font-size:1.375rem;font-weight:650;line-height:1.3}.path-card-outcome{color:var(--ink-muted);font-size:.9375rem;line-height:1.6}.path-card-concepts{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.path-card-concepts>span{background:var(--tone-soft);color:var(--tone-ink);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:600}.path-card-footer{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding-top:16px;display:flex}.path-card-progress{color:var(--ink-muted);flex:1;align-items:center;gap:12px;font-size:.8125rem;display:flex}.path-card-action{color:var(--accent-strong);align-items:center;gap:6px;font-size:.9375rem;font-weight:650;display:inline-flex}.path-empty{padding:32px 0}.path-empty h2{font-size:1.125rem;font-weight:600}.path-empty div{flex-wrap:wrap;gap:20px;display:flex}.path-empty a{color:var(--accent-strong);align-items:center;gap:6px;font-size:.875rem;display:inline-flex}@media (max-width:640px){.path-header{grid-template-columns:minmax(0,1fr) 84px;align-items:start;gap:12px}.path-header-art{width:84px;margin-top:30px}.path-header-copy>p{font-size:.9375rem}.path-summary{flex-wrap:wrap;gap:8px 12px}.path-meter{flex-basis:100%}.path-header .ui-button[data-variant=primary]{justify-content:space-between;width:100%}.path-header-copy{grid-area:1/1/auto/-1}.path-header-art{grid-area:1/2;align-self:start;margin-top:0}.path-header-copy h1{padding-right:92px}.path-lesson>a{gap:14px;padding:8px 12px}.path-lesson:not(:last-child):after{top:58px;left:36px}.path-node{width:48px;height:48px}.path-lesson-title{font-size:.9375rem}.path-lesson[data-state=current]>a{flex-wrap:wrap}.path-lesson-cta{display:none}.path-card>a{grid-template-columns:88px minmax(0,1fr);gap:8px 16px;padding:18px}.path-card-art{width:88px}.path-card-title{font-size:1.1875rem}.path-card-outcome{font-size:.875rem}.path-card-concepts{grid-column:1/-1}}.path-curriculum{margin-top:32px}.path-lesson{scroll-margin-top:96px}.path-lesson .lesson-concepts{margin-top:8px}
.lesson-page.page-container{padding-top:0}.lesson{--lesson-bar-top:65px;--lesson-bar-height:64px}.lesson-bar{z-index:15;top:var(--lesson-bar-top);height:var(--lesson-bar-height);margin:0 calc(var(--page-gutter,20px) * -1);padding:0 var(--page-gutter,20px);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:16px;display:flex;position:sticky}.lesson-close{width:44px;height:44px;color:var(--ink-muted);border-radius:12px;flex-shrink:0;place-items:center;margin-left:-10px;display:grid}.lesson-close:hover{background:var(--ui-hover);color:var(--ink)}.lesson-progress{background:var(--surface-subtle);border-radius:999px;flex:1;height:8px;overflow:hidden}.lesson-progress>span{width:var(--lesson-progress);border-radius:inherit;background:var(--tone);min-width:8px;height:100%;transition:width .5s cubic-bezier(.3,1.3,.5,1);display:block;box-shadow:inset 0 2px #ffffff4d}.lesson-bar-meta{color:var(--ink-muted);flex-shrink:0;font-size:.8125rem;font-weight:600}.lesson-bar-context,.lesson-bar-status{display:none}.lesson-heading{max-width:860px;padding:20px 0 28px}.lesson-eyebrow{color:var(--tone-ink);font-size:.8125rem;font-weight:650}.lesson-heading h1{letter-spacing:-.035em;margin:6px 0 0;font-size:clamp(1.625rem,3vw,2.375rem);font-weight:650;line-height:1.18}.lesson-done-note{background:var(--tone-soft);color:var(--tone-ink);border-radius:999px;align-items:center;gap:8px;margin:14px 0 0;padding:4px 4px 4px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.lesson-done-note .learning-quiet{color:var(--tone-ink);border-radius:999px;padding:4px 10px}.lesson-layout{grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:start;gap:40px;display:grid}.lesson-code{top:calc(var(--lesson-bar-top) + var(--lesson-bar-height) + 8px);max-height:calc(100dvh - var(--lesson-bar-top) - var(--lesson-bar-height) - 24px);flex-direction:column;gap:8px;display:flex;position:sticky}.lesson-code-file{color:var(--ink-muted);font:600 .75rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lesson-code .snippet-code-block{min-height:0;box-shadow:none;flex-direction:column;display:flex}.lesson-code .snippet-code-block pre{overscroll-behavior:contain;flex:1;min-height:0}.lesson-code .snippet-code-line[data-highlighted=true]{box-shadow:inset 3px 0 0 var(--tone)}.lesson-code .snippet-code-block code{width:max-content;min-width:100%;font-size:.875rem;line-height:1.85}.lesson-flow{overflow-wrap:anywhere;min-width:0}.lesson-step-code,.lesson-full-code{display:none}.lesson-cards{grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.lesson-card{border:1px solid var(--line);background:var(--surface);min-width:0;scroll-margin-top:calc(var(--lesson-bar-top) + var(--lesson-bar-height) + 12px);border-radius:18px;padding:20px 22px;transition:border-color .2s,box-shadow .2s,opacity .3s,min-height .45s;position:relative}.lesson-card>p{color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:.9375rem;line-height:1.75}.lesson-intro{border-color:color-mix(in srgb, var(--tone) 22%, var(--line));background:var(--tone-wash)}.lesson-intro>p{font-size:1rem}.lesson-step[data-active=true]{border-color:color-mix(in srgb, var(--tone) 55%, var(--line));box-shadow:0 0 0 4px var(--tone-wash), 0 6px 18px #18201c0a}.lesson-step h2{letter-spacing:-.01em;margin:8px 0;font-size:1.0625rem;font-weight:650;line-height:1.4}.lesson-step-range{background:var(--tone-soft);color:var(--tone-ink);border-radius:6px;padding:2px 8px;font:600 .6875rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-block}.lesson-card[data-fresh],.lesson-card[data-fresh]~.lesson-card{animation:.45s ease-out both rise-in}.lesson-diagram{border:1px solid var(--line);background:var(--tone-wash);border-radius:12px;margin:20px 0 0;padding:16px}.lesson-diagram figcaption{font-size:.9375rem;font-weight:650;line-height:1.5}.lesson-diagram-flow{gap:10px;margin:14px 0;padding:0;list-style:none;display:grid}.lesson-diagram-operation{color:var(--ink-muted);text-align:center;justify-content:center;align-items:center;gap:8px;margin-bottom:6px;font-size:.8125rem;line-height:1.5;display:flex}.lesson-diagram-operation>span:first-child:not(:only-child){color:var(--tone-ink);font-size:1.125rem}.lesson-diagram-nodes{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;display:grid}.lesson-diagram-node{border:1px solid var(--line);background:var(--surface);text-align:center;overflow-wrap:anywhere;border-radius:8px;gap:4px;padding:10px;display:grid}.lesson-diagram-node span{color:var(--ink-muted);font-size:.75rem;line-height:1.5}.lesson-diagram-node strong{color:var(--tone-ink);font:600 .8125rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lesson-diagram>p{color:var(--ink-muted);margin:0;font-size:.8125rem;line-height:1.65}.lesson-card-check{border:2px solid var(--tone-soft)}.lesson-card-check[data-gate]{border-color:color-mix(in srgb, var(--tone) 50%, var(--line));box-shadow:0 0 0 6px var(--tone-wash), 0 12px 32px #18201c12;flex-direction:column;justify-content:center;padding:28px;display:flex}.lesson-card-check[data-gate] .lesson-check legend{letter-spacing:-.015em;margin-bottom:20px;font-size:clamp(1.1875rem,1.6vw,1.4375rem);line-height:1.4}.lesson-card-check[data-gate] .lesson-check-options{gap:12px}.lesson-card-check[data-gate] .lesson-check-option{min-height:60px;padding:14px 18px;font-size:1rem}.lesson-check{border:0;min-width:0;margin:0;padding:0}.lesson-check legend{gap:6px;margin-bottom:14px;padding:0;font-size:1.0625rem;font-weight:650;line-height:1.5;display:grid}.lesson-check-eyebrow{color:var(--tone-ink);letter-spacing:.03em;font-size:.75rem;font-weight:700}.lesson-check-options{gap:10px;display:grid}.lesson-check-option{border:2px solid var(--line);background:var(--surface);width:100%;min-height:52px;color:var(--ink);box-shadow:0 3px 0 var(--line);font:inherit;text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.9375rem;line-height:1.45;transition:transform .1s,box-shadow .1s,border-color .15s,background-color .15s;display:flex}.lesson-check-option:hover:not([aria-disabled=true]){border-color:color-mix(in srgb, var(--tone) 55%, var(--line));background:var(--tone-wash)}.lesson-check-option:active:not([aria-disabled=true]){box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.lesson-check-option[aria-disabled=true]{cursor:default}.lesson-check-option svg{flex-shrink:0}.lesson-check-option[data-result=answer]{border-color:var(--ui-positive);background:var(--ui-success-wash);color:var(--ui-success-ink);box-shadow:0 3px 0 var(--ui-success-line)}.lesson-check-option[data-result=answer] svg{animation:pop-in .45s var(--motion-pop) both}.lesson-check-option[data-result=wrong]{border-color:var(--ui-danger-line);background:var(--ui-danger-wash);color:var(--ui-danger-ink);box-shadow:none;animation:.35s ease-in-out nudge}.lesson-check[data-state=passed] .lesson-check-option:not([data-result]),.lesson-check[data-state=revealed] .lesson-check-option:not([data-result]),.lesson-check[data-state=correct] .lesson-check-option:not([data-result]){opacity:.6;box-shadow:none}.lesson-check-feedback:empty{display:none}.lesson-check-feedback{border-radius:12px;margin-top:14px;padding:12px 14px;font-size:.875rem;line-height:1.65}.lesson-check-feedback strong{font-weight:700}.lesson-check-feedback p{white-space:pre-line;margin:4px 0 0}.lesson-check[data-state=correct] .lesson-check-feedback{background:var(--ui-success-wash);color:var(--ui-success-ink);animation:.3s ease-out rise-in}.lesson-check[data-state=retry] .lesson-check-feedback{color:var(--ui-danger-ink);padding:0}.lesson-check:is([data-state=revealed],[data-state=passed]) .lesson-check-feedback{background:var(--surface-subtle);color:var(--ink)}.lesson-end{height:1px}.lesson-references{border-top:1px solid var(--line);margin-top:28px;padding-top:8px}.lesson-references>summary{min-height:44px;color:var(--ink-muted);cursor:pointer;align-items:center;gap:6px;font-size:.875rem;font-weight:600;list-style:none;display:flex}.lesson-references>summary::-webkit-details-marker{display:none}.lesson-references-caret{transition:transform .2s}.lesson-references[open] .lesson-references-caret{transform:rotate(180deg)}.lesson-references>p{color:var(--ink-muted);margin:4px 0 12px;font-size:.875rem;line-height:1.7}.lesson-references ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.lesson-references a{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.lesson-references a:hover{background:var(--surface)}.lesson-references a>span{gap:2px;min-width:0;display:grid}.lesson-references strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:600;line-height:1.45}.lesson-references small{color:var(--ink-muted);font-size:.75rem;line-height:1.5}.lesson-references svg{color:var(--ink-muted);flex-shrink:0}.lesson-complete[data-review],.lesson-complete[data-review] *{animation:none}.lesson-complete{border:1px solid color-mix(in srgb, var(--tone) 25%, var(--line));background:var(--surface);text-align:center;border-radius:24px;justify-items:center;margin-top:28px;padding:36px 28px 28px;scroll-margin:120px;animation:.4s ease-out rise-in;display:grid;position:relative}.lesson-complete[data-level=concept],.lesson-complete[data-level=path]{background:var(--tone-wash)}.lesson-complete-badge{background:var(--ui-positive);color:#fff;width:84px;height:84px;animation:pop-in .6s var(--motion-pop) both;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 5px #0f5c2e}.lesson-complete-badge:after{content:"";border:3px solid var(--ui-positive);border-radius:50%;animation:1s ease-out .4s both ring-out;position:absolute;inset:0}.lesson-complete-art{width:190px;animation:pop-in .7s var(--motion-pop) both;position:relative}.lesson-complete-art .artwork{width:190px}.lesson-complete-art-badge{border:3px solid var(--surface);background:var(--tone);color:#fff;width:44px;height:44px;animation:pop-in .5s var(--motion-pop) .45s both;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-10px;right:-10px}.lesson-complete h2{letter-spacing:-.035em;outline:none;margin:22px 0 8px;font-size:1.75rem;font-weight:700;line-height:1.2}.lesson-complete-recap{max-width:520px;color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.65}.lesson-complete-stats{flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 0;display:flex}.lesson-complete-stats>div{background:var(--surface-subtle);border-radius:14px;min-width:104px;padding:10px 16px;animation:.4s ease-out both rise-in}.lesson-complete-stats>div:nth-child(2){animation-delay:80ms}.lesson-complete-stats>div:nth-child(3){animation-delay:.16s}.lesson-complete-stats dt{color:var(--ink-muted);font-size:.75rem;font-weight:600}.lesson-complete-stats dd{margin:2px 0 0;font-size:1.0625rem;font-weight:700}.lesson-complete-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.lesson-complete-actions .ui-button{border-radius:14px;min-height:52px;padding:12px 22px;font-size:.9375rem}.lesson-complete-actions .ui-button[data-variant=primary]{box-shadow:0 4px 0 var(--accent-strong)}.lesson-complete-note,.lesson-complete-error{color:var(--ink-muted);margin:16px 0 0;font-size:.875rem}.lesson-complete-note a,.lesson-complete-error button{color:var(--accent-strong);text-underline-offset:3px;font-weight:600;text-decoration:underline}.lesson-complete-error{color:var(--ui-danger-ink)}.lesson-complete-error button{font:inherit;cursor:pointer;background:0 0;border:0}.lesson-complete-deeper{border-top:1px solid var(--line);text-align:left;width:100%;max-width:520px;margin-top:28px;padding-top:20px}.lesson-complete-deeper h3{align-items:center;gap:8px;margin:0 0 10px;font-size:.9375rem;font-weight:650;display:flex}.lesson-complete-deeper h3 span{color:var(--ink-muted);font-size:.75rem;font-weight:600}.lesson-complete-deeper ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lesson-complete-deeper a{align-items:center;gap:8px;font-size:.875rem;line-height:1.5;display:inline-flex}.lesson-complete-deeper a:hover span{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}@media (max-width:1023px){.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-flow{width:100%;max-width:720px;margin-inline:auto}.lesson-code{display:none}.lesson-step-code{margin-top:14px;display:block}.lesson-step-code .snippet-code-block{box-shadow:none}.lesson-step-code .snippet-code-block pre{max-height:none;overflow:auto hidden}.lesson-step-code .snippet-code-toolbar{display:none}:is(.lesson-step-code,.lesson-full-code) .snippet-code-block code{width:max-content;min-width:100%;font-size:.6875rem;line-height:1.7}:is(.lesson-step-code,.lesson-full-code) .snippet-code-line{grid-template-columns:30px max-content;min-height:1.7em}.lesson-full-code{margin-top:16px;display:block}.lesson-full-code summary{min-height:44px;color:var(--tone-ink);cursor:pointer;padding-block:10px;font-size:.8125rem;font-weight:650}.lesson-full-code .snippet-code-block pre{overscroll-behavior:contain;max-height:60dvh;overflow:auto}}@media (min-width:641px) and (max-width:1279px){.lesson-code-file,.lesson-full-code-name,:is(.lesson-code,.lesson-full-code) .snippet-code-toolbar{display:none}}@media (max-width:920px){.lesson{--lesson-bar-top:calc(55px + env(safe-area-inset-top));--lesson-bar-height:56px}}@media (max-width:640px){.lesson-bar{gap:10px}.lesson-bar-meta{display:none}.lesson-card{border-radius:16px;padding:16px}.lesson-card-check[data-gate]{padding:20px}.lesson-heading{padding:12px 0 20px}.lesson-complete{padding:28px 18px 22px}.lesson-complete-actions{flex-direction:column;width:100%}.lesson-complete-actions .ui-button{width:100%}}@media (min-width:1024px){body:has(.lesson) .site-nav{display:none}.lesson{--lesson-top:52px;--lesson-gap:16px}.lesson-page.page-container{--page-max:1640px;--page-gutter:40px;padding-bottom:0}.lesson-bar{height:var(--lesson-top);border-bottom:1px solid var(--line);background:var(--background);-webkit-backdrop-filter:none;backdrop-filter:none;gap:16px;top:0}.lesson-bar-meta{display:none}.lesson-bar-context{min-width:0;color:var(--ink-muted);align-items:center;gap:8px;font-size:.875rem;display:flex}.lesson-bar-context>a{flex-shrink:0}.lesson-bar-context>a:hover{text-decoration:underline}.lesson-bar-context [aria-current]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-weight:600;overflow:hidden}.lesson-bar .lesson-progress{max-width:360px;height:6px;margin-left:auto}.lesson-bar-status{flex-shrink:0;align-items:center;display:flex}.lesson-bar-status:empty{display:none}.lesson-bar-done{color:var(--ui-success-ink);white-space:nowrap;align-items:center;gap:6px;font-size:.8125rem;font-weight:650;display:inline-flex}.lesson-layout{padding-block:var(--lesson-gap);grid-template-columns:minmax(400px,5fr) minmax(0,7fr);gap:48px}.lesson-heading{max-width:none;padding:8px 0 24px}.lesson-card{scroll-margin-top:calc(var(--lesson-top) + var(--lesson-gap))}.lesson-code{top:calc(var(--lesson-top) + var(--lesson-gap));height:calc(100dvh - var(--lesson-top) - 2 * var(--lesson-gap));max-height:none}.lesson-code .snippet-code-block{flex:1}.lesson-card-check[data-gate]{min-height:calc(100dvh - var(--lesson-top) - 2 * var(--lesson-gap))}.lesson-cards:has(>[data-gate][data-active=true])>.lesson-card:not([data-gate]){opacity:.4}}.lesson-concepts{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.lesson-concepts>*{background:var(--tone-soft);color:var(--tone-ink);overflow-wrap:anywhere;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:550;line-height:1.5}.lesson-mobile-breadcrumb{color:var(--ink-muted);overflow-wrap:anywhere;margin:10px 0;font-size:.8125rem}.lesson-mobile-breadcrumb a{text-underline-offset:3px;text-decoration:underline}@media (min-width:1024px){.lesson-mobile-breadcrumb{display:none}}
.confetti{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti>span{background:var(--confetti-color);opacity:0;width:9px;height:14px;animation:confetti-burst 1.7s cubic-bezier(.12, .75, .3, 1) var(--confetti-delay) forwards;border-radius:2px;position:absolute;top:38%;left:50%}.confetti>span[data-shape="1"]{border-radius:50%;width:10px;height:10px}.confetti>span[data-shape="2"]{width:5px;height:16px}@keyframes confetti-burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.3)rotate(0)}75%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-x)), calc(-50% + var(--confetti-y))) rotate(var(--confetti-rotate))}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes ring-out{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes nudge{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes breathe{0%,to{box-shadow:0 4px 0 var(--tone-strong), 0 0 0 6px var(--tone-soft)}50%{box-shadow:0 4px 0 var(--tone-strong), 0 0 0 11px color-mix(in srgb, var(--tone-soft) 55%, transparent)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}:is(.path-map,.lesson) *,:is(.path-map,.lesson) :before,:is(.path-map,.lesson) :after{transition:none!important;animation:none!important}}
.welcome-onboarding{border:1px solid var(--line);border-radius:var(--ui-radius-panel);background:var(--surface);width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);margin:auto;padding:0;animation:.25s ease-out rise-in;overflow:auto;box-shadow:0 24px 64px #18201c33}.welcome-onboarding::backdrop{background:#17251f66}.welcome-onboarding form{padding:28px}.welcome-verified{background:var(--ui-success-wash);color:var(--ui-success-ink);border-radius:999px;align-items:center;gap:8px;margin:0 0 16px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.welcome-onboarding h2{letter-spacing:-.03em;margin:0 0 8px;font-size:1.5rem;font-weight:650;line-height:1.25}.welcome-onboarding h2+p{color:var(--ink-muted);margin:0 0 20px;font-size:.9375rem;line-height:1.6}.welcome-roles{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;margin:0;padding:0;display:grid}.welcome-role{border:2px solid var(--line);background:var(--surface);box-shadow:0 3px 0 var(--line);cursor:pointer;border-radius:14px;align-content:start;gap:3px;padding:12px 14px;transition:border-color .15s,background-color .15s,transform .1s;display:grid;position:relative}.welcome-role:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--ui-hover)}.welcome-role:active{transform:translateY(2px)}.welcome-role[data-selected=true]{border-color:var(--accent);background:var(--ui-selected);box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 45%, var(--line))}.welcome-role:has(input:focus-visible){outline:2px solid var(--ui-focus);outline-offset:3px}.welcome-role input{opacity:0;pointer-events:none;position:absolute}.welcome-role-label{font-size:.9375rem;font-weight:650}.welcome-role-description{color:var(--ink-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.45;display:-webkit-box;overflow:hidden}.welcome-error{color:var(--ui-danger-ink);margin:14px 0 0;font-size:.875rem}.welcome-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.welcome-actions .ui-button[data-variant=primary]{box-shadow:0 4px 0 var(--accent-strong)}@media (max-width:640px){.welcome-onboarding form{padding:20px}.welcome-onboarding h2{font-size:1.25rem}.welcome-onboarding h2+p{margin-bottom:16px;font-size:.875rem}.welcome-roles{gap:8px}.welcome-role{align-content:center;min-height:56px;padding:8px 10px}.welcome-role-label{font-size:.8125rem;line-height:1.3}.welcome-role-description{display:none}.welcome-actions{flex-direction:column-reverse;gap:8px;margin-top:16px}.welcome-actions .ui-button{width:100%}}@media (prefers-reduced-motion:reduce){.welcome-onboarding,.welcome-role{transition:none;animation:none}}
.snippet-detail-page{flex-direction:column;gap:18px;padding:22px 0 48px;display:flex}.snippet-reader-topline{align-items:center;gap:16px;min-height:32px;display:flex}.snippet-reader-topline>a:last-child:not(:first-child){margin-left:auto}.snippet-walkthrough{min-width:0}.snippet-lesson-heading{margin-bottom:24px}.snippet-lesson-heading h1{letter-spacing:-.04em;max-width:980px;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.12}.snippet-lesson-heading p{color:var(--ink-muted);margin:10px 0 0;font-size:.875rem}.snippet-walkthrough-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);align-items:start;gap:28px;display:grid}.snippet-walkthrough-code{min-width:0}.snippet-walkthrough .snippet-code-block{box-shadow:none;border-radius:10px}.snippet-walkthrough .snippet-code-block pre{overflow:auto}.snippet-walkthrough .snippet-code-block code{width:max-content;min-width:100%;font-size:.875rem;line-height:1.85}.snippet-walkthrough .snippet-code-line{grid-template-columns:42px minmax(0,1fr);width:100%}.snippet-walkthrough .snippet-line-content{white-space:pre;overflow-wrap:normal;min-width:0}.snippet-code-toolbar-actions{align-items:center;gap:6px;display:flex}.snippet-code-toolbar button{min-height:36px}.snippet-code-toolbar button.snippet-placement-toggle{background:0 0;border-color:#0000;justify-content:center;width:36px;padding:0}.snippet-walkthrough-guide{border:1px solid var(--line);border-radius:12px;padding:20px;position:sticky;top:88px}.snippet-walkthrough-guide>.reading-drawer-header{margin-bottom:14px}.snippet-walkthrough-guide .reading-drawer-toggle{display:none}.snippet-step-range{color:var(--accent-strong);font:600 .8125rem/1.5 ui-monospace,monospace;display:block}.snippet-step-heading h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin:8px 0 0;font-size:1.35rem;line-height:1.25}.snippet-step-explanation p{color:var(--ink-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.65}.snippet-intro-mobile,.snippet-intro-byline,.snippet-mobile-browse{display:none}.snippet-walkthrough-controls{justify-content:space-between;align-items:center;gap:8px;padding-top:20px;display:flex}.snippet-walkthrough-controls button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.2;display:inline-flex}.snippet-walkthrough-controls button.snippet-step-next{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.snippet-walkthrough-controls button:disabled{opacity:.35;cursor:default}.snippet-walkthrough-controls select{min-width:0;max-width:140px;min-height:44px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.8125rem}.snippet-walkthrough button:focus-visible,.snippet-walkthrough select:focus-visible,.snippet-walkthrough pre:focus-visible{outline-offset:-3px;outline:3px solid #2aa99b}.snippet-code-line[data-highlighted=true]{background:#1d3932;box-shadow:inset 3px 0 #63d6bd}.snippet-code-line[data-highlighted=true] .snippet-line-number{color:#93f0d9;background:#1d3932}.snippet-code-gap{color:#a4b4aa;padding:9px 16px;font:.75rem/1.5 ui-monospace,monospace}.snippet-walkthrough[data-placement=below] .snippet-walkthrough-layout,.snippet-walkthrough[data-preview=true] .snippet-walkthrough-layout{grid-template-columns:1fr;gap:16px}.snippet-walkthrough[data-placement=below] .snippet-code-block pre{max-height:55dvh}.snippet-walkthrough[data-placement=below] .snippet-walkthrough-guide{position:static}.snippet-walkthrough[data-preview=true] .snippet-walkthrough-guide{padding:16px;position:static}.snippet-walkthrough[data-preview=true] .snippet-code-block pre{max-height:38dvh}.snippet-browse-link{color:var(--accent-strong);align-items:center;gap:8px;margin-top:14px;font-size:.875rem;font-weight:600;display:inline-flex}@media (min-width:641px) and (max-width:1100px){.snippet-detail-page{height:calc(100dvh - 80px - var(--mobile-nav-height) - env(safe-area-inset-bottom));gap:10px;min-height:0;padding-block:12px}.snippet-detail-page>.snippet-walkthrough{flex-direction:column;flex:1;min-height:0;display:flex}.snippet-lesson-heading{margin-bottom:14px}.snippet-lesson-heading h1{font-size:1.65rem}.snippet-lesson-heading p{margin-top:6px;font-size:.8125rem}.snippet-detail-page .snippet-walkthrough-layout{flex:1;grid-template-rows:minmax(160px,1fr) auto;grid-template-columns:1fr;align-items:stretch;gap:12px;min-height:0}.snippet-detail-page .snippet-walkthrough-code{min-height:0}.snippet-detail-page .snippet-code-block{flex-direction:column;height:100%;display:flex}.snippet-detail-page .snippet-code-block pre{flex:1;min-height:0;max-height:none}.snippet-code-toolbar button.snippet-placement-toggle{display:none}.snippet-walkthrough-guide{padding:16px 20px;position:static}.snippet-walkthrough-guide .reading-drawer-content{max-height:23dvh;overflow-y:auto}.snippet-step-heading h2{font-size:1.2rem}.snippet-walkthrough-controls{padding-top:12px}}@media (max-width:640px){body:has(.snippet-detail-page)>.site-nav{display:none}body:has(.snippet-detail-page){padding-bottom:0}.snippet-detail-page.page-container{width:100%;height:100dvh;min-height:0;padding:env(safe-area-inset-top) 0 0;gap:0;overflow:hidden}.snippet-reader-topline{background:var(--surface);flex-shrink:0;min-height:48px;padding:4px 16px}.snippet-reader-topline a{align-items:center;min-height:40px;display:inline-flex}.snippet-detail-page>.snippet-walkthrough{flex-direction:column;flex:1;min-height:0;display:flex}.snippet-lesson-heading{display:none}.snippet-detail-page .snippet-walkthrough-layout{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;align-items:stretch;gap:0;min-height:0;display:grid}.snippet-detail-page .snippet-walkthrough-code{min-height:0}.snippet-detail-page .snippet-code-block{border:0;border-radius:0;flex-direction:column;height:100%;display:flex}.snippet-detail-page .snippet-code-block pre{overscroll-behavior-y:contain;flex:1;min-height:0;max-height:none;padding-bottom:28px}.snippet-walkthrough .snippet-code-block code{font-size:.625rem;line-height:1.75}.snippet-walkthrough .snippet-code-block .snippet-line-content{white-space:pre;overflow-wrap:normal}.snippet-walkthrough .snippet-code-block .snippet-code-line{grid-template-columns:30px minmax(0,1fr)}.snippet-detail-page .snippet-code-toolbar{flex-shrink:0;padding:6px 12px;display:flex}.snippet-mobile-browse{min-height:44px;color:var(--accent-strong);align-items:center;margin-top:16px;display:inline-flex}.snippet-code-toolbar button.snippet-placement-toggle{display:none}.snippet-detail-page .snippet-walkthrough-guide{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);position:relative;top:auto}.snippet-detail-page .snippet-walkthrough-guide .reading-drawer-toggle{display:inline-flex}.snippet-detail-page .snippet-walkthrough-guide>.reading-drawer-header{margin-bottom:8px}.snippet-step-heading h2{margin-top:4px;font-size:1.1rem;line-height:1.25}.snippet-step-explanation p{font-size:.9375rem;line-height:1.55}.snippet-walkthrough-controls{padding-top:12px}.snippet-detail-page .snippet-walkthrough-guide[data-expanded=false] h2{white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;overflow:hidden}.snippet-detail-page .snippet-walkthrough-guide[data-expanded=false] .snippet-step-range{display:none}.snippet-detail-page .snippet-walkthrough-guide[data-expanded=false]>.reading-drawer-header{margin-bottom:0}.snippet-detail-page .snippet-walkthrough-guide[data-expanded=false] .snippet-walkthrough-controls{padding-top:4px}.snippet-detail-page .snippet-walkthrough:not([data-phase=step]) .snippet-walkthrough-layout{grid-template-rows:minmax(0,1fr)}.snippet-detail-page .snippet-walkthrough:not([data-phase=step]) .snippet-walkthrough-code{display:none}.snippet-detail-page .snippet-walkthrough:not([data-phase=step]) .snippet-walkthrough-guide{padding:24px 22px calc(16px + env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;overflow:auto}.snippet-detail-page .snippet-walkthrough:not([data-phase=step]) .reading-drawer-toggle{display:none}.snippet-detail-page .snippet-walkthrough:not([data-phase=step]) .reading-drawer-content{flex:1;max-height:none;overflow:auto}.snippet-detail-page .snippet-walkthrough:not([data-phase=step]) .snippet-step-heading h2{margin-block:14px;font-size:clamp(1.6rem,7.5vw,2.25rem);line-height:1.12}.snippet-intro-desktop{display:none}.snippet-intro-mobile{display:inline}.snippet-intro-byline{display:block;margin-top:24px!important;font-size:.8125rem!important}.snippet-walkthrough[data-preview=true] .reading-drawer-content{display:block}}@media (prefers-reduced-motion:reduce){.snippet-walkthrough pre{scroll-behavior:auto}}.snippet-card-walkthrough{color:var(--ink-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.875rem;display:flex}.snippet-card-walkthrough>span:last-child{color:var(--accent-strong);align-items:center;gap:6px;font-weight:650;display:flex}.snippet-card .snippet-code-block{box-shadow:none}.snippet-editor-step-tabs{flex-wrap:wrap;gap:8px;display:flex}.snippet-editor-step-tabs button{border:1px solid var(--line);background:var(--surface);max-width:100%;min-height:44px;color:var(--ink-muted);cursor:pointer;text-align:left;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.snippet-editor-step-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-strong);background:#e8f3f1}.snippet-editor-step-tabs button>span{font:600 .8rem/1 ui-monospace,monospace}.snippet-note-editor[hidden]{display:none}.snippet-step-editor-actions{gap:6px;display:flex}.snippet-step-anchor-actions{color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;display:flex}.snippet-step-anchor-actions button{min-height:44px;color:var(--accent-strong);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.snippet-line-picker{min-width:0}.snippet-line-picker summary{cursor:pointer;color:var(--accent-strong);padding:12px 0;font-size:.875rem;font-weight:600}.snippet-line-picker p{color:var(--ink-muted);font-size:.875rem;line-height:1.5}.snippet-line-select{font:inherit;cursor:pointer;border:0;border-radius:0;min-height:32px;padding-left:0}.snippet-line-select:hover{color:#fff;background:#234a40}.snippet-editor-preview{align-self:start;max-height:none;position:sticky;top:82px;overflow:visible}.snippet-editor-preview .snippet-preview-copy>p:last-child{font-size:.9375rem}.snippet-editor-preview .snippet-preview-heading{font-size:.875rem}@media (max-width:1000px){.snippet-editor-preview{display:none}.snippet-mobile-preview-toggle{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex;position:static}.snippet-editor-preview[data-mobile-open=true]{z-index:auto;max-height:none;box-shadow:none;grid-row:2;display:grid;position:static;inset:auto;overflow:visible}.snippet-mobile-preview-close{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);border-radius:8px;place-items:center;display:inline-grid}.snippet-line-select{min-height:44px}}.snippet-references{padding-top:0}.snippet-references h2{margin:0 0 8px;font-size:1rem}.snippet-references ul{margin:0;padding:0;list-style:none}.snippet-references li+li{border-top:1px solid var(--line)}.snippet-references a{border-radius:4px;justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:16px 4px;text-decoration:none;display:flex}.snippet-references a:hover{background:var(--surface)}.snippet-references a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.snippet-references a>div{min-width:0}.snippet-references a>svg{color:var(--accent-strong);flex-shrink:0}.snippet-reference-title{color:var(--accent-strong);overflow-wrap:anywhere;font-size:.95rem;font-weight:650;line-height:1.45;display:block}.snippet-reference-meta,.snippet-reference-note{color:var(--ink-muted);margin-top:4px;font-size:.78rem;line-height:1.5;display:block}.snippet-detail-page>.learning-reader-context{justify-content:flex-start;align-self:stretch;max-width:none;margin:0;padding:12px 0}.snippet-detail-page>.learning-reader-context>button{margin-left:auto}@media (min-width:1101px){.snippet-walkthrough[data-placement=right][data-preview=false] .snippet-walkthrough-layout{align-items:stretch;height:min(640px,100dvh - 112px)}.snippet-walkthrough[data-placement=right][data-preview=false] .snippet-walkthrough-code{min-height:0}.snippet-walkthrough[data-placement=right][data-preview=false] .snippet-code-block{flex-direction:column;height:100%;display:flex}.snippet-walkthrough[data-placement=right][data-preview=false] .snippet-code-toolbar{flex-shrink:0}.snippet-walkthrough[data-placement=right][data-preview=false] .snippet-code-block pre{flex:1;min-height:0;max-height:none}.snippet-walkthrough[data-placement=right][data-preview=false] .snippet-walkthrough-guide{flex-direction:column;min-height:0;display:flex;position:static}.snippet-walkthrough[data-placement=right][data-preview=false] .reading-drawer-content{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.snippet-walkthrough[data-placement=right][data-preview=false] .reading-drawer-header,.snippet-walkthrough[data-placement=right][data-preview=false] .reading-drawer-footer{flex-shrink:0}}.concept-detail-page{padding-block:32px 72px}.concept-detail-page>.learning-reader-context{margin:0;padding:8px 0 24px}.concept-module-heading h1{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(1.9rem,4vw,3rem)}.concept-module-heading p,.concept-module-end p{white-space:pre-wrap;max-width:850px;color:var(--ink-muted);line-height:1.7}.concept-contents{border-block:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;margin-block:28px 0;padding:20px 0;scroll-margin-top:100px;display:grid}.concept-chapter-picker{min-height:44px;color:var(--accent-strong);border-radius:8px;align-items:center;display:inline-flex;position:relative}.concept-eyebrow{white-space:nowrap;align-items:center;gap:10px;padding:0 12px;font-size:.82rem;display:inline-flex}.concept-eyebrow strong{font-variant-numeric:tabular-nums;font-weight:600}.concept-eyebrow strong span{color:var(--ink-muted);font-weight:400}.concept-chapter-picker select{opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;position:absolute;inset:0}.concept-chapter-picker:hover{background:var(--surface)}.concept-chapter-picker:has(select:focus-visible){outline:2px solid var(--accent-strong);outline-offset:3px}.concept-current-chapter{border-left:1px solid var(--line);letter-spacing:-.02em;text-wrap:pretty;margin:0;padding-left:24px;font-size:1.18rem;font-weight:600;line-height:1.45}.concept-chapter-actions{border:1px solid var(--line);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.concept-chapter-actions button{width:44px;height:44px;color:var(--accent-strong);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.concept-chapter-actions button+button{border-left:1px solid var(--line)}.concept-chapter-actions button:hover:not(:disabled){background:var(--surface)}.concept-chapter-actions button:disabled{color:var(--ink-muted);opacity:.35;cursor:default}.concept-chapter-actions button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-4px;border-radius:999px}.concept-chapter,.concept-example,.concept-module-end{scroll-margin-top:100px}.concept-chapter{border-bottom:1px solid var(--line);padding-block:12px 32px}@media (max-width:600px){.concept-contents{grid-template-columns:1fr auto;gap:12px 16px;margin-top:24px;padding-block:14px 18px}.concept-chapter-picker{justify-self:start;margin-left:-12px}.concept-current-chapter{border:0;grid-area:2/1/auto/-1;padding:0;font-size:1.15rem}.concept-chapter-actions{grid-area:1/2}}.concept-example+.concept-example{margin-top:28px}.concept-module-end{padding-top:24px}.concept-module-end li{margin-block:16px}.concept-module-end a{color:var(--accent-strong)}.concept-module .snippet-code-block pre{max-height:720px}.concept-module .snippet-intro-mobile,.concept-module .snippet-intro-byline{display:none}.concept-module .snippet-intro-desktop{display:inline}@media (max-width:1100px){.concept-module .snippet-walkthrough-layout{grid-template-columns:1fr;gap:12px}.concept-module .snippet-code-block pre{max-height:50dvh}.concept-module .snippet-walkthrough-guide{border:1px solid var(--line);border-radius:12px;grid-row:1;position:static}.concept-module .reading-drawer-content{max-height:none;overflow:visible}.concept-module .snippet-walkthrough-guide .reading-drawer-toggle{display:inline-flex}.concept-module .reading-drawer[data-expanded=false] .reading-drawer-content{display:none}.concept-module .reading-drawer{box-shadow:none}}.concept-completion{min-height:32px;margin-top:24px}@media (min-width:641px) and (max-width:1100px){.snippet-walkthrough[data-preview=false] .snippet-code-toolbar{display:none}.concept-module .snippet-code-block pre{max-height:calc(50dvh + 51px)}}
.reading-drawer{background:var(--surface);min-width:0}.reading-drawer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.reading-drawer-heading{flex:1;min-width:0}.reading-drawer-toggle{width:44px;height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.reading-drawer-toggle:hover{background:var(--surface-subtle)}.reading-drawer-content{min-height:0}.reader-highlight-dialog.reading-drawer .reading-drawer-content{gap:14px;display:grid}@media (max-width:640px){.reading-drawer{border-radius:18px 18px 0 0;box-shadow:0 -8px 30px #0000001f}.reading-drawer[data-expanded=false] .reading-drawer-content{display:none}.reading-drawer-content{overscroll-behavior-y:contain;max-height:38dvh;overflow-y:auto}}
.stats-page{gap:32px;padding-block:32px 72px;display:grid}.stats-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.stats-header h1{letter-spacing:-.03em;margin:4px 0 8px;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.05}.stats-snapshot{color:var(--ink-muted);flex-wrap:wrap;gap:2px 14px;margin:0;font-size:.88rem;display:flex}.stats-snapshot time{color:var(--ink);font-weight:650}.stats-snapshot-next{color:var(--ink-soft)}.stats-snapshot-next time{color:inherit;font-weight:inherit}.stats-back-link{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);min-height:40px;color:var(--ink-muted);font-size:.8rem;font-weight:var(--ui-control-weight);flex:none;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.stats-back-link:hover,.stats-back-link:focus-visible{border-color:var(--accent);color:var(--accent-strong)}.stats-status{--status-color:var(--ui-positive);border:1px solid color-mix(in srgb, var(--status-color) 30%, var(--line));border-left:4px solid var(--status-color);border-radius:var(--ui-radius-panel);background:color-mix(in srgb, var(--status-color) 6%, var(--surface));align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.stats-status[data-status=attention]{--status-color:var(--ui-warning)}.stats-status[data-status=failing]{--status-color:var(--ui-negative)}.stats-status>svg{color:var(--status-color);flex:none}.stats-status strong{font-size:1.02rem;display:block}.stats-status p,.stats-status ul{color:var(--ink-muted);margin:4px 0 0;font-size:.88rem;line-height:1.5}.stats-status ul{padding-left:18px}.stats-section{gap:12px;display:grid}.stats-section-heading{flex-wrap:wrap;align-items:baseline;column-gap:12px;display:flex}.stats-section-heading h2{margin:0;font-size:1.15rem}.stats-section-heading p{color:var(--ink-soft);margin:0;font-size:.82rem}.stats-unavailable{color:var(--ink-muted);margin:0}.stats-subheading{margin:12px 0 0;font-size:.98rem}.stats-grid{--stats-columns:4;grid-template-columns:repeat(var(--stats-columns), minmax(0, 1fr));gap:10px;margin:0;display:grid}.stats-grid[data-columns="5"]{--stats-columns:5}.stats-grid[data-columns="6"]{--stats-columns:6}.stat-tile{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);flex-direction:column;gap:6px;min-width:0;padding:14px 16px;display:flex}.stat-tile-wide{grid-column:span 2}.stat-tile dd{margin:0}.stat-label{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:750}.stat-tile:has(.stat-hint){position:relative}.stat-hint{vertical-align:-2px;margin-left:4px;display:inline-flex}.stat-hint button{color:var(--ink-soft);cursor:help;background:0 0;border:0;border-radius:50%;padding:0;display:inline-flex}.stat-hint button:hover,.stat-hint button:focus-visible{color:var(--ink)}.stat-hint-text{z-index:10;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);box-shadow:var(--shadow);color:var(--ink);letter-spacing:0;text-transform:none;padding:8px 10px;font-size:.8rem;font-weight:500;line-height:1.4;display:none;position:absolute;top:34px;left:8px;right:8px}.stat-hint:hover .stat-hint-text,.stat-hint:focus-within .stat-hint-text{display:block}.stat-value{letter-spacing:-.02em;font-size:clamp(1.5rem,3.2vw,2rem);font-weight:750;line-height:1.15}.stat-value-text{letter-spacing:0;overflow-wrap:anywhere;font-size:1.02rem;font-weight:650;line-height:1.35}.stat-detail{color:var(--ink-muted);font-size:.82rem;line-height:1.4}.stat-trend{align-items:center;gap:10px;margin-top:auto;padding-top:4px;display:flex}.stat-change{color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;column-gap:4px;font-size:.8rem;font-weight:700;display:inline-flex}.stat-change[data-tone=good]{color:var(--ui-positive)}.stat-change[data-tone=bad]{color:var(--ui-negative)}.stat-change-period{color:var(--ink-soft);font-weight:500}.sparkline{flex:64px;width:100%;min-width:48px;max-width:96px;height:28px;margin-left:auto;display:block;overflow:visible}.sparkline polyline{fill:none;stroke:var(--ink-soft);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.sparkline-end{stroke:var(--accent);stroke-linecap:round;stroke-width:7px}.stats-pill{--pill-color:var(--ink-muted);background:color-mix(in srgb, var(--pill-color) 10%, transparent);color:var(--pill-color);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px 2px 7px;font-size:.82rem;font-weight:700;display:inline-flex}.stat-value .stats-pill{font-size:.92rem}.stats-pill[data-tone=good]{--pill-color:var(--ui-positive)}.stats-pill[data-tone=warning]{--pill-color:var(--ui-warning)}.stats-pill[data-tone=bad]{--pill-color:var(--ui-negative)}.stats-meter{background:var(--ui-selected);border-radius:999px;height:6px;margin-bottom:6px;display:block;overflow:hidden}.stats-meter span{border-radius:inherit;background:var(--accent);height:100%;display:block}.stats-flag{color:var(--ink-muted);align-items:center;gap:4px;margin-left:6px;font-size:.78rem;font-weight:500;display:inline-flex}.stats-flag svg{color:var(--ui-warning)}.stats-activity-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.stats-activity{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);gap:10px;margin:0;padding:14px 16px 12px;display:grid}.stats-activity figcaption{gap:4px;display:grid}.stats-activity-total{font-size:1.45rem;font-weight:750;line-height:1.1}.stats-columns{border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;height:64px;display:flex}.stats-column{flex:1 1 0;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.stats-column-bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:24px;min-height:2px;display:block}.stats-column[data-partial=true] .stats-column-bar{background:color-mix(in srgb, var(--accent) 40%, var(--surface))}.stats-column:hover .stats-column-bar{background:var(--accent-strong)}.stats-column-tip{z-index:1;background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:.76rem;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.stats-column:first-child .stats-column-tip{left:0;transform:none}.stats-column:last-child .stats-column-tip{left:auto;right:0;transform:none}.stats-column:hover .stats-column-tip{display:block}.stats-columns-axis{color:var(--ink-soft);justify-content:space-between;font-size:.74rem;display:flex}.stats-details summary{width:fit-content;color:var(--ink-muted);font-size:.86rem;font-weight:var(--ui-control-weight);cursor:pointer}.stats-details[open] summary{margin-bottom:8px}.stats-table-scroll{position:relative;overflow-x:auto}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.stats-table th,.stats-table td{text-align:right;white-space:nowrap;padding:8px 0 8px 16px}.stats-table th:first-child{text-align:left;padding-left:0}.stats-table thead th{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:750}.stats-table tbody th{font-weight:650}.stats-table tbody tr{border-top:1px solid var(--line)}.stats-cull-breakdown{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:8px 32px;min-width:0;margin-top:16px;display:grid}.stats-cull-breakdown th,.stats-landmarks tbody th{white-space:normal}.stats-landmarks a{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.stats-landmarks a:hover{text-decoration-color:currentColor}.stats-landmark-query{color:var(--ink-soft);font-size:.8rem;font-weight:500;display:block}.stats-landmarks td:nth-child(2),.stats-workers td:nth-child(2){text-align:left}.stats-landmark-trend,.stats-landmark-trend .sparkline{width:96px}.stats-months{border-collapse:collapse;width:100%;font-size:.88rem}.stats-months th{color:var(--ink-muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;font-size:.72rem;font-weight:750}.stats-months tbody th{color:var(--ink);letter-spacing:0;text-transform:none;font-size:.86rem;font-weight:500}.stats-months th,.stats-months td{vertical-align:middle;padding:4px 8px 4px 0}.stats-months .stats-months-month{white-space:nowrap;width:7.5rem}.stats-months .stats-months-count{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:6.5rem}.stats-month-bar{background:var(--accent);border-radius:0 4px 4px 0;min-width:2px;height:10px;display:block}.stats-months tr[data-thin=true] .stats-month-bar{background:var(--ui-warning)}.stats-citation-eras{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px 28px;min-width:0;display:grid}.stats-citations caption{text-align:left;margin-bottom:6px;font-weight:650}.stats-citations caption span{color:var(--ink-muted);font-size:.82rem;font-weight:500}.stats-citations .stats-months-month{width:6.5rem}.stats-citations .stats-months-count{width:4.5rem}.stats-citations tr[data-uncounted=true] .stats-month-bar{background:var(--ink-soft)}@media (max-width:1100px){.stats-grid[data-columns="6"]{--stats-columns:3}}@media (max-width:920px){.stats-page{gap:26px;padding-block:24px 48px}.stats-grid,.stats-grid[data-columns]{--stats-columns:2;gap:8px}.stats-grid[data-columns="5"] .stat-tile:first-child{grid-column:span 2}.stats-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stats-activity:first-child{grid-column:span 2}.stat-tile,.stats-activity{padding:12px}.stats-months .stats-months-month{width:5.5rem}.stats-months .stats-months-count{width:4.5rem}}@media (max-width:560px){.stats-header{flex-direction:column-reverse;align-items:flex-start}.stat-trend{flex-wrap:wrap}.sparkline{max-width:none;margin-left:0}}.stats-worker-freshness{color:var(--ink-muted);margin:0 0 1rem;font-size:.88rem;line-height:1.6}.stats-worker-diagnostics{gap:.75rem;margin-top:1rem;display:grid}.stats-worker-detail{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:.75rem;padding:1rem;scroll-margin-top:5rem}.stats-worker-detail>summary{cursor:pointer;font-weight:650}.stats-worker-detail p{margin:.65rem 0;font-size:.88rem;line-height:1.6}.stats-worker-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.stats-worker-detail code{font-size:.85em}.stats-worker-incidents{padding-left:1.25rem}.stats-worker-incidents>li{border-bottom:1px solid var(--line);margin:1rem 0;padding-bottom:.75rem}.stats-worker-incidents summary{cursor:pointer}
:root{--accent:#007f73;--accent-strong:#006c63;--ui-radius:10px;--ui-radius-panel:16px;--ui-control-height:44px;--ui-control-weight:600;--ui-action:var(--accent);--ui-action-hover:#006c63;--ui-selected:#d9f3ec;--ui-hover:#ebf8f3;--ui-focus:var(--accent);--ui-positive:#15803d;--ui-warning:var(--amber);--ui-negative:var(--rose);--art-teal:var(--accent);--art-violet:#5c4ee5;--art-lilac:#a89bf1;--art-wash:#d9d6fc;--art-amber:#f4ba5f;--art-coral:#df7770;--art-ink:#454079;--art-paper:#fffdf8;--art-language-background:#eef0ff;--art-interests-background:#fff0e2}[data-tone=teal]{--tone:#0f766e;--tone-strong:#0b4f49;--tone-soft:#d3efe7;--tone-wash:#eef8f4;--tone-ink:#0b4f49}[data-tone=violet]{--tone:#5c4ee5;--tone-strong:#3f33b8;--tone-soft:#e4e0fd;--tone-wash:#f4f2ff;--tone-ink:#3a2fa6}[data-tone=amber]{--tone:#c27c12;--tone-strong:#8a5608;--tone-soft:#fae8c5;--tone-wash:#fff7e8;--tone-ink:#6b4306}[data-tone=coral]{--tone:#d0544b;--tone-strong:#9c3a33;--tone-soft:#f9dcd8;--tone-wash:#fff3f1;--tone-ink:#82302a}[data-tone=blue]{--tone:#2b5fd9;--tone-strong:#1e46a8;--tone-soft:#dce6fb;--tone-wash:#f1f5fe;--tone-ink:#1d3f94}[data-tone=sky]{--tone:#0b7aa6;--tone-strong:#075876;--tone-soft:#d3ecf5;--tone-wash:#eef8fb;--tone-ink:#075170}[data-tone=green]{--tone:#2f7d3a;--tone-strong:#215a29;--tone-soft:#d8eedb;--tone-wash:#f0f8f1;--tone-ink:#1f5426}[data-tone=olive]{--tone:#6c7a10;--tone-strong:#4f590c;--tone-soft:#e9edc9;--tone-wash:#f7f9ea;--tone-ink:#485108}[data-tone=plum]{--tone:#9a3b8c;--tone-strong:#722b67;--tone-soft:#f2dcee;--tone-wash:#fbf1f9;--tone-ink:#6b2861}[data-tone=slate]{--tone:#4b5b70;--tone-strong:#344152;--tone-soft:#e0e5ec;--tone-wash:#f3f5f8;--tone-ink:#334155}:root{--ui-success-ink:#14532d;--ui-success-wash:#e8f6ee;--ui-success-line:#8fd1aa;--ui-danger-ink:#8a1131;--ui-danger-wash:#fdecef;--ui-danger-line:#f2a3b4;--motion-pop:cubic-bezier(.2, 1.5, .4, 1)}.artwork{--art-background:var(--art-language-background);flex-shrink:0;width:144px;max-width:100%;height:auto;font-family:inherit;display:block}.artwork[data-family=interests]{--art-background:var(--art-interests-background)}:is(.ui-button,.learning-primary,.snippet-button,.nav-button,.auth-submit,.oauth-submit){min-height:var(--ui-control-height);border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);color:var(--ink-muted);font-family:inherit;font-size:.875rem;font-weight:var(--ui-control-weight);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:is(.ui-button[data-variant=primary],.learning-primary,.snippet-button.primary,.nav-button.primary,.auth-submit){background:var(--ui-action);border-color:var(--ui-action);color:#fff}:is(.ui-button,.learning-primary,.snippet-button,.nav-button,.auth-submit,.oauth-submit):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true]){background:var(--ui-hover);border-color:var(--accent);color:var(--accent-strong);transform:none}:is(.ui-button[data-variant=primary],.learning-primary,.snippet-button.primary,.nav-button.primary,.auth-submit):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true]){background:var(--ui-action-hover);border-color:var(--ui-action-hover);color:#fff}:is(.ui-button,.learning-primary,.snippet-button,.nav-button,.auth-submit,.oauth-submit):is(:disabled,[aria-disabled=true]){opacity:.5;cursor:default;transform:none}:is(.learning-quiet,.learning-menu-trigger,.reader-action-button,.reader-icon-button,.reading-list-button,.icon-button,.expand-button){border-radius:var(--ui-radius);font-weight:var(--ui-control-weight)}:is(.learning-quiet,.learning-menu-trigger):hover:not(:disabled){background:var(--ui-hover);color:var(--accent-strong)}:is(.learning-filters,.learning-picker,.learning-role-controls,.learning-catalog-toolbar) :is(input,select){border-radius:var(--ui-radius);min-height:var(--ui-control-height)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}:is(.ui-tabs,.learning-navigation,.learning-shelves){border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0 24px;display:flex}:is(.ui-tabs,.learning-navigation,.learning-shelves)>:is(a,button){min-height:var(--ui-control-height);color:var(--ink-muted);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:var(--ui-control-weight);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0;line-height:1.4;transition:border-color .15s,color .15s;display:inline-flex}:is(.ui-tabs,.learning-navigation,.learning-shelves)>:is(a,button):hover{border-bottom-color:var(--line);color:var(--ink)}:is(.ui-tabs,.learning-navigation,.learning-shelves)>:is([aria-current=page],[aria-pressed=true]){border-bottom-color:var(--accent);color:var(--accent-strong)}@media (max-width:640px){:is(.ui-tabs,.learning-navigation,.learning-shelves){gap:0 18px}}@media (prefers-reduced-motion:reduce){:is(.ui-button,.learning-primary,.snippet-button,.nav-button,.auth-submit,.oauth-submit),:is(.ui-tabs,.learning-navigation,.learning-shelves)>:is(a,button){transition:none}}:is(.learning-page,.snippets-page,.concept-detail-page).page-container{--page-max:1180px;padding-block:32px 72px}@media (max-width:640px){:is(.learning-page,.snippets-page,.concept-detail-page).page-container{padding-block:24px 48px}}
.reader-shell[data-chat-open=true] .reader-layout{grid-template-columns:minmax(0,1fr) 370px;gap:28px}.reader-shell .reader-mode-toolbar{display:flex}.reader-chat-toggle{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);background:var(--surface);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:7px;margin-left:auto;padding:7px 11px;font-size:.8rem;display:inline-flex}.reader-chat-toggle[aria-expanded=true]{color:var(--accent-strong);background:var(--surface-subtle)}.paper-chat{border:1px solid var(--line);min-width:0;height:calc(100dvh - 102px);min-height:400px;max-height:1000px;color:var(--ink);background:#fafbf9;border-radius:14px;flex-direction:column;display:flex;position:sticky;top:82px;overflow:hidden;box-shadow:0 5px 24px #18201c08}.paper-chat[hidden]{display:none}.paper-chat button{font:inherit;cursor:pointer}.paper-chat button:disabled{opacity:.45;cursor:not-allowed}.paper-chat button:focus-visible,.paper-chat a:focus-visible,.reader-chat-toggle:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.paper-chat-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 10px 18px;display:flex}.paper-chat-heading{align-items:center;gap:8px;min-width:0;font-size:.88rem;font-weight:650;display:flex}.paper-chat-heading svg{flex-shrink:0}.paper-chat-heading>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.paper-chat-icon{width:36px;height:36px;color:var(--ink-muted);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.paper-chat-icon:hover{color:var(--ink);background:#edf0eb}.paper-chat-transcript{scrollbar-width:thin;flex:1;min-height:0;padding:20px 18px;scroll-padding:20px;overflow:hidden auto}.paper-chat-empty{padding-top:clamp(12px,6vh,65px)}.paper-chat-empty-icon{color:#4e6541;background:#eaf0e6;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:20px;display:grid}.paper-chat-empty h2{letter-spacing:-.04em;margin:0 0 10px;font-size:1.3rem;font-weight:550}.paper-chat-empty>p{color:var(--ink-muted);margin:0;font-size:.85rem;line-height:1.65}.paper-chat-suggestions{gap:8px;margin-top:26px;display:grid}.paper-chat-suggestions button{border:1px solid var(--line);color:var(--ink-soft);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;font-size:.76rem;display:flex}.paper-chat-suggestions button svg{color:var(--ink-muted);flex-shrink:0;transform:rotate(45deg)}.paper-chat-suggestions button:hover:not(:disabled){background:#f0f4ed;border-color:#b5c5aa}.paper-chat-turn+.paper-chat-turn{margin-top:28px}.paper-chat-question{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf1e8;border-radius:12px 12px 3px;max-width:94%;margin:0 0 16px auto;padding:12px 14px;font-size:.85rem;line-height:1.6}.paper-chat-answer{overflow-wrap:anywhere;font-size:.86rem;line-height:1.75}.paper-chat-answer p{margin:0 0 14px}.paper-chat-answer :is(h1,h2,h3,h4){margin:20px 0 10px;font-size:.96rem;line-height:1.45}.paper-chat-answer>:first-child{margin-top:0}.paper-chat-answer :is(ul,ol){margin:12px 0;padding-left:20px}.paper-chat-answer li{margin:6px 0}.paper-chat-answer pre{background:#edf0eb;border-radius:8px;max-width:100%;padding:12px;font-size:.73rem;line-height:1.6;overflow-x:auto}.paper-chat-answer :not(pre)>code{background:#edf0eb;border-radius:3px;padding:1px 3px;font-size:.83em}.paper-chat-answer .katex-display{padding:4px 0;overflow:auto hidden}.paper-chat-answer table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.paper-chat-answer :is(td,th){border:1px solid var(--line);padding:6px}.paper-chat-answer a{text-underline-offset:3px;text-decoration:underline}.paper-chat-copy{color:var(--ink-muted);background:0 0;border:0;align-items:center;gap:5px;padding:5px 0;display:inline-flex;font-size:.67rem!important}.paper-chat-quote{color:var(--ink-muted);white-space:pre-wrap;overflow-wrap:anywhere;border-left:2px solid #bdc8b5;max-height:100px;margin:0 0 10px;padding:0 0 0 10px;font-size:.73rem;line-height:1.6;overflow-y:auto}.paper-chat-quote svg{margin-right:5px}.paper-chat-composer-area{border-top:1px solid var(--line);background:#fafbf9;padding:10px 14px 12px}.paper-chat-composer{background:#fff;border:1px solid #cfd5c9;border-radius:11px;padding:11px}.paper-chat-composer:focus-within{border-color:#7f9670;box-shadow:0 0 0 2px #eaf0e6}.paper-chat-composer textarea{resize:vertical;width:100%;min-height:62px;max-height:160px;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;padding:0;font-size:.83rem;line-height:1.6;display:block}.paper-chat-composer textarea::placeholder{color:#8b9187}.paper-chat-composer>div{justify-content:flex-end;align-items:center;gap:8px;display:flex}.paper-chat-composer>div>span{color:var(--ink-muted);margin-inline-end:auto;font-size:.64rem}.paper-chat-send{color:#fff;background:#34472c;border:none;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.paper-chat-footnote{color:var(--ink-muted);text-align:center;margin:9px 0 0;font-size:.6rem;line-height:1.5}.paper-chat-status{color:var(--ink-muted);align-items:center;gap:7px;font-size:.74rem;line-height:1.5;display:flex}.paper-chat-status svg{flex-shrink:0;animation:1.2s linear infinite reader-spin}.paper-chat-notice,.paper-chat-memory{color:var(--ink-muted);margin:0 0 10px;font-size:.7rem;line-height:1.55}.paper-chat-memory{color:#526544}.paper-chat-error{color:#923c2d;margin-bottom:10px;font-size:.75rem;line-height:1.5}.paper-chat-error button,.paper-chat-retry button{color:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:4px 7px;text-decoration:underline;display:inline-flex}.paper-chat-retry{color:var(--ink-muted);align-items:center;gap:6px;font-size:.7rem;display:flex}.paper-chat-sign-in{color:var(--accent-strong);text-underline-offset:3px;margin:0 0 10px;font-size:.8rem;text-decoration:underline;display:block}.paper-chat-selection{border:1px solid var(--line);background:#edf1e8;border-bottom:0;border-radius:10px 10px 0 0;padding:6px 10px 10px}.paper-chat-selection>div{color:var(--ink-muted);align-items:center;gap:6px;font-size:.7rem;display:flex}.paper-chat-selection .paper-chat-icon{width:28px;height:28px;margin-left:auto}.paper-chat-selection p{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.paper-chat-selection+.paper-chat-composer{border-top-left-radius:0;border-top-right-radius:0}.paper-chat-history,.paper-chat-latest{border:1px solid var(--line);color:var(--ink-muted);background:#fff;border-radius:20px;justify-content:center;align-items:center;gap:6px;margin:0 auto 15px;padding:6px 12px;display:flex;font-size:.7rem!important}.paper-chat-latest{margin-bottom:8px}.paper-chat-dialog:not([open]){display:none}@media (min-width:1600px){.reader-shell[data-chat-open=true]{width:min(1560px,100% - 80px)}.reader-shell[data-chat-open=true] .reader-layout{grid-template-columns:minmax(0,1fr) 400px;gap:40px}}@media (max-width:1099px){aside.paper-chat{display:none}.reader-shell[data-chat-open=true] .reader-layout{grid-template-columns:minmax(0,1fr);gap:0}.paper-chat-dialog{width:min(460px,100vw - 32px);height:calc(100dvh - 32px);min-height:0;max-height:none;margin:auto 16px auto auto;padding:0;position:fixed;inset:0}.paper-chat-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#161d1447}}@media (max-width:759px){.reader-chat-toggle{min-width:40px;min-height:40px;padding:8px}.reader-chat-toggle>span{display:none}.paper-chat-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;padding-top:env(safe-area-inset-top);border:none;border-radius:0;margin:0}.paper-chat-composer-area{padding-bottom:max(12px, env(safe-area-inset-bottom))}.paper-chat-composer textarea{font-size:16px}.paper-chat-header{padding:8px 14px 8px 18px}.paper-chat-icon{width:44px;height:44px}.paper-chat-send{width:40px;height:40px}.paper-chat-suggestions button{min-height:44px}}@media (prefers-reduced-motion:reduce){.paper-chat-status svg{animation:none}}@media (min-width:1100px){.reader-shell[data-chat-open=true] .reader-progress-panel{width:min(620px,100vw - 500px);left:calc(50% - 199px)}}@media (min-width:1600px){.reader-shell[data-chat-open=true] .reader-progress-panel{left:calc(50% - 220px)}}.reader-shell[data-margin-notes=false] .reader-highlight-dialog-backdrop{display:grid}
.challenge-shell{max-width:1040px;padding-block:30px 72px}.challenge-catalog{max-width:1080px;padding-block:clamp(36px,6vw,76px) 72px}.challenge-back{color:var(--accent-strong);margin-bottom:28px;font-size:.9rem;display:inline-block}.challenge-heading{margin-bottom:32px}.challenge-eyebrow{color:var(--accent-strong);letter-spacing:.07em;text-transform:uppercase;font-size:.75rem;font-weight:700}.challenge-heading h1{letter-spacing:-.045em;margin:14px 0 18px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.challenge-hook{color:var(--ink-muted);max-width:620px;font-size:1.15rem;line-height:1.6}.challenge-meta{color:var(--ink-muted);font-size:.85rem;line-height:1.6}.challenge-today{border:1px solid var(--line);border-radius:var(--ui-radius-panel);background:#f0f0fc;flex-direction:column;padding:clamp(24px,5vw,48px);transition:border-color .15s;display:flex}.challenge-today:hover,.challenge-card:hover{border-color:var(--accent)}.challenge-today h1{letter-spacing:-.045em;margin:14px 0 18px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.challenge-today+.challenge-meta,.challenge-heading+.challenge-meta{margin-top:14px}.challenge-earlier{margin-top:48px}.challenge-earlier>h2{letter-spacing:-.02em;margin-bottom:18px;font-size:1.3rem}.challenge-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.challenge-card{border:1px solid var(--line);border-radius:var(--ui-radius-panel);background:var(--surface);flex-direction:column;padding:clamp(20px,3vw,28px);transition:border-color .15s;display:flex}.challenge-card-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.challenge-card-date{color:var(--ink-muted);white-space:nowrap;font-size:.85rem}.challenge-card h3{letter-spacing:-.03em;margin:16px 0 8px;font-size:1.35rem;line-height:1.25}.challenge-card p{color:var(--ink-muted);line-height:1.6}.challenge-card-paper{margin-top:auto;padding-top:16px;font-size:.8rem}.challenge-today .challenge-card-paper{color:var(--ink-muted);line-height:1.6}.challenge-card-action{border-top:1px solid var(--line);color:var(--accent-strong);justify-content:space-between;gap:12px;margin-top:10px;padding-top:20px;font-weight:600;display:flex}.challenge-reading{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,4vw,40px)}.challenge-source{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:20px}.challenge-source p{margin:8px 0}.challenge-source a,.challenge-evidence{text-underline-offset:3px;color:var(--accent-strong);text-decoration:underline}.challenge-reading section{margin-top:30px;scroll-margin-top:100px}.challenge-reading h2{align-items:baseline;gap:12px;font-size:1.1rem;line-height:1.5;display:flex}.challenge-paragraph-number{color:var(--accent-strong);flex-shrink:0;font-size:.75rem}.challenge-reading section p{margin-bottom:0;font-size:1.04rem;line-height:1.85}.challenge-reading-credit{border-top:1px solid var(--line);color:var(--ink-muted);margin-top:28px;padding-top:20px;font-size:.8rem;line-height:1.6}.challenge-quiz{margin-top:48px}.challenge-quiz>p,.challenge-feedback>p{color:var(--ink-muted);line-height:1.6}.challenge-question{border:0;min-width:0;margin:32px 0;padding:0}.challenge-question legend{margin-bottom:14px;padding:0;font-size:1.05rem;font-weight:600;line-height:1.6}.challenge-question legend>span{color:var(--accent-strong)}.challenge-options{gap:10px;display:grid}.challenge-options label{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;align-items:baseline;gap:12px;padding:14px 16px;line-height:1.6;display:flex}.challenge-options label[data-selected=true]{border-color:var(--accent);background:var(--ui-selected)}.challenge-options input{accent-color:var(--accent);flex-shrink:0}.challenge-options label:focus-within{outline:2px solid var(--accent);outline-offset:3px}.challenge-question:disabled label{cursor:default}.challenge-question:disabled input{opacity:1}.challenge-submit,.challenge-actions,.challenge-next{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.challenge-submit{justify-content:space-between}.challenge-result{background:#e9f5ef;border:1px solid #9bcbbd;border-radius:16px;margin-top:32px;padding:28px}.challenge-result h2{letter-spacing:-.04em;margin:12px 0;font-size:2.7rem}.challenge-result p{line-height:1.6}.challenge-result [role=status]:empty{margin:0}.challenge-explanations{margin-top:40px}.challenge-explanation{border-bottom:1px solid var(--line);padding:24px 0}.challenge-explanation h3{font-size:1.05rem;line-height:1.6}.challenge-explanation p{line-height:1.7}.challenge-outcome{color:#8a1131;font-size:.85rem;font-weight:600}.challenge-outcome[data-correct=true]{color:var(--accent-strong)}.challenge-flag{color:var(--ink-muted);margin-top:20px;font-size:.85rem}.challenge-flag summary{cursor:pointer;padding-block:8px}.challenge-flag .challenge-actions{margin-top:8px}.challenge-feedback{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-top:40px;padding:24px}.challenge-feedback h2{font-size:1.2rem}.challenge-feedback-fields{grid-template-columns:1fr;gap:22px;margin:24px 0;display:grid}.challenge-copy{gap:8px;font-size:.9rem;display:grid}.challenge-copy textarea{width:100%;min-width:0;font:inherit;border:1px solid var(--line);color:var(--ink);background:var(--surface);resize:vertical;border-radius:8px;padding:12px;line-height:1.5}.challenge-next{justify-content:space-between;margin-top:28px}.challenge-home-link{background:#edf5ef;border:1px solid #c5d9ce;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.challenge-home-link strong{margin-bottom:5px;font-size:1.05rem;display:block}.challenge-home-link small{color:var(--ink-muted);font-size:.85rem;line-height:1.5}.challenge-home-link>span:last-child{color:var(--accent-strong);white-space:nowrap;font-weight:600}.challenge-shell :is(a,button,select,textarea):focus-visible,.challenge-catalog a:focus-visible,.challenge-home-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media (max-width:640px){.challenge-cards,.challenge-feedback-fields{grid-template-columns:1fr}.challenge-shell{padding-block:22px 48px}.challenge-reading{padding:20px}.challenge-home-link{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion:reduce){.challenge-card,.challenge-today{transition:none}}.challenge-feedback-fields fieldset{border:0;min-width:0;margin:0;padding:0}.challenge-feedback-fields legend{margin-bottom:10px;padding:0;font-weight:600}.challenge-feedback-fields button[aria-pressed=true]{border-color:var(--accent);background:var(--ui-selected);color:var(--accent-strong)}.challenge-account{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:24px;padding:24px 28px}.challenge-account h2{margin-top:0;font-size:1.25rem}.challenge-account p{line-height:1.6}.challenge-account p a{text-underline-offset:3px;color:var(--accent-strong);text-decoration:underline}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.3dqqgop8d9q74.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.3s3485bbs_y9t.woff)format("woff"),url(../media/KaTeX_AMS-Regular.06540o8ttgt08.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.0x398dszol8ix.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0i0ys3pk95qm_.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.071y7fj7dknco.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.3ittfn7d21b9w.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.3-a7ahrnv-1p0.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.2a29kziuqmcwj.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.3rq09ohrtely_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.1m6-2-v71aefh.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.2c272neyw5p5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.1jvgec053-2og.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.1pa447q_ni5m2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0_16ta522mcvb.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.22wkahef0u3fd.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.1fyzqvxw_mkks.woff)format("woff"),url(../media/KaTeX_Main-Bold.3q46h05c4j0cw.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.40drhxm0mwrzz.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0g_mm5w89az4z.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.2r19jqj9qb5v7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.1ck6crdmp78cu.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.3h-lyz6-tj-5j.woff)format("woff"),url(../media/KaTeX_Main-Italic.07vrczmwpvimc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.29zz7337tzymc.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0r86ux5c2_9jc.woff)format("woff"),url(../media/KaTeX_Main-Regular.0cm4nk2aib81i.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0u_6s571--hh0.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.1-f92ydojzao_.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0m2qm2_orz99k.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.18dmviy-uianu.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.2d-roszuwfrpn.woff)format("woff"),url(../media/KaTeX_Math-Italic.1vw7gcigzv33_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.19n5ohjzvq40z.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.1ad0dh55v7-4h.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.3ojskmd7zv_b8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.38w085lqrghwm.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0_21g6aey40vy.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.0abd80e_ako5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.3w8wtfek3qsk6.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0v2olaztuqa1v.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0xkeldfcfvj58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.10h737unm2jp7.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.2m7-0wua2lvnq.woff)format("woff"),url(../media/KaTeX_Script-Regular.1hw1d7omwtnoy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.3xype_vsmmjgw.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.3aliq3yd-ja9b.woff)format("woff"),url(../media/KaTeX_Size1-Regular.44z_qgcc9t0a_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.2-wakugslvf3a.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.3u0df62zf5guy.woff)format("woff"),url(../media/KaTeX_Size2-Regular.3eprswoc9v3fh.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1nfuh3l6nzhjv.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.3n7wm08wz2r2g.woff)format("woff"),url(../media/KaTeX_Size3-Regular.2kp2izz6g7r-7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.13pyt7zi482pb.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.37jvrh2wknf5u.woff)format("woff"),url(../media/KaTeX_Size4-Regular.2ltjhs9xhaefy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.2vfnlegjq9l42.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0xi5kyeeydv4z.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.34aedpl-_o3h3.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.19.1"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
