@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-italic.O9KpBTMP.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-italic.BC1D_hcE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-italic.BOZ1G-_q.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-italic.CKSJVnJa.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-italic.QwKXLQRc.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:italic;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-italic.DKUSOBgV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-italic.BqAiT5Ww.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-italic.66oory27.woff)format("woff")}@font-face{font-family:Charter;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/charter_regular.Bg9AUai9.woff2)format("woff2")}@font-face{font-family:Charter;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/charter_italic.DbLksRKf.woff2)format("woff2")}@font-face{font-family:Charter;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/charter_bold.DWf1YoLo.woff2)format("woff2")}@font-face{font-family:Charter;font-style:italic;font-weight:700;font-display:swap;src:url(/_astro/charter_bold_italic.ClSdSXq_.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans fallback;src:local(Arial);size-adjust:101.17%;ascent-override:101.32%;descent-override:27.18%;line-gap-override:0%}@font-face{font-family:Charter fallback;src:local(Georgia);size-adjust:99.37%;ascent-override:98.62%;descent-override:23.75%;line-gap-override:0%}.video{aspect-ratio:16/9;border-radius:var(--radius);box-shadow:var(--shadow);background:#000;position:relative;overflow:hidden}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.badge{letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:.35rem;padding:.12rem .5rem;font-size:.68rem;font-weight:700;display:inline-block}.badge-draft{background:color-mix(in srgb, #f59e0b 18%, var(--bg-elev));color:color-mix(in srgb, #b45309 85%, var(--fg))}.badge-hidden{background:color-mix(in srgb, var(--fg-muted) 16%, var(--bg-elev));color:var(--fg-muted)}.lede{color:var(--fg-muted);font-size:1.1rem}.video-figure{margin:1.5rem 0}.video-figure figcaption,.pdf figcaption,.embed figcaption,.figure figcaption{color:var(--fg-muted);margin-top:.5rem;font-size:.9rem}.yt{cursor:pointer}.yt-play{cursor:pointer;background:#000;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.yt-play img{object-fit:cover;opacity:.92;width:100%;height:100%;box-shadow:none;border-radius:0;margin:0;transition:opacity .15s;display:block}.yt-play:hover img,.yt-play:focus-visible img{opacity:1}.yt:has(.yt-play:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.yt-badge{filter:drop-shadow(0 2px 6px #0006);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.yt-title{color:var(--fg);font-size:.95rem;font-weight:600;display:block}.yt-caption{margin-top:.15rem;display:block}.yt-cc{border:1px solid var(--border);border-radius:var(--radius);color:#fff;text-align:center;background:#111;min-height:calc(2.9em + 1rem);margin-top:.5rem;padding:.5rem .9rem;font-size:1rem;line-height:1.45}.yt-cc[hidden]{display:none}.yt-cc-toggle{border:1px solid var(--fg-muted);background:var(--bg-elev);color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;margin-left:.25rem;padding:.1rem .6rem}.yt-transcript{margin-top:.75rem;font-size:.95rem}.yt-transcript summary{cursor:pointer;font-weight:600}.yt-transcript-time,.yt-transcript-note{color:var(--fg-muted)}.yt-transcript-time{font-variant-numeric:tabular-nums;margin-right:.25rem}.pdf,.embed,.figure{margin:1.5rem 0}.pdf iframe{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);width:100%}.pdf figcaption{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.embed-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);width:100%;position:relative;overflow:hidden}.embed-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.figure img{border-radius:var(--radius);width:100%;box-shadow:var(--shadow);margin:0;display:block}.gallery{grid-template-columns:repeat(auto-fit, minmax(var(--gallery-min,14rem), 1fr));gap:1rem;margin:1.5rem 0;display:grid}.gallery .figure{margin:0}.callout{border-radius:0 var(--radius) var(--radius) 0;border:1px solid var(--border);border-left:4px solid var(--callout,var(--accent));background:color-mix(in srgb, var(--callout,var(--accent)) 7%, var(--bg-elev));margin:1.5rem 0;padding:.9rem 1.1rem}.callout-title{letter-spacing:.06em;text-transform:uppercase;color:var(--callout,var(--accent));margin:0 0 .35rem;font-size:.8rem;font-weight:700}.callout-body>:first-child{margin-top:0}.callout-body>:last-child{margin-bottom:0}.callout-tip{--callout:var(--callout-tip)}.callout-warning{--callout:var(--callout-warning)}.callout-example{--callout:var(--callout-example)}.callout-question{--callout:var(--callout-question)}.reading-cue a{text-underline-offset:.18em;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);font-weight:600}.reading-cue a:hover{text-decoration-color:var(--accent)}.quiz{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);margin:1.75rem 0;padding:1.1rem 1.25rem}.quiz-title{margin:0 0 .35rem;font-size:1.15rem}.quiz-intro{color:var(--fg-muted);margin:0 0 1rem}.quiz-questions{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.quiz-question{border-top:1px solid var(--border);margin:0;padding-top:1rem}.quiz-question:first-child{border-top:0;padding-top:0}.quiz-prompt{margin:0 0 .6rem;font-weight:600}.quiz-options{grid-template-columns:minmax(0,1fr);gap:.45rem;display:grid}.quiz-option{text-align:left;width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:.7rem;padding:.55rem .75rem;transition:border-color .15s,background .15s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--accent)}.quiz-option:disabled{cursor:default;opacity:.85}.quiz-option.is-answer{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, var(--bg));opacity:1}.quiz-option.is-wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--bg));opacity:1}.quiz-letter{background:var(--accent-soft);height:1.5rem;color:var(--accent);border-radius:50%;flex:0 0 1.5rem;place-items:center;font-size:.78rem;font-weight:700;display:inline-grid}.quiz-option.is-answer .quiz-letter{background:var(--ok);color:var(--surface)}.quiz-option.is-wrong .quiz-letter{background:var(--danger);color:var(--surface)}.quiz-text{flex:auto;min-width:0}.quiz-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--fg);flex:none;align-self:center;margin-left:auto;font-size:.7rem;font-weight:700}.quiz-feedback{margin:.6rem 0 0;font-size:.95rem}.quiz-feedback:empty{margin:0}.quiz-feedback.is-correct strong{color:var(--ok)}.quiz-feedback.is-wrong strong{color:var(--danger)}.quiz-footer{border-top:1px solid var(--border);color:var(--fg-muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.1rem;padding-top:.8rem;font-size:.9rem;display:flex}.quiz-reset{font:inherit;color:var(--fg);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .7rem;font-size:.85rem}.quiz-reset:disabled{opacity:.5;cursor:default}:root{--font-display:"IBM Plex Sans Variable", "IBM Plex Sans fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body:"IBM Plex Sans Variable", "IBM Plex Sans fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-text:"Charter", "Charter fallback", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--bg:#f6f5f1;--surface:#fff;--surface-2:#eeece6;--ink:#191c20;--ink-2:#3b4148;--muted:#5f6871;--line:#e3e0d8;--line-2:#cfcabf;--accent:#0f6f7c;--accent-ink:#0a4f58;--accent-soft:#e1eff0;--accent-contrast:#fff;--gold:#8a6414;--gold-soft:#f5eedb;--ok:#1d7a46;--danger:#b91c1c;--nav-panel:#0a4f58;--nav-panel-ink:#fff;--nav-panel-muted:#cdeaed;--nav-panel-hover:#0f6f7c;--nav-panel-line:#24646d;--nav-panel-ring:#fff;--nav-panel-edge:#0a4f58;--callout-tip:#15803d;--callout-warning:#b45309;--callout-example:#4f46e5;--callout-question:#be185d;--radius:14px;--radius-sm:8px;--shadow-1:0 1px 2px #14181c0d, 0 1px 3px #14181c14;--shadow-2:0 14px 34px -14px #14181c47;--max:82rem;--measure:44rem;--header-h:4rem;--bg-elev:var(--surface);--fg:var(--ink);--fg-muted:var(--muted);--border:var(--line);--accent-fg:var(--accent-contrast);--link:var(--accent-ink);--shadow:var(--shadow-1);color-scheme:light}:root[data-theme=dark]{--bg:#0e1114;--surface:#151a20;--surface-2:#1b212a;--ink:#e8eaee;--ink-2:#c3c9d1;--muted:#98a2ad;--line:#262d37;--line-2:#364050;--accent:#46c3cd;--accent-ink:#8ae0e7;--accent-soft:#10323a;--accent-contrast:#06262b;--gold:#d8ab4d;--gold-soft:#2b2415;--ok:#4ade80;--danger:#f87171;--nav-panel:#0f3a42;--nav-panel-ink:#e8eaee;--nav-panel-muted:#9fc8cd;--nav-panel-hover:#18525c;--nav-panel-line:#24515a;--nav-panel-ring:#8ae0e7;--nav-panel-edge:#2f6b75;--callout-tip:#4ade80;--callout-warning:#fbbf24;--callout-example:#a5b4fc;--callout-question:#f9a8d4;--shadow-1:none;--shadow-2:0 14px 34px -14px #0009;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1114;--surface:#151a20;--surface-2:#1b212a;--ink:#e8eaee;--ink-2:#c3c9d1;--muted:#98a2ad;--line:#262d37;--line-2:#364050;--accent:#46c3cd;--accent-ink:#8ae0e7;--accent-soft:#10323a;--accent-contrast:#06262b;--gold:#d8ab4d;--gold-soft:#2b2415;--ok:#4ade80;--danger:#f87171;--nav-panel:#0f3a42;--nav-panel-ink:#e8eaee;--nav-panel-muted:#9fc8cd;--nav-panel-hover:#18525c;--nav-panel-line:#24515a;--nav-panel-ring:#8ae0e7;--nav-panel-edge:#2f6b75;--callout-tip:#4ade80;--callout-warning:#fbbf24;--callout-example:#a5b4fc;--callout-question:#f9a8d4;--shadow-1:none;--shadow-2:0 14px 34px -14px #0009;color-scheme:dark}}*{box-sizing:border-box}html{font-family:var(--font-body);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-now,var(--header-h)) + 1.5rem);scroll-behavior:smooth;font-size:106.25%}body{overflow-wrap:break-word;background:var(--bg);color:var(--ink);flex-direction:column;min-height:100vh;margin:0;line-height:1.55;display:flex}a{color:var(--accent-ink)}img{max-width:100%;height:auto}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:where(:focus-visible){border-radius:4px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.012em;color:var(--ink);text-wrap:balance;font-weight:600;line-height:1.15}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 1.25rem}.v2-main{flex:1;padding-bottom:5rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);z-index:100;padding:.5rem .9rem;transition:top .15s;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.75rem}.muted{color:var(--muted)}.kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:.4rem;font-size:.74rem;font-weight:700;display:inline-flex}.pill{letter-spacing:.05em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.pill-gold{background:var(--gold-soft);color:var(--gold)}.pill-muted{background:var(--surface-2);color:var(--muted)}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.15rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-ink)}.btn-ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink)}.not-found-search{margin:1.5rem 0 0}.progress{background:var(--accent);transform-origin:0;z-index:60;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.v2-header{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.v2-header .wrap{min-height:var(--header-h);flex-wrap:wrap;align-items:center;gap:0 1rem;display:flex}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.55rem;margin-right:.5rem;font-size:1.45rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);width:1.7rem;height:1.7rem;color:var(--accent-contrast);font-family:var(--font-display);border-radius:7px;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.brand-mark:before{content:"L"}.brand em{color:var(--accent);font-style:normal}.main-nav{display:none}.main-nav>ul{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-item{border-radius:999px;align-items:center;display:flex;position:relative}.nav-item>a{color:var(--ink-2);border-radius:999px;padding:.45rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none;position:relative}.nav-item.has-panel>a{padding-right:.15rem}.nav-item:hover,.nav-item.is-open{background:var(--surface-2)}.nav-item:hover>a,.nav-item.is-open>a{color:var(--ink)}.nav-item:has(>a[aria-current=page]){background:var(--accent-soft)}.nav-item>a[aria-current=page],.nav-item>a[aria-current=page]+.nav-toggle{color:var(--accent-ink)}.nav-toggle{width:1.6rem;height:1.6rem;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;margin-right:.3rem;padding:0;display:inline-grid}.nav-toggle:hover{color:var(--ink);background:var(--line)}.nav-toggle svg{width:.75rem;height:.75rem;transition:transform .22s}.nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.nav-panel{z-index:2;width:max-content;min-width:min(15rem, var(--panel-room,15rem));max-width:var(--panel-room,none);opacity:0;visibility:hidden;background:var(--nav-panel);color:var(--nav-panel-ink);border:1px solid var(--nav-panel-edge);border-radius:var(--radius);box-shadow:var(--shadow-2);grid-template-rows:0fr;transition:grid-template-rows .24s,opacity .2s,visibility 0s linear .24s;display:grid;position:absolute;top:calc(100% + .7rem);left:0}.nav-item.is-open .nav-panel{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .24s,opacity .16s,visibility}.nav-panel:before{content:"";height:.8rem;position:absolute;bottom:100%;left:0;right:0}.nav-panel-clip{min-height:0;overflow:hidden}.nav-panel ul{margin:0;padding:.45rem;list-style:none;display:grid}.nav-panel li+li{border-top:1px solid var(--nav-panel-line)}.nav-panel a{border-radius:var(--radius-sm);color:var(--nav-panel-ink);padding:.62rem .8rem;font-size:.98rem;font-weight:500;line-height:1.3;text-decoration:none;display:block}.nav-panel a:hover{background:var(--nav-panel-hover)}.nav-panel a:focus-visible{outline-color:var(--nav-panel-ring);outline-offset:-2px}.nav-panel a[aria-current=page]{box-shadow:inset 3px 0 0 var(--nav-panel-muted)}.nav-panel-courses a{grid-template-columns:4.9rem auto;align-items:baseline;display:grid}.nav-code{letter-spacing:.05em;color:var(--nav-panel-muted);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:600}.nav-panel .nav-sub{color:var(--nav-panel-muted);grid-column:2;font-size:.84rem;font-weight:400}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;margin-left:auto;display:flex}.search-btn{border:1px solid var(--line-2);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .7rem .45rem .65rem;font-size:.9rem;display:inline-flex}.search-btn:hover{border-color:var(--accent);color:var(--ink)}.search-btn kbd{font-family:var(--font-body);border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);border-radius:5px;padding:.1rem .4rem;font-size:.7rem}.search-btn .label,.search-btn kbd{display:none}.icon-btn{width:2.35rem;height:2.35rem;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:1.15rem;height:1.15rem}.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:block}:root[data-theme=dark] .icon-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-sun{display:block}:root:not([data-theme=light]) .icon-moon{display:none}}.menu{position:relative}.menu summary{cursor:pointer;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:12rem;box-shadow:var(--shadow-2);padding:.5rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.menu nav ul{margin:0;padding:0;list-style:none;display:grid}.menu nav a{border-radius:var(--radius-sm);color:var(--ink);padding:.6rem .8rem;font-weight:500;text-decoration:none}.menu nav a:hover{background:var(--surface-2)}.menu nav{width:min(20rem,100vw - 2rem);min-width:0;max-height:calc(100dvh - var(--header-now,var(--header-h)) - 1rem);overscroll-behavior:contain;overflow-y:auto}.menu nav a{display:block}.menu-group>a{font-weight:600}.menu-group ul{border-left:1px solid var(--line);margin:0 0 .35rem .8rem;padding-left:.4rem}.menu-group ul a{padding:.42rem .8rem;font-size:.95rem;font-weight:400}.menu .nav-sub{color:var(--muted);font-size:.8rem;display:block}@media (width<=19.5em){.menu nav{padding:.3rem}.menu nav a{padding-inline:.45rem}.menu-group ul{margin-left:.4rem;padding-left:.2rem}}@media (width>=48rem){.main-nav{display:flex}.menu{display:none}}@media (width>=60rem){.search-btn .label,.search-btn kbd{display:inline-block}}.hero{--ink:#e8eaee;--ink-2:#c3c9d1;--line-2:#5a6676;--accent:#46c3cd;--accent-ink:#8ae0e7;--accent-contrast:#06262b;--scrim:20 19 17;--scrim-x:max(0px, (100% - var(--max)) / 2);color-scheme:dark;color:var(--ink);isolation:isolate;width:calc(100% - 2.5rem);max-width:calc(var(--max) - 2.5rem);background:linear-gradient(90deg, rgb(var(--scrim) / .9) var(--scrim-x), rgb(var(--scrim) / .76) calc(var(--scrim-x) + 46rem), rgb(var(--scrim) / .35) calc(var(--scrim-x) + 70rem), rgb(var(--scrim) / .2) 100%), url(/images/home/mcdonald-lake.webp) 50% 62% / cover no-repeat, #0e1114;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);margin:1.5rem auto 0;padding:5.5rem 0 4.5rem;position:relative;overflow:hidden}.hero:before{content:"";mix-blend-mode:color;pointer-events:none;background:#96704647;position:absolute;inset:0}.hero>.wrap{z-index:1;padding-inline:clamp(1.25rem,5vw,4rem);position:relative}@media (width<=48em){.hero{border:0;border-bottom:1px solid var(--line);width:auto;max-width:none;box-shadow:none;background:linear-gradient(rgb(var(--scrim) / .7), rgb(var(--scrim) / .7)), url(/images/home/mcdonald-lake.webp) 30% 60% / cover no-repeat, #0e1114;border-radius:0;margin:0}.hero>.wrap{padding-inline:1.25rem}}.hero h1{max-width:16ch;margin:.75rem 0 1rem;font-size:clamp(2.6rem,6.5vw,4.4rem);font-weight:600}.hero h1 .hero-accent{color:var(--accent);display:block}.hero .lede{color:var(--ink-2);max-width:40rem;margin:0 0 1.75rem;font-size:1.2rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.section{padding:3.5rem 0 0}.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;font-size:1.9rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),1fr));gap:1rem;display:grid}@media (width>=40em){.card-grid{grid-auto-rows:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow-1);flex-direction:column;gap:.5rem;padding:1.25rem 1.3rem 1.2rem;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.card:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));transform:translateY(-2px)}.card h2{margin:.1rem 0 0;font-size:1.3rem}.card p{color:var(--muted);margin:.15rem 0 0;font-size:.93rem;line-height:1.5}.card .card-foot{color:var(--accent-ink);margin-top:auto;padding-top:.75rem;font-size:.82rem;font-weight:600}.card .card-subtitle{color:var(--ink-2);margin:0;font-size:1rem;font-weight:600}.video-solo{max-width:52rem}.page-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 55%, transparent), transparent);padding:3rem 0 2rem}.page-head h1{margin:.6rem 0;font-size:clamp(2.2rem,5vw,3.2rem)}.page-head .lede{color:var(--ink-2);max-width:44rem;margin:0;font-size:1.12rem}.page-head .subtitle{color:var(--ink-2);max-width:44rem;margin:0 0 .7rem;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:600}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent-ink)}.crumbs li+li:before{content:"/";color:var(--line-2);margin-right:.35rem}.activity-list{gap:.75rem;max-width:52rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.activity-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);grid-template-columns:2.6rem minmax(0,1fr);align-items:start;gap:1rem;padding:1rem 1.15rem;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid;position:relative}.activity-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:var(--shadow-2);transform:translateY(-1px)}.num{background:var(--accent-soft);width:2.6rem;height:2.6rem;color:var(--accent-ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;display:inline-grid}.num-project{background:var(--gold-soft);color:var(--gold)}.activity-card h2{margin:.15rem 0 .25rem;font-size:1.2rem}.activity-link{color:inherit;text-decoration:none}.activity-link:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.activity-link:focus-visible{outline:none}.activity-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.activity-card p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.5}.activity-card .meta{color:var(--muted);flex-wrap:wrap;gap:.6rem;margin-top:.5rem;font-size:.78rem;display:flex}.course-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.9rem 0 0;font-size:.85rem;display:flex}.course-rhythm{max-width:52rem;margin-top:2rem}.course-rhythm h2{margin:0 0 .7rem}.rhythm-steps{counter-reset:step;flex-wrap:wrap;gap:.7rem 2rem;margin:0;padding:0;list-style:none;display:flex}@media (width<=56.25rem){.rhythm-steps{flex-direction:column;align-items:flex-start}}.rhythm-steps li{counter-increment:step;color:var(--ink);align-items:center;gap:.55rem;font-size:.95rem;font-weight:600;display:inline-flex}.rhythm-steps li:before{content:counter(step);background:var(--accent-soft);width:1.7rem;height:1.7rem;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:inline-grid}.rhythm-links{flex-wrap:wrap;gap:.4rem 1.4rem;margin:.8rem 0 0;font-size:.9rem;display:flex}.rhythm-links a{color:var(--accent-ink);text-underline-offset:.18em}.card-lock{color:var(--muted);display:inline-flex}.guide-list{max-width:52rem;margin-top:2.5rem}.guide-list h2{margin:0 0 .5rem;font-size:1.2rem}.guide-list ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.guide-list li{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.guide-list .meta{color:var(--muted);font-size:.78rem}.layout{grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:2rem;display:grid}.side,.toc-col{display:none}.mobile-nav{margin-bottom:1.25rem}.mobile-nav details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem 1rem}.mobile-nav summary{cursor:pointer;font-weight:600}@media (width>=60rem){.layout{grid-template-columns:min(15rem,28vw) minmax(0,1fr);gap:3rem}.side{display:block}.mobile-nav{display:none}}@media (width>=76rem){.layout{grid-template-columns:min(15rem,28vw) minmax(0,1fr) min(13rem,20vw)}.toc-col{display:block}}.sticky{top:calc(var(--header-now,var(--header-h)) + 1.5rem);max-height:calc(100vh - var(--header-now,var(--header-h)) - 3rem);scrollbar-width:thin;position:sticky;overflow:auto}.cnav-title{font-family:var(--font-display);color:var(--ink);font-size:1.15rem;font-weight:700;line-height:1.2;text-decoration:none;display:block}.cnav-code{color:var(--muted);margin:.15rem 0 1rem;font-size:.78rem}.cnav{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.cnav a{border-radius:var(--radius-sm);color:var(--ink-2);grid-template-columns:1.7rem minmax(0,1fr);align-items:center;gap:.55rem;padding:.4rem .55rem;font-size:.88rem;line-height:1.3;text-decoration:none;display:grid}.cnav a:hover{background:var(--surface-2);color:var(--ink)}.cnav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.cnav .n{background:var(--surface-2);width:1.7rem;height:1.7rem;color:var(--muted);border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}.cnav a[aria-current=page] .n{background:var(--accent);color:var(--accent-contrast)}.cnav .n-project{background:var(--gold-soft);color:var(--gold)}.toc-title{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.72rem;font-weight:700}.toc{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-1px;padding:.32rem .8rem;font-size:.86rem;line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--ink)}.toc a[aria-current]{color:var(--accent-ink);border-left-color:var(--accent);font-weight:600}.article{max-width:var(--measure)}.article-head .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.9rem 0 .7rem;font-size:.85rem;display:flex}.article-head h1{margin:0 0 1.25rem;font-size:clamp(2.1rem,4.5vw,2.9rem)}.article-title.has-portrait{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.25rem;display:flex}.article-title.has-portrait h1{margin:0}.portrait{border:1px solid var(--line);object-fit:cover;border-radius:50%;width:7rem;height:7rem}.doc{font-size:1.09rem;line-height:1.7}.doc p{margin:.95rem 0}.doc :is(p,li,blockquote,dd,dt):not(.quiz *,.prompt *,.callout-title,.yt *),.callout-body p{font-family:var(--font-text)}.doc .quiz{font-size:1.03rem}.doc span:lang(zh){white-space:nowrap}.doc a{color:var(--accent-ink);text-underline-offset:.18em;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);overflow-wrap:anywhere}.doc a:hover{text-decoration-color:var(--accent)}.doc a[target=_blank]:not(.pdf a):after{content:"↗" / "";opacity:.6;margin-left:.2em;font-size:.8em;display:inline-block}.doc ul,.doc ol{margin:.9rem 0;padding-left:1.4rem}.doc li{margin:.4rem 0}.doc li p{margin:.3rem 0}.doc blockquote{border-left:3px solid var(--gold);color:var(--ink-2);background:var(--gold-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.2rem 0;padding:.3rem 1.1rem}.doc img{border-radius:var(--radius);box-shadow:var(--shadow-1)}.doc code{font-family:var(--font-mono);background:var(--surface-2);border-radius:5px;padding:.1em .4em;font-size:.9em}.doc table{border-collapse:collapse;width:100%;margin:1.2rem 0;font-size:.95rem;line-height:1.55}.doc caption{caption-side:top;text-align:left;color:var(--muted);padding-bottom:.5rem;font-size:.9rem}.doc th,.doc td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.6rem .75rem}.doc thead th{background:var(--surface-2);border-bottom-color:var(--line-2)}.doc tbody td:first-child{width:34%;font-weight:600}@media (width<=19.5em){.doc table{display:block;overflow-x:auto}.doc th,.doc td{padding:.45rem .5rem}.quiz{padding-inline:.6rem}.doc .quiz-questions{padding-left:0}.quiz-option{gap:.45rem;padding-inline:.5rem}h1,h2,h3,.quiz{hyphens:auto}}.doc h1{margin:2.5rem 0 1rem;font-size:1.9rem}.doc h2{margin:0 0 1rem;font-size:1.85rem}.doc h3{margin:1.6rem 0 .5rem;font-size:1.2rem}.doc h4{margin:1.3rem 0 .4rem;font-size:1.02rem}.doc .sec{border-top:1px solid var(--line);margin-top:3rem;padding-top:2.25rem}.doc .sec:first-child{border-top:0;margin-top:0;padding-top:0}.doc .sec>h2:before{content:"";background:var(--accent);border-radius:2px;width:2.25rem;height:3px;margin-bottom:.9rem;display:block}.doc .sec[data-section=why-it-matters]>p{color:var(--ink-2);font-size:1.15rem;line-height:1.75}.doc .sec[data-section=current-context]{border:0;border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--accent-soft);margin-top:2rem;padding:1.25rem 1.5rem 1.1rem}.doc .sec[data-section=current-context]>h2{font-family:var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.4rem;font-size:.76rem;font-weight:700}.doc .sec[data-section=current-context]>h2:before{display:none}.doc .sec[data-section=current-context]>p{margin:.5rem 0 0;font-size:.98rem}.doc .sec[data-section=petpals-unleashed]{border:1px solid color-mix(in srgb, var(--gold) 35%, var(--line));border-radius:var(--radius);background:var(--gold-soft);margin-top:2rem;padding:1.25rem 1.5rem}.doc .sec[data-section=petpals-unleashed]>h2{margin-bottom:.25rem;font-size:1.4rem}.doc .sec[data-section=petpals-unleashed]>h2:before{background:var(--gold)}.doc .sec[data-section=petpals-unleashed]>p:not(:has(img)){color:var(--ink-2);margin:.35rem 0 .25rem;font-size:.95rem;line-height:1.55}.doc .sec[data-section=petpals-unleashed] .sub h3{font-family:var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin:.9rem 0 .35rem;font-size:.76rem;font-weight:700}.doc .sec[data-section=petpals-unleashed] .sub p{font-family:var(--font-text);margin:.4rem 0;font-size:1.12rem;line-height:1.7}.doc .sec[data-section=key-concepts]{grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:.9rem;display:grid}.doc .sec[data-section=key-concepts]>h2{grid-column:1/-1;margin-bottom:.25rem}.doc .sec[data-section=key-concepts]>.sub,.doc .sec[data-section=key-concepts]>p{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:1rem 1.1rem}.doc .sec[data-section=key-concepts] .sub h3{margin:0 0 .4rem;font-size:1.1rem}.doc .sec[data-section=key-concepts] .sub p{color:var(--ink-2);margin:0;font-size:.95rem;line-height:1.6}.doc .sec[data-section=key-concepts]>p{font-size:.95rem;line-height:1.6}.doc .sec[data-section=resources] ul{gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.doc .sec[data-section=resources] li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin:0;padding:.7rem .95rem;font-size:.95rem;line-height:1.55}.doc .sec[data-section=resources] li a{font-weight:600;text-decoration:none}.doc .sec[data-section=resources] li a:hover{text-decoration:underline}.doc .sec[data-section=what-to-do] .sub{margin:1.5rem 0 0;padding-bottom:.25rem;padding-left:2.2rem;position:relative}.doc .sec[data-section=what-to-do] .sub:before{content:"";background:var(--line-2);width:2px;position:absolute;top:1.1rem;bottom:-1.5rem;left:.5rem}.doc .sec[data-section=what-to-do] .sub:last-child:before{display:none}.doc .sec[data-section=what-to-do] .sub:after{content:"";background:var(--accent);width:.85rem;height:.85rem;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;position:absolute;top:.45rem;left:.12rem}.doc .sec[data-section=what-to-do] .sub[data-sub*=share]:after{background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.doc .sec[data-section=what-to-do] .sub h3{margin:0 0 .35rem}.doc .sec[data-section=suggested-ai-prompts]>p{color:var(--muted);font-size:.95rem}.doc .sec[data-section=suggested-ai-prompts] .sub{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:1rem 1.15rem .9rem;position:relative}.doc .sec[data-section=suggested-ai-prompts] .sub h3{margin:0 7rem .6rem 0;font-size:1.1rem}.doc .sec[data-section=suggested-ai-prompts] .prompt{background:var(--surface-2);border-radius:var(--radius-sm);font-family:var(--font-mono);margin:.4rem 0 .6rem;padding:.85rem 1rem;font-size:.86rem;line-height:1.65}.doc .sec[data-section=suggested-ai-prompts] .prompt>*{margin:0}.doc .sec[data-section=suggested-ai-prompts] .prompt>*+*{margin-top:.75rem}.doc .sec[data-section=suggested-ai-prompts] .prompt-note{color:var(--muted);margin:.4rem 0 0;font-size:.92rem}.copy-btn{border:1px solid var(--line-2);background:var(--surface);color:var(--accent-ink);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;top:.9rem;right:.9rem}.copy-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.copy-btn.is-done{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.pager{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.5rem}.pager ul{grid-template-columns:1fr 1fr;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.pager .pager-next{grid-column:2}.pager a{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.pager a:hover{border-color:var(--accent);transform:translateY(-1px)}.pager .next{text-align:right}.pager .hint{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;font-size:.72rem;display:block}.pager .ttl{font-family:var(--font-display);font-size:1.05rem;font-weight:600}@media (width<=40rem){.pager ul{grid-template-columns:1fr}.pager .pager-next{grid-column:auto}.pager .next{text-align:left}}.search-dialog{background:0 0;border:0;width:min(46rem,94vw);margin:8vh auto 0;padding:0}.search-dialog::backdrop{backdrop-filter:blur(4px);background:#0a0e128c}.search-panel{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);max-height:80vh;padding:1rem 1.15rem 1.15rem;overflow:auto}.search-head{font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;font-size:1.15rem;font-weight:600;display:flex}.search-hint{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.pagefind-ui{--pagefind-ui-scale:.9;--pagefind-ui-primary:var(--accent-ink);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--surface);--pagefind-ui-border:var(--muted);--pagefind-ui-tag:var(--accent-soft);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:8px;--pagefind-ui-font:var(--font-body)}.search-dialog .pagefind-ui .pagefind-ui__search-input::placeholder{opacity:1;color:var(--muted)}.search-dialog .pagefind-ui .pagefind-ui__search-input:focus{outline:2px solid var(--accent);outline-offset:2px}.search-dialog .pagefind-ui__drawer:not(:has(.pagefind-ui__result)) .pagefind-ui__filter-panel{display:none}.sign-in{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:26rem;box-shadow:var(--shadow-1);grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:2rem;padding:1.4rem 1.4rem 1.3rem;display:grid}.sign-in label{font-weight:600}.sign-in input[type=password]{font:inherit;border:1px solid var(--muted);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.65rem .8rem}.sign-in input[type=password]:focus{outline:2px solid var(--accent);outline-offset:2px}.sign-in input[aria-invalid=true]{border-color:var(--danger)}.sign-in .sign-in-keep{color:var(--ink-2);align-items:center;gap:.5rem;font-weight:400;display:flex}.sign-in input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin:0}.sign-in .btn{justify-self:start;margin-top:.4rem}.sign-in-error{border-left:3px solid var(--danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb, var(--danger) 8%, var(--surface));margin:0;padding:.6rem .8rem;font-weight:600}.sign-in-note{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.v2-footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);padding:2.5rem 0 2rem;font-size:.9rem}.v2-footer .wrap{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:1.5rem;display:grid}.v2-footer h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 .5rem;font-size:.78rem;font-weight:700}.v2-footer ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.v2-footer a{color:var(--muted);padding-block:.2rem;text-decoration:none;display:inline-block}.v2-footer a:hover{color:var(--accent-ink)}.v2-footer h2 a{color:inherit;display:inline}.v2-footer .nav-sub{font-size:.8rem;display:block}.v2-footer .footer-license{border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding-top:1rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{.v2-header,.v2-footer,.side,.toc-col,.mobile-nav,.pager,.progress,.copy-btn{display:none!important}html{font-size:12pt}.doc a:after{content:" (" attr(href) ")";color:#555;font-size:.85em}}
