@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2?dpl=dpl_Hms2FAv4se38zyMqbiQqq2MbauG2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_927181f9-module__SiBDha__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_927181f9-module__SiBDha__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--i0:#252723;--i1:#dd381e;--i2:#62665e;--i3:#f0eeea;--i4:#bd2f18;--i5:#92958e;--i6:#faf9f6;--i7:#dddcd5;--i8:#40443d;--i9:#fff0ea;--i10:#fff;--i11:#51564d;--i12:#287548;--i13:#ffb39b;--i14:#575d53;--i15:#edf6ee;--i16:#ebc7bb;--i17:#ffd0bc;--i18:#fbf1e3;--i19:#92400e;--i20:#adb1ab;--i21:#e9e7e0;--i22:#e56741;--i23:#bd2f18;--i24:#f0eeea;--i25:#e7e5df;--i26:#c5cac1;--i27:#a7aaa4;--shadow-rgb:37, 39, 35;--accent-rgb:221, 56, 30;--on-ink-rgb:255, 179, 155;--scrim:#25272373;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--i0:#f4f3ee;--i1:#ff9f86;--i2:#b9beb4;--i3:#292e28;--i4:#ffb8a3;--i5:#7e887c;--i6:#181c18;--i7:#444b41;--i8:#e0e4dc;--i9:#3a2823;--i10:#222720;--i11:#cbd1c6;--i12:#92d3a1;--i13:#ffb39b;--i14:#c1c9bc;--i15:#233c2a;--i16:#765045;--i17:#ffd0bc;--i18:#30291a;--i19:#efc580;--i20:#889281;--i21:#3b4338;--i22:#ffb6a0;--i23:#ffc2ae;--i24:#20251f;--i25:#343c30;--i26:#b9c3b3;--i27:#7f8979;--shadow-rgb:37, 39, 35;--accent-rgb:255, 159, 134;--on-ink-rgb:255, 179, 155;--scrim:#0009;--panel:var(--i3);--panel-ink:var(--i8);--panel-label:var(--i4);--panel-btn:var(--i1);--panel-btn-ink:var(--i6);--panel-muted:var(--i2);--cover-ink:#f3f6f4;--cover-1:linear-gradient(135deg, #713226, #bd2f18);--cover-2:linear-gradient(135deg, #252824, #4c6047);--cover-3:linear-gradient(135deg, #92400e, #d97706);--cover-4:linear-gradient(135deg, #4c1d95, #7c3aed);--cover-5:linear-gradient(135deg, #881337, #e11d48);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--ink:var(--i0);--accent:var(--i1);--muted:var(--i2);--chip:var(--i3);--accent-ink:var(--i4);--faint:var(--i5);--page:var(--i6);--line:var(--i7);--body:var(--i8);--accent-tint:var(--i9);--card:var(--i10);--body-2:var(--i11);--ok:var(--i12);--on-ink:var(--i13);--body-3:var(--i14);--ok-tint:var(--i15);--accent-line:var(--i16);--on-ink-press:var(--i17);--warn-tint:#fbf1e3;--warn-ink:var(--i19);--faint-2:var(--i20);--line-dash:var(--i21);--accent-2:var(--i22);--accent-press:var(--i23);--surface:var(--i24);--chip-press:var(--i25);--on-ink-muted:var(--i26);--box-line:var(--i27);--panel:var(--i0);--panel-ink:var(--i3);--panel-label:var(--i13);--panel-btn:var(--i13);--panel-btn-ink:var(--i0);--panel-muted:var(--i26);--cover-ink:#fff;--cover-1:linear-gradient(135deg, #8e301f, #dd381e);--cover-2:linear-gradient(135deg, #30332f, #65725d);--cover-3:linear-gradient(135deg, #b45309, #f59e0b);--cover-4:linear-gradient(135deg, #5b21b6, #8b5cf6);--cover-5:linear-gradient(135deg, #9f1239, #f43f5e);--sans:"Pretendard Variable", Pretendard, sans-serif;--r-pill:99px;--shadow-card:0 2px 10px rgba(var(--shadow-rgb), .04);--shadow-card-hover:0 8px 24px rgba(var(--accent-rgb), .1);--shadow-pop:0 30px 80px rgba(var(--shadow-rgb), .4);--shadow-lift:0 14px 36px rgba(var(--accent-rgb), .13);--mono:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--t-display:clamp(34px, 5vw, 44px) / 1.2;--t-h1:30px / 1.3;--t-h2:24px / 1.35;--t-h3:19px / 1.45;--t-lead:18px / 1.7;--t-body:16px / 1.75;--t-small:14px / 1.6;--t-meta:13px / 1.5;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--sec-y:clamp(48px, 8vw, 96px);--pad-x:clamp(20px, 5vw, 32px);--head-y:clamp(32px, 5vw, 48px);--r-sm:6px;--r-md:10px;--r-lg:16px;--w-shell:1120px;--w-prose:760px;--w-read:720px;--w-docs:1280px;--w-rail:240px;--warn:#92400e;--danger:#b91c1c;--danger-tint:#fdecec}:root[data-theme=dark]{--warn:#f59e0b;--warn-tint:#2a2114;--danger:#f87171;--danger-tint:#2d1717}:root{--accent-contrast:#fff;--header-bg:var(--card);--footer-bg:#252824;--footer-ink:#f8f9f6;--footer-muted:#c5cac1;--footer-line:#444940;--feature-bg:#30332f;--feature-ink:#fff;--paper-accent:#bd2f18;--brand-solid:#dd381e;--brand-solid-ink:#fff;--cover-plan-bg:#eeeae3;--cover-plan-ink:#252723;--secondary-tint:#eceee9;--document-shadow:0 8px 24px #1a1e1a12;--exhibit-paper:#fffdf8;--exhibit-ink:#252723;--exhibit-muted:#69675f;--exhibit-line:#d8d3ca;--exhibit-tint:#f9d8c9;--exhibit-mat:#ece9e2;--exhibit-panel-line:#ffffff3d;--exhibit-panel-tint:#ffffff0a;--moru-ink:#182b39;--moru-paper:#f4efe4;--moru-surface:#e9e1d2;--moru-orange:#b13d1d;--moru-line:#d4ccbd;--moru-muted:#62645c;--moru-cream:#fffaf0}:root[data-theme=dark]{--accent-contrast:#181c18;--secondary-tint:#30372c;--cover-plan-bg:#3b3a32;--cover-plan-ink:#f4f3ee}@media print{:root,:root[data-theme=dark]{--accent-contrast:#fff;--i0:#252723;--i1:#dd381e;--i2:#62665e;--i3:#f0eeea;--i4:#bd2f18;--i5:#92958e;--i6:#fff;--i7:#dddcd5;--i8:#40443d;--i9:#fff0ea;--i10:#fff;--i11:#51564d;--i12:#287548;--i13:#ffb39b;--i14:#575d53;--i15:#edf6ee;--i16:#ebc7bb;--i17:#ffd0bc;--i18:#fbf1e3;--i19:#92400e;--i20:#adb1ab;--i21:#e9e7e0;--i22:#e56741;--i23:#bd2f18;--i24:#f0eeea;--i25:#e7e5df;--i26:#c5cac1;--i27:#a7aaa4;--shadow-rgb:37, 39, 35;--panel:var(--i0);--panel-ink:var(--i3);--panel-label:var(--i13);--panel-btn:var(--i13);--panel-btn-ink:var(--i0);--panel-muted:var(--i26);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}[data-briefing-page]{--page:#faf9f6;--ink:#252723;--body:#40443d;--body-2:#40443d;--muted:#62665e;--accent:#dd381e;--accent-contrast:#fff;--accent-press:#bd2f18;--accent-line:#ebc7bb;--accent-tint:#fff0ea;--accent-tint-line:#ebc7bb;--accent-tint-ink:#8e301f;--line:#dddcd5;--line-2:#dddcd5;--paper:#f0eeea;--card:#fff;--dark:#252723;--dark-ink:#f8f9f6;--dark-body:#d9ded4;--dark-muted:#c5cac1;--dark-faint:#b1baab;--dark-card:#30362d;--dark-rule:#40443d;--on-dark:#ffb39b;--on-dark-press:#ffd0bc;--green-body:#e6eadf;--maxw:760px;--maxw-wide:1000px;--pad-x:clamp(20px, 5vw, 32px);--sec-y:clamp(52px, 10vw, 88px);--head-h:64px;--sans:"Pretendard Variable", Pretendard, -apple-system, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--briefing-color-1:#fff0ea;--briefing-radius-1:6px;--briefing-space-1:clamp(56px, 10vw, 96px);--briefing-radius-2:14px;--briefing-color-2:#282d26;--briefing-inset-1:clamp(44px, 9vw, 72px) var(--pad-x) clamp(48px, 9vw, 80px);--briefing-inset-2:clamp(18px, 4vw, 22px);--briefing-color-3:#40443d;--briefing-radius-3:2px 8px 8px 2px;--briefing-inset-3:clamp(16px, 3.6vw, 22px) clamp(14px, 3.2vw, 18px) clamp(14px, 3.2vw, 18px) clamp(20px, 4.4vw, 26px);--briefing-color-4:#d4d9cd;--briefing-color-5:#cbd2c3;--briefing-radius-4:16px;--briefing-color-6:#818b7a;--briefing-color-7:#555e4f;--briefing-radius-5:12px;--briefing-inset-4:clamp(20px, 4.4vw, 26px);--briefing-radius-6:18px;--briefing-inset-5:clamp(20px, 4.4vw, 28px);--briefing-inset-6:clamp(18px, 4vw, 24px);--briefing-color-8:#faf9f6f0;--briefing-radius-7:8px;--briefing-radius-8:11px;--briefing-color-9:#ffb39b;--briefing-space-2:5px;--briefing-radius-9:1px;--briefing-color-10:#f0eeea;--briefing-inset-7:clamp(20px, 4vw, 32px);--briefing-space-3:28px;--briefing-color-11:#bcc5b3;--briefing-radius-10:3px;--briefing-color-12:#fff0ea;--briefing-radius-11:10px;--briefing-color-13:#e8e9e1;--briefing-color-14:#d3d8cc;--briefing-color-15:#57634d;--briefing-space-4:26px;--briefing-color-16:#ffb39b;--briefing-color-17:#faf9f6fa;--briefing-color-18:#25272308}[data-home-page],[data-practice-page]{--home-hero-title:clamp(40px, 4.5vw, 64px) / 1.2;--learning-haze:color-mix(in srgb, var(--secondary-tint) 85%, transparent);--home-book-bg:var(--surface);--home-cover:var(--feature-bg);--home-cover-ink:var(--feature-ink);--home-cover-muted:var(--footer-muted);--home-book-shadow:10px 16px 36px rgba(var(--shadow-rgb), .18);--t-display:clamp(52px, 6vw, 76px) / 1.08;--t-h2:clamp(30px, 3.4vw, 42px) / 1.3;--t-h3:clamp(21px, 2.1vw, 26px) / 1.4;--home-demo-title:clamp(25px, 2.4vw, 32px) / 1.4;--home-book-title:54px / 1.25;--home-demo-shadow:8px 8px 0 color-mix(in srgb, var(--line) 55%, transparent)}:root{--practice-paper:#fff;--practice-paper-ink:#252723;--practice-paper-muted:#62665e;--practice-paper-line:#dddcd5;--practice-art-green:#fff0ea;--practice-art-blue:#eceee9;--practice-art-sand:#eeeae3;--practice-art-shadow:0 18px 42px #25272326;--practice-cover-title:clamp(23px, 2.5vw, 32px) / 1.25}[data-practice-page]{--t-display:clamp(34px, 4.2vw, 54px) / 1.22;--t-h2:clamp(26px, 3vw, 36px) / 1.35;--t-h3:21px / 1.45}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--site-sticky-offset,96px)}body{font-family:var(--sans);background:var(--page);color:var(--ink);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}input,textarea{font-size:16px}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ui-shell,.ui-shell-prose,.ui-shell-read,.ui-shell-docs{width:100%;padding-left:var(--pad-x);padding-right:var(--pad-x);margin-left:auto;margin-right:auto}.ui-shell{max-width:calc(var(--w-shell) + 2 * var(--pad-x))}.ui-shell-prose{max-width:calc(var(--w-prose) + 2 * var(--pad-x))}.ui-shell-read{max-width:calc(var(--w-read) + 2 * var(--pad-x))}.ui-shell-docs{max-width:calc(var(--w-docs) + 2 * var(--pad-x))}.ui-display{font:700 var(--t-display) var(--sans);letter-spacing:-.03em;color:var(--ink);text-wrap:balance}.ui-h1{font:700 var(--t-h1) var(--sans);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}.ui-h2{font:700 var(--t-h2) var(--sans);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}.ui-h3{font:700 var(--t-h3) var(--sans);letter-spacing:-.02em;color:var(--ink)}.ui-lead{font:400 var(--t-lead) var(--sans);color:var(--body)}.ui-body{font:400 var(--t-body) var(--sans);color:var(--body)}.ui-small{font:400 var(--t-small) var(--sans);color:var(--muted)}.ui-display,.ui-h1,.ui-h2,.ui-h3,.ui-lead,.ui-body,.ui-small{margin:0}.ui-eyebrow{font:600 var(--t-meta) var(--sans);letter-spacing:.04em;color:var(--accent-ink);display:block}.ui-section-head{gap:var(--s-2);max-width:var(--w-read);display:grid}.ui-section-head.center{text-align:center;margin-left:auto;margin-right:auto}.ui-section-head>p{font:400 var(--t-body) var(--sans);color:var(--muted);margin:0}.ui-meta{align-items:center;gap:var(--s-1) 0;font:500 var(--t-meta) var(--sans);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ui-meta>*+:before{content:"·";margin:0 var(--s-2);color:var(--muted)}.ui-meta>.ui-badge:before{content:none;margin:0}.ui-meta>.ui-badge{margin-left:var(--s-2)}.ui-btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-md);min-height:44px;font:600 var(--t-small) var(--sans);letter-spacing:-.01em;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;padding:0 18px;line-height:1;text-decoration:none;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-flex}.ui-btn.primary{background:var(--accent);color:var(--accent-contrast)}.ui-btn.primary:hover{background:var(--accent-press);color:var(--accent-contrast)}.ui-btn.secondary{background:var(--card);color:var(--ink);border-color:var(--box-line)}.ui-btn.secondary:hover{border-color:var(--accent);color:var(--accent-ink)}.ui-btn.ghost{color:var(--accent-ink);min-height:40px;padding:0 6px}.ui-btn.ghost:hover{color:var(--accent-press)}.ui-btn.on-panel{background:var(--panel-btn);color:var(--panel-btn-ink)}.ui-btn.on-panel:hover{background:var(--on-ink-press);color:var(--panel-btn-ink)}.ui-btn.sm{min-height:36px;padding:0 12px;font-size:13px}.ui-btn.lg{min-height:52px;padding:0 24px;font-size:15px}.ui-btn.full{width:100%}.ui-btn[disabled],.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-btn[aria-busy=true]{cursor:progress}.ui-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-btn-row{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.ui-chip{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);min-height:36px;color:var(--body);font:600 var(--t-meta) var(--sans);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 12px;line-height:1;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.ui-chip:hover{border-color:var(--accent)}.ui-chip[aria-pressed=true],.ui-chip.selected,.ui-chip[aria-current]{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-ink)}.ui-chip small{font:500 var(--t-meta) var(--sans);color:var(--muted);line-height:1}.ui-chip-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.ui-badge{border-radius:var(--r-sm);min-height:22px;font:600 var(--t-meta) var(--sans);letter-spacing:.01em;white-space:nowrap;align-items:center;padding:0 8px;line-height:1;display:inline-flex}.ui-badge.ok{background:var(--ok-tint);color:var(--ok)}.ui-badge.warn{background:var(--warn-tint);color:var(--warn)}.ui-badge.danger{background:var(--danger-tint);color:var(--danger)}.ui-badge.neutral{background:var(--chip);color:var(--muted)}.ui-badge.accent{background:var(--accent-tint);color:var(--accent-ink)}.ui-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.ui-card.link{color:inherit;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:block}.ui-card.link:hover{box-shadow:var(--shadow-lift);border-color:var(--accent-line);transform:translateY(-1px)}.ui-card.panel{background:var(--panel);color:var(--panel-ink);border-color:#0000}.ui-card.tint{background:var(--accent-tint);border-color:var(--accent-line);box-shadow:none}.ui-card.flat{box-shadow:none}.ui-card.pad{padding:var(--s-5)}.ui-card.pad-sm{padding:var(--s-4)}.ui-field{gap:6px;display:grid}.ui-field>label{font:600 var(--t-meta) var(--sans);color:var(--ink)}.ui-input,.ui-field input,.ui-field textarea,.ui-field select{border:1px solid var(--box-line);border-radius:var(--r-md);background:var(--card);width:100%;min-height:44px;color:var(--ink);font:400 16px/1.4 var(--sans);padding:10px 12px}.ui-field textarea{resize:vertical;min-height:120px}.ui-input:focus,.ui-field input:focus,.ui-field textarea:focus,.ui-field select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.ui-input::placeholder,.ui-field input::placeholder{color:var(--muted)}.ui-field .help{font:400 var(--t-meta) var(--sans);color:var(--muted)}.ui-field .error,.ui-field[data-invalid] input{color:var(--danger)}.ui-field[data-invalid] input{border-color:var(--danger)}.ui-field .error{font-weight:600}.ui-form-row{gap:var(--s-2);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.ui-toc{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ui-toc a{border-radius:var(--r-sm);font:500 var(--t-small) var(--sans);color:var(--muted);border-left:2px solid #0000;padding:7px 10px;line-height:1.4;text-decoration:none;display:block}.ui-toc a:hover{color:var(--ink);background:var(--chip)}.ui-toc a[aria-current],.ui-toc a.on{color:var(--accent-ink);background:var(--accent-tint);border-left-color:var(--accent)}.ui-prompt{background:var(--panel);color:var(--panel-ink);border-radius:var(--r-lg);overflow:hidden}.ui-prompt>header{justify-content:space-between;align-items:center;gap:var(--s-2);border-bottom:1px solid color-mix(in srgb, var(--panel-ink) 10%, transparent);padding:10px 12px 10px 16px;display:flex}.ui-prompt>header>span{font:600 var(--t-meta) var(--sans);letter-spacing:.04em;color:var(--panel-label)}.ui-prompt pre{font:400 13.5px/1.7 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--panel-ink);margin:0;padding:16px}.ui-prompt .var{color:var(--panel-label);font-weight:500}.ui-prompt.copied{outline:2px solid var(--accent);outline-offset:-2px}.ui-prompt-note{margin:calc(-1 * var(--s-1)) 0 0;font:400 var(--t-meta) var(--sans);color:var(--muted)}.ui-toast{z-index:80;align-items:center;gap:var(--s-2);border-radius:var(--r-pill);background:var(--panel);max-width:calc(100vw - 32px);color:var(--panel-ink);box-shadow:var(--shadow-lift);white-space:nowrap;padding:10px 14px 10px 10px;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.ui-toast .ck{background:var(--accent);width:22px;height:22px;color:var(--accent-contrast);border-radius:50%;flex:none;place-items:center;display:grid}.ui-toast .tt{font:600 var(--t-small) var(--sans);line-height:1.3}.ui-toast .ts{font:500 var(--t-meta) var(--sans);color:var(--panel-muted);line-height:1.3}.ui-fab{z-index:70;border:1px solid var(--line);background:var(--card);width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow-lift);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:24px;right:20px}.ui-fab svg{width:20px;height:20px}@media (max-width:640px){.ui-toast .ts{display:none}}.tok-code{font:500 .92em var(--mono);background:var(--chip);color:var(--accent-ink);border-radius:var(--r-sm);padding:.1em .4em}.tok-kbd{font:500 .85em var(--mono);border:1px solid var(--box-line);border-radius:var(--r-sm);color:var(--ink);background:var(--card);border-bottom-width:2px;padding:1px 6px}.ui-kbd{font:500 var(--t-meta) var(--mono);border:1px solid var(--box-line);border-radius:var(--r-sm);color:var(--ink);background:var(--card);border-bottom-width:2px;padding:2px 6px}.ui-prose{font:400 var(--t-body) var(--sans);color:var(--body);overflow-wrap:anywhere}.ui-prose>:first-child{margin-top:0}.ui-prose>:last-child{margin-bottom:0}.ui-prose h1{font:700 var(--t-h1) var(--sans);letter-spacing:-.02em;color:var(--ink);margin:0 0 var(--s-4)}.ui-prose h2{font:700 var(--t-h2) var(--sans);letter-spacing:-.02em;color:var(--ink);margin:var(--s-7) 0 var(--s-3)}.ui-prose h3{font:700 var(--t-h3) var(--sans);letter-spacing:-.01em;color:var(--ink);margin:var(--s-6) 0 var(--s-2)}.ui-prose h4{font:600 17px/1.5 var(--sans);color:var(--ink);margin:var(--s-5) 0 var(--s-2)}.ui-prose p{margin:0 0 var(--s-4)}.ui-prose ul,.ui-prose ol{margin:0 0 var(--s-4);padding-left:22px}.ui-prose li{margin:0 0 var(--s-1)}.ui-prose li>ul,.ui-prose li>ol{margin:var(--s-1) 0 0}.ui-prose a{color:var(--accent-ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:3px}.ui-prose a:hover{color:var(--accent-press);text-decoration-color:currentColor}.ui-prose strong{color:var(--ink);font-weight:600}.ui-prose code{font:500 .92em var(--mono);background:var(--chip);color:var(--accent-ink);border-radius:var(--r-sm);padding:.1em .4em}.ui-prose pre{margin:0 0 var(--s-4);border-radius:var(--r-lg);background:var(--panel);color:var(--panel-ink);font:400 13.5px/1.7 var(--mono);tab-size:2;padding:16px;overflow:auto}.ui-prose pre code{color:inherit;font:inherit;background:0 0;padding:0}.ui-prose blockquote{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);border:1px solid var(--accent-line);border-left:4px solid var(--accent);border-radius:var(--r-md);background:var(--accent-tint);color:var(--body)}.ui-prose blockquote>:last-child{margin-bottom:0}.ui-prose hr{margin:var(--s-6) 0;border:0;border-top:1px solid var(--line)}.ui-prose img{border-radius:var(--r-md)}.ui-prose table{border-collapse:collapse;width:100%;margin:0 0 var(--s-4);font-size:15px}.ui-prose th,.ui-prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.ui-prose th{background:var(--chip);color:var(--ink);font-weight:600}.ui-prose .table-wrap{margin:0 0 var(--s-4);overflow-x:auto}.ui-prose .table-wrap>table{margin:0}.ui-rule{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0}.ui-section{padding-top:var(--sec-y);padding-bottom:var(--sec-y)}.ui-section.surface{background:var(--surface)}.ui-section.panel{background:var(--panel);color:var(--panel-ink)}.ui-skeleton{background:linear-gradient(90deg, var(--chip) 25%, var(--surface) 50%, var(--chip) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite ui-shimmer;display:block}.ui-skeleton.line{width:100%;height:14px}.ui-skeleton.line.short{width:40%}.ui-skeleton.line.mid{width:70%}.ui-skeleton.title{border-radius:var(--r-md);width:60%;height:28px}.ui-skeleton.display{border-radius:var(--r-md);width:80%;height:44px}.ui-skeleton.eyebrow{width:96px;height:13px}.ui-skeleton.btn{border-radius:var(--r-md);width:140px;height:44px}.ui-skeleton.media{aspect-ratio:16/9;border-radius:var(--r-md);width:100%}.ui-skeleton-stack{gap:var(--s-2);display:grid}.ui-skeleton-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.ui-skeleton-card{gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);display:grid}.ui-page-head{padding-top:var(--head-y);padding-bottom:var(--s-5);gap:var(--s-2);display:grid}.ui-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-loading{gap:var(--s-6);padding-top:var(--s-7);padding-bottom:var(--s-9);display:grid}.ui-error-page{padding-top:var(--s-8);padding-bottom:var(--s-9);gap:var(--s-3);justify-items:start;display:grid}.ui-feedback{gap:var(--s-3);padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);max-width:var(--w-read);display:grid}.ui-feedback-q{font:600 var(--t-body) var(--sans);color:var(--ink);margin:0}.ui-feedback-btns{gap:var(--s-2);flex-wrap:wrap;display:flex}.ui-feedback textarea.ui-input{resize:vertical;min-height:72px}.ui-feedback-thanks{font:500 var(--t-body) var(--sans);color:var(--accent-ink);margin:0}.ui-feedback-err{font:400 var(--t-small) var(--sans);color:var(--danger);margin:0}.ui-avatar{border-radius:var(--r-pill);object-fit:cover;background:var(--accent-tint);width:72px;height:72px;color:var(--accent-ink);font:700 var(--t-h2) var(--sans);flex:none;place-items:center;display:inline-grid}.ui-avatar.lg{width:128px;height:128px;font:700 var(--t-display) var(--sans)}.ui-avatar.fallback{border:1px solid var(--accent-line)}.ui-cover{align-content:center;place-items:center;gap:var(--s-1);aspect-ratio:16/9;background:var(--chip);width:100%;color:var(--cover-ink);text-align:center;display:grid;overflow:hidden}.ui-cover img{object-fit:cover;width:100%;height:100%;display:block}.ui-cover b{font:700 var(--t-h2) var(--sans);letter-spacing:-.02em}.ui-cover>span{font:600 var(--t-small) var(--sans);opacity:.85}.ui-cover[data-tone="1"]{background:var(--cover-1)}.ui-cover[data-tone="2"]{background:var(--cover-2)}.ui-cover[data-tone="3"]{background:var(--cover-3)}.ui-cover[data-tone="4"]{background:var(--cover-4)}.ui-cover[data-tone="5"]{background:var(--cover-5)}.ui-cover.sm b{font:700 var(--t-small) var(--sans)}.ui-cover.sm>span{display:none}.ui-rows{border-top:1px solid var(--line);display:grid}.ui-row{gap:var(--s-3) var(--s-5);padding-top:var(--s-5);padding-bottom:var(--s-5);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.ui-row-thumb{aspect-ratio:16/9;border-radius:var(--r-md);background:var(--chip);width:144px;display:block;overflow:hidden}.ui-row-thumb .ui-cover{height:100%}.ui-row-body{gap:var(--s-2);min-width:0;display:grid}.ui-row-done{font:500 var(--t-small) var(--sans);color:var(--accent-ink);margin:0}.ui-row-title{font:700 var(--t-h3) var(--sans);letter-spacing:-.02em;color:var(--ink);margin:0}.ui-row-title a{color:inherit}.ui-row-title a:hover{color:var(--accent-ink)}.ui-row-tag{min-height:22px;margin-left:var(--s-2);padding:0 var(--s-2);border:1px solid var(--accent-line);border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-ink);font:600 var(--t-meta) var(--sans);letter-spacing:0;vertical-align:middle;white-space:nowrap;align-items:center;display:inline-flex}.ui-row-meta{font:500 var(--t-meta) var(--sans);color:var(--muted);margin:0}.ui-row-go{justify-self:end}@media (max-width:720px){.ui-row{gap:var(--s-3) var(--s-4);grid-template-columns:96px minmax(0,1fr);align-items:start}.ui-row-thumb{width:96px}.ui-row-go{grid-column:1/-1;justify-self:start}}.ui-explorer{gap:var(--s-7);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.ui-rail{top:var(--s-9);gap:var(--s-4);display:grid;position:sticky}.ui-rail-search{position:relative}.ui-rail-search .ui-input{padding-left:38px}.ui-rail-search>svg{width:16px;height:16px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ui-rail-label{margin-bottom:var(--s-2);font:600 var(--t-meta) var(--sans);letter-spacing:.04em;color:var(--muted)}.ui-rail-top{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.ui-rail .ui-toc button{text-align:left;justify-content:space-between;align-items:center;gap:var(--s-2);border-radius:var(--r-sm);width:100%;color:var(--muted);font:500 var(--t-small) var(--sans);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;padding:7px 10px;line-height:1.4;display:flex}.ui-rail .ui-toc button:hover{color:var(--ink);background:var(--chip)}.ui-rail .ui-toc button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-tint);border-left-color:var(--accent)}.ui-rail .ui-toc button small{color:var(--muted);font:500 var(--t-meta) var(--sans);flex:none}.ui-results{gap:var(--s-4);min-width:0;display:grid}.ui-results-head{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.ui-active{gap:var(--s-2);flex-wrap:wrap;display:flex}.ui-empty{padding:var(--s-8) var(--s-4);text-align:center;gap:var(--s-3);justify-items:center;display:grid}.ui-empty svg{width:32px;height:32px;color:var(--faint)}.ui-empty .ui-btn-row{justify-content:center}.ui-empty-sugs{justify-content:center;gap:var(--s-2);flex-wrap:wrap;display:flex}@media (max-width:900px){.ui-explorer{gap:var(--s-5);grid-template-columns:1fr}.ui-rail{position:static}.ui-rail .ui-toc{gap:var(--s-2);flex-wrap:wrap;display:flex}.ui-rail .ui-toc button{border:1px solid var(--line);border-radius:var(--r-pill);white-space:nowrap;width:auto;min-height:36px;padding:0 12px}.ui-rail .ui-toc button[aria-pressed=true]{border-color:var(--accent-line)}}.ui-grid{gap:var(--s-6) var(--s-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ui-results .ui-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-gcard{gap:var(--s-3);min-width:0;color:inherit;align-content:start;text-decoration:none;display:grid}.ui-gcard .ui-cover{border:1px solid var(--line);border-radius:var(--r-md);transition:box-shadow .16s,border-color .16s,transform .16s}.ui-gcard:hover .ui-cover{box-shadow:var(--shadow-lift);border-color:var(--accent-line);transform:translateY(-2px)}.ui-gcard-body{gap:var(--s-1);display:grid}.ui-gcard .ui-row-done{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-gcard-title{font:700 var(--t-body) var(--sans);letter-spacing:-.01em;color:var(--ink);text-wrap:pretty}.ui-gcard:hover .ui-gcard-title{color:var(--accent-ink)}.ui-gcard .ui-row-tag{margin-left:var(--s-2);vertical-align:middle}@media (max-width:1023px){.ui-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-results .ui-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.ui-grid,.ui-results .ui-grid{gap:var(--s-5) var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:479px){.ui-grid,.ui-results .ui-grid{grid-template-columns:1fr}}.ui-view{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);display:inline-flex;overflow:hidden}.ui-view button{width:36px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.ui-view button+button{border-left:1px solid var(--line)}.ui-view button:hover{color:var(--ink);background:var(--chip)}.ui-view button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-tint)}.ui-view svg{width:16px;height:16px}.ui-news{background:var(--surface);border-top:1px solid var(--line)}.ui-news-in{padding-top:var(--s-5);padding-bottom:var(--s-5);justify-content:space-between;align-items:center;gap:var(--s-4) var(--s-6);flex-wrap:wrap;display:flex}.ui-news-copy{gap:4px;display:grid}.ui-news-copy strong{font:700 var(--t-h3) var(--sans);color:var(--ink)}.ui-news-copy span{font:400 var(--t-small) var(--sans);color:var(--muted)}.ui-steps{counter-reset:ui-step;margin:0;padding:0;list-style:none;display:grid}.ui-steps>li{padding:0 0 var(--s-5) 44px;counter-increment:ui-step;position:relative}.ui-steps>li:before{content:counter(ui-step);border:1px solid var(--box-line);background:var(--card);width:28px;height:28px;font:600 var(--t-meta) var(--sans);color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.ui-steps>li:after{content:"";background:var(--line);width:1px;position:absolute;top:32px;bottom:4px;left:14px}.ui-steps>li:last-child{padding-bottom:0}.ui-steps>li:last-child:after{display:none}.ui-steps b{font:600 var(--t-body) var(--sans);color:var(--ink);display:block}.ui-steps span{font:400 var(--t-small) var(--sans);color:var(--muted);margin-top:2px;display:block}.ui-subscribe{gap:var(--s-2);flex:0 460px;grid-template-columns:minmax(220px,1fr) auto;display:grid}.ui-subscribe .msg{font:400 var(--t-meta) var(--sans);color:var(--danger);grid-column:1/-1;margin:0}.ui-subscribe .note{font:400 var(--t-meta) var(--sans);color:var(--muted);grid-column:1/-1;margin:0;line-height:1.6}.ui-subscribe-done{font:600 var(--t-small) var(--sans);color:var(--accent-ink);margin:0}@media (max-width:720px){.ui-subscribe{flex-basis:100%;grid-template-columns:1fr}}
:root{--site-nav-h:80px;--site-book-banner-h:0px;--site-sticky-h:calc(var(--site-nav-h) + 1px + var(--site-book-banner-h));--site-sticky-offset:calc(var(--site-sticky-h) + var(--s-4))}:root:has(body>.site-book-banner){--site-book-banner-h:44px}.sh{z-index:50;background:var(--header-bg);border-bottom:1px solid var(--line);position:sticky;top:0}.sh-in{max-width:calc(var(--w-shell) + 2 * var(--pad-x));padding:0 var(--pad-x);min-height:var(--site-nav-h);align-items:center;gap:var(--s-5);margin:0 auto;display:flex}.sh-course-actions{top:calc(100% + 1px);z-index:0;position:absolute;inset-inline:0}.sh-dropdown,.sh-sheet{z-index:1}.sh-skip{left:var(--pad-x);z-index:60;padding:10px var(--s-4);border-radius:var(--r-md);background:var(--accent);color:var(--accent-contrast);font:600 var(--t-small) var(--sans);text-decoration:none;position:absolute;top:-100px}.sh-skip:focus{top:8px}.sh-brand{font:700 15px/1.2 var(--sans);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;flex:none;align-items:center;min-height:44px;display:inline-flex}.sh-nav{justify-content:flex-end;align-items:center;gap:var(--s-5);flex:auto;min-width:0;display:flex}.sh-nav a{min-height:44px;font:600 var(--t-small) var(--sans);color:var(--muted);white-space:nowrap;align-items:center;line-height:1.2;display:inline-flex}.sh-nav a:hover{color:var(--accent)}.sh-nav-group{position:relative}.sh-nav-trigger{min-height:44px;color:var(--muted);font:600 var(--t-small) var(--sans);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;line-height:1.2;display:inline-flex}.sh-nav-trigger:hover,.sh-nav-trigger[data-current],.sh-nav-trigger[aria-expanded=true]{color:var(--accent-ink)}.sh-nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.sh-nav-trigger:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px;border-radius:var(--r-sm)}.sh-dropdown{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);width:284px;box-shadow:var(--shadow-lift);padding:8px;position:absolute;top:calc(100% + 12px);left:-20px}.sh-dropdown[hidden]{display:none}.sh-nav .sh-dropdown a{white-space:normal;border-radius:var(--r-sm);flex-direction:column;align-items:flex-start;gap:7px;padding:16px 12px;display:flex}.sh-nav .sh-dropdown a:hover,.sh-nav .sh-dropdown a[aria-current]{background:var(--chip);text-decoration:none}.sh-dropdown a strong{color:var(--ink);font-size:15px}.sh-dropdown a span{color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}.sh-right{align-items:center;gap:var(--s-1);flex:none;margin-left:auto;display:flex}.sh-icon,.theme-toggle{border-radius:var(--r-md);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.sh-icon:hover,.theme-toggle:hover{background:var(--chip);color:var(--accent-ink)}.sh-icon svg{width:20px;height:20px}.theme-toggle{font-size:14px}.sh-menu-btn{display:none}.sh-sheet{background:var(--header-bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lift);padding:var(--s-2) var(--pad-x) var(--s-4);overscroll-behavior:contain;max-height:calc(100dvh - 80px);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.sh-sheet-group{border-bottom:1px solid var(--line);margin-bottom:5px;padding-block:10px}.sh-sheet-label{padding:5px var(--s-2);font:600 13px/1.5 var(--sans);color:var(--muted);display:block}.sh-sheet nav{display:grid}.sh-sheet nav a{min-height:48px;padding:0 var(--s-2);border-radius:var(--r-sm);font:600 16px/1.2 var(--sans);color:var(--ink);align-items:center;display:flex}.sh-sheet nav a:hover,.sh-sheet nav a[aria-current]{color:var(--accent-ink);background:var(--accent-tint)}.sh-sheet-theme{margin-top:var(--s-2);padding:var(--s-2) 0 0 var(--s-2);border-top:1px solid var(--line);font:500 var(--t-small) var(--sans);color:var(--muted);justify-content:space-between;align-items:center;display:flex}@media (max-width:1080px){.sh-in{gap:var(--s-3)}.sh-nav,.sh-right>.theme-toggle{display:none}.sh-menu-btn{display:inline-flex}}.sf{--ink:var(--footer-ink);--muted:var(--footer-muted);--accent:var(--on-ink);color:var(--footer-ink);border-top:1px solid var(--footer-line);background:var(--footer-bg)}.sf-in{max-width:calc(var(--w-shell) + 2 * var(--pad-x));padding:clamp(28px, 6vw, 40px) var(--pad-x);gap:var(--s-5) var(--s-8);flex-wrap:wrap;justify-content:space-between;margin:0 auto;display:flex}.sf-links{gap:var(--s-2) var(--s-7);flex-wrap:wrap;width:100%;display:flex}.sf-link-group{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.sf-links a{min-height:40px;font:600 var(--t-small) var(--sans);color:var(--muted);white-space:nowrap;align-items:center;line-height:1.2;display:inline-flex}.sf-links a:hover{color:var(--accent)}.sf-legal{font-style:normal;font:400 var(--t-meta) var(--sans);color:var(--muted);gap:0 var(--s-4);flex-wrap:wrap;width:100%;line-height:1.9;display:flex}@media (max-width:960px){body:has(.lab-buybar) .sf-in{padding-bottom:calc(clamp(28px,6vw,40px) + 84px)}}.sh-brand{gap:var(--s-3);font:700 var(--t-body) var(--sans)}.sh-brand-mark{border-radius:var(--r-sm);background:var(--brand-solid);width:30px;height:30px;color:var(--brand-solid-ink);place-items:center;display:grid}.sh-nav a[aria-current]{color:var(--accent-ink);text-underline-offset:10px;text-decoration:underline}.sf-intro{justify-content:space-between;gap:var(--s-3) var(--s-5);width:100%;padding-bottom:var(--s-5);border-bottom:1px solid var(--footer-line);flex-wrap:wrap;display:flex}.sf-intro strong{font:700 var(--t-body) var(--sans)}.sf-intro span{font:400 var(--t-small) var(--sans);color:var(--footer-muted)}.sf a:focus-visible{outline:2px solid var(--footer-ink);outline-offset:4px}@media (max-width:900px){:root{--site-nav-h:72px}}.site-book-banner{top:calc(var(--site-nav-h) + 1px);z-index:49;height:var(--site-book-banner-h);background:var(--brand-solid);color:var(--brand-solid-ink);position:sticky}.site-book-banner>a{justify-content:center;align-items:center;gap:var(--s-4);height:100%;padding-inline:var(--pad-x);color:inherit;font:500 var(--t-small) var(--sans);white-space:nowrap;text-decoration:none;display:flex}.site-book-banner-hook{font-weight:650}.site-book-banner-offer{padding:3px var(--s-2);border-radius:var(--r-sm);background:var(--brand-solid-ink);color:var(--brand-solid);font:700 var(--t-meta) var(--sans);white-space:nowrap;flex:none;line-height:1.4}.site-book-banner-countdown{padding-inline:var(--s-4);border-inline-start:1px solid color-mix(in srgb, var(--brand-solid-ink) 30%, transparent);font-variant-numeric:tabular-nums;flex:none;align-items:center;display:inline-flex}.site-book-banner-countdown time{font:650 var(--t-small) var(--sans);text-align:center;min-width:12ch;line-height:1.35}.site-book-banner-action{gap:var(--s-1);min-height:30px;padding:3px var(--s-3);border:1px solid color-mix(in srgb, var(--brand-solid-ink) 45%, transparent);border-radius:var(--r-pill);white-space:nowrap;font:600 var(--t-meta) var(--sans);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.site-book-banner-action svg{flex:none;width:14px;height:14px}.site-book-banner>a:hover{text-decoration:none}.site-book-banner>a:hover .site-book-banner-action{background:var(--brand-solid-ink);color:var(--brand-solid)}.site-book-banner>a:focus-visible{outline:2px solid var(--brand-solid-ink);outline-offset:-4px}.site-book-banner-short,.site-book-banner-mobile,.site-book-banner-cta-mobile{display:none}@media (max-width:1100px){.site-book-banner-hook{display:none}.site-book-banner-short{display:inline}}@media (max-width:700px){.site-book-banner>a{gap:var(--s-2);padding-inline:var(--s-3);font:500 var(--t-small) var(--sans)}.site-book-banner-short,.site-book-banner-cta-full,.site-book-banner-seconds,.site-book-banner-action svg{display:none}.site-book-banner-mobile{order:0;font-weight:500;display:inline}.site-book-banner-offer{color:inherit;font:600 var(--t-small) var(--sans);background:0 0;order:1;padding:0}.site-book-banner-countdown{padding-inline:var(--s-2) 0;order:2}.site-book-banner-countdown time{font:500 var(--t-small) var(--sans);min-width:0;line-height:1.35}.site-book-banner-action{min-height:28px;padding:0 var(--s-2);background:var(--brand-solid-ink);color:var(--brand-solid);font:600 var(--t-small) var(--sans);border:0;order:3}.site-book-banner-cta-mobile{display:inline}}@media (max-width:359px){.site-book-banner>a{gap:var(--s-1);padding-inline:var(--s-2)}.site-book-banner-mobile-prefix{display:none}.site-book-banner-countdown{border-inline-start:0;padding-inline:0}}@media print{.site-book-banner{display:none}}
.reading-progress{appearance:none;z-index:55;width:100%;height:3px;color:var(--accent);pointer-events:none;background:0 0;border:0;margin:0;padding:0;display:block;position:fixed;inset:0 0 auto}.reading-progress[hidden]{display:none}.reading-progress::-webkit-progress-bar{background:0 0}.reading-progress::-webkit-progress-value{background:var(--accent)}.reading-progress::-moz-progress-bar{background:var(--accent)}@media print{.reading-progress{display:none}}
