:root{--m3-corner-none:0px;--m3-corner-extra-small:4px;--m3-corner-small:8px;--m3-corner-medium:12px;--m3-corner-large:16px;--m3-corner-large-increased:20px;--m3-corner-extra-large:28px;--m3-corner-extra-large-increased:32px;--m3-corner-extra-extra-large:48px;--m3-corner-full:999px;--m3-display-large-size:57px;--m3-display-large-line:64px;--m3-display-large-tracking:-.25px;--m3-display-large-weight:400;--m3-display-large-weight-emphasized:500;--m3-display-medium-size:45px;--m3-display-medium-line:52px;--m3-display-medium-tracking:0px;--m3-display-medium-weight:400;--m3-display-medium-weight-emphasized:500;--m3-display-small-size:36px;--m3-display-small-line:44px;--m3-display-small-tracking:0px;--m3-display-small-weight:400;--m3-display-small-weight-emphasized:500;--m3-headline-large-size:32px;--m3-headline-large-line:40px;--m3-headline-large-tracking:0px;--m3-headline-large-weight:400;--m3-headline-large-weight-emphasized:500;--m3-headline-medium-size:28px;--m3-headline-medium-line:36px;--m3-headline-medium-tracking:0px;--m3-headline-medium-weight:400;--m3-headline-medium-weight-emphasized:500;--m3-headline-small-size:24px;--m3-headline-small-line:32px;--m3-headline-small-tracking:0px;--m3-headline-small-weight:400;--m3-headline-small-weight-emphasized:500;--m3-title-large-size:22px;--m3-title-large-line:28px;--m3-title-large-tracking:0px;--m3-title-large-weight:400;--m3-title-large-weight-emphasized:500;--m3-title-medium-size:16px;--m3-title-medium-line:24px;--m3-title-medium-tracking:.15px;--m3-title-medium-weight:500;--m3-title-medium-weight-emphasized:600;--m3-title-small-size:14px;--m3-title-small-line:20px;--m3-title-small-tracking:.1px;--m3-title-small-weight:500;--m3-title-small-weight-emphasized:600;--m3-label-large-size:14px;--m3-label-large-line:20px;--m3-label-large-tracking:.1px;--m3-label-large-weight:500;--m3-label-large-weight-emphasized:600;--m3-label-medium-size:12px;--m3-label-medium-line:16px;--m3-label-medium-tracking:.5px;--m3-label-medium-weight:500;--m3-label-medium-weight-emphasized:600;--m3-label-small-size:11px;--m3-label-small-line:16px;--m3-label-small-tracking:.5px;--m3-label-small-weight:500;--m3-label-small-weight-emphasized:600;--m3-body-large-size:16px;--m3-body-large-line:24px;--m3-body-large-tracking:.5px;--m3-body-large-weight:400;--m3-body-large-weight-emphasized:500;--m3-body-medium-size:14px;--m3-body-medium-line:20px;--m3-body-medium-tracking:.25px;--m3-body-medium-weight:400;--m3-body-medium-weight-emphasized:500;--m3-body-small-size:12px;--m3-body-small-line:16px;--m3-body-small-tracking:.4px;--m3-body-small-weight:400;--m3-body-small-weight-emphasized:500;--m3-font-brand:"Roboto";--m3-font-plain:"Roboto"}[data-level="1"],[data-level="2"]{--m3-elevation-1:0px 1px 3px 1px #00000026, 0px 1px 2px 0px #0000004c;--m3-elevation-2:0px 2px 6px 2px #00000026, 0px 1px 2px 0px #0000004c;--m3-elevation-3:0px 1px 3px 0px #0000004c, 0px 4px 8px 3px #00000026;--m3-elevation-4:0px 2px 3px 0px #0000004c, 0px 6px 10px 4px #00000026;--m3-elevation-5:0px 4px 4px 0px #0000004c, 0px 8px 12px 6px #00000026}[data-level="3"]{--m3-elevation-1:0px 1px 2px 0px #0000004c, 0px 1px 3px 1px #00000026;--m3-elevation-2:0px 1px 2px 0px #0000004c, 0px 2px 6px 2px #00000026;--m3-elevation-3:0px 1px 3px 0px #0000004c, 0px 4px 8px 3px #00000026;--m3-elevation-4:0px 2px 3px 0px #0000004c, 0px 6px 10px 4px #00000026;--m3-elevation-5:0px 4px 4px 0px #0000004c, 0px 8px 12px 6px #00000026}[data-level="1"]{--m3-primary:#286a48;--m3-on-primary:#fff;--m3-primary-container:#adf2c7;--m3-on-primary-container:#065232;--m3-secondary:#0b6780;--m3-on-secondary:#fff;--m3-secondary-container:#b9eaff;--m3-on-secondary-container:#004d62;--m3-tertiary:#1d6b50;--m3-on-tertiary:#fff;--m3-tertiary-container:#a7f2d0;--m3-on-tertiary-container:#00513a;--m3-error:#904a49;--m3-on-error:#fff;--m3-error-container:#ffdad8;--m3-on-error-container:#733333;--m3-background:#f6fbf4;--m3-on-background:#171d19;--m3-surface:#f5fafd;--m3-on-surface:#171c1f;--m3-surface-variant:#dbe4e8;--m3-on-surface-variant:#40484c;--m3-outline:#70787c;--m3-outline-variant:#bfc8cc;--m3-surface-tint:#286a48;--m3-shadow:#000;--m3-scrim:#000;--m3-inverse-surface:#2c3134;--m3-inverse-on-surface:#ecf1f4;--m3-inverse-primary:#92d5ac;--m3-primary-fixed:#adf2c7;--m3-on-primary-fixed:#002111;--m3-primary-fixed-dim:#92d5ac;--m3-on-primary-fixed-variant:#065232;--m3-secondary-fixed:#b9eaff;--m3-on-secondary-fixed:#001f29;--m3-secondary-fixed-dim:#89d0ed;--m3-on-secondary-fixed-variant:#004d62;--m3-tertiary-fixed:#a7f2d0;--m3-on-tertiary-fixed:#002115;--m3-tertiary-fixed-dim:#8cd5b4;--m3-on-tertiary-fixed-variant:#00513a;--m3-surface-dim:#d6dbdd;--m3-surface-bright:#f5fafd;--m3-surface-container-lowest:#fff;--m3-surface-container-low:#eff4f7;--m3-surface-container:#eaeff1;--m3-surface-container-high:#e4e9ec;--m3-surface-container-highest:#dee3e6;--m3-custom-color-1:#056d35;--m3-on-custom-color-1:#fff;--m3-custom-color-1-container:#67bf7d;--m3-on-custom-color-1-container:#004b22;--m3-warning:#705d0d;--m3-on-warning:#fff;--m3-warning-container:#fde186;--m3-on-warning-container:#564500;--m3-info:#844c73;--m3-on-info:#fff;--m3-info-container:#ffd7ef;--m3-on-info-container:#69345a;--m3-success:#326941;--m3-on-success:#fff;--m3-success-container:#b4f1bd;--m3-on-success-container:#18512b;--m3-section-background:#f5f5f5}[data-level="2"]{--m3-primary:#003f25;--m3-on-primary:#fff;--m3-primary-container:#387956;--m3-on-primary-container:#fff;--m3-secondary:#003b4c;--m3-on-secondary:#fff;--m3-secondary-container:#26768f;--m3-on-secondary-container:#fff;--m3-tertiary:#003f2c;--m3-on-tertiary:#fff;--m3-tertiary-container:#307a5e;--m3-on-tertiary-container:#fff;--m3-error:#5e2323;--m3-on-error:#fff;--m3-error-container:#a15857;--m3-on-error-container:#fff;--m3-background:#f6fbf4;--m3-on-background:#171d19;--m3-surface:#f5fafd;--m3-on-surface:#0d1214;--m3-surface-variant:#dbe4e8;--m3-on-surface-variant:#2f373b;--m3-outline:#4b5457;--m3-outline-variant:#666e72;--m3-surface-tint:#286a48;--m3-shadow:#000;--m3-scrim:#000;--m3-inverse-surface:#2c3134;--m3-inverse-on-surface:#ecf1f4;--m3-inverse-primary:#92d5ac;--m3-primary-fixed:#387956;--m3-on-primary-fixed:#fff;--m3-primary-fixed-dim:#1c603f;--m3-on-primary-fixed-variant:#fff;--m3-secondary-fixed:#26768f;--m3-on-secondary-fixed:#fff;--m3-secondary-fixed-dim:#005c74;--m3-on-secondary-fixed-variant:#fff;--m3-tertiary-fixed:#307a5e;--m3-on-tertiary-fixed:#fff;--m3-tertiary-fixed-dim:#0e6146;--m3-on-tertiary-fixed-variant:#fff;--m3-surface-dim:#c2c7ca;--m3-surface-bright:#f5fafd;--m3-surface-container-lowest:#fff;--m3-surface-container-low:#eff4f7;--m3-surface-container:#e4e9ec;--m3-surface-container-high:#d8dee0;--m3-surface-container-highest:#cdd2d5;--m3-custom-color-1:#056d35;--m3-on-custom-color-1:#fff;--m3-custom-color-1-container:#67bf7d;--m3-on-custom-color-1-container:#004b22;--m3-warning:#705d0d;--m3-on-warning:#fff;--m3-warning-container:#fde186;--m3-on-warning-container:#564500;--m3-info:#844c73;--m3-on-info:#fff;--m3-info-container:#ffd7ef;--m3-on-info-container:#69345a;--m3-success:#326941;--m3-on-success:#fff;--m3-success-container:#b4f1bd;--m3-on-success-container:#18512b;--m3-section-background:#f5f5f5}[data-level="3"]{--m3-primary:#bcffd4;--m3-on-primary:#000;--m3-primary-container:#8ed1a8;--m3-on-primary-container:#000e06;--m3-secondary:#dcf4ff;--m3-on-secondary:#000;--m3-secondary-container:#85cce9;--m3-on-secondary-container:#000d13;--m3-tertiary:#b8ffde;--m3-on-tertiary:#000;--m3-tertiary-container:#88d1b1;--m3-on-tertiary-container:#000e08;--m3-error:#ffecea;--m3-on-error:#000;--m3-error-container:#ffadab;--m3-on-error-container:#220002;--m3-background:#0f1511;--m3-on-background:#dfe4dd;--m3-surface:#0f1416;--m3-on-surface:#fff;--m3-surface-variant:#40484c;--m3-on-surface-variant:#fff;--m3-outline:#e9f1f6;--m3-outline-variant:#bcc4c8;--m3-surface-tint:#92d5ac;--m3-shadow:#000;--m3-scrim:#000;--m3-inverse-surface:#dee3e6;--m3-inverse-on-surface:#000;--m3-inverse-primary:#085333;--m3-primary-fixed:#adf2c7;--m3-on-primary-fixed:#000;--m3-primary-fixed-dim:#92d5ac;--m3-on-primary-fixed-variant:#001509;--m3-secondary-fixed:#b9eaff;--m3-on-secondary-fixed:#000;--m3-secondary-fixed-dim:#89d0ed;--m3-on-secondary-fixed-variant:#00141b;--m3-tertiary-fixed:#a7f2d0;--m3-on-tertiary-fixed:#000;--m3-tertiary-fixed-dim:#8cd5b4;--m3-on-tertiary-fixed-variant:#00150c;--m3-surface-dim:#0f1416;--m3-surface-bright:#4b5153;--m3-surface-container-lowest:#000;--m3-surface-container-low:#1b2023;--m3-surface-container:#2c3134;--m3-surface-container-high:#373c3f;--m3-surface-container-highest:#42484a;--m3-custom-color-1:#82db96;--m3-on-custom-color-1:#003918;--m3-custom-color-1-container:#67bf7d;--m3-on-custom-color-1-container:#004b22;--m3-warning:#dfc56d;--m3-on-warning:#3b2f00;--m3-warning-container:#564500;--m3-on-warning-container:#fde186;--m3-info:#f7b2df;--m3-on-info:#4f1e43;--m3-info-container:#69345a;--m3-on-info-container:#ffd7ef;--m3-success:#99d4a3;--m3-on-success:#003918;--m3-success-container:#18512b;--m3-on-success-container:#b4f1bd;--m3-section-background:#000}@property --fs-base{syntax:"<length>";inherits:true;initial-value:18px}@property --lh{syntax:"<number>";inherits:true;initial-value:1.65}@property --radius{syntax:"<length>";inherits:true;initial-value:14px}@property --radius-sm{syntax:"<length>";inherits:true;initial-value:8px}@property --measure{syntax:"<length>";inherits:true;initial-value:68ch}:root,[data-level="1"]{--bg:var(--m3-background);--bg-elev:var(--m3-surface-container-lowest);--bg-sunk:var(--m3-surface-container);--fg:var(--m3-on-background);--fg-muted:var(--m3-on-surface-variant);--fg-faint:var(--m3-outline);--accent:var(--m3-primary);--accent-strong:var(--m3-on-primary-container);--accent-soft:var(--m3-primary-container);--accent-2:var(--m3-secondary);--accent-2-soft:var(--m3-secondary-container);--warn:var(--m3-warning);--warn-soft:var(--m3-warning-container);--border:var(--m3-outline-variant);--border-strong:var(--m3-outline);--link:var(--m3-primary);--link-hover:var(--m3-secondary);--selection:var(--m3-secondary-container);--toggle-bg:var(--m3-surface-container-high);--on-accent-soft:var(--m3-on-primary-container);--on-accent-2-soft:var(--m3-on-secondary-container);--on-warn-soft:var(--m3-on-warning-container);--on-selection:var(--m3-on-secondary-container);--font-body:var(--m3-font-plain,"Roboto"), "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-heading:var(--m3-font-brand,"Roboto"), "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-base:18px;--lh:1.65;--lh-tight:1.2;--tracking-label:var(--m3-label-large-tracking);--heading-weight:700;--label-transform:none;--radius:var(--m3-corner-large);--radius-sm:var(--m3-corner-small);--radius-pill:var(--m3-corner-full);--border-w:1px;--shadow:var(--m3-elevation-1);--shadow-hover:var(--m3-elevation-2);--danger:var(--m3-error);--danger-soft:var(--m3-error-container);--on-danger-soft:var(--m3-on-error-container);--wrap:1120px;--measure:68ch;--gap:1.25rem;--space-section:4rem;color-scheme:light;font-size:18px;line-height:1.65}html.level-transition,html.level-transition *,html.level-transition :before,html.level-transition :after{transition:background-color .32s cubic-bezier(.4,0,.2,1),color .32s cubic-bezier(.4,0,.2,1),border-color .32s cubic-bezier(.4,0,.2,1),fill .32s cubic-bezier(.4,0,.2,1),stroke .32s cubic-bezier(.4,0,.2,1)!important}::view-transition-old(root),::view-transition-new(root){animation-duration:.36s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:nb-level-out}::view-transition-new(root){animation-name:nb-level-in}@keyframes nb-level-out{to{opacity:0}}@keyframes nb-level-in{0%{opacity:0}}.topbar [data-header-dial]{view-transition-name:nb-dial}::view-transition-old(nb-dial){display:none}::view-transition-new(nb-dial){animation:none}::view-transition-group(nb-dial){animation-duration:.36s;animation-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){html.level-transition,html.level-transition *{transition:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),*{animation:none!important}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{font-size:var(--fs-base);-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-body);line-height:var(--lh);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-wrap:break-word;flex-direction:column;margin:0;display:flex}::selection{background:var(--selection);color:var(--on-selection)}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--link);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:2px}button{font:inherit;color:inherit;cursor:pointer}kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elev);border-bottom-width:2px;padding:.1em .4em;font-size:.8em}hr{border:0;border-top:var(--border-w) solid var(--border);margin:2.5rem 0}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--heading-weight);line-height:var(--lh-tight);letter-spacing:-.015em;text-wrap:balance;margin:0 0 .6em}[data-level="3"] h1,[data-level="3"] h2,[data-level="3"] h3,[data-level="3"] h4{letter-spacing:-.01em}h1{font-size:clamp(2rem,4.5vw,3rem)}h2{margin-top:2.2em;font-size:clamp(1.45rem,3vw,1.9rem)}h3{margin-top:1.8em;font-size:1.2rem}p,ul,ol,blockquote,pre,table{margin:0 0 1.1em}ul,ol{padding-left:1.4em}:where(ul,ol):not([class])>li+li{margin-top:.3em}blockquote{border-left:3px solid var(--accent-2);color:var(--fg-muted);margin-left:0;padding:.2em 0 .2em 1.1em;font-style:italic}[data-level="3"] blockquote{border-left-color:var(--accent);font-style:normal}strong{font-weight:700}[data-level="3"] strong{color:var(--accent-strong);font-weight:600}code,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--bg-sunk);border-radius:var(--radius-sm);border:var(--border-w) solid var(--border);padding:.12em .4em}pre{background:var(--bg-sunk);border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);max-width:100%;padding:1rem 1.1rem;line-height:1.5;overflow-x:auto}[data-level="3"] pre{border-left:3px solid var(--accent)}pre code{background:0 0;border:0;padding:0;font-size:.86rem}table{border-collapse:collapse;width:100%;font-size:.95em;display:block;overflow-x:auto}th,td{text-align:left;border-bottom:var(--border-w) solid var(--border);vertical-align:top;padding:.55em .8em}th{color:var(--fg-muted);font-weight:700;font-family:var(--font-heading);text-transform:var(--label-transform);letter-spacing:var(--tracking-label);font-size:.85em}.wrap{width:min(100% - 2.5rem, var(--wrap));margin-inline:auto}main.wrap{padding:2.5rem 0 var(--space-section);flex:1}.skip{background:var(--accent);color:var(--bg);border-radius:var(--radius-sm);z-index:100;padding:.5rem 1rem;position:absolute;top:-100px;left:1rem}.skip:focus{top:1rem}.label{font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);color:var(--fg-muted);font-size:.78rem;font-weight:700}:is([data-level="1"],[data-level="2"]) .label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.muted{color:var(--fg-muted)}.measure{max-width:var(--measure)}.topbar{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:var(--border-w) solid var(--border);position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:1.25rem;min-height:64px;padding:.5rem 0;display:flex}.wordmark{color:var(--fg);font-weight:800;font-family:var(--font-heading);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--fg)}.dmark{flex:none;display:block;overflow:visible}.dmark-spokes line{stroke:var(--accent)}.dmark-nodes circle{stroke:var(--accent);fill:var(--accent);fill-opacity:0}.dmark-hub{fill:var(--accent)}@keyframes dmark-spoke{0%{stroke-dasharray:0 1}to{stroke-dasharray:1 0}}@keyframes dmark-node{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes dmark-hub{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.dmark-hub,.dmark-nodes circle{transform-box:fill-box;transform-origin:50%}.dmark-spokes line{stroke-dasharray:1 0}html:not(.mark-drawn) .dmark-hub{animation:.26s cubic-bezier(.34,1.56,.64,1) both dmark-hub}html:not(.mark-drawn) .dmark-spokes line{animation:.26s ease-out both dmark-spoke;animation-delay:calc(.18s + var(--i) * 45ms)}html:not(.mark-drawn) .dmark-nodes circle{animation:.24s cubic-bezier(.34,1.56,.64,1) both dmark-node;animation-delay:calc(.38s + var(--i) * 45ms)}@keyframes dmark-wave{0%{fill-opacity:0;transform:scale(1)}12%{fill-opacity:1;transform:scale(1.16)}22%,50%{fill-opacity:1;transform:scale(1)}62%{fill-opacity:0;transform:scale(1.16)}72%,to{fill-opacity:0;transform:scale(1)}}@keyframes dmark-wave-hub{0%,22%,72%,to{transform:scale(1)}12%,62%{transform:scale(1.14)}}.wordmark:is(:hover,.is-waving) .dmark-nodes circle{animation:2s cubic-bezier(.37,0,.63,1) both dmark-wave;animation-delay:calc(var(--i) * 90ms)}.wordmark:is(:hover,.is-waving) .dmark-hub{animation:2s cubic-bezier(.37,0,.63,1) both dmark-wave-hub}@media (prefers-reduced-motion:reduce){.dmark-hub,.dmark-spokes line,.dmark-nodes circle,.wordmark:hover .dmark-nodes circle,.wordmark:hover .dmark-hub{animation:none}.dmark-spokes line{stroke-dasharray:1 0}}.wordmark-by{color:var(--fg-faint);font-size:.8rem;font-weight:500;font-family:var(--font-body)}[data-level="3"] .wordmark{font-weight:600}[data-level="3"] .wordmark-by:before{content:"// "}.nav{flex-wrap:wrap;gap:1.1rem;margin-left:auto;display:flex}.nav a{color:var(--fg-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.35rem 0;font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover{color:var(--fg)}.nav a[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent-2)}[data-level="3"] .nav a{font-family:var(--font-heading);text-transform:lowercase;letter-spacing:.02em;font-size:.82rem}[data-level="3"] .nav a[aria-current=page]{border-bottom-color:var(--accent)}[data-level="3"] .nav a[aria-current=page]:before{content:"> ";color:var(--accent)}.mode-toggle{background:var(--toggle-bg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);flex:none;gap:2px;padding:3px;display:inline-flex}.mode-toggle .seg{border-radius:var(--radius-pill);color:var(--fg-muted);font-size:.86rem;font-weight:700;line-height:1;font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);white-space:nowrap;background:0 0;border:0;align-items:center;gap:.45em;padding:.42em .95em;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.mode-toggle .seg-dot{opacity:.5;background:currentColor;border-radius:50%;width:8px;height:8px}.mode-toggle .seg[aria-pressed=true]{background:var(--bg-elev);color:var(--fg);box-shadow:var(--shadow)}.mode-toggle .seg[aria-pressed=true] .seg-dot{opacity:1}.mode-toggle .seg-plain[aria-pressed=true] .seg-dot{background:var(--accent-2)}.mode-toggle .seg-pro[aria-pressed=true] .seg-dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}[data-level="3"] .mode-toggle .seg-dot{border-radius:0}[data-level="3"] .mode-toggle .seg[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft);outline:1px solid var(--accent);outline-offset:-1px}.mode-toggle .seg:hover:not([aria-pressed=true]){color:var(--fg)}.mode-toggle.is-flipping{animation:.42s cubic-bezier(.2,.8,.2,1) toggle-flip}@keyframes toggle-flip{0%{transform:perspective(600px)rotateX(0)scale(1)}40%{transform:perspective(600px)rotateX(-18deg)scale(1.04)}to{transform:perspective(600px)rotateX(0)scale(1)}}.card{background:var(--bg-elev);border:var(--border-w) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;padding:1.4rem 1.5rem;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:block}a.card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-strong);color:inherit;transform:translateY(-2px)}[data-level="3"] a.card:hover{border-color:var(--accent);transform:none}.card h2,.card h3{margin-top:0}.card-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:stretch;margin:0;padding:0;list-style:none;display:grid}.card-grid li{margin:0;display:flex}.card-grid>li>.card{width:100%;height:100%}.hero{max-width:820px;padding:1.5rem 0 .5rem}.hero h1{margin-bottom:.5em}.hero .lede{color:var(--fg-muted);max-width:var(--measure);font-size:1.2rem}[data-level="3"] .hero .lede{font-size:1rem}.hero-eyebrow{color:var(--accent-2);margin-bottom:1rem;display:inline-block}[data-level="3"] .hero-eyebrow{color:var(--accent)}[data-level="3"] .hero-eyebrow:before{content:"$ "}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;display:flex}.btn{border-radius:var(--radius-pill);border:var(--border-w) solid transparent;font-weight:700;font-family:var(--font-heading);text-transform:var(--label-transform);letter-spacing:var(--tracking-label);background:var(--bg-elev);color:var(--fg);align-items:center;gap:.5em;padding:.7em 1.25em;font-size:.95rem;text-decoration:none;display:inline-flex}.btn:not(.btn-primary):not(.btn-ghost):not(.btn-danger){border-color:var(--border-strong)}.btn-primary{background:var(--accent);color:var(--m3-on-primary)}.btn-primary:hover{background:var(--accent-strong);color:var(--m3-on-primary)}.btn-ghost{color:var(--fg);border-color:var(--border-strong);background:0 0}.btn-ghost:hover{border-color:var(--fg);color:var(--fg)}.nudge{background:var(--accent-2-soft);color:var(--on-accent-2-soft);border-radius:var(--radius);border:var(--border-w) dashed var(--accent-2);flex-wrap:wrap;align-items:center;gap:.7rem;margin:1.25rem 0 0;padding:.7rem 1rem;font-size:.95rem;display:flex}[data-level="3"] .nudge{background:var(--accent-soft);border-color:var(--accent);color:var(--on-accent-soft)}.nudge-btn{color:var(--link);text-underline-offset:.15em;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.nudge-btn:hover{color:var(--link-hover)}.section{margin-top:var(--space-section)}.section:first-of-type{margin-top:calc(var(--space-section) * .65)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.section-head h2{margin:0}.nf-links{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:1.5rem 0;display:grid}.nf-link{flex-direction:column;gap:.3rem;text-decoration:none;display:flex}.nf-link strong{font-family:var(--font-heading);color:var(--fg);font-size:1.05rem}.nf-link .muted{font-size:.92rem}.nf-link:hover{border-color:var(--accent)}.nf-hint{color:var(--fg-muted);margin:0 0 1.5rem}.module-card{grid-template-columns:auto 1fr;align-items:stretch;gap:1.1rem;display:grid}.module-card .module-num{align-self:start}.module-card>div{flex-direction:column;min-width:0;height:100%;display:flex}.module-card :is(h2,h3){align-items:flex-start;min-height:2.6em;display:flex}.module-card p{-webkit-line-clamp:4;-webkit-box-orient:vertical;min-height:5.6em;display:-webkit-box;overflow:hidden}.module-card .meta{margin-top:auto;padding-top:.6rem}.module-num{font-family:var(--font-heading);color:var(--accent);min-width:2.2ch;font-size:1.6rem;font-weight:800;line-height:1}[data-level="3"] .module-num{color:var(--accent);font-size:1.1rem}[data-level="3"] .module-num:before{content:"[";color:var(--fg-faint)}[data-level="3"] .module-num:after{content:"]";color:var(--fg-faint)}.module-card :is(h2,h3){margin-bottom:.3em;font-size:1.25rem}.module-card p{color:var(--fg-muted);margin:0 0 .6em;font-size:.97rem}.meta{color:var(--fg-muted);font-size:.85rem;font-family:var(--font-heading);flex-wrap:wrap;gap:.9rem;display:flex}.meta span:before{content:""}.lesson-list{gap:var(--gap);margin:0;padding:0;list-style:none;display:grid}.lesson-row{grid-template-columns:auto 1fr auto;align-items:start;gap:1.1rem;display:grid}.lesson-row .module-num{padding-top:.25rem;font-size:1.1rem}.lesson-row h3{margin:0 0 .25em;font-size:1.15rem}.lesson-row p{color:var(--fg-muted);margin:0 0 .5em;font-size:.95rem}.lesson-time{color:var(--fg-faint);white-space:nowrap;font-size:.85rem;font-family:var(--font-heading);padding-top:.3rem}@media (width<=560px){.lesson-row{grid-template-columns:auto 1fr}.lesson-row .lesson-time{grid-column:2}}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tag{font-family:var(--font-heading);white-space:nowrap;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--on-accent-soft);text-transform:var(--label-transform);letter-spacing:var(--tracking-label);flex:none;padding:.2em .65em;font-size:.72rem;font-weight:700}[data-level="3"] .tag{border:1px solid var(--border-strong);color:var(--fg-muted);background:0 0}[data-level="3"] .tag:before{content:"#"}.kind.badge-draft,.badge-draft{background:var(--warn-soft);color:var(--on-warn-soft)}.lesson-done{vertical-align:middle;font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--on-accent-soft);margin-left:.5em;padding:.15em .55em;font-size:.68rem;font-weight:700;display:inline-block}.lesson-done:before{content:"✓ "}.lesson-row[data-done]{border-color:var(--accent)}.lesson-row[data-done] .module-num{color:var(--accent)}.module-progress{font-family:var(--font-heading);margin:0 0 1rem;font-size:.9rem}.module-count{color:var(--accent);font-weight:600}.module-card[data-done]{border-color:var(--accent)}.module-card[data-done] .module-num{color:var(--accent)}.module-next{font-family:var(--font-heading);margin:0 0 1.2rem;font-size:.95rem}.module-next a{font-weight:700}.lesson-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:3rem;display:grid}@media (width<=900px){.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-aside{order:-1}}.lesson-head{margin-bottom:2rem}.crumbs{color:var(--fg-muted);font-size:.85rem;font-family:var(--font-heading);flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.crumbs a{color:var(--fg-muted);text-decoration:none}.crumbs a:hover{color:var(--link-hover)}.crumbs span[aria-hidden]:before{content:"/"}:is([data-level="1"],[data-level="2"]) .crumbs span[aria-hidden]:before{content:"›"}.lesson-head h1{max-width:20ch}.lesson-head .summary{color:var(--fg-muted);max-width:var(--measure);font-size:1.15rem}[data-level="3"] .lesson-head .summary{font-size:1rem}.lesson-body{max-width:var(--measure);min-width:0}.lesson-body>:first-child{margin-top:0}.lesson-body img{border-radius:var(--radius)}.lesson-aside{gap:1.25rem;display:grid;position:sticky;top:88px}@media (width<=900px){.lesson-aside{position:static}}.aside-card{background:var(--bg-elev);border:var(--border-w) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem;font-size:.92rem}.aside-card h2{margin:0 0 .75rem;font-size:.9rem}.aside-card ul{margin:0;padding:0;list-style:none}.aside-card :where(ul,ol):not([class])>li{margin:0 0 .6rem}.aside-card :where(ul,ol):not([class])>li:last-child{margin-bottom:0}.aside-card .kind{margin-left:0}.kind{font-family:var(--font-heading);border-radius:var(--radius-pill);vertical-align:middle;background:var(--accent-2-soft);color:var(--on-accent-2-soft);text-transform:var(--label-transform);letter-spacing:var(--tracking-label);margin-left:.5em;padding:.15em .55em;font-size:.68rem;font-weight:700;display:inline-block}[data-level="3"] .kind{color:var(--accent-2);border:1px solid var(--accent-2);background:0 0}.prevnext{gap:var(--gap);grid-template-columns:1fr 1fr;margin-top:3rem;display:grid}@media (width<=560px){.prevnext{grid-template-columns:1fr}}.prevnext .card{padding:1rem 1.2rem}.prevnext .label{margin-bottom:.25rem;display:block}.prevnext .next{text-align:right}.prevnext .title{font-weight:700;font-family:var(--font-heading)}.mode-block{min-width:0}.box{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:1.6rem 0;overflow:hidden}.box-label{font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);border-bottom:var(--border-w) solid var(--border);align-items:center;gap:.55rem;padding:.55rem 1.1rem;font-size:.78rem;font-weight:700;display:flex}:is([data-level="1"],[data-level="2"]) .box-label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.box-icon{width:1.4em;height:1.4em;font-size:.85em;font-family:var(--font-mono);background:var(--fg-muted);color:var(--bg-elev);border-radius:50%;place-items:center;font-weight:700;display:inline-grid;position:relative}[data-level="3"] .box-icon{border-radius:0}.box-body{padding:1rem 1.1rem .2rem}.box-body>:last-child{margin-bottom:.9rem}.box-try{border-color:var(--accent)}.box-try .box-label{color:var(--on-accent-soft);background:var(--accent-soft);border-bottom-color:var(--accent)}.box-try .box-icon{background:var(--on-accent-soft);color:var(--accent-soft)}[data-level="3"] .box-try{border-left:3px solid var(--accent)}[data-level="3"] .box-try .box-label{color:var(--accent);background:var(--bg-sunk)}[data-level="3"] .box-try .box-icon{background:var(--accent);color:var(--bg-sunk)}.box-note .box-label{color:var(--fg-muted);background:var(--bg-sunk)}.box-warn{border-color:var(--warn)}.box-warn .box-label{color:var(--on-warn-soft);background:var(--warn-soft);border-bottom-color:var(--warn)}.box-nobs{border-color:var(--accent-2)}.box-nobs .box-label{color:var(--on-accent-2-soft);background:var(--accent-2-soft);border-bottom-color:var(--accent-2)}[data-level="3"] .box-nobs{border-left:3px solid var(--accent-2)}[data-level="3"] .box-nobs .box-label{background:var(--bg-sunk);color:var(--accent-2)}.box-giveaway{border-style:dashed;border-color:var(--border-strong);background:var(--bg)}.box-giveaway .box-label{color:var(--fg-muted);background:var(--bg-elev)}.box-giveaway .box-body{padding-bottom:1rem}.giveaway-link{font-size:1.05rem;font-weight:700;font-family:var(--font-heading)}.giveaway-blurb{color:var(--fg-muted);margin-top:.4rem;font-size:.95rem}.giveaway-blurb>:last-child{margin-bottom:0}.level-nudge{border-top:var(--border-w) solid var(--border);color:var(--fg-muted);margin:2.5rem 0 0;padding:.9rem 0 0;font-size:.92rem}.level-nudge p{margin:0}.level-nudge .nudge-btn{color:var(--link);font-weight:600}.gv-kinds{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.gv-kind{flex-direction:column;gap:.6rem;height:100%;text-decoration:none;display:flex}.gv-kind-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.gv-kind-head h2{margin:0;font-size:1.15rem}.gv-kind-n{flex:none}.gv-kind-blurb{color:var(--fg-muted);margin:0;font-size:.93rem}.gv-kind-names{color:var(--fg-muted);flex-direction:column;gap:.22rem;margin:.1rem 0 0;padding:0;font-size:.88rem;list-style:none;display:flex}.gv-kind-names li{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.gv-kind-names li:before{content:"· ";color:var(--fg-faint)}.gv-kind-go{color:var(--accent);font-weight:600;font-family:var(--font-heading);margin-top:auto;padding-top:.7rem;font-size:.9rem}.gv-kind:hover{border-color:var(--accent)}.gv-kind:hover .gv-kind-go{text-decoration:underline}[data-level="3"] .gv-kind-go:before{content:"> "}.gv-what{max-width:var(--measure);margin:.55rem 0 0;font-size:.97rem}[data-level="3"] .gv-what{color:var(--fg-muted);font-size:.88rem}.gv-example{margin:.8rem 0 0}.gv-example figcaption{color:var(--fg-faint);font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);margin:0 0 .3rem;font-size:.7rem;font-weight:700}.gv-example-body{background:var(--bg-sunk);border:0;border-left:3px solid var(--accent-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-body);color:var(--fg-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:.65rem .9rem;font-size:.9rem;line-height:1.5}[data-level="3"] .gv-example-body{border-left-color:var(--accent)}.gv-example-prompt,.gv-example-rows{font-family:var(--font-mono);font-size:.78rem}.gv-copy.copybox-btn{vertical-align:middle;background:var(--accent-soft);color:var(--on-accent-soft);border-color:var(--accent);margin-right:.7rem;padding:.4em .95em;font-size:.8rem}.gv-copy.copybox-btn:hover{background:var(--accent);color:var(--bg)}.gv-expand{color:var(--fg-muted);font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);background:0 0;border:0;align-items:center;gap:.45em;margin-top:.75rem;padding:.25em 0;font-size:.8rem;font-weight:700;display:inline-flex}.gv-expand:before{content:"▸";color:var(--accent-2)}.gv-expand[aria-expanded=true]:before{content:"▾"}.gv-expand:hover{color:var(--accent)}.gv-expand-hide,.gv-expand[aria-expanded=true] .gv-expand-show{display:none}.gv-expand[aria-expanded=true] .gv-expand-hide{display:inline}:is([data-level="1"],[data-level="2"]) .gv-full:not(.is-open){display:none}.giveaway-group{margin-top:0}.giveaway-group h2{align-items:center;gap:.6rem;margin-top:0;display:flex}.giveaway-group .kind{font-size:.75rem}.giveaway-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.giveaway-item{grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.9rem 1.2rem;display:grid}.giveaway-item .from{color:var(--fg-faint);font-size:.85rem;font-family:var(--font-heading)}.giveaway-item .from a{color:var(--fg-muted)}@media (width<=560px){.giveaway-item{grid-template-columns:1fr}}.empty{border:var(--border-w) dashed var(--border-strong);border-radius:var(--radius);color:var(--fg-muted);text-align:center;padding:2rem}.legal{max-width:var(--measure)}.legal h2{margin-top:2em;font-size:1.2rem}.legal ul{padding-left:1.3em}.legal li{margin-bottom:.35em}.footer-legal{margin-top:.4rem}.footer-legal a{color:var(--fg-muted)}.footer-legal a:hover{color:var(--link-hover)}.footer{border-top:var(--border-w) solid var(--border);background:var(--bg-elev);margin-top:auto}.footer-inner{color:var(--fg-muted);grid-template-columns:2fr 1fr;gap:2rem;padding:2.5rem 0;font-size:.92rem;display:grid}@media (width<=720px){.footer-inner{grid-template-columns:1fr}}.footer-title{font-family:var(--font-heading);color:var(--fg);margin-bottom:.4rem;font-size:1.1rem;font-weight:800}[data-level="3"] .footer-title{color:var(--accent);font-weight:600}.footer-meta p{margin:0 0 .5rem}.footer-hint{color:var(--fg-faint);font-size:.85rem}@media (width<=760px){.topbar-inner{gap:.75rem 1rem}.nav{order:3;gap:1rem;width:100%;margin-left:0;padding-bottom:.25rem}.mode-toggle{margin-left:auto}.wordmark-by{display:none}.mode-toggle .seg{padding:.42em .75em;font-size:.8rem}}@media (width<=420px){.wordmark-text{font-size:.95rem}}.hermes-hero{align-items:flex-start;gap:1.5rem;display:flex}@media (width<=560px){.hermes-hero{flex-direction:column}}.run-ai-tag{white-space:nowrap;vertical-align:baseline;font-family:var(--font-heading);letter-spacing:var(--tracking-label);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--on-accent-soft);flex:none;padding:.15em .55em;font-size:.68rem;font-weight:700;display:inline-block}p .run-ai-tag,li .run-ai-tag{margin-left:.45em}[data-level="3"] .run-ai-tag{color:var(--accent);border:1px solid var(--accent);background:0 0}.run{background:var(--bg-elev);border:var(--border-w) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:1.8rem 0;overflow:hidden}[data-level="3"] .run{border-left:3px solid var(--accent-2)}.ask{background:var(--bg-elev);border:var(--border-w) solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);margin:1.8rem 0;padding:1.2rem 1.3rem}[data-level="3"] .ask{border-left:3px solid var(--accent)}.ask-head{align-items:flex-start;gap:.9rem;margin-bottom:.9rem;display:flex}.ask-title{margin:0 0 .25rem;font-size:1.2rem}.ask-sub{color:var(--fg-muted);margin:0;font-size:.92rem}.ask-form{gap:.5rem;display:grid}.ask-form textarea{resize:vertical;width:100%;font:inherit;color:var(--fg);background:var(--bg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);padding:.7rem .85rem}[data-level="3"] .ask-form textarea{font-family:var(--font-mono);font-size:.9rem}.ask-actions{align-items:center;gap:1rem;display:flex}.ask-answer{background:var(--bg-sunk);border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);margin-top:1.1rem;padding:.9rem 1rem}.ask-answer-head{justify-content:space-between;gap:1rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.ask-answer-body p:last-child{margin-bottom:.4rem}:is([data-level="1"],[data-level="2"]) .astro-code,:is([data-level="1"],[data-level="2"]) .astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);background-color:var(--bg-sunk)!important}[data-level="3"] .astro-code,[data-level="3"] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);background-color:var(--bg-sunk)!important}[data-level="2"]{--bg:var(--m3-surface-container-low);--bg-elev:var(--m3-surface-container-lowest);--bg-sunk:var(--m3-surface-container);--fg:var(--m3-on-background);--fg-muted:var(--m3-on-surface-variant);--fg-faint:var(--m3-outline);--accent:var(--m3-primary);--accent-strong:var(--m3-on-primary-container);--accent-soft:var(--m3-primary-container);--accent-2:var(--m3-secondary);--accent-2-soft:var(--m3-secondary-container);--warn:var(--m3-warning);--warn-soft:var(--m3-warning-container);--border:var(--m3-outline-variant);--border-strong:var(--m3-outline);--link:var(--m3-primary);--link-hover:var(--m3-secondary);--selection:var(--m3-secondary-container);--toggle-bg:var(--m3-surface-container-lowest);--on-accent-soft:var(--m3-on-primary-container);--on-accent-2-soft:var(--m3-on-secondary-container);--on-warn-soft:var(--m3-on-warning-container);--on-selection:var(--m3-on-secondary-container);--heading-weight:700;--fs-base:16.5px;--lh:1.6;--radius:var(--m3-corner-small);--radius-sm:var(--m3-corner-extra-small);--radius-pill:var(--m3-corner-small);--shadow:var(--m3-elevation-1);--shadow-hover:var(--m3-elevation-2);--gap:1.1rem;color-scheme:light;font-size:16.5px;line-height:1.6}[data-level="2"] .box-icon,[data-level="2"] .seg-dot{border-radius:var(--m3-corner-extra-small)}[data-level="2"] .term .term-first{font-family:var(--font-mono);letter-spacing:-.01em;font-size:.92em}[data-level="3"]{--bg:var(--m3-background);--bg-elev:var(--m3-surface-container-lowest);--bg-sunk:var(--m3-surface-container-lowest);--fg:var(--m3-on-background);--fg-muted:var(--m3-on-surface-variant);--fg-faint:var(--m3-outline);--accent:var(--m3-primary);--accent-strong:var(--m3-primary-fixed);--accent-soft:var(--m3-primary-container);--accent-2:var(--m3-secondary);--accent-2-soft:var(--m3-secondary-container);--warn:var(--m3-warning);--warn-soft:var(--m3-warning-container);--border:var(--m3-outline-variant);--border-strong:var(--m3-outline);--link:var(--m3-primary);--link-hover:var(--m3-secondary);--selection:var(--m3-secondary-container);--toggle-bg:var(--m3-background);--on-accent-soft:var(--m3-on-primary-container);--on-accent-2-soft:var(--m3-on-secondary-container);--on-warn-soft:var(--m3-on-warning-container);--on-selection:var(--m3-on-secondary-container);--font-body:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-heading:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-base:15.5px;--lh:1.55;--lh-tight:1.15;--tracking-label:var(--m3-label-small-tracking);--heading-weight:600;--label-transform:lowercase;--radius:var(--m3-corner-none);--radius-sm:var(--m3-corner-none);--radius-pill:var(--m3-corner-none);--border-w:1px;--shadow:none;--shadow-hover:none;--measure:76ch;--gap:1rem;--space-section:3rem;color-scheme:dark;font-size:15.5px;line-height:1.55}:root:not([data-level="2"]):not([data-level="3"]) .lv:not(.lv-1),[data-level="2"] .lv:not(.lv-2),[data-level="3"] .lv:not(.lv-3){display:none!important}.level-block{min-width:0}.term .term-again,[data-level="1"] .term[data-repeat-1] .term-first,[data-level="2"] .term[data-repeat-2] .term-first,[data-level="3"] .term[data-repeat-3] .term-first{display:none}[data-level="1"] .term[data-repeat-1] .term-again,[data-level="2"] .term[data-repeat-2] .term-again,[data-level="3"] .term[data-repeat-3] .term-again{display:inline}.term .term-first{text-decoration:underline dotted var(--accent-2);text-underline-offset:.2em;cursor:help;text-decoration-thickness:1px}.term .term-again{cursor:help;border-bottom:1px dotted #0000}.term>.lv{position:relative}.term-first:focus-visible,.term-again:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.term-tip{transform:translate(calc(-50% + var(--tip-dx,0px)), 3px);z-index:40;border-radius:var(--radius);background:var(--fg);width:max-content;max-width:min(22rem,78vw);color:var(--bg);text-align:left;text-transform:none;letter-spacing:normal;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;padding:.4rem .6rem;font-size:.8rem;font-weight:400;line-height:1.4;text-decoration:none;transition:opacity .12s,transform .12s,visibility 0s linear .12s;position:absolute;bottom:calc(100% + .45rem);left:50%;box-shadow:0 4px 16px #0003}.term-tip:after{content:"";top:100%;left:calc(50% - var(--tip-dx,0px));border:5px solid #0000;border-top-color:var(--fg);position:absolute;transform:translate(-50%)}:is(.term-first,.term-again):is(:hover,:focus-visible)+.term-tip{opacity:1;visibility:visible;transform:translate(calc(-50% + var(--tip-dx,0px)), 0);transition-delay:80ms,80ms,0s}@media (prefers-reduced-motion:reduce){.term-tip{transform:translate(calc(-50% + var(--tip-dx,0px)), 0);transition:opacity 10ms linear,visibility}}[data-level="3"] .term .term-first{text-decoration-color:var(--accent)}.level-dial{background:var(--toggle-bg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);font-family:var(--font-heading);flex:none;grid-template-columns:auto 1fr auto;grid-template-areas:"a b c""l l l";align-items:center;gap:.15rem .6rem;padding:.35rem .75rem .3rem;display:grid}.dial-end{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);font-size:.68rem;font-weight:700}.dial-end-lo{grid-area:a}.dial-end-hi{grid-area:c}[data-level="3"] .dial-end{text-transform:lowercase}.dial-track{grid-area:b;justify-content:space-between;align-items:center;width:132px;height:22px;display:flex;position:relative}.dial-track:before{content:"";background:var(--border-strong);height:2px;position:absolute;top:50%;left:11px;right:11px;transform:translateY(-50%)}.dial-fill{height:2px;width:calc((100% - 22px) * var(--dial-pos,0));background:linear-gradient(90deg, var(--accent-2), var(--accent));transition:width .3s;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.dial-stop{z-index:1;background:0 0;border:0;place-items:center;width:28px;height:28px;margin:-3px;padding:0;display:grid;position:relative}.dial-dot{background:var(--fg-faint);border-radius:50%;width:9px;height:9px;transition:transform .2s,background-color .2s,box-shadow .2s}[data-level="3"] .dial-dot{border-radius:1px}.dial-stop.is-past .dial-dot{background:var(--accent-2)}.dial-stop[aria-pressed=true] .dial-dot{background:var(--accent);box-shadow:0 0 0 3px var(--toggle-bg), 0 0 10px var(--accent);transform:scale(1.7)}.dial-stop:hover .dial-dot{background:var(--fg);transform:scale(1.35)}.dial-stop[aria-pressed=true]:hover .dial-dot{background:var(--accent);transform:scale(1.7)}.dial-label{text-align:center;color:var(--fg-muted);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);grid-area:l;font-size:.7rem;font-weight:700;line-height:1}.level-dial.is-flipping{animation:.42s cubic-bezier(.2,.8,.2,1) toggle-flip}@media (width<=760px){.level-dial{margin-left:auto}.dial-track{width:110px}.dial-end{display:none}.level-dial{grid-template-columns:1fr;grid-template-areas:"b""l"}}.level-dock{z-index:60;background:var(--bg-elev);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);padding:.35rem;animation:.22s dock-in;position:fixed;bottom:1rem;right:1rem;box-shadow:0 10px 30px #00000040}.level-dock[hidden]{display:none}.level-dock .level-dial{background:var(--toggle-bg);border:0}@keyframes dock-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=760px){.level-dock{bottom:.75rem;right:50%;transform:translate(50%)}.level-dock .level-dial{margin-left:0}}@media (prefers-reduced-motion:reduce){.level-dock{animation:none}}[data-level="2"] .nav a{font-family:var(--font-heading);font-size:.85rem}[data-level="2"] .hero-eyebrow{color:var(--accent)}[data-level="2"] .label{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.level-list li{margin-bottom:.4em}.lesson-groups{gap:2.25rem;display:grid}.lesson-section{color:var(--fg-muted);border-bottom:var(--border-w) solid var(--border);margin:0 0 1rem;padding-bottom:.4rem;font-size:1.1rem}[data-level="3"] .lesson-section:before{content:"## ";color:var(--accent)}.metaphor{background:var(--accent-2-soft);color:var(--on-accent-2-soft);border:var(--border-w) solid var(--accent-2);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:start;gap:.9rem;margin:1.6rem 0;padding:1rem 1.1rem;display:grid}.metaphor-icon{padding-top:.15rem;font-size:1.8rem;line-height:1}.metaphor-title{font-family:var(--font-heading);margin:0 0 .3rem;font-weight:800}[data-level="3"] .metaphor{background:var(--bg-sunk);color:var(--fg);border-style:dashed}[data-level="3"] .metaphor-title{color:var(--accent-2);font-weight:600}.metaphor-text>:last-child{margin-bottom:0}.diagram{background:var(--bg-elev);border:var(--border-w) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:1.8rem 0;padding:1rem 1.1rem .7rem}.diagram-canvas{max-width:100%;overflow-x:auto}.diagram-canvas svg{width:100%;max-width:640px;height:auto;font-family:var(--font-body);margin:0 auto;display:block}.diagram-wide .diagram-canvas svg{max-width:none}.diagram-title{text-align:center;color:var(--fg-muted);font-size:.85rem;font-family:var(--font-heading);margin-top:.6rem}[data-level="3"] .diagram-canvas svg{font-family:var(--font-mono)}[data-level="3"] .diagram-title:before{content:"fig · ";color:var(--accent)}.d-box{fill:var(--bg-sunk);stroke:var(--border-strong);stroke-width:1.5px}.d-box-accent{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px}.d-box-muted{fill:#0000;stroke:var(--border);stroke-width:1.5px;stroke-dasharray:4 4}.d-label{fill:var(--fg);font-size:14px;font-weight:600}.d-label-small{fill:var(--fg-muted);font-size:11.5px}[data-level="2"] .d-label-small,[data-level="3"] .d-label-small{fill:var(--fg);opacity:.82}.d-label-accent{fill:var(--on-accent-soft);font-size:14px;font-weight:700}.d-arrow{fill:none;stroke:var(--fg-muted);stroke-width:1.8px;marker-end:url(#d-arrow)}.d-line{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.d-dashed{fill:none;stroke:var(--fg-faint);stroke-width:1.5px;stroke-dasharray:5 4}.d-arrowhead{fill:var(--fg-muted)}.d-dot,.d-fill-accent{fill:var(--accent)}.d-fill-accent2{fill:var(--accent-2)}.d-fill-warn{fill:var(--warn)}[data-level="3"] .d-box,[data-level="3"] .d-box-accent{rx:0}.figure{margin:1.8rem 0}.figure-body{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden}.figure-body>pre,.figure-body>table{border:0;border-radius:0;margin:0}.figure figcaption{color:var(--fg-muted);font-size:.85rem;font-family:var(--font-heading);text-align:center;margin-top:.5rem}.copybox{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-sunk);margin:.9rem 0;position:relative;overflow:hidden}.copybox-bar{background:var(--bg-elev);border-bottom:var(--border-w) solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .5rem .35rem .85rem;display:flex}.copybox-name{font-family:var(--font-mono);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.copybox-btn{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-muted);font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);flex:none;align-items:center;gap:.4em;padding:.3em .7em;font-size:.75rem;font-weight:700;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.copybox-btn:hover{color:var(--accent);border-color:var(--accent)}.copybox-btn.is-copied{color:var(--on-accent-soft);border-color:var(--accent);background:var(--accent-soft)}.copybox-ico{flex:none}.copybox-ico-done,.copybox-done,.copybox-manual,.copybox-btn.is-copied .copybox-ico:not(.copybox-ico-done){display:none}.copybox-btn.is-copied .copybox-ico-done{display:inline}.copybox-btn.is-copied .copybox-idle{display:none}.copybox-btn.is-copied .copybox-done{display:inline}.copybox-btn.is-manual .copybox-idle{display:none}.copybox-btn.is-manual .copybox-manual{display:inline}.copybox-btn.is-manual{color:var(--warn);border-color:var(--warn)}.copybox-pre{white-space:pre-wrap;word-break:break-word;background:0 0;border:0;border-radius:0;max-height:30rem;margin:0;padding:.9rem 1rem;font-size:.82rem;line-height:1.55;overflow:auto}.copybox-pre code{font-family:var(--font-mono);font-size:inherit;background:0 0;border:0;padding:0}:is([data-level="1"],[data-level="2"]) .copybox-prose .copybox-pre code{font-family:var(--font-body);font-size:.95rem}:is([data-level="1"],[data-level="2"]) .copybox-prose .copybox-pre{line-height:1.6}.copybox-long .copybox-pre{max-height:13rem;overflow:hidden}.copybox-long:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg-sunk));pointer-events:none;height:4rem;position:absolute;bottom:2.2rem;left:0;right:0}.copybox-more{border:0;border-top:var(--border-w) solid var(--border);background:var(--bg-elev);width:100%;color:var(--fg-muted);font-family:var(--font-heading);letter-spacing:var(--tracking-label);text-transform:var(--label-transform);padding:.5rem;font-size:.78rem;font-weight:700;display:block}.copybox-more:hover{color:var(--accent)}.giveaway-link-row{margin:0 0 .3rem}.giveaway-actions{font-size:.85rem;font-family:var(--font-heading);margin:.5rem 0 0}.giveaway-more{margin-top:.5rem;font-size:.85rem}.giveaway-more summary{cursor:pointer;color:var(--fg-muted);font-family:var(--font-heading);font-size:.8rem}.giveaway-more summary:hover{color:var(--accent)}.giveaway-files{font-family:var(--font-mono);margin:0;padding:.4rem 0 0 .9rem;font-size:.78rem;list-style:none}.giveaway-files li{margin:.2rem 0}.giveaway-item{display:block}.giveaway-item-head{grid-template-columns:1fr auto;align-items:start;gap:1rem;display:grid}@media (width<=560px){.giveaway-item-head{grid-template-columns:1fr}.giveaway-item-head>.kind{justify-self:start}}.buddy-art{width:var(--buddy-size,56px);height:var(--buddy-size,56px);flex:none;place-items:center;display:inline-grid;position:relative}.buddy-art picture,.buddy-art img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}[data-level="3"] .buddy-art img{filter:drop-shadow(0 0 1px color-mix(in srgb, var(--fg) 55%, transparent)) drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 22%, transparent))}.buddy-wave{transform-origin:50% 85%;animation:3.6s ease-in-out infinite buddy-bob}@keyframes buddy-bob{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-4px)rotate(1.5deg)}}@media (prefers-reduced-motion:reduce){.buddy-wave{animation:none}}.buddy-hero{align-items:flex-start;gap:1.5rem;display:flex}@media (width<=560px){.buddy-hero{flex-direction:column}}.buddy-clippy{color:var(--fg-muted);max-width:var(--measure);font-size:.95rem;font-style:italic}[data-level="3"] .buddy-clippy{font-style:normal}.buddy-invite{border:var(--border-w) solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--on-accent-soft);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.2rem;display:flex}.buddy-invite p{margin:0}.buddy-invite-link{white-space:nowrap;margin-left:.5rem;font-weight:700}.buddy-launcher{z-index:70;flex-direction:column;align-items:flex-end;gap:.6rem;display:flex;position:fixed;bottom:1rem;right:1rem}.buddy-launcher[hidden]{display:none}.buddy-btn{border:var(--border-w) solid var(--border-strong);background:var(--bg-elev);border-radius:50%;place-items:center;width:60px;height:60px;padding:0;transition:transform .16s,border-color .16s;display:grid;box-shadow:0 8px 24px #00000038}.buddy-btn:hover{border-color:var(--accent);transform:translateY(-2px)}[data-level="3"] .buddy-btn{border-radius:4px}.buddy-panel{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;width:min(23rem,100vw - 2rem);max-height:min(34rem,100vh - 8rem);animation:.18s dock-in;display:flex;overflow:hidden;box-shadow:0 14px 38px #00000047}.buddy-panel[hidden]{display:none}.buddy-panel-head{border-bottom:var(--border-w) solid var(--border);background:var(--bg-sunk,transparent);flex:none;align-items:center;gap:.5rem;padding:.5rem .55rem .5rem .65rem;display:flex}.buddy-panel-hi{font-family:var(--font-heading);flex:1;margin:0;font-weight:800}[data-level="3"] .buddy-panel-hi{font-weight:600}.buddy-close{color:var(--fg-faint);background:0 0;border:0;padding:0 .2rem;font-size:1.2rem;line-height:1}.buddy-close:hover{color:var(--fg)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.6rem;min-height:6rem;padding:.7rem;display:flex;overflow-y:auto}.chat-msg{display:flex}.chat-msg-you{justify-content:flex-end}.chat-bubble{border-radius:var(--radius-sm);background:var(--bg-sunk,#0000000a);max-width:88%;padding:.45rem .65rem;font-size:.9rem;line-height:1.5}.chat-msg-you .chat-bubble{background:var(--accent-soft);color:var(--on-accent-soft)}.chat-bubble p{margin:0}.chat-bubble p+p{margin-top:.5rem}[data-level="3"] .chat-bubble{font-family:var(--font-mono);border-radius:3px;font-size:.82rem}.chat-form{border-top:var(--border-w) solid var(--border);flex:none;align-items:flex-end;gap:.4rem;padding:.5rem;display:flex}.chat-form textarea{resize:none;border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-height:2.2rem;max-height:7.5rem;color:var(--fg);font:inherit;flex:1;padding:.45rem .55rem;font-size:.9rem;line-height:1.4}.chat-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-send{border-radius:var(--radius-sm);background:var(--accent);width:2.2rem;height:2.2rem;color:var(--bg);border:0;flex:none;place-items:center;padding:0;display:grid}.chat-send:hover{filter:brightness(1.08)}.chat-foot{color:var(--fg-faint);flex:none;align-items:center;gap:.7rem;margin:0;padding:0 .7rem .55rem;font-size:.74rem;display:flex}.chat-foot [data-chat-status]{flex:1;font-style:italic}.chat-foot a{color:var(--fg-faint);text-decoration:none}.chat-foot a:hover{color:var(--accent);text-decoration:underline}@media (width<=480px){.buddy-panel{width:calc(100vw - 1.5rem);max-height:calc(100vh - 7rem)}}.level-dock{left:1rem;right:auto}@media (width<=760px){.level-dock{bottom:.75rem;left:50%;right:auto;transform:translate(-50%)}.buddy-launcher{bottom:4.5rem}}.me-danger{border-color:var(--m3-error)}.me-danger h2{color:var(--m3-error)}.me-danger-confirm{align-items:center;gap:.5rem;margin:.9rem 0;font-size:.95rem;display:flex}.btn-danger{background:var(--m3-error);color:var(--m3-on-error);border-color:var(--m3-error)}.btn-danger:hover:not(:disabled){background:var(--m3-on-error-container);border-color:var(--m3-on-error-container)}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.me-levels{gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.me-level{text-align:left;cursor:pointer;border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);width:100%;color:var(--fg);font:inherit;grid-template-columns:auto 1fr;align-items:baseline;gap:.2rem .8rem;padding:.7rem .9rem;display:grid}.me-level:hover{border-color:var(--accent)}.me-level-n{font-family:var(--font-heading);color:var(--accent);grid-row:span 2;font-size:1.1rem;font-weight:800}.me-level-name{font-weight:600}.me-level-hint{grid-column:2;font-size:.88rem}.me-level[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.me-level[aria-pressed=true] .me-level-n,.me-level[aria-pressed=true] .me-level-hint{color:inherit}.me-level[aria-pressed=true] .me-level-name:after{content:" · saved";opacity:.75;font-weight:400}.me-levels-status{margin:.6rem 0 0;font-size:.9rem}.lc-dismiss{margin-left:auto}.lc-skipped-line{color:var(--fg-muted);margin:0;font-size:.95rem}.lc-skipped-line .linklike{color:var(--accent);margin-left:.4em;font-weight:600}.levelcheck{border:var(--border-w) solid var(--accent);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:1.5rem 0 2rem;padding:1.3rem 1.4rem}[data-level="3"] .levelcheck{border-left:3px solid var(--accent)}.lc-head{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.lc-title{margin:0 0 .25rem;font-size:1.3rem}.lc-lede{max-width:var(--measure);margin:0 0 .5rem}.lc-sub{color:var(--fg-muted);margin:0;font-size:.93rem}.lc-progress{gap:.35rem;margin-bottom:1rem;display:flex}.lc-dot{background:var(--border-strong);border-radius:2px;width:26px;height:4px;transition:background-color .2s}.lc-dot.is-done{background:var(--accent-2)}.lc-dot.is-current{background:var(--accent)}.lc-q{border:0;margin:0;padding:0}.lc-ask{font-family:var(--font-heading);align-items:baseline;gap:.6rem;margin-bottom:.7rem;padding:0;font-size:1.05rem;font-weight:700;display:flex}.lc-num{background:var(--accent-soft);width:1.5em;height:1.5em;color:var(--on-accent-soft);border-radius:50%;flex:none;place-items:center;font-size:.8em;display:inline-grid}[data-level="3"] .lc-num{border-radius:2px}.lc-note{color:var(--fg-faint);margin:-.4rem 0 .7rem;font-size:.85rem}.lc-options{gap:.45rem;display:grid}.lc-option{text-align:left;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);padding:.65rem .85rem;font-size:.95rem;line-height:1.4;transition:border-color .14s,background-color .14s,transform .14s}.lc-option:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft);transform:translate(2px)}.lc-option.is-picked{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.lc-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.lc-actions .btn{padding:.45em .9em;font-size:.85rem}.lc-hint{font-size:.85rem}.lc-result-head{align-items:flex-start;gap:1rem;display:flex}.lc-verdict{margin:0 0 .4rem;font-size:1.1rem}.lc-level-num{background:var(--accent);width:1.6em;height:1.6em;color:var(--bg);font-family:var(--font-heading);vertical-align:middle;border-radius:50%;place-items:center;font-size:.8em;font-weight:800;display:inline-grid}[data-level="3"] .lc-level-num{border-radius:var(--m3-corner-extra-small);color:var(--m3-on-primary)}.lc-why{color:var(--fg-muted);margin:0}.lc-result-actions{flex-wrap:wrap;gap:.6rem;margin:1rem 0 .6rem;display:flex}.lc-fineprint{margin:0;font-size:.8rem}.lc-remembered-line{margin:0 0 .7rem}.levelcheck-compact{padding:1rem 1.1rem}.levelcheck-compact .lc-title{font-size:1.15rem}@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translateY(14px)}[data-reveal].is-in{opacity:1;transition:opacity .56s cubic-bezier(.2,.7,.2,1),transform .56s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);transform:none}.diagram[data-reveal]{transform:translateY(20px)scale(.985)}.diagram[data-reveal].is-in{transform:none}}a.card{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .22s}a.card:hover{transform:translateY(-3px)}[data-level="3"] a.card:hover{transform:translateY(-1px)}.lc-option{transition:border-color .16s,background-color .16s,transform .16s cubic-bezier(.2,.7,.2,1)}.wordmark-text{flex-direction:column;line-height:1.05;display:inline-flex}.wordmark-sub{color:var(--fg-muted);letter-spacing:.01em;font-size:.72em;font-weight:600}@media (width<=560px){.wordmark-sub{display:none}}.demo-cta{border-color:var(--accent-2)}[data-level="3"] .demo-cta{border-left:3px solid var(--accent-2)}.demo-cta .label{color:var(--accent-2)}.demo-cta-body{margin:0 0 .85rem;font-size:.92rem}.demo-cta-btn{justify-content:center;width:100%}.demo-cta-fine{margin:.6rem 0 0;font-size:.76rem}.gate{text-align:center;border:var(--border-w) dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);margin:1.5rem 0;padding:1.6rem 1.4rem}.gate-h{margin:0 0 .5rem}.gate-body{max-width:46ch;margin:0 auto 1rem}.gate-fine{margin:.9rem 0 0;font-size:.8rem}[data-level="3"] .gate{border-radius:4px}.auth{max-width:26rem;margin:2rem auto 4rem}.auth-head{text-align:center;margin-bottom:1.4rem}.auth-head h1{margin:.4rem 0 .5rem}.auth-msg{border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.92rem}.auth-err{border:var(--border-w) solid var(--warn);color:var(--warn)}.auth-ok{border:var(--border-w) solid var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.auth-oauth{gap:.5rem;margin:1rem 0;display:grid}.oauth-btn{justify-content:center;align-items:center;gap:.55rem;width:100%;display:flex}.auth-or{color:var(--fg-faint);align-items:center;gap:.8rem;margin:1.2rem 0;font-size:.85rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.auth-form{gap:.8rem;display:grid}.auth-form .label{gap:.3rem;font-weight:600;display:grid}.auth-form input{border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font:inherit;padding:.55rem .65rem}.auth-form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-submit{justify-content:center;width:100%}.auth-alt,.auth-reset{text-align:center;margin:.9rem 0 0}.linklike{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth-privacy{text-align:center;margin-top:1.6rem;font-size:.8rem}[data-level="3"] .auth-form input,[data-level="3"] .auth-msg{border-radius:3px}.me{gap:1rem;max-width:44rem;margin:1.5rem auto 4rem;display:grid}.me-main,.me-side{align-content:start;gap:1rem;min-width:0;display:grid}.me>.me-head,.me>.auth-msg,.me>.me-danger{grid-column:1/-1}@media (width>=860px){.me{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1.25rem;max-width:72rem}.me-main,.me-side{gap:1.25rem}.me-side .me-xp-stats{grid-template-columns:repeat(2,1fr)}}.me-danger>summary{cursor:pointer;align-items:center;gap:.6rem;list-style:none;display:flex}.me-danger>summary::-webkit-details-marker{display:none}.me-danger>summary:after{content:"Show";color:var(--fg-muted);margin-left:auto;font-size:.85rem}.me-danger[open]>summary:after{content:"Hide"}.me-danger>summary h2{margin:0}.me-danger:not([open]){border-color:var(--border)}.me-danger:not([open])>summary h2{color:var(--fg-muted);font-size:1rem}.me-head{align-items:center;gap:.9rem;margin-bottom:.4rem;display:flex}.me-head h1{margin:0;font-size:1.5rem}.me-head p{margin:0;font-size:.9rem}.me-head form{margin-left:auto}.me-head form .btn{white-space:nowrap}.me-course{gap:.5rem;display:grid}.me-count{margin:0}.me-bar{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.me-bar>span{background:var(--accent);border-radius:99px;height:100%;display:block}[data-level="3"] .me-bar,[data-level="3"] .me-bar>span{border-radius:2px}.me-next,.me-cert{margin:0}.me-cert-form{margin-top:.3rem}.cert{text-align:center;justify-items:center;gap:.7rem;max-width:62rem;margin:2.5rem auto;display:grid}.cert h1{margin:.3rem 0}.cert-line{max-width:38rem;margin:0;font-size:1.05rem}.cert-note{max-width:34rem;margin-top:1.2rem;font-size:.82rem}.cert-actions{margin:.4rem 0 0}.cert-plate{border-radius:var(--radius);width:100%;line-height:0;overflow:hidden;box-shadow:0 2px 6px #00000014,0 12px 34px #00000024}.cert-plate svg{width:100%;height:auto;display:block}[data-level="3"] .cert-plate{border-radius:3px}@media print{.cert-plate{box-shadow:none}.cert-actions,.cert-note,.crumbs{display:none}}.quizpage{max-width:48rem}.quiz-head{align-items:flex-start;gap:1rem;margin-bottom:1.6rem;display:flex}.quiz-head h1{margin:0 0 .3rem}.quiz-standing{margin:.5rem 0 0}.quiz-ladder{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.quiz-rung{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--bg-elev);align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;display:flex}.quiz-rung-n{border:var(--border-w) solid var(--border);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.95rem;font-weight:700;display:grid}.quiz-rung-body{flex:auto}.quiz-rung h2{margin:0 0 .15rem;font-size:1.05rem}.quiz-rung p{margin:.15rem 0 0;font-size:.88rem}.quiz-rung-state{margin-top:.55rem!important}.quiz-rung.is-passed{border-color:var(--accent);background:var(--accent-soft)}.quiz-rung.is-passed .quiz-rung-n{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.quiz-rung.is-locked{opacity:.6}.quiz-rung.is-next{border-color:var(--accent)}.quiz-foot{margin-top:1.6rem;font-size:.9rem}.quiz{gap:1.4rem;margin:1.5rem 0;display:grid}.quiz-q{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--bg-elev);margin:0;padding:1.1rem 1.2rem}.quiz-ask{align-items:baseline;gap:.5rem;margin:0;font-weight:700;display:flex}.quiz-q-n{background:var(--accent-soft);min-width:1.5rem;height:1.5rem;color:var(--on-accent-soft);border-radius:50%;place-items:center;font-size:.8rem;display:inline-grid}.quiz-options{gap:.4rem;margin-top:.8rem;display:grid}.quiz-option{border:var(--border-w) solid transparent;border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.55rem .7rem;display:flex}.quiz-option:hover{background:var(--bg)}.quiz-option input{flex:none;margin-top:.2rem}.quiz-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.quiz-q.is-right{border-color:var(--accent)}.quiz-q.is-right .quiz-ask:after{content:"✓ correct";white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:400}.quiz-q.is-wrong{border-color:var(--danger,#8a2f2f)}.quiz-q.is-wrong .quiz-ask:after{content:"✗ not this one";white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:400}.quiz-why{color:var(--fg-muted);border-top:var(--border-w) solid var(--border);padding-top:.6rem;font-size:.86rem;margin:.8rem 0 0!important}.quiz-actions{justify-items:start;gap:.6rem;display:grid}.quiz-error{color:var(--danger,#8a2f2f);margin:0;font-size:.88rem}.quiz-result{border:var(--border-w) solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--on-accent-soft);padding:1.2rem 1.3rem}.quiz-result h2{margin:0 0 .3rem}.quiz-score{margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.quiz-result p:last-child{margin:0}.field-hint{margin-top:.15rem;font-size:.78rem;font-weight:400;display:block}[aria-busy=true]{opacity:.85}.btn.is-busy{pointer-events:none;position:relative;color:#0000!important}.btn.is-busy:after{content:"";width:1.05em;height:1.05em;color:var(--bg-elev);border:2px solid;border-top-color:#0000;border-radius:50%;margin:auto;animation:.6s linear infinite btn-spin;position:absolute;inset:0}.btn.oauth-btn.is-busy:after{color:var(--fg)}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn.is-busy:after{opacity:.5;border-top-color:currentColor;animation:none}}.done{border-top:var(--border-w) solid var(--border);margin:2rem 0 0;padding-top:1.2rem}.done-btn.is-done{background:var(--accent-soft);border-color:var(--accent);color:var(--on-accent-soft)}.done-note{margin:.6rem 0 0;font-size:.85rem}.done-note a{margin-left:.25rem}.faq{border:var(--border-w) solid var(--border);border-radius:var(--radius);background:var(--bg-elev);margin:1.5rem 0;padding:1.1rem 1.2rem}.faq h2{margin:0 0 .6rem}.faq dt{margin-top:.7rem;font-weight:700}.faq dd{color:var(--fg-muted);margin:.25rem 0 0}[data-level="3"] .faq{border-radius:3px}.me-rungs{gap:.3rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.me-rung{border-radius:var(--radius);border:var(--border-w) solid var(--border);align-items:center;gap:.7rem;padding:.45rem .6rem;display:flex}.me-rung-n{border:var(--border-w) solid var(--border);border-radius:50%;flex:none;place-items:center;width:1.6rem;height:1.6rem;font-size:.78rem;font-weight:700;display:grid}.me-rung-label{flex:auto;font-size:.9rem}.me-rung-state{font-size:.8rem}.me-rung.is-passed{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.me-rung.is-passed .me-rung-n{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.me-rung.is-locked{opacity:.55}.me-exam-cta{margin:.6rem 0 0}.nav-exams{display:none}body[data-signed-in] .nav-exams{display:inline}[data-signed-in-only]{display:none}body[data-signed-in] [data-signed-in-only]{display:block}.exams-cta{margin-top:1.6rem}.exams-cta h2{margin:0 0 .4rem}.exams-cta p{margin:0 0 .9rem}.quiz-barrier{margin-bottom:1.2rem}.quiz-barrier h2{margin:0 0 .4rem}.quiz-barrier p{margin:0 0 .7rem}.quiz-barrier .me-bar{margin-bottom:.4rem}.quiz-barrier .btn{margin-top:.5rem}.quiz-ladder.is-barred{opacity:.72}.quiz-free-note{border-radius:var(--radius);background:var(--accent-soft);color:var(--on-accent-soft);margin:.5rem 0 0;padding:.55rem .7rem;font-size:.86rem}.hero-name{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;font-size:.82rem;font-weight:700}[data-level="3"] .hero-name{letter-spacing:.08em;font-family:var(--font-mono,ui-monospace, monospace)}.ex{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:1.8rem 0;padding:1.1rem 1.2rem 1rem}.ex.is-done{border-color:var(--accent)}.ex-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.ex-kind{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}[data-level="3"] .ex-kind{text-transform:lowercase}.ex-xp{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--on-accent-soft);white-space:nowrap;padding:.15em .55em;font-size:.75rem;font-weight:700}.ex-prompt{margin:0 0 .9rem;font-weight:600}.ex-status{min-height:1.3em;margin:.7rem 0 0;font-size:.88rem}.ex-status[data-tone=good]{color:var(--accent);font-weight:600}.ex-status[data-tone=bad]{color:var(--danger);font-weight:600}.ex-explain,.ex-why{border-radius:var(--radius-sm);background:var(--bg-sunk);margin:.7rem 0 0;padding:.6rem .75rem;font-size:.9rem}.ex-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.8rem;display:flex}.ex-opt,.ex-chip,.ex-card,.ex-spot{font:inherit;color:var(--fg);text-align:left;cursor:pointer;background:var(--bg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .8rem;transition:border-color .12s,background-color .12s,transform .12s}.ex-opt:hover:not(:disabled),.ex-chip:hover:not(:disabled),.ex-card:hover:not(:disabled),.ex-spot:hover{border-color:var(--accent)}.ex-opt:focus-visible,.ex-chip:focus-visible,.ex-card:focus-visible,.ex-spot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ex-opt:disabled,.ex-chip:disabled,.ex-card:disabled{cursor:default}.is-right{border-color:var(--accent)!important;background:var(--accent-soft)!important;color:var(--on-accent-soft)!important}.is-wrong{border-color:var(--danger)!important;background:var(--danger-soft)!important;color:var(--on-danger-soft)!important}.ex-opt.is-right:after,.ex-card.is-right:after,.ex-chip.is-right:after{content:"  ✓";font-weight:700}.ex-opt.is-wrong:after,.ex-chip.is-wrong:after{content:"  ✗";font-weight:700}.ex-options{gap:.45rem;display:grid}.ex-tray{counter-reset:step;border:var(--border-w) dashed var(--border-strong);border-radius:var(--radius-sm);gap:.4rem;min-height:3rem;margin:0 0 .7rem;padding:.5rem;list-style:none;display:grid}.ex-tray:empty:before{content:"Tap the steps below in order.";color:var(--fg-muted);padding:.3rem;font-size:.88rem}.ex-tray li{counter-increment:step;align-items:center;gap:.5rem;display:flex}.ex-tray li:before{content:counter(step);background:var(--accent-soft);width:1.5rem;height:1.5rem;color:var(--on-accent-soft);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.ex-tray .ex-chip{flex:1}.ex-pool{flex-wrap:wrap;gap:.45rem;display:flex}.ex-match{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.ex-redo{color:var(--fg-muted);font:600 .78rem var(--font-heading);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:.1rem .2rem;text-decoration:underline}.ex-redo:hover{color:var(--fg)}.ex-col{align-content:start;gap:.45rem;display:grid}.ex-card.is-picked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@media (width<=560px){.ex-match{gap:.4rem}.ex-card{padding:.5rem .55rem;font-size:.9rem}}.ex-figure{margin-bottom:.7rem}.ex-figure [data-spot]{transition:opacity .15s,filter .15s}.ex-figure:has([data-spot].is-lit) [data-spot]:not(.is-lit){opacity:.45}.ex-figure [data-spot].is-lit{filter:drop-shadow(0 0 4px var(--accent))}.ex-spots{flex-wrap:wrap;gap:.4rem;display:flex}.ex-spot[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.ex-spot.is-seen:not([aria-expanded=true]):after{content:"  ✓";color:var(--accent)}.ex-spot-text{border-left:3px solid var(--accent);background:var(--bg-sunk);margin:.7rem 0 0;padding:.6rem .75rem}.ex-progress{margin:.5rem 0 0;font-size:.82rem}.ex-write textarea{width:100%;font:inherit;color:var(--fg);background:var(--bg);resize:vertical;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .7rem}.ex-write textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ex-count{margin-left:auto;font-size:.8rem}.ex-rubric{gap:.35rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.ex-rubric li{border-radius:var(--radius-sm);border:var(--border-w) solid var(--border);align-items:baseline;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.ex-rubric li .ex-mark:before{content:"○";color:var(--fg-faint)}.ex-rubric li.is-right .ex-mark:before{content:"✓";color:inherit;font-weight:700}.ex-rubric li.is-wrong .ex-mark:before{content:"✗";color:inherit;font-weight:700}.ex-rubric.is-self .ex-mark{display:none}.ex-note{font-size:.85rem}@media (prefers-reduced-motion:reduce){.ex-opt,.ex-chip,.ex-card,.ex-spot,.ex-figure [data-spot]{transition:none}}.xp-chip{font-family:var(--font-heading);color:var(--fg-muted);border-radius:var(--radius-pill);border:var(--border-w) solid var(--border);background:var(--toggle-bg);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.8rem;font-weight:700;text-decoration:none;display:none}body[data-signed-in] .xp-chip{display:inline-flex}.xp-chip:hover{border-color:var(--accent);color:var(--fg)}.xp-chip .xp-flame{filter:grayscale();opacity:.55;transition:filter .2s,opacity .2s}.xp-chip.is-hot .xp-flame{filter:none;opacity:1}.xp-chip.is-hot{color:var(--fg)}.xp-sep{opacity:.5}.xp-chip.is-pulse{animation:.6s xp-pulse}@keyframes xp-pulse{0%{transform:scale(1)}35%{transform:scale(1.12)}to{transform:scale(1)}}@media (width<=760px){.xp-chip .xp-unit,.xp-chip .xp-sep,.xp-chip [data-xp-total]{display:none}}@media (prefers-reduced-motion:reduce){.xp-chip.is-pulse{animation:none}}.topbar-inner.wrap{--wrap:1240px}.topbar[data-fit] .wordmark-by,.topbar[data-fit] [data-header-dial] .dial-end{display:none}.topbar[data-fit] [data-header-dial] .level-dial{grid-template-columns:1fr;grid-template-areas:"b""l"}.topbar[data-fit] .topbar-inner{gap:.75rem 1rem}.topbar[data-fit] .nav{gap:.9rem}.topbar[data-fit] .xp-chip .xp-sep,.topbar[data-fit] .xp-chip [data-xp-total],.topbar[data-fit] .xp-chip .xp-unit{display:none}.topbar[data-fit=stacked] .nav{order:3;width:100%;margin-left:0;padding-bottom:.25rem}.topbar[data-fit=stacked] [data-header-dial],body[data-signed-in] .topbar[data-fit=stacked] .xp-chip{margin-left:auto}body[data-signed-in] .topbar[data-fit=stacked] [data-header-dial]{margin-left:0}.me-xp-stats{grid-template-columns:repeat(4,1fr);gap:.6rem;margin:.8rem 0;display:grid}.me-xp-stat{border-radius:var(--radius-sm);background:var(--bg-sunk);text-align:center;justify-items:center;padding:.7rem .4rem;display:grid}.me-xp-num{font-family:var(--font-heading);color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800;line-height:1.1}.me-xp-label{color:var(--fg-muted);font-size:.75rem}.me-xp-note{margin:0;font-size:.85rem}@media (width<=560px){.me-xp-stats{grid-template-columns:repeat(2,1fr)}}.pg{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:2rem 0;padding:1.1rem 1.2rem 1.2rem}.pg-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.pg-kind{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.pg-view{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);display:inline-flex;overflow:hidden}.pg-view-btn{color:var(--fg-muted);font:600 .78rem var(--font-heading);cursor:pointer;background:0 0;border:0;padding:.3rem .8rem}.pg-view-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft)}.pg-examples{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.pg-card{text-align:left;cursor:pointer;border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font:inherit;flex-direction:column;gap:.2rem;padding:.65rem .7rem .6rem;display:flex;position:relative}.pg-card:hover{border-color:var(--fg-muted)}.pg-card[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pg-card-title{font-size:.92rem;font-weight:700;line-height:1.25}.pg-card-blurb{color:var(--fg-muted);font-size:.8rem;line-height:1.3}.pg-tag{font:700 .64rem var(--font-heading);letter-spacing:.04em;text-transform:uppercase;background:var(--fg);color:var(--bg);border-radius:3px;align-self:flex-start;padding:.12rem .4rem}.lesson-layout{container-type:inline-size}.lesson-body .pg{width:100cqw}@media (width>=901px){.lesson-body .pg{width:calc(100cqw - 280px - 3rem)}}.pg-io{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.pg-io-col{flex-direction:column;min-width:0;display:flex}.pg-io .pg-label-row{margin-top:0}.pg-io .pg-state{flex:auto;min-height:9rem}.pg-output{border-top:var(--border-w) solid var(--border);margin-top:1.1rem;padding-top:1.1rem}.pg-side{gap:.8rem;display:grid}.pg-side.has-routing{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.pg-answers{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:.8rem}@media (width<=700px){.pg-io,.pg-side.has-routing{grid-template-columns:minmax(0,1fr)}}.pg-label{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);margin:0 0 .3rem;font-size:.72rem;font-weight:700;display:block}.pg-label-row{justify-content:space-between;align-items:baseline;margin-top:.8rem;display:flex}.pg-state,.pg-code,.pg-q input,.pg-q select,.pg-q textarea{box-sizing:border-box;width:100%;font:.88rem/1.45 var(--font-mono);color:var(--fg);background:var(--bg-sunk);border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);padding:.5rem .6rem}.pg-state:focus,.pg-code:focus,.pg-q input:focus,.pg-q select:focus,.pg-q textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.pg-state{font-family:var(--font-body);resize:vertical}.pg-code{resize:vertical;white-space:pre;tab-size:2}.pg-questions{gap:.55rem;display:grid}.pg-q{border:var(--border-w) dashed var(--border);border-radius:var(--radius-sm);gap:.35rem;padding:.55rem;display:grid}.pg-q-top{align-items:center;gap:.4rem;display:flex}.pg-q-top .pg-q-key{flex:auto;min-width:0;font-weight:700}.pg-q-top .pg-q-type{width:auto;font-family:var(--font-heading);flex:none}.pg-q .pg-q-instr{font-family:var(--font-body)}.pg-q .pg-q-crit{resize:vertical;font-size:.8rem}.pg-link{color:var(--accent);font:600 .82rem var(--font-heading);cursor:pointer;background:0 0;border:0;padding:.1rem .2rem}.pg-link:disabled{color:var(--fg-faint);cursor:not-allowed}.pg-q-rm{color:var(--fg-muted)}.pg-run-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.9rem;display:flex}.pg-status{font-size:.85rem}.pg-note{margin:.6rem 0 0;font-size:.78rem}.pg-error{color:var(--m3-error);margin:.35rem 0 0;font-size:.82rem}.pg-coach{border-radius:var(--radius-sm);background:var(--accent-2-soft);color:var(--on-accent-2-soft);padding:.7rem .8rem}.pg-coach:empty{display:none}.pg-coach-step{font:700 .68rem var(--font-heading);letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:.8;margin:0}.pg-coach-text{margin:.25rem 0 0;font-size:.92rem;line-height:1.45}.pg-coach-actions{margin-top:.55rem}.pg-coach-actions .btn{padding:.35rem .8rem;font-size:.85rem}.pg-routing{border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);gap:.4rem;padding:.6rem .7rem;display:grid}.pg-slider{color:var(--fg-muted);gap:.15rem;font-size:.82rem;display:grid}.pg-slider output{font-family:var(--font-mono);color:var(--fg)}.pg-slider input{width:100%;accent-color:var(--accent)}.pg-answers{gap:.7rem;display:grid}.pg-empty{margin:0;font-size:.9rem}.pg-stale{color:var(--warn);margin:0;font-size:.82rem}.pg-a{border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:.65rem .75rem}.pg-a-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pg-a-head code{font-weight:700}.pg-a-q{color:var(--fg-muted);margin:.2rem 0 0;font-size:.82rem;font-style:italic}.pg-a-big{font:700 1.15rem var(--font-heading);font-variant-numeric:tabular-nums;margin:.35rem 0}.pg-conf{color:var(--fg-muted);font-size:.8rem;font-weight:600}.pg-was{color:var(--fg-faint);margin-left:.5rem;font-size:.75rem;font-weight:600;display:inline-block}.pg-bar{background:var(--bg-sunk);border-radius:3px;height:6px;display:block;overflow:hidden}.pg-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .4s;display:block}.pg-dist{gap:.25rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.pg-dist li{grid-template-columns:minmax(8rem,45%) 1fr 2.8rem;align-items:center;gap:.5rem;font-size:.8rem;display:grid}.pg-dist li .pg-bar-fill{background:var(--fg-faint)}.pg-dist li.is-top .pg-bar-fill{background:var(--accent)}.pg-dist li.is-top .pg-opt{font-weight:700}.pg-opt{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);overflow:hidden}.pg-p{text-align:right;font-family:var(--font-mono);color:var(--fg-muted)}.pg-response{max-height:26rem;margin:0;font-size:.8rem;overflow:auto}.pg-route{margin-top:.55rem}.pg-bands{border-radius:5px;height:10px;display:flex;position:relative;overflow:visible}.pg-band{height:100%;display:block}.pg-band.is-escalate{background:var(--m3-error);opacity:.35;border-radius:5px 0 0 5px}.pg-band.is-confirm{background:var(--warn);opacity:.4}.pg-band.is-act{background:var(--accent);opacity:.45;border-radius:0 5px 5px 0}.pg-marker{background:var(--fg);border-radius:2px;width:3px;height:18px;margin-left:-1.5px;transition:left .3s;position:absolute;top:-4px}.pg-verdict{font:700 .85rem var(--font-heading);margin:.35rem 0 0}.pg-lane{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elev);border-left-width:5px;padding:.65rem .8rem}.pg-lane.is-act{border-left-color:var(--accent)}.pg-lane.is-confirm{border-left-color:var(--warn)}.pg-lane.is-escalate{border-left-color:var(--m3-error)}.pg-lane .pg-verdict{font-size:1.1rem}.pg-flag{color:var(--warn)}.pg-verdict.is-escalate{color:var(--m3-error)}.pg-verdict.is-confirm{color:var(--warn)}.pg-verdict.is-act{color:var(--accent)}@media (prefers-reduced-motion:reduce){.pg-bar-fill,.pg-marker{transition:none}}[data-level="1"]{--ink:var(--m3-on-background);--border-w:2px;--border:var(--ink);--border-strong:var(--ink);--shadow:4px 4px 0 var(--ink);--shadow-hover:6px 6px 0 var(--ink);--shadow-press:1px 1px 0 var(--ink);--radius:10px;--radius-sm:6px;--heading-weight:800}[data-level="1"] :is(h1,h2){letter-spacing:-.02em}[data-level="1"] .btn{border:2px solid var(--ink);border-radius:var(--radius-sm);box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s,background-color .12s}[data-level="1"] .btn-ghost{background:var(--bg-elev);color:var(--fg)}[data-level="1"] a.card:hover{transform:translate(-2px,-2px)}[data-level="1"] :is(.tag,.kind,.pg-tag,.ex-xp,.xp-chip){border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}[data-level="1"] :is(.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card){border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s}[data-level="1"] :is(.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card):not(:disabled):hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}[data-level="1"] :is(.pg-state,.pg-code,.pg-q input,.pg-q select,.pg-q textarea,.ex-write textarea,.ask-form textarea){border:2px solid var(--ink)}[data-level="1"] .level-dial{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}[data-level="1"] .topbar{border-bottom:2px solid var(--ink)}[data-level="1"] .pg-view,[data-level="1"] .pg-coach,[data-level="1"] .pg-a{border:2px solid var(--ink)}[data-level="1"] .hero-eyebrow{background:var(--warn-soft);color:var(--on-warn-soft);border:2px solid var(--ink);border-radius:var(--radius-sm);box-shadow:2px 2px 0 var(--ink);padding:.3rem .65rem;display:inline-block}[data-level="1"] .box-label{background:var(--accent-soft);color:var(--on-accent-soft);border-bottom:2px solid var(--ink)}[data-level="1"] :is(.levelcheck,.run){border:2px solid var(--ink);box-shadow:var(--shadow)}[data-level="2"]{--ink:var(--m3-on-background);--border-w:1.5px;--border:color-mix(in srgb, var(--ink) 28%, transparent);--border-strong:color-mix(in srgb, var(--ink) 65%, transparent);--shadow:3px 3px 0 color-mix(in srgb, var(--accent) 30%, transparent);--shadow-hover:5px 5px 0 color-mix(in srgb, var(--accent) 45%, transparent);--radius:6px;--radius-sm:4px}@media screen{[data-level="2"] body{background-image:linear-gradient(color-mix(in srgb, var(--ink) 4%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 4%, transparent) 1px, transparent 1px);background-size:40px 40px}}[data-level="2"] .btn{border:1.5px solid var(--ink);border-radius:var(--radius-sm);box-shadow:2px 2px 0 color-mix(in srgb, var(--accent) 45%, transparent);transition:transform .12s,box-shadow .12s}[data-level="2"] .btn:hover{box-shadow:3px 3px 0 color-mix(in srgb, var(--accent) 60%, transparent);transform:translate(-1px,-1px)}[data-level="2"] .btn:active{box-shadow:none;transform:translate(1px,1px)}[data-level="2"] :is(.tag,.kind,.pg-tag,.ex-kind,.pg-kind,.pg-label,.box-label,.eyebrow){font-family:var(--font-mono);letter-spacing:.02em}[data-level="2"] :is(.pg-card,.ex-opt,.ex-card){box-shadow:2px 2px 0 color-mix(in srgb, var(--accent) 25%, transparent)}[data-level="2"] :is(.card,.ex,.pg,.aside-card,.levelcheck,.run){background:linear-gradient(var(--accent), var(--accent)) top left / 10px 1.5px no-repeat, linear-gradient(var(--accent), var(--accent)) top left / 1.5px 10px no-repeat, var(--bg-elev)}[data-level="3"]{--neon:var(--accent);--neon-2:var(--m3-secondary-container);--border-w:1px;--border:color-mix(in srgb, var(--neon) 30%, transparent);--border-strong:color-mix(in srgb, var(--neon) 65%, transparent);--shadow:0 0 0 1px color-mix(in srgb, var(--neon) 12%, transparent), 0 0 22px -8px color-mix(in srgb, var(--neon) 45%, transparent);--shadow-hover:0 0 0 1px color-mix(in srgb, var(--neon) 35%, transparent), 0 0 28px -6px color-mix(in srgb, var(--neon) 65%, transparent)}@media screen{[data-level="3"] body{background-image:radial-gradient(ellipse at 50% -10%, color-mix(in srgb, var(--neon) 9%, transparent), transparent 60%), linear-gradient(color-mix(in srgb, var(--neon) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--neon) 5%, transparent) 1px, transparent 1px);background-size:100% 100%,32px 32px,32px 32px;background-attachment:fixed}[data-level="3"] body:before{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 3px);position:fixed;inset:0}}[data-level="3"] :is(h1,h2){text-shadow:0 0 18px color-mix(in srgb, var(--neon) 45%, transparent)}[data-level="3"] h1{letter-spacing:-.01em}[data-level="3"] :is(.card,.ex,.pg,.aside-card,.diagram,.box,.levelcheck,.run){background:linear-gradient(var(--neon), var(--neon)) top left / 14px 2px no-repeat, linear-gradient(var(--neon), var(--neon)) top left / 2px 14px no-repeat, linear-gradient(var(--neon), var(--neon)) bottom right / 14px 2px no-repeat, linear-gradient(var(--neon), var(--neon)) bottom right / 2px 14px no-repeat, color-mix(in srgb, var(--bg-elev) 88%, transparent)}[data-level="3"] .btn{border:1px solid var(--neon);box-shadow:0 0 14px -4px var(--neon);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;transition:box-shadow .16s,background-color .16s,color .16s}[data-level="3"] .btn-primary{background:var(--neon);color:var(--m3-on-primary)}[data-level="3"] .btn-primary:hover{background:var(--neon);box-shadow:0 0 24px -2px var(--neon);color:var(--m3-on-primary)}[data-level="3"] .btn-ghost{color:var(--neon);background:0 0}[data-level="3"] .btn-ghost:hover{background:color-mix(in srgb, var(--neon) 12%, transparent);color:var(--neon);box-shadow:0 0 22px -4px var(--neon)}[data-level="3"] :is(.tag,.kind,.pg-tag,.ex-xp,.xp-chip){border:1px solid var(--border-strong);text-transform:uppercase;letter-spacing:.08em}[data-level="3"] .pg-tag{color:var(--neon);background:0 0}[data-level="3"] :is(.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card):not(:disabled):hover{border-color:var(--neon);box-shadow:0 0 16px -6px var(--neon)}[data-level="3"] :is(.pg-state,.pg-code,.pg-q input,.pg-q select,.pg-q textarea,.ex-write textarea,.ask-form textarea):focus{outline:1px solid var(--neon);box-shadow:0 0 16px -6px var(--neon)}[data-level="3"] a:hover{text-shadow:0 0 10px color-mix(in srgb, var(--neon) 60%, transparent)}[data-level="3"] .topbar{border-bottom-color:var(--border-strong);box-shadow:0 1px 18px -8px var(--neon)}[data-level="3"] .level-dial{box-shadow:0 0 16px -6px var(--neon)}[data-level="3"] .pg-bar-fill,[data-level="3"] .ex-progress-fill{box-shadow:0 0 8px var(--neon)}@media (prefers-reduced-motion:reduce){[data-level="1"] :is(.btn,.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card,a.card):is(:hover,:active),[data-level="2"] .btn:is(:hover,:active){transform:none}}.exam-list{gap:.9rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.exam-card{background:var(--bg-elev);border:var(--border-w) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1.1rem 1.2rem;display:grid}.exam-card h2{margin:0 0 .25rem;font-size:1.2rem}.exam-card p{margin:.25rem 0}.exam-meta{font-size:.85rem}.exam-state{margin-top:.6rem!important}.exam-card .me-bar{margin:.5rem 0}.exam-badge{color:var(--fg-faint);text-align:center;width:2.4rem;font-size:2rem;line-height:1}.exam-card.is-passed{border-color:var(--accent)}.exam-card.is-passed .exam-badge{color:var(--accent)}.exam-card.is-locked{opacity:.75}.exam-cert{margin-top:1.5rem}.me-badges{gap:.4rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.me-badge{border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.6rem;padding:.45rem .6rem;display:grid}.me-badge-star{color:var(--fg-faint);text-align:center;font-size:1.2rem}.me-badge.is-passed{border-color:var(--accent)}.me-badge.is-passed .me-badge-star{color:var(--accent)}.me-badge-state{font-size:.82rem}[data-level="3"] .exam-card.is-passed .exam-badge,[data-level="3"] .me-badge.is-passed .me-badge-star{text-shadow:0 0 10px var(--accent)}.course-section{margin:2.2rem 0 1rem}.course-section-head h2{margin:.1rem 0 .2rem}.course-section-head p{max-width:var(--measure);margin:0 0 .9rem}.course-section-n{font:700 .72rem var(--font-heading);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent)}.course-section-exam{font-family:var(--font-heading);margin:.7rem 0 0;font-size:.92rem;font-weight:600}[data-level] .ex-card.is-picked{border-color:var(--accent-2);background:var(--accent-2-soft);color:var(--on-accent-2-soft);box-shadow:0 0 0 2px var(--accent-2)}[data-level="1"] .ex-card.is-picked{box-shadow:3px 3px 0 var(--ink), 0 0 0 2px var(--accent-2)}[data-level] .pg-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}[data-level] .pg-card[aria-pressed=true] .pg-card-blurb{color:var(--on-accent-soft)}[data-level] .ex-spot[aria-expanded=true]{border-color:var(--accent)}[data-level] .pg-card[aria-pressed=true] .pg-tag{background:var(--on-accent-soft);color:var(--accent-soft);border-color:var(--on-accent-soft)}.box-nobs .box-body p>strong:not(:first-child):before{content:"";margin-top:.5rem;display:block}[data-level="3"] .d-box-accent{fill:color-mix(in srgb, var(--accent) 14%, var(--bg-elev));stroke:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 45%, transparent))}[data-level="3"] .d-label-accent{fill:var(--accent)}[data-level="3"] .pg-coach{background:color-mix(in srgb, var(--neon-2) 10%, var(--bg-elev));color:var(--fg);border:1px solid var(--neon-2);box-shadow:0 0 16px -8px var(--neon-2)}.level-dial.is-locked{opacity:.6;cursor:not-allowed}.level-dial.is-locked .dial-stop{cursor:not-allowed}.level-dial.is-locked .dial-stop:hover .dial-dot{background:var(--fg-faint);transform:none}.level-dial.is-locked .dial-stop[aria-pressed=true]:hover .dial-dot{background:var(--accent);transform:scale(1.7)}.exam-start{margin-top:1.2rem}.exam-levels{gap:.5rem;margin:.9rem 0 1.1rem;display:grid}.exam-level{border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.6rem;padding:.6rem .8rem;display:grid}.exam-level input{grid-row:span 2}.exam-level-name{font-weight:700;font-family:var(--font-heading)}.exam-level-hint{grid-column:2;font-size:.85rem}.exam-level:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.exam-level:has(input:checked) .exam-level-hint{color:var(--on-accent-soft)}.exam-locked-note{border-left:3px solid var(--accent);background:var(--bg-sunk);margin:1rem 0;padding:.6rem .8rem}[data-level="1"] .lesson-body h2:not(.h3){text-decoration:underline;text-decoration-color:var(--warn-soft);text-underline-offset:-.18em;text-decoration-skip-ink:none;text-decoration-thickness:.38em}[data-level="1"] .hero-eyebrow{transform:rotate(-1.5deg)}[data-level="1"] .ex-xp{outline:2px solid var(--ink);outline-offset:2px;transform:rotate(2deg)}[data-level="1"] :is(.ex-kind,.pg-kind){background:var(--ink);color:var(--bg-elev);border-radius:3px;padding:.2rem .5rem}[data-level="1"] .lesson-head{isolation:isolate;position:relative}[data-level="1"] .lesson-head:before{content:"";z-index:-1;background-image:radial-gradient(color-mix(in srgb, var(--ink) 55%, transparent) 1.3px, transparent 1.7px);opacity:.35;pointer-events:none;background-size:9px 9px;width:min(42%,320px);height:9rem;position:absolute;top:-.5rem;right:0;transform:rotate(-3deg)}[data-level="1"] :is(.module-card,.exam-card,.ex,.pg){box-shadow:7px 7px 0 var(--ink)}[data-level="2"] .lesson-body h2:not(.h3){text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:.12em;text-decoration-skip-ink:none;text-decoration-thickness:.16em}[data-level="2"] .lesson-body{counter-reset:nb-sec}[data-level="2"] .lesson-body h2:not(.h3):before{counter-increment:nb-sec;content:counter(nb-sec, decimal-leading-zero) "  ";font-family:var(--font-mono);color:var(--fg-muted);vertical-align:.15em;font-size:.7em}[data-level="3"] .lesson-body{counter-reset:nb-sec}[data-level="3"] .lesson-body h2:not(.h3):before{counter-increment:nb-sec;content:counter(nb-sec, decimal-leading-zero) " // ";color:var(--neon-2);text-shadow:0 0 10px color-mix(in srgb, var(--neon-2) 60%, transparent)}[data-level="3"] :is(.lesson-head,.page-head,.hero) h1:after{content:"▌";color:var(--neon);margin-left:.15em;animation:1.06s step-end infinite nb-caret}@keyframes nb-caret{50%{opacity:0}}[data-level="3"] :is(.ex-kind,.pg-kind,.box-label,.exam-locked-note):before{content:"";vertical-align:.1em;background:var(--neon);width:7px;height:7px;box-shadow:0 0 8px var(--neon);border-radius:50%;margin-right:.5em;display:inline-block}[data-level="3"] .box-label:before{order:-1;margin-right:.1em}@media screen{[data-level="3"] body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(80% 75% at 50% 45%,#0000 55%,#00000073 100%);position:fixed;inset:0}}[data-level="3"] ::selection{background:var(--neon);color:var(--m3-on-primary);text-shadow:none}[data-level="3"] .pg-view-btn[aria-pressed=true]{background:var(--neon);color:var(--m3-on-primary)}[data-level="3"] :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:1px solid var(--neon);outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb, var(--neon) 25%, transparent), 0 0 14px color-mix(in srgb, var(--neon) 45%, transparent)}@media (prefers-reduced-motion:reduce){[data-level="3"] :is(.lesson-head,.page-head,.hero) h1:after{animation:none}[data-level="1"] :is(.hero-eyebrow,.ex-xp){transform:none}}.adapted-from{border-top:1px solid var(--border);color:var(--fg-muted);margin:2rem 0 0;padding-top:.8rem;font-size:.82rem}.adapted-from a{color:inherit}.toy{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:2rem 0;padding:1.1rem 1.2rem 1.2rem}.lesson-body .toy{width:100cqw}@media (width>=901px){.lesson-body .toy{width:calc(100cqw - 280px - 3rem)}}.toy-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1rem;margin-bottom:.9rem;display:flex}.toy-kind{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.toy-honest{color:var(--fg-muted);font-size:.8rem}.toy-neuron{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.1rem;display:grid}@media (width<=700px){.toy-neuron{grid-template-columns:minmax(0,1fr)}}.toy-plot{cursor:crosshair;touch-action:manipulation;width:100%;height:auto;display:block}.toy-area{fill:var(--bg-sunk);stroke:var(--border)}.toy-region{fill:var(--accent);fill-opacity:.12}.toy-tick{font:11px var(--font-mono);fill:var(--fg-muted)}.toy-axis{font:600 12px var(--font-body);fill:var(--fg-muted)}.toy-line{stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.toy-line-was{stroke:var(--fg-muted);stroke-width:1.5px;stroke-dasharray:5 4}.toy-sold{fill:var(--accent);stroke:var(--bg);stroke-width:1.5px}.toy-slow{fill:var(--bg);stroke:var(--fg);stroke-width:2px}.toy-ring{fill:none;stroke:var(--m3-error);stroke-width:2px}.toy-focus{fill:none;stroke:var(--fg);stroke-width:1.5px;stroke-dasharray:3 3}.toy-legend{color:var(--fg-muted);flex-wrap:wrap;gap:.3rem 1rem;margin-top:.4rem;font-size:.8rem;display:flex}.toy-legend>span{align-items:center;gap:.35rem;display:inline-flex}.toy-dot{width:11px;height:11px;display:inline-block}.toy-dot.is-sold{background:var(--accent);border-radius:50%}.toy-dot.is-slow{border:2px solid var(--fg);background:var(--bg)}.toy-dot.is-wrong{border:2px solid var(--m3-error);border-radius:50%}.toy-panel{gap:.85rem;min-width:0;display:grid}.toy-buttons{flex-wrap:wrap;gap:.45rem;display:flex}.toy-field{gap:.3rem;display:grid}.toy-field output{font-family:var(--font-mono);color:var(--fg);margin-left:.3rem}.toy-field input[type=range]{width:100%;accent-color:var(--accent)}.toy-seg{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);justify-self:start;display:inline-flex;overflow:hidden}.toy-seg button{color:var(--fg-muted);font:600 .8rem var(--font-heading);cursor:pointer;background:0 0;border:0;padding:.35rem .85rem}.toy-seg button+button{border-left:var(--border-w) solid var(--border-strong)}.toy-seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft)}.toy-learned p{margin:0;font-size:.9rem}[data-level="3"] .toy-learned p{font-family:var(--font-mono);font-size:.8rem}.toy-status{border-left:3px solid var(--accent);background:var(--bg-sunk);border-radius:var(--radius-sm);margin:0;padding:.6rem .7rem;font-size:.9rem}.toy-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.1rem;display:grid}.toy-split.is-stacked{grid-template-columns:minmax(0,1fr)}.toy-split.is-stacked .toy-panel{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}@media (width<=700px){.toy-split{grid-template-columns:minmax(0,1fr)}}.toy-plot.is-static{cursor:default}.toy-future{fill:var(--accent);fill-opacity:.06}.toy-curve{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}.toy-futurept{fill:var(--bg);stroke:var(--accent);stroke-width:2px}.toy-dot.is-future{border:2px solid var(--accent);background:var(--bg);border-radius:50%}.toy-errs{gap:.35rem;display:grid}.toy-err{grid-template-columns:minmax(0,9rem) minmax(0,1fr) 3rem;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.toy-err-track,.toy-bar-track{background:var(--bg-sunk);border:1px solid var(--border);border-radius:99px;height:10px;overflow:hidden}.toy-err-fill,.toy-bar-fill{background:var(--accent);height:100%;display:block}.toy-err-fill.is-test{background:var(--m3-error)}.toy-err-num,.toy-bar-num{font-family:var(--font-mono);text-align:right;font-size:.8rem}[data-level="3"] .toy-err-track,[data-level="3"] .toy-bar-track{border-radius:2px}.toy-embed text{font:12px var(--font-body);fill:var(--fg);pointer-events:none}.toy-term{cursor:pointer}.toy-term:focus{outline:none}.toy-term:focus-visible circle{stroke:var(--fg);stroke-width:2px}.toy-term.is-dim{opacity:.4}.toy-term.is-on circle{stroke:var(--fg);stroke-width:2.5px}.toy-term.is-on text,.toy-term.is-near text{font-weight:700}.toy-link{stroke:var(--fg-muted);stroke-width:1.5px;stroke-dasharray:4 3}.toy-g-0 circle,.toy-dot.toy-g-0{fill:var(--accent);background:var(--accent)}.toy-g-1 circle,.toy-dot.toy-g-1{fill:#c0392b;background:#c0392b}.toy-g-2 circle,.toy-dot.toy-g-2{fill:#7d3cbd;background:#7d3cbd}.toy-g-3 circle,.toy-dot.toy-g-3{fill:#b8860b;background:#b8860b}.toy-g-4 circle,.toy-dot.toy-g-4{fill:#2471a3;background:#2471a3}.toy-legend .toy-dot[class*=toy-g-]{border-radius:50%}.toy-hint{margin:0;font-size:.9rem}.toy-near{gap:.25rem;margin:.2rem 0 0;padding-left:1.3rem;display:grid}.toy-near li{justify-content:space-between;gap:1rem;display:flex}.toy-sim{font-family:var(--font-mono)}.toy-pair{justify-content:space-between;align-items:baseline;gap:1rem;margin:.2rem 0 0;display:flex}.toy-pair strong{font:700 1.4rem var(--font-mono);color:var(--accent)}.toy-footnote{margin:0;font-size:.8rem}.toy-prompt{margin:0 0 .7rem;font-size:.95rem}.toy-prompt q{font-weight:700}.toy-bars{gap:.3rem;display:grid}.toy-bar{grid-template-columns:5.5rem minmax(0,1fr) 3.4rem;align-items:center;gap:.5rem;font-size:.88rem;display:grid}.toy-bar-fill{transition:width .2s}.toy-samples{flex-wrap:wrap;gap:.35rem;min-height:1.8rem;display:flex}.toy-chip{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg);padding:.15rem .55rem;font-size:.85rem}.toy-chip.is-odd{border-color:var(--m3-error);color:var(--m3-error)}.sd{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:2rem 0;padding:1.1rem 1.2rem 1.2rem}.lesson-body .sd{width:100cqw}@media (width>=901px){.lesson-body .sd{width:calc(100cqw - 280px - 3rem)}}.sd-form{gap:.5rem;display:flex}.sd-input{min-width:0;font:1rem var(--font-body);color:var(--fg);background:var(--bg-sunk);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);flex:auto;padding:.55rem .7rem}.sd-input:focus{outline:2px solid var(--accent);outline-offset:1px}.sd-examples{flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0;display:flex}.sd-chip{border:var(--border-w) solid var(--border);background:var(--bg);color:var(--fg);border-radius:var(--radius-pill);font:.82rem var(--font-body);cursor:pointer;padding:.25rem .7rem}.sd-chip:hover{border-color:var(--accent)}.sd-note{margin-top:.8rem}.sd-results{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}@media (width<=700px){.sd-results{grid-template-columns:minmax(0,1fr)}}.sd-col{border:var(--border-w) dashed var(--border);border-radius:var(--radius-sm);min-width:0;padding:.75rem}.sd-col.is-meaning{border-style:solid;border-color:var(--accent)}.sd-terms{margin:.2rem 0 .5rem;font-size:.82rem}.sd-hits{gap:.6rem;margin:0;padding-left:1.2rem;font-size:.88rem;display:grid}.sd-hits mark,.sd-terms mark{background:var(--accent-soft);color:var(--on-accent-soft);border-radius:2px;padding:0 .15em}.sd-score{font-family:var(--font-mono);color:var(--fg-muted);font-size:.78rem}.sd-none{color:var(--fg-muted);margin-left:-1.2rem;list-style:none}.sd-binder{margin-top:1rem}.sd-binder summary{cursor:pointer;font-size:.9rem;font-weight:600}.sd-disclaimer{font-size:.82rem}.sd-sop h4{margin:.9rem 0 .2rem;font-size:.92rem}.sd-sop p{margin:0 0 .35rem;font-size:.88rem}[data-level="1"]{--border-w:3px;--shadow:6px 6px 0 var(--ink);--shadow-hover:9px 9px 0 var(--ink);--shadow-press:0 0 0 var(--ink);--radius:4px;--radius-sm:3px;--radius-pill:4px;--heading-weight:900;--selection:var(--m3-warning-container);--on-selection:var(--m3-on-background)}[data-level="1"] body{background-color:var(--bg);background-image:radial-gradient(color-mix(in srgb, var(--ink) 16%, transparent) 1.1px, transparent 1.4px);background-size:22px 22px}[data-level="1"] h1{letter-spacing:-.035em;font-size:clamp(2.3rem,6vw,3.6rem);font-weight:900;line-height:1.02}[data-level="1"] :is(h2,h3){letter-spacing:-.02em;font-weight:900}[data-level="1"] .lesson-body h2:not(.h3){text-underline-offset:-.26em;text-decoration-thickness:.5em}[data-level="1"] .topbar{background:var(--warn-soft);border-bottom:3px solid var(--ink)}[data-level="1"] .nav a{color:var(--fg);border:2px solid #0000;border-radius:3px;padding:.25rem .55rem;font-weight:800}[data-level="1"] .nav a:hover{border-color:var(--ink);background:var(--bg-elev)}[data-level="1"] .nav a[aria-current=page]{background:var(--ink);color:var(--bg-elev);border-color:var(--ink)}[data-level="1"] .footer{background:var(--warn-soft);border-top:3px solid var(--ink)}[data-level="1"] .footer-inner{color:var(--fg-muted)}[data-level="1"] :is(.card,.aside-card,.box,.diagram,.figure,.metaphor,.toy,.sd,.levelcheck,.run){border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow)}[data-level="1"] :is(.module-card,.exam-card,.ex,.pg,.toy,.sd){box-shadow:10px 10px 0 var(--ink)}[data-level="1"] .card-grid>li:nth-child(4n+1)>.card{background-color:var(--accent-soft)}[data-level="1"] .card-grid>li:nth-child(4n+2)>.card{background-color:var(--accent-2-soft)}[data-level="1"] .card-grid>li:nth-child(4n+3)>.card{background-color:var(--warn-soft)}[data-level="1"] .card-grid>li:nth-child(4n+4)>.card{background-color:var(--danger-soft)}[data-level="1"] .lesson-aside>:nth-child(3n+1){background:var(--warn-soft)}[data-level="1"] .lesson-aside>:nth-child(3n+2){background:var(--accent-2-soft)}[data-level="1"] .lesson-aside>:nth-child(3n+3){background:var(--danger-soft)}[data-level="1"] .prevnext .prev{background:var(--accent-2-soft)}[data-level="1"] .prevnext .next{background:var(--accent-soft)}[data-level="1"] .module-num{background:var(--ink);color:var(--bg-elev);border-radius:3px;padding:.15rem .45rem}[data-level="1"] a.card{transition:transform .12s,box-shadow .12s}[data-level="1"] a.card:hover{box-shadow:13px 13px 0 var(--ink);transform:translate(-3px,-3px)}[data-level="1"] a.card:active{box-shadow:var(--shadow-press);transform:translate(6px,6px)}[data-level="1"] .box-label{border-bottom:3px solid var(--ink);text-transform:uppercase;letter-spacing:.08em;font-weight:900}[data-level="1"] .box-giveaway{background:var(--bg-elev);border-style:dashed}[data-level="1"] .metaphor-icon{background:var(--bg-elev);border:3px solid var(--ink);width:2.6rem;height:2.6rem;box-shadow:3px 3px 0 var(--ink);border-radius:3px;place-items:center;display:inline-grid;transform:rotate(-4deg)}[data-level="1"] .figure table th{background:var(--warn-soft);border-bottom:3px solid var(--ink)}[data-level="1"] .btn{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);text-transform:uppercase;letter-spacing:.03em;border-radius:3px;font-weight:900}[data-level="1"] .btn-primary,[data-level="1"] .btn-primary:hover{background:var(--warn-soft);color:var(--fg)}[data-level="1"] .btn:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}[data-level="1"] .btn:active{box-shadow:var(--shadow-press);transform:translate(5px,5px)}[data-level="1"] :is(.tag,.kind,.pg-tag,.xp-chip){background:var(--accent-2-soft);color:var(--fg);border-width:2px}[data-level="1"] :is(.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card){box-shadow:4px 4px 0 var(--ink);border-width:3px}[data-level="1"] :is(.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card):not(:disabled):active{box-shadow:var(--shadow-press);transform:translate(4px,4px)}[data-level="1"] :is(input[type=text],input[type=email],input[type=password],input:not([type]),textarea,select,.sd-input,.pg-state,.pg-code){border:3px solid var(--ink);border-radius:3px}[data-level="1"] .level-dial{box-shadow:4px 4px 0 var(--ink);background:var(--bg-elev);border-width:3px}[data-level="1"] :is(pre,.astro-code,.copybox){border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:3px}@media (prefers-reduced-motion:reduce){[data-level="1"] :is(.btn,a.card,.ex-opt,.ex-chip,.ex-card,.ex-spot,.pg-card):is(:hover,:active),[data-level="1"] .metaphor-icon{transform:none}}.ticker{display:none}[data-level="1"] .ticker{background:var(--ink);color:var(--warn-soft);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--accent-2-soft);margin:1.5rem 0 2rem;display:block;overflow:hidden;transform:rotate(-.6deg)}[data-level="1"] .ticker-track{width:max-content;animation:48s linear infinite nb-ticker;display:flex}[data-level="1"] .ticker-run{display:flex}[data-level="1"] .ticker-item{font:800 .85rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:.5rem 1.1rem}[data-level="1"] .ticker-item:after{content:"✦";color:var(--accent-soft);margin-left:2.2rem}@keyframes nb-ticker{to{transform:translate(-50%)}}[data-level="1"] .section-head h2{background:var(--ink);color:var(--bg-elev);box-shadow:5px 5px 0 var(--warn-soft);padding:.15rem .7rem .25rem;transform:rotate(-1deg)}[data-level="1"] .meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700}[data-level="1"] .hero h1{text-shadow:3px 3px 0 var(--danger-soft), 6px 6px 0 var(--accent-2-soft)}[data-level="1"] .lesson-head h1{text-shadow:4px 4px 0 var(--warn-soft)}[data-level="1"] .module-card{background-image:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--ink) 38%, transparent) 0 5px, transparent 5px 11px);background-repeat:no-repeat;background-size:100% 14px;padding-top:1.7rem}[data-level="1"] :is(.module-card,[data-lesson-key])[data-done]{position:relative}[data-level="1"] :is(.module-card,[data-lesson-key])[data-done]:after{content:"Done" / "";font:900 .75rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:3px solid var(--accent);background:var(--bg-elev);pointer-events:none;border-radius:3px;padding:.1rem .5rem;position:absolute;bottom:.8rem;right:.8rem;transform:rotate(8deg)}[data-level="1"] .hero{position:relative}@media (width>=900px){[data-level="1"] .hero:after{content:"No jargon. Promise." / "";text-align:center;box-sizing:border-box;width:8.5rem;height:8.5rem;font:900 .95rem/1.15 var(--font-heading);text-transform:uppercase;color:var(--fg);background:var(--danger-soft);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);pointer-events:none;border-radius:50%;place-items:center;padding:1rem;display:grid;position:absolute;top:3rem;right:-6rem;transform:rotate(12deg)}}@media (prefers-reduced-motion:reduce){[data-level="1"] .ticker-track{animation:none}}[data-level="1"] .module-card[data-done] .module-num{background:var(--accent);color:var(--m3-on-primary)}[data-level="2"]{--bp:var(--m3-secondary);--bp-soft:color-mix(in srgb, var(--m3-secondary-container) 16%, transparent);--border:color-mix(in srgb, var(--bp) 40%, transparent);--border-strong:color-mix(in srgb, var(--bp) 75%, transparent);--shadow:3px 3px 0 color-mix(in srgb, var(--bp) 22%, transparent);--shadow-hover:5px 5px 0 color-mix(in srgb, var(--bp) 32%, transparent);--radius:3px;--radius-sm:3px;--selection:var(--m3-secondary-container);--on-selection:var(--m3-on-secondary-container)}@media screen{[data-level="2"] body{background-image:linear-gradient(color-mix(in srgb, var(--m3-secondary-container) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--m3-secondary-container) 16%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--m3-secondary-container) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--m3-secondary-container) 7%, transparent) 1px, transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px}}[data-level="2"] :is(.card,.ex,.pg,.aside-card,.levelcheck,.run,.diagram,.box,.toy,.sd,.figure){border:1.5px solid var(--border-strong);background:linear-gradient(var(--bp), var(--bp)) top left / 12px 2px no-repeat, linear-gradient(var(--bp), var(--bp)) top left / 2px 12px no-repeat, linear-gradient(var(--bp), var(--bp)) top right / 12px 2px no-repeat, linear-gradient(var(--bp), var(--bp)) top right / 2px 12px no-repeat, linear-gradient(var(--bp), var(--bp)) bottom left / 12px 2px no-repeat, linear-gradient(var(--bp), var(--bp)) bottom left / 2px 12px no-repeat, linear-gradient(var(--bp), var(--bp)) bottom right / 12px 2px no-repeat, linear-gradient(var(--bp), var(--bp)) bottom right / 2px 12px no-repeat, var(--bg-elev)}[data-level="2"] .lesson-body h2:not(.h3){background:linear-gradient(90deg, var(--bp) 55%, transparent 0) bottom left / 12px 1.5px repeat-x;padding-bottom:.35em;text-decoration:none}[data-level="2"] .lesson-body h2:not(.h3):before{content:counter(nb-sec);border:1.5px solid var(--bp);width:1.65em;height:1.65em;color:var(--bp);font:700 .55em var(--font-mono);vertical-align:.3em;border-radius:50%;place-items:center;margin-right:.5em;display:inline-grid}[data-level="2"] .section-head h2{background:linear-gradient(90deg, var(--bp) 55%, transparent 0) bottom left / 12px 1.5px repeat-x;padding-bottom:.25em}[data-level="2"] .box-label,[data-level="2"] :is(.box-try,.box-warn,.box-nobs,.box-note,.box-giveaway) .box-label{background:var(--m3-secondary);color:var(--m3-on-secondary);border-bottom:1.5px solid var(--bp);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}[data-level="2"] :is(.ex-kind,.pg-kind){background:var(--m3-secondary);color:var(--m3-on-secondary);font-family:var(--font-mono);border-radius:2px;padding:.18rem .5rem}[data-level="2"] :is(.tag,.kind){border:1.5px dashed var(--border-strong);background:var(--bg-elev);color:var(--bp);font-family:var(--font-mono)}[data-level="2"] .module-num{color:var(--bp);border:1.5px solid var(--bp);min-width:2.2em;height:2.2em;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:.85rem;display:inline-grid}[data-level="2"] .meta{font-family:var(--font-mono);color:var(--bp);font-size:.78rem}[data-level="2"] .topbar{border-bottom:1.5px solid var(--bp)}[data-level="2"] .nav a[aria-current=page]{color:var(--bp);border-bottom:2px solid var(--bp)}[data-level="2"] .hero h1,[data-level="2"] .lesson-head h1{border-bottom:3px double var(--bp);padding-bottom:.25em;display:inline-block}[data-level="2"] .btn{border:1.5px solid var(--bp);box-shadow:3px 3px 0 color-mix(in srgb, var(--bp) 30%, transparent)}[data-level="2"] .btn:hover{box-shadow:4px 4px 0 color-mix(in srgb, var(--bp) 45%, transparent)}[data-level="2"] .term .term-first{text-decoration:underline dotted var(--bp);text-underline-offset:.2em}[data-level="2"] .figure table th{border-bottom:1.5px solid var(--bp);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--bp);font-size:.8rem}[data-level="3"] .topbar:after{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, var(--neon) 30%, var(--neon-2) 70%, transparent);height:1px;box-shadow:0 0 10px color-mix(in srgb, var(--neon) 60%, transparent);position:absolute;bottom:-1px;left:0;right:0}[data-level="3"] .section-head h2:before{content:"$ ls ";color:var(--neon-2)}[data-level="3"] .hero-eyebrow:before{content:"// ";color:var(--neon-2)}[data-level="3"] :is(.tag,.kind):before{content:"[";color:var(--neon-2)}[data-level="3"] :is(.tag,.kind):after{content:"]";color:var(--neon-2)}[data-level="3"] .module-num:before{content:"0x";opacity:.6;color:inherit}[data-level="3"] .module-num:after{content:none}[data-level="3"] .module-num{color:var(--neon);border:1px solid var(--border-strong);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);padding:.1rem .4rem}[data-level="3"] .meta{font-family:var(--font-mono);color:var(--neon-2);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}[data-level="3"] .aside-card h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--neon-2)}[data-level="3"] .aside-card h2:before{content:"▸ ";color:var(--neon)}[data-level="3"] .box-label:after{content:"";background:linear-gradient(90deg, var(--border-strong), transparent);flex:auto;height:1px;margin-left:.4rem}[data-level="3"] .lesson-body :not(pre)>code{border:1px solid color-mix(in srgb, var(--neon-2) 35%, transparent);color:var(--neon-2)}[data-level="3"] :is(.card,.aside-card,.ex,.pg){transition:background-size .18s,box-shadow .18s,border-color .18s}[data-level="3"] a.card:hover{border-color:var(--neon);background-size:26px 2px,2px 26px,26px 2px,2px 26px,auto}[data-level="3"] .lesson-head .meta:before{content:"> ";color:var(--neon)}[data-level="3"] .footer{border-top:1px solid var(--border-strong);box-shadow:0 -1px 18px -10px var(--neon)}@media (prefers-reduced-motion:reduce){[data-level="3"] :is(.card,.aside-card,.ex,.pg){transition:none}}.fb-btn{z-index:69;min-height:40px;font:700 .85rem var(--font-heading);color:var(--fg);background:var(--bg-elev);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .85rem;transition:transform .14s,box-shadow .14s;display:inline-flex;position:fixed;bottom:1rem;left:1rem}.fb-btn:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.fb-btn[aria-expanded=true]{background:var(--accent-soft);color:var(--on-accent-soft)}.fb-panel{z-index:71;background:var(--bg-elev);width:min(380px,100vw - 2rem);max-height:calc(100vh - 6rem);color:var(--fg);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-hover), 0 18px 40px -18px #00000059;padding:1rem 1.1rem 1.1rem;position:fixed;bottom:4.2rem;left:1rem;overflow:auto}.fb-panel[hidden],.fb-pickbar[hidden],.fb-hl[hidden]{display:none}.fb-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.fb-title{margin:0;font-size:1.05rem}.fb-close{color:var(--fg-muted);cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:1.5rem;line-height:1}.fb-form{gap:.8rem;display:grid}.fb-form[hidden]{display:none}.fb-kinds{border:0;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;display:flex}.fb-kinds legend{width:100%;margin-bottom:.35rem}.fb-kinds label{position:relative}.fb-kinds input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.fb-kinds label>span{border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg);color:var(--fg);padding:.35rem .7rem;font-size:.85rem;display:inline-block}.fb-kinds input:checked+span{background:var(--accent-soft);color:var(--on-accent-soft);border-color:var(--accent);font-weight:700}.fb-kinds input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.fb-about{gap:.35rem;display:grid}.fb-target{border:var(--border-w) dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-sunk);color:var(--fg);overflow-wrap:anywhere;padding:.5rem .65rem;font-size:.86rem}.fb-about-actions{flex-wrap:wrap;gap:.4rem;display:flex}.btn.fb-small{min-height:32px;padding:.3rem .65rem;font-size:.78rem}.fb-field{gap:.3rem;display:grid}.fb-field textarea{box-sizing:border-box;width:100%;font:.95rem/1.45 var(--font-body);color:var(--fg);background:var(--bg-sunk);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-sm);resize:vertical;padding:.55rem .65rem}.fb-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.fb-foot{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.fb-note{margin:0;font-size:.78rem}.fb-status{color:var(--danger);margin:0;font-size:.88rem}.fb-status.is-ok{color:var(--fg)}.fb-pickbar{z-index:90;background:var(--fg);color:var(--bg-elev);border-radius:var(--radius-pill);font:700 .88rem var(--font-heading);align-items:center;gap:.8rem;max-width:calc(100vw - 1.5rem);padding:.5rem .6rem .5rem 1rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px -10px #00000080}.fb-pickbar .btn{background:var(--bg-elev);color:var(--fg)}.fb-hl{z-index:89;pointer-events:none;border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:6px;transition:all 70ms linear;position:fixed}html.fb-picking,html.fb-picking *{cursor:crosshair!important}@media (width<=560px){.fb-btn{padding:.4rem .7rem;bottom:.75rem;left:.75rem}.fb-panel{width:auto;bottom:3.9rem;left:.5rem;right:.5rem}}@media (prefers-reduced-motion:reduce){.fb-btn,.fb-hl{transition:none}}@media print{.fb{display:none}}.crumbs a{margin:-.3rem 0;padding:.3rem 0;display:inline-block}.nudge-btn{min-width:24px;margin:-.4rem 0;padding:.4rem 0;display:inline-block}.pg-link{min-height:32px;margin:-.35rem -.2rem;padding:.35rem .4rem}:is(.pg-slider,.toy-field) input[type=range]{min-height:28px}@media (width<=560px){[data-level="1"] .nav,[data-level="1"] .topbar[data-fit] .nav{gap:.15rem}[data-level="1"] .nav a{padding:.3rem .4rem;font-size:.9rem}[data-level="1"] :is(.hero,.lesson-head) h1{text-shadow:none}}@media (width<=380px){.topbar[data-fit=stacked] .nav{scrollbar-width:none;flex-wrap:nowrap;gap:.7rem;overflow-x:auto}.topbar[data-fit=stacked] .nav::-webkit-scrollbar{display:none}.topbar[data-fit=stacked] .nav a{flex:none;font-size:.86rem}[data-level="1"] .topbar[data-fit=stacked] .nav{gap:.1rem}[data-level="1"] .topbar[data-fit=stacked] .nav a{padding:.3rem .35rem;font-size:.84rem}.topbar [data-header-dial] .level-dial{padding:.3rem .5rem .25rem}.topbar [data-header-dial] .dial-track{width:100px}.topbar .wordmark{gap:.4rem}}@media (width<=340px){.topbar .wordmark-text{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=560px){.fb-btn{border-radius:50%;justify-content:center;width:44px;height:44px;min-height:0;padding:0}.fb-btn span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.fb-btn svg{width:18px;height:18px}.fb-panel{bottom:3.6rem}.buddy-btn{width:48px;height:48px}.buddy-btn :is(img,picture,.buddy-art){width:34px;height:auto}[data-level="1"] body{background-image:radial-gradient(color-mix(in srgb, var(--ink) 9%, transparent) 1px, transparent 1.3px)}[data-level="1"] h1{font-size:clamp(2rem,9vw,2.6rem)}[data-level="1"] :is(.hero-eyebrow,.section-head h2,.ticker){transform:none}main.wrap{padding-top:1.25rem}.hero{padding-top:.5rem}}.pg-q-rm{min-width:32px}.hero-eyebrow a{margin:-.35rem 0;padding:.35rem 0;display:inline-block}@media (width<=900px){.lesson-aside{order:1}}@media (width<=560px){.crumbs{white-space:nowrap;flex-wrap:nowrap;min-width:0}.crumbs a{text-overflow:ellipsis;min-width:0;overflow:hidden}.crumbs>:last-child{flex:none}[data-level="1"] .lesson-head:before{display:none}}html,body{overflow-x:clip}@media (width<=560px){.topbar[data-fit=stacked] .nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.topbar[data-fit=stacked] .nav::-webkit-scrollbar{display:none}.topbar[data-fit=stacked] .nav a{flex:none}.topbar[data-fit=stacked] .nav a:last-child{margin-right:20px}body[data-signed-in] .topbar .wordmark-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body[data-signed-in] .topbar[data-fit=stacked] .xp-chip{margin-left:auto}body[data-signed-in] .topbar[data-fit=stacked] [data-header-dial]{margin-left:.5rem}}.hero-eyebrow a{text-align:center;min-width:24px}:is(.lesson-list,.card-grid) :is(h2,h3,.title,a){overflow-wrap:anywhere}[data-level] .hero-eyebrow{width:fit-content;display:block}.sm{margin-top:1.5rem;scroll-margin-top:5rem}.sm-intro{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:2rem;display:grid}.sm-hex-wrap{width:100%;max-width:460px;margin:0 auto}.sm-rules{padding-left:1.1rem}.sm-rules li{margin-bottom:.55rem}.sm-start-row{margin-top:1.25rem}.sm-last{margin-top:0}.hx{width:100%;height:auto;display:block;overflow:visible}.hx-ring{fill:none;stroke:var(--border);stroke-width:1px}.hx-ring-outer{stroke:var(--border-strong);stroke-width:1.5px}.hx-spoke{stroke:var(--border);stroke-width:1px}.hx-label{fill:var(--fg);font-family:var(--font-heading);font-size:13px;font-weight:700}[data-level="3"] .hx-label{font-family:var(--font-mono);font-size:12px;font-weight:500}.hx-score{fill:var(--fg-muted);font-family:var(--font-mono);font-size:12px}.hx-now polygon{fill:color-mix(in srgb, var(--accent) 28%, transparent);stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}.hx-now circle{fill:var(--accent)}.hx-before polygon{fill:none;stroke:var(--fg-muted);stroke-width:1.5px;stroke-dasharray:5 4}[data-level="1"] .hx-now polygon{stroke:var(--fg);stroke-width:3px;fill:color-mix(in srgb, var(--accent) 45%, transparent)}[data-level="1"] .hx-now circle{fill:var(--fg)}[data-level="3"] .hx-now polygon{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--neon,var(--accent)) 70%, transparent))}.sm-hex-grow .hx-series{transform-origin:0 0;transform-box:view-box}@media (prefers-reduced-motion:no-preference){.sm-hex-grow .hx-now{animation:.7s cubic-bezier(.2,.9,.3,1.15) both sm-grow}.sm-hex-grow .hx-before{animation:.4s both sm-fade}.sm-run.sm-in .sm-q{animation:.22s both sm-fade-up}}@keyframes sm-grow{0%{opacity:0;transform:scale(.05)}to{opacity:1;transform:scale(1)}}@keyframes sm-fade{0%{opacity:0}}@keyframes sm-fade-up{0%{opacity:0;transform:translateY(6px)}}.sm-run{max-width:44rem;margin:0 auto;scroll-margin-top:5rem}.sm-progress{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-bottom:1rem;display:grid}.sm-seg{background:var(--border);border-radius:99px;height:6px}.sm-seg.is-done{background:var(--accent)}.sm-seg.is-now{background:var(--accent-2)}[data-level="3"] .sm-seg{border-radius:0}.sm-q-meta{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.sm-axis{background:var(--accent-soft);color:var(--on-accent-soft);border-radius:99px;padding:.15rem .6rem;font-weight:700}[data-level="1"] .sm-axis{border:2px solid var(--fg);border-radius:4px}.sm-tier{color:var(--fg-muted)}.sm-pips{color:var(--accent);letter-spacing:.1em}.sm-count{font-family:var(--font-mono);margin-left:auto}.sm-q{border:0;min-width:0;margin:0;padding:0}.sm-ask{margin-bottom:1rem;padding:0;font-size:1.2rem;font-weight:700;line-height:1.4}.sm-options{gap:.55rem;display:grid}.sm-option,.sm-idk{text-align:left;width:100%;font:inherit;color:var(--fg);background:var(--bg-elev);border:1.5px solid var(--border-strong);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.75rem;min-height:44px;padding:.7rem .9rem;display:flex}.sm-option:hover,.sm-option:focus-visible,.sm-idk:hover,.sm-idk:focus-visible{border-color:var(--accent);background:var(--accent-soft);color:var(--on-accent-soft)}.sm-option.is-picked,.sm-idk.is-picked{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.sm-letter{width:1.6rem;height:1.6rem;font-family:var(--font-mono);background:var(--bg-sunk);color:var(--fg);border:1px solid var(--border);border-radius:6px;flex:none;place-items:center;font-size:.85rem;display:inline-grid}.sm-idk{color:var(--fg-muted);border-style:dashed;justify-content:center;margin-top:.8rem;font-weight:600}[data-level="1"] .sm-option,[data-level="1"] .sm-idk{border-width:2px;border-color:var(--fg);box-shadow:3px 3px 0 var(--fg);border-radius:6px}[data-level="1"] .sm-idk{border-style:dashed}[data-level="1"] .sm-option:active{box-shadow:1px 1px 0 var(--fg);transform:translate(2px,2px)}[data-level="3"] .sm-option,[data-level="3"] .sm-idk,[data-level="3"] .sm-letter{border-radius:2px}.sm-run-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.sm-keys{font-size:.85rem}@media (hover:none){.sm-keys{display:none}}.sm-marking,.sm-error{text-align:center;margin:2rem 0}.sm-result-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:1.5rem;display:grid}.sm-title{margin:.2rem 0 .5rem;font-size:clamp(1.8rem,5vw,2.6rem)}.sm-totals{font-weight:600}.sm-legend{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.9rem;display:flex}.sm-key{border-top:3px solid var(--accent);vertical-align:middle;width:1.4rem;height:0;display:inline-block}.sm-key-before{border-top:2px dashed var(--fg-muted);margin-left:.6rem}.sm-next-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1.5rem 0;display:grid}.sm-where p{margin:.35rem 0 0}.sm-setlevel{margin-left:.4rem;padding-block:.3rem}.sm-h{margin-top:2rem}.sm-axes{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;padding:0;list-style:none;display:grid}.sm-axis-row{margin:0}.sm-axis-head{justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:700;display:flex}.sm-axis-score{font-family:var(--font-mono);font-size:1.25rem}.sm-delta{margin-left:.35rem;font-size:.8rem}.sm-delta.is-up{color:var(--accent)}.sm-delta.is-down{color:var(--warn)}.sm-bar{background:var(--border);border-radius:99px;height:8px;margin:.45rem 0;overflow:hidden}.sm-bar>span{background:var(--accent);height:100%;display:block}[data-level="3"] .sm-bar{border-radius:0}.sm-axis-rank,.sm-axis-blurb,.sm-axis-next{margin:.3rem 0 0;font-size:.95rem}.sm-axis-blurb{font-size:.88rem}.sm-review{margin:1.5rem 0}.sm-review summary{cursor:pointer;min-height:44px;padding:.6rem 0;font-weight:700}.sm-review-list{padding:0;list-style:none}.sm-rev{border-left:3px solid var(--border);margin:0 0 1rem;padding:.2rem 0 .2rem .9rem}.sm-rev.sm-o-wrong{border-color:var(--warn)}.sm-rev.sm-o-unknown{border-color:var(--accent-2)}.sm-rev.sm-o-right{border-color:var(--accent)}.sm-rev p{margin:.2rem 0}.sm-rev-q{font-weight:600}.sm-rev-mark{width:1.3rem;font-family:var(--font-mono);display:inline-block}.sm-again{margin-top:1.5rem}.sm-caveat{font-size:.88rem}@media (width<=760px){.sm-intro,.sm-result-top{grid-template-columns:1fr;gap:1rem}.sm-ask{font-size:1.08rem}.sm-count{margin-left:0}}.me-skillmap .sm-hex-wrap{max-width:360px}.me-skillmap-legend{font-size:.88rem}.sm-plan{margin:1.5rem 0}.sm-plan-lede{margin-top:.25rem}.sm-plan-list{gap:.7rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.sm-plan-item{grid-template-columns:1.8rem minmax(0,1fr);align-items:start;gap:.6rem;display:grid}.sm-plan-item a{font-weight:700}.sm-plan-mark{width:1.6rem;height:1.6rem;font-family:var(--font-mono);background:var(--accent-2-soft);color:var(--on-accent-2-soft);border-radius:99px;place-items:center;font-size:.85rem;font-weight:700;display:inline-grid}.sm-plan-item.is-miss .sm-plan-mark{background:var(--warn-soft);color:var(--on-warn-soft)}.sm-plan-item.is-done .sm-plan-mark{background:var(--accent-soft);color:var(--on-accent-soft)}.sm-plan-item.is-done a{text-decoration:line-through 1px}.sm-plan-why{margin:.15rem 0 0;font-size:.88rem}.sm-plan-axis{font-weight:600}.sm-plan-more{margin-top:.75rem}.sm-plan-more summary{cursor:pointer;padding:.6rem 0;font-weight:600}[data-level="1"] .sm-plan-mark{border:2px solid var(--fg);border-radius:4px}[data-level="3"] .sm-plan-mark{border-radius:2px}.sm-since{font-weight:600}.sm-history{margin-top:2rem}.sm-history-head{font-weight:600}.sm-trend-wrap{overflow-x:auto}.sm-trend{border-collapse:collapse;width:100%;font-size:.92rem}.sm-trend th,.sm-trend td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.35rem .5rem}.sm-trend thead th{color:var(--fg-muted);font-size:.8rem;font-weight:600}.sm-trend td:nth-child(n+3){font-family:var(--font-mono);white-space:nowrap}.sm-trend-total th,.sm-trend-total td{font-weight:700}.sm-history-plan-h{margin-top:1.5rem}.hx-trend{width:110px;height:30px;display:block}.hx-trend-base{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.hx-trend-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.hx-trend-dot{fill:var(--accent)}[data-level="1"] .hx-trend-line{stroke:var(--fg)}[data-level="1"] .hx-trend-dot{fill:var(--fg)}.sm-delta:not(.is-up):not(.is-down){color:var(--fg-muted)}@media (width<=560px){.hx-trend{width:72px}.sm-trend th,.sm-trend td{padding:.3rem}.sm-trend td:nth-child(3),.sm-trend th:nth-child(3){display:none}}.me-skillmap-trend{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.me-skillmap-trend p{margin:0;font-weight:600}.me-skillmap-trend .hx-trend{width:160px;height:36px}.me-skillmap-plan{margin-top:1rem}.test-yourself{border:1.5px solid var(--border-strong);background:var(--bg-elev);color:var(--fg);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;margin:2rem 0;padding:1.5rem;display:grid}.test-yourself h2{margin:.2rem 0 .4rem}.test-yourself p{margin:0}.test-yourself-btn{white-space:nowrap}[data-level="1"] .test-yourself{border:3px solid var(--fg);box-shadow:6px 6px 0 var(--fg);background:var(--warn-soft);color:var(--on-warn-soft);border-radius:6px}[data-level="3"] .test-yourself{box-shadow:var(--shadow);border-radius:2px}@media (width<=760px){.test-yourself{grid-template-columns:auto minmax(0,1fr)}.test-yourself-btn{grid-column:1/-1;justify-self:start}}@media (width<=420px){.test-yourself{grid-template-columns:1fr;padding:1.1rem}.test-yourself>:first-child{display:none}.test-yourself-btn{text-align:center;justify-self:stretch}}.br{width:100%;height:auto;display:block;overflow:visible}.br-outline{fill:none;stroke:#111;stroke-width:5px;stroke-linejoin:round}.br-crease{fill:none;stroke:#111;stroke-width:3.2px;stroke-linecap:round}.br-dots{fill:none;stroke:#111;stroke-width:3px;stroke-linecap:round;stroke-dasharray:0 9}.br-ink>*{fill:#111;stroke:#111;stroke-width:6px;stroke-linejoin:round}.br-ink-heavy>*{stroke-width:6.5px}.br-shade{fill:#d6dbe2}.br-dot{fill:#111;stroke:none}.br-paper>*{fill:#fff;stroke:none}.br-detail>*{fill:none;stroke:#111;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.br-detail>.br-dot{fill:#111;stroke:none}.br-eye{fill:#fff;stroke:none}.br-eye-line{fill:none;stroke:#111;stroke-width:4.2px}.br-pupil{fill:#111}.br-glint{fill:#fff}.br-lid{fill:#8fd8b3}.br-lid-line{fill:none;stroke:#111;stroke-width:3.6px;stroke-linecap:round}.br-brow{fill:none;stroke:#111;stroke-width:6.5px;stroke-linecap:round}.br-mouth{fill:#141414}.br-mouth-line{fill:none;stroke:#111;stroke-width:4.5px;stroke-linejoin:round}.br-tongue{fill:#2e6b4d}.br-dimple{fill:none;stroke:#111;stroke-width:3px;stroke-linecap:round}.br-limb{fill:none;stroke:#111;stroke-width:10.5px;stroke-linecap:round;stroke-linejoin:round}.br-book-cover{fill:#a8764f;stroke:#111;stroke-width:3.5px}.br-book-spine{fill:#8a5b39;stroke:#111;stroke-width:3px}.br-book-pages{fill:#fff;stroke:#111;stroke-width:2.5px}.br-book-line{fill:none;stroke:#6f4a2e;stroke-width:2.5px;stroke-linecap:round}.br-band{fill:none;stroke:#111;stroke-width:5px;stroke-linecap:round}.br-cup{fill:#cfc6b4;stroke:#111;stroke-width:3.5px}.br-boom{fill:none;stroke:#cfc6b4;stroke-width:5px;stroke-linecap:round}.br-mic{fill:#7fe0b3;stroke:#111;stroke-width:3px}.br-shadow{fill:#000;opacity:.12}[data-level="3"] .br{filter:drop-shadow(0 0 1.5px #ffffff8c)}.bl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2rem;margin-top:1rem;display:grid}.bl-stage{position:sticky;top:5rem}.bl-rig{max-width:420px;margin:0 auto}.bl-now{text-align:center;margin:.5rem 0 0}.bl-field{gap:.4rem;display:grid}.bl-field textarea{font:inherit;border:1.5px solid var(--border-strong);background:var(--bg-elev);width:100%;color:var(--fg);resize:vertical;border-radius:10px;padding:.75rem}.bl-row{flex-wrap:wrap;align-items:center;gap:1rem;margin:.75rem 0 0;display:flex}.bl-toggle{align-items:center;gap:.4rem;min-height:44px;display:inline-flex}.bl-note{font-size:.85rem}.bl-readout{margin:1rem 0}.bl-source{margin:.3rem 0 .6rem;font-weight:600}.bl-stats{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.5rem;margin:0;display:grid}.bl-stats dt{color:var(--fg-muted);font-size:.8rem}.bl-stats dd{font-family:var(--font-mono);margin:0}.bl-probs{gap:.3rem;margin:.8rem 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.bl-probs li{grid-template-columns:6rem minmax(0,1fr) 3rem;align-items:center;gap:.5rem;display:grid}.bl-bar{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.bl-bar>span{background:var(--accent);height:100%;display:block}.bl-buttons{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.bl-buttons .btn{padding:.35rem .7rem}@media (width<=800px){.bl{grid-template-columns:1fr}.bl-stage{position:static}.bl-rig{max-width:300px}}.br-sole>*{fill:#ecebe6;stroke:none}
