@font-face{font-family:Geist;font-style:normal;font-display:optional;font-weight:100 900;src:url(/fonts/geist-latin.woff2) format("woff2-variations"),url(/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local("Arial"),local("Helvetica Neue"),local("Roboto");size-adjust:104.5%;ascent-override:96.2%;descent-override:28.2%;line-gap-override:0%}:root,.tone-light{color-scheme:light;--bg: #f3f4f1;--bg-sunk: #e9ebe6;--surface: #fbfbf9;--surface-2: #f6f7f4;--ink: #0b0f17;--ink-2: #363c48;--ink-3: #4a5160;--line: #d9dcd5;--line-strong: #b9beb4;--hair: rgba(11, 15, 23, .12);--grid-ink: rgba(11, 15, 23, .05);--accent: #1d3fd8;--accent-strong: #1733b4;--accent-soft: #e4e9fb;--accent-line: #b8c6f6;--on-accent: #ffffff;--glow: rgba(29, 63, 216, .16);--up: #b42318;--down: #0b7a5c;--warn-bg: #fff3d1;--warn-ink: #6e4500;--warn-line: #f1d48a;--ok-bg: #e3f4ec;--ok-ink: #0a6a4f;--ok-line: #a9dcc6;--alert-bg: #fdecea;--alert-ink: #8f1d14;--band: #0a0d14;--band-2: #121722;--band-ink: #eef1f6;--band-ink-2: #a8b0bf;--band-line: #232a38;--shadow-1: 0 1px 0 rgba(11, 15, 23, .04), 0 1px 2px rgba(11, 15, 23, .05);--shadow-2: 0 1px 0 rgba(11, 15, 23, .03), 0 24px 48px -28px rgba(18, 30, 72, .3);--shadow-3: 0 2px 0 rgba(11, 15, 23, .03), 0 40px 80px -40px rgba(18, 30, 72, .42);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .75)}:root{--font-sans: "Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-code: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-prose: 1.0625rem;--fs-lg: 1.1875rem;--fs-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--fs-2xl: clamp(1.5rem, 1.15rem + 1.5vw, 2.25rem);--fs-3xl: clamp(2.125rem, 1.2rem + 3.6vw, 4.25rem);--fs-display: clamp(2.75rem, 1.1rem + 6.6vw, 7rem);--fs-giant: clamp(4.5rem, 1rem + 17vw, 19rem);--fw-display: 380;--lh-tight: .96;--lh-snug: 1.12;--lh-body: 1.6;--lh-prose: 1.72;--track-display: -.055em;--track-tight: -.04em;--track-snug: -.022em;--track-caps: .12em;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--s-16: 4rem;--s-20: 5rem;--s-24: 6rem;--section: clamp(4.5rem, 2rem + 8vw, 10rem);--container: 1360px;--gutter: clamp(1rem, .4rem + 2.8vw, 3rem);--col-gap: clamp(1rem, .5rem + 1.6vw, 2rem);--measure: 68ch;--header-h: 68px;--r-xs: 3px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.32, .72, 0, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--t-fast: .18s;--t-med: .36s;--t-slow: .9s;--z-header: 40;--z-overlay: 60;--z-dialog: 80;--color-bg: var(--bg);--color-bg-elevated: var(--surface);--color-bg-card: var(--surface);--color-text: var(--ink);--color-text-muted: var(--ink-2);--color-text-subtle: var(--ink-3);--color-accent: var(--accent);--color-border: var(--line);--color-border-strong: var(--line-strong);--font-body: var(--font-sans);--radius-md: var(--r-sm);--radius-lg: var(--r-md)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]),:root:not([data-theme=light]) .tone-light{color-scheme:dark;--bg: #090c12;--bg-sunk: #06080d;--surface: #10151f;--surface-2: #151b27;--ink: #eef1f6;--ink-2: #b8c0cd;--ink-3: #9da6b6;--line: #222937;--line-strong: #343d4e;--hair: rgba(238, 241, 246, .14);--grid-ink: rgba(186, 205, 240, .055);--accent: #8fa6ff;--accent-strong: #aabcff;--accent-soft: #151f42;--accent-line: #2b3d7d;--on-accent: #090c12;--glow: rgba(143, 166, 255, .22);--up: #ff958a;--down: #5fd3a8;--warn-bg: #3a2c08;--warn-ink: #f6d585;--warn-line: #6b5212;--ok-bg: #0d3327;--ok-ink: #84e3c0;--ok-line: #1f5c47;--alert-bg: #3a1512;--alert-ink: #ffb4ab;--band: #06080d;--band-2: #0e131c;--band-ink: #eef1f6;--band-ink-2: #a8b0bf;--band-line: #1c2230;--shadow-1: 0 1px 0 rgba(0, 0, 0, .3);--shadow-2: 0 24px 48px -28px rgba(0, 0, 0, .7);--shadow-3: 0 40px 80px -40px rgba(0, 0, 0, .85);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .05)}}:root[data-theme=dark],:root[data-theme=dark] .tone-light,.tone-dark{color-scheme:dark;--bg: #090c12;--bg-sunk: #06080d;--surface: #10151f;--surface-2: #151b27;--ink: #eef1f6;--ink-2: #b8c0cd;--ink-3: #9da6b6;--line: #222937;--line-strong: #343d4e;--hair: rgba(238, 241, 246, .14);--grid-ink: rgba(186, 205, 240, .055);--accent: #8fa6ff;--accent-strong: #aabcff;--accent-soft: #151f42;--accent-line: #2b3d7d;--on-accent: #090c12;--glow: rgba(143, 166, 255, .22);--up: #ff958a;--down: #5fd3a8;--warn-bg: #3a2c08;--warn-ink: #f6d585;--warn-line: #6b5212;--ok-bg: #0d3327;--ok-ink: #84e3c0;--ok-line: #1f5c47;--alert-bg: #3a1512;--alert-ink: #ffb4ab;--band: #06080d;--band-2: #0e131c;--band-ink: #eef1f6;--band-ink-2: #a8b0bf;--band-line: #1c2230;--shadow-1: 0 1px 0 rgba(0, 0, 0, .3);--shadow-2: 0 24px 48px -28px rgba(0, 0, 0, .7);--shadow-3: 0 40px 80px -40px rgba(0, 0, 0, .85);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .05)}.tone-dark,.tone-light{background-color:var(--bg);color:var(--ink)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1.5rem);hanging-punctuation:first}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);font-feature-settings:"ss01" on,"cv11" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}img,svg,video{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4,h5,h6{margin:0;font-weight:650;line-height:var(--lh-snug);letter-spacing:var(--track-snug);text-wrap:balance;color:var(--ink)}p,ul,ol,dl,figure,blockquote{margin:0}p{text-wrap:pretty}ul[class],ol[class]{list-style:none;padding:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}table{border-collapse:collapse}hr{border:0;border-top:1px solid var(--line);margin:var(--s-8) 0}::selection{background:var(--accent-soft);color:var(--ink)}:focus{outline:none}.visually-hidden,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:var(--z-dialog);padding:var(--s-3) var(--s-4);background:var(--ink);color:var(--bg);border-radius:var(--r-sm);font-weight:600;text-decoration:none}.skip-link:focus{top:var(--s-3)}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(820px + 2 * var(--gutter))}.mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.num{font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--ink-3)}.brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);flex-shrink:0;min-height:44px}.brand__mark{position:relative;width:14px;height:14px;border-radius:3px;background:var(--accent);box-shadow:4px 4px 0 -1px var(--accent-line);transition:transform var(--t-med) var(--ease-spring)}.brand:hover .brand__mark{transform:rotate(-8deg) scale(1.08)}.brand__name{font-size:1.1875rem;font-weight:700;letter-spacing:-.04em}.brand__tag{font-family:var(--font-sans);font-size:.625rem;font-weight:500;color:var(--ink-3);padding:2px 5px;border:1px solid var(--line);border-radius:4px;transform:translateY(1px)}.site-header{position:sticky;top:0;z-index:var(--z-header);padding-top:0}.site-header__inner{padding-top:0}.site-header__bar{position:relative;isolation:isolate;display:flex;align-items:center;gap:var(--s-6);height:var(--header-h)}.site-header__inner{position:relative}.site-header:before,.site-header__bar:before{content:"";position:absolute;z-index:-1;pointer-events:none}.site-header:before{top:0;right:0;bottom:0;left:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}.site-header__bar:before{inset:6px calc(var(--s-3) * -1);border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:var(--shadow-2);opacity:0;transform:scale(.985)}@supports not (background: color-mix(in srgb,red 50%,transparent)){.site-header:before{background:var(--bg)}.site-header__bar:before{background:var(--surface)}}.site-header__bar:before{display:none}.mainnav{flex:1;min-width:0}.mainnav__list{display:flex;align-items:center;gap:2px}.mainnav__link{display:inline-flex;align-items:center;gap:4px;padding:.45rem .7rem;border:0;background:none;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.mainnav__link:hover{color:var(--ink);background:var(--bg-sunk)}.mainnav__link.active,.mainnav__link[aria-current=page]{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.mainnav__more{position:relative}.mainnav__more-btn .icon{transition:transform var(--t-med) var(--ease-spring)}.mainnav__more.is-open .mainnav__more-btn .icon{transform:rotate(180deg)}.mainnav__sub{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-3);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top left;transition:opacity var(--t-fast) var(--ease-out),transform var(--t-med) var(--ease-spring),visibility 0s linear var(--t-med)}.mainnav__more.is-open .mainnav__sub,.mainnav__more:focus-within .mainnav__sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}.mainnav__sublink{display:block;padding:.55rem .75rem;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none}.mainnav__sublink:hover,.mainnav__sublink.active{background:var(--bg-sunk);color:var(--ink)}.site-header__tools{display:flex;align-items:center;gap:var(--s-2);margin-left:auto}.searchbtn{display:inline-flex;align-items:center;gap:.55rem;height:38px;padding:0 .5rem 0 .75rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-3);font-size:var(--fs-sm);text-decoration:none;transition:border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.searchbtn:hover{border-color:var(--line-strong);color:var(--ink)}.searchbtn__kbd{font-family:var(--font-sans);font-size:var(--fs-2xs);min-width:20px;height:20px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:4px;color:var(--ink-3);background:var(--bg)}.themetoggle,.burger{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);transition:color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.themetoggle:hover,.burger:hover{color:var(--ink);border-color:var(--line-strong)}.themetoggle:active,.burger:active,.searchbtn:active{transform:scale(.96)}.themetoggle__moon{display:none}:root[data-theme=dark] .themetoggle__sun{display:none}:root[data-theme=dark] .themetoggle__moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .themetoggle__sun{display:none}:root:not([data-theme=light]) .themetoggle__moon{display:block}}.burger{display:none;position:relative}.burger__line{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;border-radius:2px;transition:transform var(--t-med) var(--ease-spring)}.burger__line:first-child{transform:translateY(-4px)}.burger__line:last-child{transform:translateY(4px)}.burger[aria-expanded=true] .burger__line:first-child{transform:rotate(45deg)}.burger[aria-expanded=true] .burger__line:last-child{transform:rotate(-45deg)}@media(max-width:1099px){.burger{display:inline-grid}.searchbtn__label,.searchbtn__kbd{display:none}.searchbtn{width:40px;height:40px;padding:0;justify-content:center}.mainnav{position:fixed;inset:var(--header-h) 0 0 0;z-index:var(--z-overlay);padding:var(--s-6) var(--gutter) var(--s-12);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow-y:auto;visibility:hidden;opacity:0;transition:opacity var(--t-med) var(--ease-out),visibility 0s linear var(--t-med)}.mainnav.is-open{visibility:visible;opacity:1;transition-delay:0s}.mainnav__list{flex-direction:column;align-items:stretch;gap:0}.mainnav__list>li{border-bottom:1px solid var(--line);opacity:0;transform:translateY(14px);transition:opacity var(--t-med) var(--ease-out),transform var(--t-slow) var(--ease-spring)}.mainnav.is-open .mainnav__list>li{opacity:1;transform:none;transition-delay:calc(60ms + var(--i, 0) * 45ms)}.mainnav__link{width:100%;padding:1rem 0;font-size:1.375rem;font-weight:600;letter-spacing:var(--track-snug);color:var(--ink);border-radius:0;background:none!important;box-shadow:none!important;justify-content:space-between}.mainnav__link.active{color:var(--accent)}.mainnav__sub{position:static;min-width:0;padding:0 0 var(--s-4);border:0;box-shadow:none;background:none;opacity:1;visibility:visible;transform:none;display:none}.mainnav__more.is-open .mainnav__sub{display:block}.mainnav__sublink{padding:.6rem 0;font-size:var(--fs-md)}.menu-open body{overflow:hidden}}@media(max-width:380px){.brand__tag{display:none}}.palette{width:min(640px,calc(100vw - 2rem));max-height:min(70vh,560px);margin:12vh auto auto;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-3);overflow:hidden}.palette::backdrop{background:color-mix(in srgb,var(--band) 45%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.palette[open]{animation:palette-in var(--t-med) var(--ease-spring)}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}}.palette__field{display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-4);border-bottom:1px solid var(--line);color:var(--ink-3)}.palette__input{flex:1;min-width:0;height:56px;border:0;background:none;font-size:var(--fs-lg);color:var(--ink)}.palette__input::-webkit-search-cancel-button{display:none}.palette__input:focus-visible{outline:none}.palette__esc{font-family:var(--font-sans);font-size:var(--fs-2xs);padding:4px 8px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink-3)}.palette__hint{padding:var(--s-3) var(--s-4) var(--s-1);font-size:var(--fs-2xs);color:var(--ink-3)}.palette__list{padding:var(--s-1) var(--s-2) var(--s-3);overflow-y:auto;max-height:calc(min(70vh,560px) - 100px)}.palette__item{display:grid;grid-template-columns:7.5rem 1fr auto;align-items:center;gap:var(--s-3);padding:.7rem var(--s-3);border-radius:var(--r-sm);cursor:pointer}.palette__item.is-active{background:var(--accent-soft)}.palette__kind{font-size:var(--fs-2xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette__title{font-size:var(--fs-sm);font-weight:500}.palette__go{color:var(--accent);opacity:0;transform:translate(-4px);transition:opacity var(--t-fast) var(--ease-out),transform var(--t-med) var(--ease-spring)}.palette__item.is-active .palette__go{opacity:1;transform:none}.palette__empty{padding:var(--s-6) var(--s-3);color:var(--ink-3);font-size:var(--fs-sm)}.palette__empty a{color:var(--accent)}@media(max-width:560px){.palette__item{grid-template-columns:1fr auto}.palette__kind{grid-column:1 / -1}}.site-footer{position:relative;margin-top:var(--section);background:var(--band);color:var(--band-ink-2);overflow:hidden;padding-top:var(--s-16)}.site-footer a,.site-footer .footer__cookies{color:var(--band-ink);text-decoration:none}.site-footer a:hover,.site-footer .footer__cookies:hover{text-decoration:underline}.site-footer :focus-visible{outline-color:#9db8ff}.site-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s-10)}.site-footer__brand p{margin-top:var(--s-3);max-width:36ch;font-size:var(--fs-sm)}.brand--footer{color:var(--band-ink)}.brand--footer .brand__mark{box-shadow:4px 4px 0 -1px #2c4580}.site-footer__by{font-family:var(--font-sans);font-size:var(--fs-xs)}.site-footer__title{font-family:var(--font-sans);font-size:var(--fs-2xs);color:var(--band-ink-2);margin-bottom:var(--s-3)}.site-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.site-footer__col a,.site-footer__col .footer__cookies{display:inline-block;padding:.3rem 0;font-size:var(--fs-sm)}.footer__cookies{padding:0;border:0;background:none;font:inherit;cursor:pointer}.site-footer__base{display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--band-line);font-size:var(--fs-xs)}.site-footer{padding-bottom:var(--s-8)}.site-footer__top{font-size:var(--fs-xs)}@media(max-width:900px){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1 / -1}}@media(max-width:560px){.site-footer{padding-top:var(--s-12)}.site-footer__grid{gap:var(--s-8) var(--s-5)}.site-footer__col[aria-label=Rubriques]{grid-column:1 / -1}.site-footer__col[aria-label=Rubriques] ul{grid-template-columns:1fr 1fr;column-gap:var(--s-5)}.site-footer__base{margin-top:var(--s-8)}}.consent,.consent__btn{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif!important}.consent{border-radius:var(--r-lg)!important;box-shadow:var(--shadow-3)!important;border-color:var(--line)!important}.consent__btn[data-consent=granted]{background:var(--accent)!important;color:var(--on-accent)!important;border-color:var(--accent)!important}.consent__text{max-width:60ch}@media(max-width:560px){.consent{left:.5rem!important;right:.5rem!important;bottom:.5rem!important;padding:.85rem 1rem!important;font-size:.875rem!important}.consent__text{margin-bottom:.6rem!important}}.consent__btn[data-consent=denied]{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line-strong)!important}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:500;color:var(--accent)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:1px;background:currentColor}.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4) var(--s-8);flex-wrap:wrap;margin-bottom:var(--s-8)}.shead__main{display:grid;gap:var(--s-2)}.shead__title{font-size:var(--fs-2xl);font-weight:650;letter-spacing:var(--track-tight);line-height:1.12}.shead__aside{font-size:var(--fs-sm);color:var(--ink-3)}.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-sm);font-weight:600;color:var(--accent);text-decoration:none;min-height:32px}.link-arrow .icon{transition:transform var(--t-med) var(--ease-spring)}.link-arrow:hover{text-decoration:underline}.link-arrow:hover .icon{transform:translate(3px)}.linkbtn{border:0;background:none;padding:0;color:var(--accent);font-weight:600;text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:46px;padding:.35rem .4rem .35rem 1.2rem;border-radius:var(--r-pill);border:1px solid transparent;font-size:var(--fs-sm);font-weight:600;text-decoration:none;transition:transform var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-med) var(--ease-out)}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent);color:var(--on-accent);box-shadow:0 10px 24px -14px color-mix(in srgb,var(--accent) 80%,transparent),var(--inset-hi)}.btn--primary:hover{background:var(--accent-strong)}.btn__icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--on-accent) 18%,transparent);transition:transform var(--t-med) var(--ease-spring)}.btn:hover .btn__icon{transform:translate(2px) scale(1.05)}.btn--ghost{padding:.35rem 1.2rem;background:var(--surface);color:var(--ink);border-color:var(--line)}.btn--ghost:hover{border-color:var(--line-strong)}.btn--sm{min-height:34px;padding:.25rem .8rem;font-size:var(--fs-xs);gap:.4rem}.btn--outline{padding:.35rem 1.2rem;border-color:var(--line-strong);color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--r-xs);font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:500;white-space:nowrap;line-height:1.3}.badge--ok{background:var(--ok-bg);color:var(--ok-ink);box-shadow:inset 0 0 0 1px var(--ok-line)}.badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge--sample{background:var(--warn-bg);color:var(--warn-ink);box-shadow:inset 0 0 0 1px var(--warn-line)}.badge--pending{background:var(--surface);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:var(--r-xs)}.bezel{padding:6px;border-radius:var(--r-xl);background:color-mix(in srgb,var(--bg-sunk) 70%,transparent);box-shadow:inset 0 0 0 1px var(--line)}.bezel__core{border-radius:calc(var(--r-xl) - 6px);background:var(--surface);box-shadow:var(--shadow-2),var(--inset-hi),0 0 0 1px var(--line);padding:clamp(1rem,.6rem + 1.5vw,1.6rem)}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--font-sans);font-weight:600}.avatar--img{display:block;background:none;object-fit:cover}.avatar--sm{width:32px;height:32px;font-size:.6875rem}.avatar--md{width:40px;height:40px;font-size:.75rem}.avatar--lg{width:52px;height:52px;font-size:.875rem}.authorline{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--ink-3)}.authorline__name{color:var(--ink);font-weight:600;text-decoration:none}.authorline__name:hover{text-decoration:underline}.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;padding:0;margin:0 0 var(--s-5);font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3)}.crumbs li{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.crumbs li+li:before{content:"/";color:var(--line-strong)}.crumbs a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line-strong)}.crumbs a:hover{color:var(--accent);border-color:currentColor}.crumbs [aria-current]{display:block;flex:1 1 0;min-width:6ch;max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:.3rem .85rem;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);font-weight:500;transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chip__n{font-size:var(--fs-2xs);opacity:.7}.chip--quiet{min-height:32px;font-size:var(--fs-xs);font-family:var(--font-sans)}.ranked{display:grid;border-top:1px solid var(--line)}.ranked--2col{grid-template-columns:1fr 1fr;column-gap:var(--s-10)}.ranked__item{border-bottom:1px solid var(--line)}.ranked__link{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:var(--s-4);padding:var(--s-4) 0;text-decoration:none;color:var(--ink)}.ranked__n{font-size:var(--fs-sm);color:var(--ink-3);transition:color var(--t-fast) var(--ease-out)}.ranked__body{display:grid;gap:2px}.ranked__hub{font-size:var(--fs-2xs);color:var(--ink-3)}.ranked__title{font-weight:550;line-height:1.35}.ranked__go{color:var(--ink-3);transition:transform var(--t-med) var(--ease-spring),color var(--t-fast) var(--ease-out)}.ranked__link:hover .ranked__title{text-decoration:underline;text-decoration-color:var(--accent-line)}.ranked__link:hover .ranked__n,.ranked__link:hover .ranked__go{color:var(--accent)}.ranked__link:hover .ranked__go{transform:translate(2px,-2px)}@media(max-width:860px){.ranked--2col{grid-template-columns:1fr}}.toolgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s-4)}.toolcard{display:flex}@media(max-width:600px){.toolgrid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:80%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter) * -1);padding:4px var(--gutter) var(--s-3);scrollbar-width:none}.toolgrid::-webkit-scrollbar{display:none}.toolcard{scroll-snap-align:start;animation:none!important}}.toolcard__link{position:relative;display:flex;flex-direction:column;gap:var(--s-2);width:100%;padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-1);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform var(--t-med) var(--ease-spring),box-shadow var(--t-med) var(--ease-out)}.toolcard__link:after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}.toolcard__link:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--accent-line),var(--shadow-2)}.toolcard__link:hover:after{transform:scaleX(1)}.toolcard__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s-2)}.toolcard__glyph{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-line);transition:transform var(--t-med) var(--ease-spring)}.toolcard__link:hover .toolcard__glyph{transform:rotate(-6deg) scale(1.06)}.toolcard__link:active{transform:translateY(-1px) scale(.99)}.toolcard__go{position:absolute;top:var(--s-5);right:var(--s-5);color:var(--ink-3);opacity:0;transform:translate(-4px,4px);transition:opacity var(--t-med) var(--ease-out),transform var(--t-med) var(--ease-spring)}.toolcard__link:hover .toolcard__go,.toolcard__link:focus-visible .toolcard__go{opacity:1;transform:none;color:var(--accent)}.toolcard__link:hover .toolcard__kind{opacity:0}.toolcard__kind{transition:opacity var(--t-fast) var(--ease-out);font-size:var(--fs-2xs);color:var(--ink-3)}.toolcard__name{font-size:var(--fs-lg);font-weight:650;letter-spacing:var(--track-snug)}.toolcard__sum{font-size:var(--fs-sm);color:var(--ink-2);flex:1}.toolcard__io{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px dashed var(--line);font-size:var(--fs-xs);color:var(--ink-3)}.author-box{display:flex;gap:var(--s-5);margin-top:var(--s-12);padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line)}.author-box__body{display:grid;gap:var(--s-2)}.author-box__name{font-size:var(--fs-lg);font-weight:650}.author-box__name a{text-decoration:none}.author-box__name a:hover{text-decoration:underline}.author-box__bio{color:var(--ink-2);font-size:var(--fs-sm)}.author-box__links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6)}@media(max-width:520px){.author-box{flex-direction:column}}.ranking{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--s-8);padding:clamp(1.25rem,1rem + 2vw,2.5rem);border-radius:var(--r-xl);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}.ranking:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(135deg,var(--grid-ink) 0 1px,transparent 1px 10px);mask-image:linear-gradient(90deg,#000,transparent 55%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 55%);pointer-events:none}.ranking>*{position:relative}.ranking__head{display:grid;align-content:start;justify-items:start;gap:var(--s-3)}.ranking__body{display:grid;gap:var(--s-5);align-content:start}.ranking__lede{color:var(--ink-2)}.ranking__steps{display:grid;gap:0;border-top:1px solid var(--line)}.ranking__steps li{display:grid;grid-template-columns:2.25rem 7rem 1fr;gap:var(--s-3);align-items:baseline;padding:var(--s-3) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.ranking__n{color:var(--ink-3)}.ranking__t{font-weight:600}.ranking__d{color:var(--ink-2)}.ranking__steps .is-current .ranking__n,.ranking__steps .is-current .ranking__t{color:var(--accent)}.ranking--compact{grid-template-columns:1fr;gap:var(--s-5)}.ranking--compact .shead__title{font-size:var(--fs-xl)}@media(max-width:860px){.ranking{grid-template-columns:1fr}}@media(max-width:480px){.ranking__steps li{grid-template-columns:2rem 1fr}.ranking__d{grid-column:2}}.pagination{margin-top:var(--s-10)}.pagination__list,.pagination__items{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s-2);list-style:none;padding:0;margin:0}.pagination__link,.pagination__ellipsis{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 .75rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);font-family:var(--font-sans);font-size:var(--fs-sm);text-decoration:none;color:var(--ink-2)}.pagination__ellipsis{border-color:transparent;background:none}.pagination__link:hover{border-color:var(--line-strong);color:var(--ink)}.pagination__link--current{background:var(--ink);border-color:var(--ink);color:var(--bg)}.search-bar{position:relative;display:flex;align-items:center;max-width:520px}.search-bar__icon{position:absolute;left:14px;color:var(--ink-3);pointer-events:none}.search-bar__icon svg{width:18px;height:18px;stroke-width:1.5}.search-bar__input{width:100%;height:48px;padding:0 44px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-md);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.search-bar__input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-bar__input::-webkit-search-cancel-button{display:none}.search-bar__clear{position:absolute;right:6px;width:36px;height:36px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink-3);font-size:1.25rem}.search-bar__clear:hover{background:var(--bg-sunk);color:var(--ink)}.articles__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:var(--s-5)}.article-card{display:flex}.article-card__link{display:flex;flex-direction:column;width:100%;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform var(--t-med) var(--ease-spring),box-shadow var(--t-med) var(--ease-out)}.article-card__link:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--accent-line),var(--shadow-2)}.article-card__image{aspect-ratio:3 / 2;background:var(--bg-sunk);overflow:hidden}.article-card__img{width:100%;height:100%;object-fit:cover}.article-card__cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;padding:var(--s-4) var(--s-5);background:radial-gradient(120% 90% at 100% 100%,var(--accent-soft),transparent 60%),linear-gradient(var(--grid-ink) 1px,transparent 1px) 0 0 / 18px 18px,linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px) 0 0 / 18px 18px,var(--bg-sunk);overflow:hidden}.article-card__cover-mark{align-self:flex-end;font-size:clamp(3rem,2rem + 4vw,5.5rem);font-weight:700;line-height:.85;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--accent);transition:transform var(--t-slow) var(--ease-spring)}.article-card--featured .article-card__cover-mark{font-size:clamp(5rem,3rem + 8vw,11rem)}.article-card__link:hover .article-card__cover-mark{transform:translate(-6px)}.article-card__img{transition:transform var(--t-slow) var(--ease-out)}.article-card__link:hover .article-card__img{transform:scale(1.03)}.article-card__content{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5);flex:1}.article-card__category{font-family:var(--font-sans);font-size:var(--fs-2xs);color:var(--accent)}.article-card__title{font-size:var(--fs-lg);font-weight:620;line-height:1.3}.article-card__excerpt{font-size:var(--fs-sm);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-card__date{margin-top:auto;font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3)}.article-card--featured{grid-column:1 / -1}@media(min-width:900px){.article-card--featured .article-card__link{flex-direction:row}.article-card--featured .article-card__image{flex:0 0 52%}.article-card--featured .article-card__content{padding:var(--s-8);justify-content:center}.article-card--featured .article-card__title{font-size:var(--fs-2xl);letter-spacing:var(--track-tight)}}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}.range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:var(--line)}.range::-moz-range-track{height:4px;border-radius:4px;background:var(--line)}.range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease-out)}.range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}.range:active::-webkit-slider-thumb{transform:scale(1.15)}.range:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appdl{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;margin:1.25rem 0 1.5rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.appdl--bottom{margin:2.5rem 0 2rem}.appdl__body{flex:1 1 18rem;min-width:0}.appdl__kicker{margin:0;font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;color:var(--accent)}.appdl__name{margin:.15rem 0 .25rem;font-size:1.35rem;font-weight:700;color:var(--ink)}.appdl__desc{margin:0;color:var(--ink);opacity:.85;line-height:1.5}.appdl__btn{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem .6rem .9rem;min-height:48px;border-radius:12px;background:#000;color:#fff;text-decoration:none;flex:0 0 auto;border:1px solid rgba(255,255,255,.28)}.appdl__btn:hover,.appdl__btn:focus-visible{background:#1d1d1f;color:#fff}.appdl__btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.appdl__btntext{display:flex;flex-direction:column;line-height:1.1;text-align:left}.appdl__btntext small{font-size:.7rem}.appdl__btntext strong{font-size:1.15rem;font-weight:600}.appdl-bar{display:none}@media(max-width:767px){.appdl-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--bg,#fff);border-top:1px solid var(--line);box-shadow:0 -6px 18px #00000014}.appdl-bar__text{font-size:.9rem;color:var(--ink)}.appdl-bar .appdl__btn{min-height:44px;padding:.45rem .8rem}body:has(.appdl-bar){padding-bottom:72px}.appdl__btn{width:100%;justify-content:center}.appdl-bar .appdl__btn{width:auto}}.appdl--bottom{flex-direction:column;align-items:flex-start}.appdl__question{margin:0 0 .4rem;font-size:1.3rem;line-height:1.3;color:var(--ink)}.appdl__shots{display:flex;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;overflow-x:auto;max-width:100%}.appdl__shots li{flex:0 0 auto}.appdl__shots img{display:block;width:150px;height:auto;border-radius:12px;border:1px solid var(--line)}.calc__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-5)}.calc__title{font-size:var(--fs-lg);font-weight:650;letter-spacing:var(--track-snug)}.calc__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.calc__fields--2{grid-template-columns:repeat(2,minmax(0,1fr))}.calc__field{display:grid;gap:6px;align-content:start}.calc__label{font-size:var(--fs-xs);font-weight:500;color:var(--ink-2);line-height:1.3;min-height:2.6em;display:flex;align-items:flex-end}.calc__input-wrap{position:relative}.calc__input{width:100%;height:50px;padding:0 2.2rem 0 .85rem;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);font-size:1.25rem;font-weight:500;color:var(--ink);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}.calc__input:hover{border-color:var(--ink-3)}.calc__input:focus-visible{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.calc__unit{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);font-size:var(--fs-sm);color:var(--ink-3);pointer-events:none}.has-error .calc__input{border-color:var(--up)}.calc__error{font-size:var(--fs-xs);color:var(--up)}.calc__sample{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--fs-2xs);color:var(--ink-3);transition:opacity var(--t-med) var(--ease-out)}.calc__sample.is-hidden{opacity:0}.calc__results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.calc__results--2{grid-template-columns:repeat(2,minmax(0,1fr))}.calc__result{display:grid;align-content:start;gap:4px;padding:var(--s-3) var(--s-4);min-width:0}.calc__result+.calc__result{border-left:1px solid var(--line)}.calc__result--main{background:var(--accent-soft)}.calc__rlabel{font-size:var(--fs-xs);color:var(--ink-2)}.calc__rvalue{font-size:clamp(1.25rem,1rem + 1vw,1.625rem);font-weight:500;color:var(--ink);line-height:1.15;white-space:nowrap}.calc__result--main .calc__rvalue{color:var(--accent);font-weight:600}.calc__rsub{font-size:var(--fs-2xs);color:var(--ink-3)}.calc__funnel{display:grid;gap:6px;margin-top:var(--s-4)}.calc__bar{position:relative;height:26px;border-radius:var(--r-xs);background:var(--bg-sunk);overflow:hidden}.calc__bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;background:linear-gradient(90deg,var(--accent-line),color-mix(in srgb,var(--accent-line) 50%,var(--accent-soft)));transition:transform var(--t-slow) var(--ease-out)}.calc__bar--leads .calc__bar-fill{background:var(--accent)}.calc__bar-label{position:relative;display:flex;align-items:center;height:100%;padding-left:.6rem;font-size:var(--fs-2xs);color:var(--ink)}.calc__bar--leads .calc__bar-label{padding-left:calc(.6rem + 4px);mix-blend-mode:normal}.calc__formula{margin-top:var(--s-4);padding:var(--s-3);border-radius:var(--r-sm);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-xs);line-height:1.6;color:var(--ink-2)}.calc__formula-note{color:var(--ink-3)}.calc__foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--ink-3)}.calc__gauge{position:relative;height:8px;margin-top:var(--s-4);border-radius:8px;background:var(--bg-sunk);overflow:hidden}.calc__gauge-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}@media(max-width:560px){.calc__fields{grid-template-columns:1fr 1fr}.calc__fields .calc__field:first-child{grid-column:1 / -1}.calc__fields--2 .calc__field:first-child{grid-column:auto}.calc__label{min-height:0}.calc__results{grid-template-columns:1fr 1fr}.calc__result--main{grid-column:1 / -1;order:-1;border-bottom:1px solid var(--line)}.calc__results--2 .calc__result--main{grid-column:auto;border-bottom:0;order:0}.calc__result+.calc__result{border-left:0}.calc__result:last-child{border-left:1px solid var(--line)}}.tool-embed{margin:var(--s-8) 0 var(--s-10);scroll-margin-top:calc(var(--header-h) + 1rem)}.sim__intro{font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:var(--s-4);max-width:62ch}.sim__list{display:grid;gap:var(--s-2)}.sim__row{display:grid;grid-template-columns:9.5rem 1fr 1fr 1.2fr;gap:var(--s-5);align-items:center;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.sim__row.is-first{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.sim__who{display:flex;align-items:center;gap:var(--s-3)}.sim__pos{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:600}.is-first .sim__pos{background:var(--accent);color:var(--on-accent);box-shadow:none}.sim__name{font-weight:600;font-size:var(--fs-sm)}.sim__ctrl{display:grid;gap:2px}.sim__label{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--ink-2)}.sim__label .num{color:var(--ink)}.sim__out{display:grid;gap:6px}.sim__bar{height:8px;border-radius:8px;background:var(--bg-sunk);overflow:hidden}.sim__bar span{display:block;height:100%;background:var(--accent);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}.sim__vals{display:flex;justify-content:space-between;gap:var(--s-3);font-size:var(--fs-xs);color:var(--ink-2)}.sim__vals strong{color:var(--ink);font-weight:600}.sim__note{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--ink-3)}@media(max-width:860px){.sim__row{grid-template-columns:1fr 1fr;gap:var(--s-3) var(--s-4)}.sim__who,.sim__out{grid-column:1 / -1}}.chrono{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:14px}.chrono__title{margin:0;font-size:1.2rem}.chrono__btn{min-height:72px;font-size:1.15rem;font-weight:600;border-radius:14px;border:0;background:var(--accent);color:#fff;cursor:pointer}.chrono__btn.is-running{background:#b42318}.chrono__btn:focus-visible,.chrono__reset:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.chrono__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.chrono__stats div{padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px}.chrono__stats dt{font-size:.8rem;opacity:.8}.chrono__stats dd{margin:.2rem 0 0;font-size:1.3rem;font-weight:600}.chrono__table{width:100%;border-collapse:collapse;font-size:.95rem}.chrono__table caption{text-align:left;font-size:.85rem;opacity:.8;margin-bottom:.4rem}.chrono__table th,.chrono__table td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:left}.chrono__reset{justify-self:start;background:none;border:1px solid var(--line);border-radius:10px;padding:.45rem .8rem;color:var(--ink);cursor:pointer}.chrono__note{margin:0;font-size:.85rem;opacity:.8}.hsec{padding-block:calc(var(--section) * .62);scroll-margin-top:calc(var(--header-h) + 3.5rem)}.hsec--tint{background:linear-gradient(180deg,transparent,var(--bg-sunk) 18%,var(--bg-sunk) 82%,transparent)}.home-duo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s-10);align-items:start}.home-duo__side{display:grid;gap:var(--s-5)}@media(max-width:960px){.home-duo{grid-template-columns:1fr}}.latest li{border-bottom:1px solid var(--line)}.latest__link{display:grid;grid-template-columns:8.5rem 1fr auto;gap:var(--s-4);align-items:baseline;padding:var(--s-4) 0;text-decoration:none;color:var(--ink)}.latest__hub{font-size:var(--fs-2xs);color:var(--ink-3)}.latest__title{font-weight:550;line-height:1.35}.latest__link:hover .latest__title{color:var(--accent)}.latest__date{font-size:var(--fs-sm);color:var(--ink-3)}@media(max-width:600px){.latest__link{grid-template-columns:1fr auto;gap:var(--s-1) var(--s-3)}.latest__title{grid-column:1 / -1;grid-row:2}}.author-card{display:grid;gap:var(--s-4);padding:var(--s-6);border-radius:var(--r-xl);background:var(--band);color:var(--band-ink-2)}.author-card .eyebrow{color:#9db8ff}.author-card .avatar{background:var(--band-ink);color:var(--band)}.author-card__top{display:flex;align-items:center;gap:var(--s-4)}.author-card__name{font-size:var(--fs-lg);font-weight:650}.author-card__name a{color:var(--band-ink);text-decoration:none}.author-card__name a:hover{text-decoration:underline}.author-card__bio{font-size:var(--fs-sm)}.author-card .link-arrow{color:#b6caff}.author-card :focus-visible{outline-color:#9db8ff}.hub-hero{position:relative;padding-block:clamp(1.75rem,1rem + 3vw,3.5rem) clamp(2rem,1rem + 3vw,3.5rem)}.hub-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}.hub-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(2rem,1rem + 3vw,4rem);align-items:end}.hub-hero__main{display:grid;gap:var(--s-4);justify-items:start}.hub-hero__main .crumbs ol{margin-bottom:0}.hub-hero__title{font-size:var(--fs-display);font-weight:700;line-height:1.03;letter-spacing:-.045em;max-width:20ch}.hub-hero__intro{max-width:64ch;font-size:var(--fs-lg);line-height:1.55;color:var(--ink-2)}.metagrid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.metagrid div{display:grid;gap:2px;padding:var(--s-3) var(--s-4)}.metagrid div:nth-child(2n){border-left:1px solid var(--line)}.metagrid div:nth-child(n+3){border-top:1px solid var(--line)}.metagrid dt{font-size:var(--fs-xs);color:var(--ink-3)}.metagrid dd{margin:0;font-size:var(--fs-xl);font-weight:500}.hub-hero__cta{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-block:var(--s-2)}.metagrid--hub{grid-template-columns:1fr;border:0;border-radius:0}.metagrid--hub div{grid-template-columns:1fr auto;align-items:baseline;padding:var(--s-4) var(--s-2)}.metagrid--hub div,.metagrid--hub div:nth-child(n){border:0}.metagrid--hub div+div{border-top:1px solid var(--line)}.metagrid--hub dd{white-space:nowrap}.metagrid--hub dt{font-size:var(--fs-sm);color:var(--ink-2)}.metagrid--hub dd{font-size:var(--fs-3xl);letter-spacing:-.04em;line-height:1}.hub-def{max-width:72ch;margin:calc(var(--s-2) * -1) 0 var(--s-8);color:var(--ink-2)}@media(max-width:900px){.hub-hero__grid{grid-template-columns:1fr}.metagrid--hub{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.metagrid--hub div{grid-template-columns:1fr;padding:var(--s-2) var(--s-3)}.metagrid--hub dt{order:2;font-size:var(--fs-xs)}.metagrid--hub dd{font-size:var(--fs-xl)}.metagrid--hub div+div{border-top:0;border-left:1px solid var(--line)}}.jumpnav{position:sticky;top:var(--header-h);z-index:calc(var(--z-header) - 1);border-block:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.jumpnav__list{display:flex;gap:var(--s-1);overflow-x:auto;scrollbar-width:none;padding-block:8px;mask-image:linear-gradient(90deg,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent)}.jumpnav__list::-webkit-scrollbar{display:none}.jumpnav__link{display:inline-flex;align-items:center;min-height:34px;padding:0 .8rem;border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.jumpnav__link:hover{color:var(--ink);background:var(--bg-sunk)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}.split__text{display:grid;gap:var(--s-4);justify-items:start;max-width:48ch}.split__lede{font-size:var(--fs-lg);color:var(--ink-2);line-height:1.55}.split__visual{padding:clamp(1rem,.5rem + 2vw,2rem);border-radius:var(--r-xl);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow-2);background-image:radial-gradient(var(--grid-ink) 1px,transparent 1px);background-size:16px 16px}.split__visual .schema{max-width:440px;margin-inline:auto}@media(max-width:900px){.split{grid-template-columns:1fr}}.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);counter-reset:step}.steps__link{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:var(--s-3);height:100%;padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink);transition:transform var(--t-med) var(--ease-spring),box-shadow var(--t-med) var(--ease-out)}.steps__link:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--accent-line),var(--shadow-2)}.steps__n{display:inline-flex;align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--accent)}.steps__n:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--accent-line),transparent)}.steps__title{font-weight:600;line-height:1.35}.steps__meta{font-size:var(--fs-xs);color:var(--ink-3)}.steps__item:first-child .steps__link{background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-line)}@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.steps{grid-template-columns:1fr;gap:0;padding-left:var(--s-6)}.steps:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:1px;background:var(--line-strong)}.steps__item{position:relative;padding-bottom:var(--s-3)}.steps__item:before{content:"";position:absolute;left:calc(var(--s-6) * -1 + 3px);top:22px;width:9px;height:9px;border-radius:50%;background:var(--surface);box-shadow:0 0 0 1.5px var(--accent)}}.toolguides{margin-top:var(--s-6)}.toolguides__title{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:var(--s-2)}.toolguides__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:0 var(--s-8);border-top:1px solid var(--line)}.toolguides__list li{border-bottom:1px solid var(--line)}.toolguides__link{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-2) 0;text-decoration:none;color:var(--ink);font-weight:500;font-size:var(--fs-sm)}.toolguides__link .icon{color:var(--ink-3);flex-shrink:0;transition:transform var(--t-med) var(--ease-spring),color var(--t-fast)}.toolguides__link:hover{color:var(--accent)}.toolguides__link:hover .icon{color:var(--accent);transform:translate(3px)}.gindex__filters{display:grid;gap:var(--s-3);margin-bottom:var(--s-5)}.gindex__search{display:flex;align-items:center;gap:var(--s-2);max-width:360px;height:42px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-3)}.gindex__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gindex__search input{flex:1;min-width:0;height:100%;border:0;background:none;font-size:var(--fs-sm)}.gindex__search input:focus-visible{outline:none}.gtable{border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}.gtable__head,.gtable__link{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem 4.5rem 6.5rem;gap:var(--s-4);align-items:baseline;padding:0 var(--s-5)}.gtable__head{min-height:40px;align-items:center;font-family:var(--font-sans);font-size:var(--fs-2xs);color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line)}.gtable__row+.gtable__row{border-top:1px solid var(--line)}.gtable__link{padding-block:var(--s-3);min-height:52px;text-decoration:none;color:var(--ink);transition:background-color var(--t-fast) var(--ease-out)}.gtable__link:hover{background:var(--surface-2)}.gtable__link:hover .gtable__title{color:var(--accent)}.gtable__title{font-weight:550;line-height:1.4}.gtable__fmt{font-size:var(--fs-2xs);color:var(--ink-3)}.gtable__read,.gtable__date{font-size:var(--fs-sm);color:var(--ink-3)}.gtable__date{text-align:right}.gtable__empty{padding:var(--s-6) var(--s-5);color:var(--ink-3)}.gindex__count{margin-top:var(--s-3);font-size:var(--fs-2xs);color:var(--ink-3);text-align:right}.gindex__archives{margin-top:var(--s-6);border-top:1px solid var(--line);padding-top:var(--s-4)}.gindex__archives summary{cursor:pointer;font-weight:600;color:var(--ink-2);min-height:32px}.gindex__archlist{display:grid;gap:var(--s-2);margin-top:var(--s-3);font-size:var(--fs-sm)}.gindex__archlist a{color:var(--ink-2)}@media(max-width:720px){.gtable__head{display:none}.gtable__link{grid-template-columns:auto auto 1fr;gap:var(--s-1) var(--s-4);padding-block:var(--s-4)}.gtable__title{grid-column:1 / -1}.gtable__date{text-align:right}}.hsec--guide{border-top:1px solid var(--line)}.hub-guidehead{display:grid;gap:var(--s-2);margin-bottom:var(--s-8)}.hub-guidehead__title{font-size:var(--fs-3xl);font-weight:680;letter-spacing:var(--track-tight);line-height:1.1}.silo-index{margin-top:var(--s-12)}.silo-index__title{font-size:var(--fs-xl);margin-bottom:var(--s-5)}.article-page{padding-top:clamp(1.25rem,.5rem + 2vw,2.5rem)}.reader{display:grid;grid-template-columns:220px minmax(0,720px) 260px;justify-content:space-between;gap:clamp(1.5rem,1rem + 2vw,3.5rem);align-items:start}.reader__toc,.reader__rail{position:sticky;top:calc(var(--header-h) + 1.5rem);max-height:calc(100dvh - var(--header-h) - 3rem);overflow-y:auto;scrollbar-width:thin}.hsec--guide .reader__toc,.hsec--guide .reader__rail{top:calc(var(--header-h) + 4.5rem)}.reader__main{min-width:0}.reader__rail-inner{display:grid;gap:var(--s-4)}@media(max-width:1240px){.reader{grid-template-columns:200px minmax(0,1fr)}.reader__rail{position:static;grid-column:2;max-height:none;overflow:visible}.reader__rail-inner{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));margin-top:var(--s-10)}}@media(max-width:900px){.reader{grid-template-columns:minmax(0,1fr)}.reader__toc{display:none}.reader__rail{grid-column:1}}.toc__label{font-size:var(--fs-2xs);color:var(--ink-3);margin-bottom:var(--s-3)}.toc__list{position:relative;display:grid;gap:1px}.toc__link{display:block;padding:.4rem .5rem .4rem .75rem;border-left:2px solid var(--line);font-size:var(--fs-sm);line-height:1.35;color:var(--ink-3);text-decoration:none;transition:color var(--t-fast) var(--ease-out),border-color var(--t-med) var(--ease-out),background-color var(--t-fast)}.toc__link:hover{color:var(--ink);background:var(--bg-sunk)}.toc__n{font-size:var(--fs-2xs);padding-top:2px}.toc__item.is-active .toc__link{color:var(--ink);font-weight:600;border-left-color:var(--accent)}.toc__item.is-active .toc__n{color:var(--accent)}.toc-mobile{display:none;margin:var(--s-6) 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}@media(max-width:900px){.toc-mobile{display:block}}.toc-mobile__summary{display:flex;align-items:center;gap:var(--s-3);min-height:52px;padding:0 var(--s-4);font-weight:600;cursor:pointer;list-style:none}.toc-mobile__summary::-webkit-details-marker{display:none}.toc-mobile__count{margin-left:auto;font-size:var(--fs-2xs);color:var(--ink-3);font-weight:400}.toc-mobile__chev{transition:transform var(--t-med) var(--ease-spring)}.toc-mobile[open] .toc-mobile__chev{transform:rotate(180deg)}.toc-mobile .toc__list{padding:0 var(--s-3) var(--s-3)}.ahead{display:grid;gap:var(--s-4);margin-bottom:var(--s-8)}.ahead .crumbs ol{margin-bottom:0}.ahead__title{font-size:var(--fs-3xl);font-weight:700;line-height:1.08;letter-spacing:-.04em}.ahead__lede{font-size:var(--fs-lg);line-height:1.55;color:var(--ink-2)}.ahead__figure{margin-top:var(--s-4);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-sunk);box-shadow:0 0 0 1px var(--line)}.ahead__img{width:100%;aspect-ratio:3 / 2;object-fit:cover}.cartouche{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));margin:var(--s-2) 0 0;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.cartouche__cell{display:grid;align-content:start;gap:2px;padding:var(--s-3) var(--s-4);min-width:0}.cartouche__cell+.cartouche__cell{border-left:1px solid var(--line)}.cartouche__cell--author dd{grid-template-columns:auto 1fr;column-gap:var(--s-3);align-items:center}.cartouche__cell--author .avatar{grid-row:span 2}.cartouche dt{font-size:var(--fs-2xs);color:var(--ink-3);font-family:var(--font-sans)}.cartouche dd{margin:0;display:grid;font-size:var(--fs-sm);font-weight:500}.cartouche dd.num{display:flex;align-items:center;gap:6px}.cartouche dd .icon{display:inline;vertical-align:-2px;color:var(--ink-3)}.cartouche__author{font-weight:650;text-decoration:none}.cartouche__author:hover{text-decoration:underline}.cartouche__role,.cartouche__sub{font-size:var(--fs-xs);font-weight:400;color:var(--ink-3)}.cartouche__src{color:var(--accent);font-weight:600}@media(max-width:720px){.cartouche{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);padding:var(--s-3) 0;border:0;border-block:1px solid var(--line);border-radius:0;background:none}.cartouche__cell{padding:0}.cartouche__cell+.cartouche__cell{border-left:0}.cartouche dt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cartouche__cell--author{flex-basis:100%}.cartouche__cell--author .avatar{grid-row:auto}.cartouche__role{display:none}.cartouche dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s-2)}.cartouche__cell--author dd{align-items:center}}.ahead--tool .tool-embed{margin-block:var(--s-2) var(--s-2)}.prose{font-size:var(--fs-prose);line-height:var(--lh-prose);color:var(--ink);counter-reset:h2}.prose>*+*{margin-top:1.1em}.prose h2{counter-increment:h2;margin-top:2.6em;font-size:var(--fs-2xl);font-weight:680;letter-spacing:var(--track-tight);line-height:1.18;scroll-margin-top:calc(var(--header-h) + 1.5rem)}.prose h3{margin-top:2em;font-size:var(--fs-xl);font-weight:650;scroll-margin-top:calc(var(--header-h) + 1.5rem)}.prose h4{margin-top:1.6em;font-size:var(--fs-lg)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.7em}.prose a{color:var(--accent);text-decoration-color:var(--accent-line);text-decoration-thickness:1.5px}.prose a:hover{text-decoration-color:currentColor}.prose strong{font-weight:650}.prose ul:not([class]),.prose ol:not([class]){padding-left:1.3em}.prose li+li{margin-top:.4em}.prose ul:not([class])>li::marker{color:var(--accent)}.prose ol:not([class])>li::marker{font-family:var(--font-sans);font-size:.85em;color:var(--accent)}.prose code{font-family:var(--font-code);font-size:.86em;padding:.1em .35em;border-radius:4px;background:var(--bg-sunk);box-shadow:inset 0 0 0 1px var(--line)}.prose :not(pre)>code{overflow-wrap:anywhere}.prose pre{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--band);color:var(--band-ink);overflow-x:auto;font-size:var(--fs-sm);line-height:1.6}.prose pre code{padding:0;background:none;box-shadow:none;color:inherit}.prose hr{margin:2.5em 0}.prose__img,.prose img{border-radius:var(--r-md);box-shadow:0 0 0 1px var(--line);margin-inline:auto}.prose iframe{max-width:100%;border:0;border-radius:var(--r-md)}.prose__loading{color:var(--ink-3)}.prose blockquote{padding:var(--s-4) var(--s-5);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--ink-2)}.prose blockquote>*+*{margin-top:.6em}.prose blockquote.formula{position:relative;border-left:0;border-radius:var(--r-md);background:var(--surface-2);font-family:var(--font-code);font-size:var(--fs-md);color:var(--ink);padding-top:var(--s-6)}.tldr{position:relative;padding:var(--s-5) var(--s-5) var(--s-5) var(--s-6);border-radius:var(--r-md);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.tldr:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.tldr__label{font-size:var(--fs-2xs);color:var(--accent);margin-bottom:var(--s-2)}.tldr__text{font-size:var(--fs-md);line-height:1.65}.callout{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);font-size:var(--fs-md)}.callout--warn{background:var(--alert-bg);box-shadow:inset 3px 0 0 var(--up)}.callout--warn strong:first-child{color:var(--alert-ink)}.callout--tip{background:var(--ok-bg);box-shadow:inset 3px 0 0 var(--down)}.callout--tip strong:first-child{color:var(--ok-ink)}.article-prose__affiliate-note{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn-ink);font-size:var(--fs-sm);box-shadow:inset 0 0 0 1px var(--warn-line)}.table-wrap{overflow-x:auto;border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 1px var(--line);-webkit-overflow-scrolling:touch}.table-wrap:focus-visible{outline-offset:2px}.prose table{width:100%;min-width:480px;font-size:var(--fs-sm);line-height:1.5}.prose th{padding:var(--s-3) var(--s-4);background:var(--surface-2);border-bottom:1px solid var(--line);text-align:left;font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:500;color:var(--ink-3);white-space:nowrap}.prose td{padding:var(--s-3) var(--s-4);vertical-align:top;border-top:1px solid var(--line)}.prose tr:first-child td{border-top:0}.prose tbody tr:hover td{background:var(--surface-2)}.prose td:first-child{font-weight:550}.prose .contains-task-list{display:grid;gap:6px;padding:0}.prose .task-list-item{margin:0;list-style:none}.task{display:flex;align-items:flex-start;gap:var(--s-3);padding:.7rem var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 1px var(--line);font-size:var(--fs-md);line-height:1.5;cursor:pointer;transition:background-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.task:hover{box-shadow:0 0 0 1px var(--line-strong)}.task__box{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;margin:2px 0 0;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--surface);cursor:pointer;transition:background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.task__box:after{content:"";width:10px;height:6px;border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform var(--t-med) var(--ease-spring)}.task__box:checked{background:var(--accent);border-color:var(--accent)}.task__box:checked:after{transform:translateY(-1px) rotate(-45deg) scale(1)}.task__box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-list-item.is-done .task,.task:has(.task__box:checked){background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-line)}.railcard{padding:var(--s-4) var(--s-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line)}.railcard__title{font-family:var(--font-sans);font-size:var(--fs-2xs);color:var(--ink-3);margin-bottom:var(--s-3)}.railcard__note{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--ink-3)}.railcard .btn{margin-top:var(--s-3)}.railcard--score{box-shadow:0 0 0 1px var(--accent-line),var(--shadow-2)}.score{display:flex;align-items:baseline;gap:var(--s-2)}.score__n{font-size:2.5rem;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--accent)}.score__of{font-size:var(--fs-sm);color:var(--ink-3)}.meter{height:6px;margin-top:var(--s-3);border-radius:6px;background:var(--bg-sunk);overflow:hidden}.meter span{display:block;height:100%;background:var(--accent);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}.spec{display:grid}.spec div{display:flex;justify-content:space-between;gap:var(--s-3);padding:.45rem 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}.spec div:first-child{border-top:0}.spec dt{color:var(--ink-3)}.spec dd{margin:0;text-align:right;font-weight:500}.spec a{color:var(--accent);text-decoration:none}.raillinks{display:grid}.raillinks li+li{border-top:1px solid var(--line)}.raillinks__link{display:grid;grid-template-columns:1fr auto;gap:2px var(--s-2);align-items:center;padding:.6rem 0;font-size:var(--fs-sm);font-weight:550;line-height:1.35;text-decoration:none;color:var(--ink)}.raillinks__kind{grid-column:1 / -1;font-size:var(--fs-2xs);font-weight:400;color:var(--ink-3)}.raillinks__link .icon{color:var(--ink-3);transition:transform var(--t-med) var(--ease-spring)}.raillinks__link:hover{color:var(--accent)}.raillinks__link:hover .icon{color:var(--accent);transform:translate(3px)}.railback{display:inline-flex;align-items:center;gap:var(--s-2);min-height:40px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);text-decoration:none}.railback:hover{color:var(--accent)}.checkpill{display:none}@media(max-width:1240px){.checkpill{position:fixed;right:var(--s-4);bottom:var(--s-4);z-index:var(--z-header);display:inline-flex;align-items:center;height:38px;padding:0 var(--s-4);border-radius:var(--r-pill);background:var(--ink);color:var(--bg);font-size:var(--fs-sm);overflow:hidden;box-shadow:var(--shadow-3)}.checkpill__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform-origin:left;transition:transform var(--t-slow) var(--ease-out)}}.sources{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 1.5rem)}.sources__title{font-size:var(--fs-xl);margin-bottom:var(--s-4)}.sources__list{display:grid;gap:var(--s-2)}.sources__item{display:grid;grid-template-columns:2.6rem 1fr;gap:var(--s-2);font-size:var(--fs-sm)}.sources__n{color:var(--accent)}.sources__body{display:flex;flex-wrap:wrap;gap:2px var(--s-3);min-width:0}.sources__body a{color:var(--ink);overflow-wrap:anywhere}.sources__host{font-size:var(--fs-xs);color:var(--ink-3)}.related{margin-top:var(--s-12)}.related__title{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:var(--s-4)}.related__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:var(--s-3)}.related__card{display:flex;flex-direction:column;gap:var(--s-2);height:100%;padding:var(--s-4);border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink);transition:transform var(--t-med) var(--ease-spring),box-shadow var(--t-med) var(--ease-out)}.related__card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--accent-line),var(--shadow-2)}.related__kind{font-size:var(--fs-2xs);color:var(--accent)}.related__name{flex:1;font-weight:600;line-height:1.35;font-size:var(--fs-sm)}.related__meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);color:var(--ink-3)}.related__hub{margin-top:var(--s-4)}@media(max-width:720px){.ahead--tool .ahead__lede{font-size:var(--fs-md)}}.schema{margin:0}.schema__label{margin-bottom:var(--s-3);font-size:var(--fs-2xs);color:var(--ink-3)}.schema__svg{width:100%;height:auto;overflow:visible;font-family:var(--font-sans)}.schema__caption{margin-top:var(--s-4);font-size:var(--fs-xs);color:var(--ink-3);line-height:1.5}.schema__legend{display:grid;gap:var(--s-2);margin:0}.schema__legend div{display:grid;grid-template-columns:9.5rem 1fr;gap:var(--s-3)}.schema__legend dt{font-weight:600;color:var(--ink-2)}.schema__legend dd{margin:0}.dg-box{fill:var(--surface);stroke:var(--line-strong);stroke-width:1}.dg-node--accent .dg-box{fill:var(--accent);stroke:var(--accent)}.dg-node--accent .dg-title,.dg-node--accent .dg-sub{fill:var(--on-accent)}.dg-node--accent-soft .dg-box{fill:var(--accent-soft);stroke:var(--accent-line)}.dg-node--ink .dg-box,.dg-box--ink{fill:var(--ink);stroke:var(--ink)}.dg-node--ink .dg-title,.dg-title--inv{fill:var(--bg)}.dg-node--chip .dg-box{fill:var(--surface-2);stroke:var(--line)}.dg-node--chip .dg-title{font-size:11px;font-weight:500;fill:var(--ink-2)}.dg-node--ghost .dg-box{fill:none;stroke:var(--line-strong);stroke-dasharray:4 4}.dg-box--pill{fill:var(--surface);stroke:var(--accent-line)}.dg-gate{fill:var(--warn-bg);stroke:var(--warn-line)}.dg-roof{fill:var(--accent-soft);stroke:var(--accent-line)}.dg-thumb{fill:var(--accent-line)}.dg-ring{fill:none;stroke:var(--line);stroke-width:1}.dg-title{font-size:13px;font-weight:600;fill:var(--ink);letter-spacing:-.01em}.dg-sub{font-size:11px;fill:var(--ink-3)}.dg-mono{font-family:var(--font-sans);letter-spacing:0}.dg-op{font-size:18px;fill:var(--ink-3)}.dg-formula{font-size:11.5px;fill:var(--ink)}.dg-level{font-size:9px;fill:var(--ink-3);letter-spacing:.08em}.dg-index{font-size:10px;fill:var(--ink-3)}.dg-node--accent .dg-index{fill:var(--on-accent)}.dg-line{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dg-line--dashed{stroke:var(--ink-3);stroke-dasharray:.012 .01}.dg-arrowhead{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dg-dot{fill:var(--ink)}.dg-dot__n{font-size:10px;font-weight:600;fill:var(--bg)}.dg-orbit__dot{fill:var(--accent)}.dg-ring-draw{stroke-width:2}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.schema{view-timeline:--schema block}.dg-line:not(.dg-line--dashed){stroke-dasharray:1;animation:dg-draw linear both;animation-timeline:--schema;animation-range:entry calc(5% + var(--i, 0) * 4%) cover calc(30% + var(--i, 0) * 3%)}.dg-line--dashed{animation:dg-fade linear both;animation-timeline:--schema;animation-range:entry 40% cover 50%}.dg-node{transform-box:fill-box;transform-origin:center;animation:dg-pop linear both;animation-timeline:--schema;animation-range:entry calc(var(--i, 0) * 4%) cover calc(22% + var(--i, 0) * 3%)}.mviz__cell,.mviz__bar,.mviz__tick{transform-box:fill-box;transform-origin:bottom;animation:dg-rise linear both;animation-timeline:view();animation-range:entry calc(10% + var(--i, 0) * 2%) cover 35%}}@supports not (animation-timeline: view()){.schema.is-io:not(.is-in) .dg-node{opacity:0;transform:translateY(6px)}.schema.is-io .dg-node{transition:opacity .6s var(--ease-out),transform .8s var(--ease-spring);transition-delay:calc(var(--i, 0) * 70ms)}.schema.is-io:not(.is-in) .dg-line:not(.dg-line--dashed){stroke-dasharray:1;stroke-dashoffset:1}.schema.is-io .dg-line:not(.dg-line--dashed){stroke-dasharray:1;transition:stroke-dashoffset .9s var(--ease-out);transition-delay:calc(var(--i, 0) * 70ms)}}}@keyframes dg-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes dg-fade{0%{opacity:0}to{opacity:1}}@keyframes dg-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes dg-rise{0%{transform:scaleY(.2);opacity:.3}to{transform:none;opacity:1}}.articles-page{padding-top:clamp(1.5rem,1rem + 2vw,3rem)}.articles-page__header{position:relative;display:grid;gap:var(--s-4);margin-bottom:var(--s-10)}.articles-page__header>div{display:grid;gap:var(--s-4);justify-items:start}.articles-page__header>div>.articles-page__search{justify-self:stretch;max-width:34rem}.articles-page__title{font-size:var(--fs-display);font-weight:700;letter-spacing:-.045em;line-height:1.02}.articles-page__subtitle{max-width:60ch;font-size:var(--fs-lg);color:var(--ink-2)}.articles-page__hubs ul,.articles-page__archives ul{list-style:none;margin:0;padding:0}.articles-page__hubs ul{display:flex;flex-wrap:wrap;gap:var(--s-2)}.articles-page__hubs a{display:inline-flex;align-items:center;min-height:40px;padding:0 1rem;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-sm);font-weight:500;text-decoration:none;color:var(--ink-2);transition:border-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.articles-page__hubs a:hover{border-color:var(--accent-line);color:var(--accent)}.articles-page__search{margin-top:var(--s-2)}.articles-page__results{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3)}.articles-page__archives{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);align-items:baseline;margin-top:var(--s-12);padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3)}.articles-page__archives ul{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4)}.articles-page__archives a{color:var(--ink-2)}.article-page__back{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3);text-decoration:none;min-height:32px}.article-page__back:hover{color:var(--accent)}.article-page__category{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--accent)}.article-page__header{display:grid;gap:var(--s-4);width:100%;max-width:calc(780px + 2 * var(--gutter));margin:0 auto var(--s-10);padding-inline:var(--gutter)}.article-page__title{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.04em;line-height:1.08}.article-page__subtitle{font-size:var(--fs-lg);color:var(--ink-2)}.article-page__content{width:100%;max-width:calc(780px + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter);font-size:var(--fs-prose);line-height:var(--lh-prose)}.article-page__content>*+*{margin-top:1em}.article-page__content h2{margin-top:2.2em;font-size:var(--fs-xl);letter-spacing:var(--track-snug)}.article-page__content h3{margin-top:1.8em;font-size:var(--fs-lg)}.article-page__content a{color:var(--accent)}.article-page__content ul:not([class]),.article-page__content ol:not([class]){padding-left:1.3em}.article-page__content li+li{margin-top:.35em}.article-page__content table{width:100%;font-size:var(--fs-sm)}.article-page__content th,.article-page__content td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.article-page__content code{font-family:var(--font-code);font-size:.86em;padding:.1em .35em;border-radius:4px;background:var(--bg-sunk)}.article-page__content img{border-radius:var(--r-md)}.author-head{display:flex;gap:var(--s-6);align-items:center}.author-head:before{content:"AP";display:grid;place-items:center;flex-shrink:0;width:88px;height:88px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:var(--font-sans);font-size:1.25rem;font-weight:600}.author-head>div{display:grid;gap:var(--s-3)}.author-head__photo{border-radius:50%}.author-contact{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4)}.author-contact__link{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--accent)}.author-section+.author-section{margin-top:var(--s-10);padding-top:var(--s-8);border-top:1px solid var(--line)}.author-section h2{margin-top:0}.author-section>*+*{margin-top:1em}.author-head:has(img):before{display:none}.author-timeline{display:grid;gap:0;border-left:1px solid var(--line-strong);padding-left:var(--s-5)!important}.author-timeline li{position:relative;display:grid;grid-template-columns:4rem 1fr;gap:var(--s-3);padding:var(--s-2) 0}.author-timeline li:before{content:"";position:absolute;left:calc(var(--s-5) * -1 - 5px);top:1.05em;width:9px;height:9px;border-radius:50%;background:var(--surface);box-shadow:0 0 0 1.5px var(--accent)}.author-timeline__year{font-family:var(--font-sans);color:var(--accent)}.author-tags{display:flex;flex-wrap:wrap;gap:var(--s-2)}.author-tags li{margin:0!important;padding:.25rem .75rem;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-sm)}.author-hubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--s-2)}.author-hubs li{margin:0!important}.author-hubs__link{display:flex;align-items:center;min-height:48px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink)!important;font-weight:600;font-size:var(--fs-sm);text-decoration:none}.author-hubs__link{justify-content:space-between;gap:var(--s-3);transition:border-color var(--t-fast) var(--ease-out),transform var(--t-med) var(--ease-spring)}.author-hubs__link:hover{border-color:var(--accent-line);color:var(--accent)!important;transform:translateY(-2px)}.author-hubs__n{font-weight:500;color:var(--ink-2)}.about-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--s-4) 0 0;border-block:1px solid var(--line)}.about-facts div{display:grid;gap:2px;padding:var(--s-4) var(--s-2)}.about-facts div+div{border-left:1px solid var(--line);padding-left:var(--s-5)}.about-facts dt{order:2;font-size:var(--fs-sm);color:var(--ink-2)}.about-facts dd{margin:0;font-size:var(--fs-3xl);font-weight:500;letter-spacing:-.04em;line-height:1}.about section+section{margin-top:var(--s-10)}.about section>*+*{margin-top:1em}.about h2{margin-top:0;margin-bottom:var(--s-4)}.about-author{display:flex;align-items:center;gap:var(--s-4)}.about-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);list-style:none;padding:0}.about-rules li{display:grid;align-content:start;gap:var(--s-2);margin:0!important;padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);font-size:var(--fs-sm);line-height:1.5;color:var(--ink-2)}.about-rules strong{color:var(--ink);font-size:var(--fs-md)}.about-rules__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent)}.about-legal{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);margin-top:var(--s-12)!important;padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--fs-sm)}@media(max-width:640px){.about-rules{grid-template-columns:1fr}.about-facts dd{font-size:var(--fs-2xl)}}.author-articles{display:grid;border-top:1px solid var(--line)}.author-articles li{display:grid;gap:2px;margin:0!important;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.author-articles a{color:var(--ink)!important;font-weight:550;text-decoration:none}.author-articles a:hover{color:var(--accent)!important}.author-articles__meta{font-family:var(--font-sans);font-size:var(--fs-xs);color:var(--ink-3)}@media(max-width:560px){.author-head{flex-direction:column;align-items:flex-start}}.error-page{position:relative;padding-block:clamp(3rem,2rem + 6vw,7rem);overflow:hidden}.error-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse 60% 70% at 30% 40%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 70% at 30% 40%,#000 20%,transparent 70%);pointer-events:none}.error-page .container{position:relative}.error-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-12);align-items:start}.error-page__code{font-family:var(--font-sans);font-size:clamp(4.5rem,3rem + 8vw,9rem);font-weight:500;line-height:.9;letter-spacing:-.06em;color:var(--accent)}.error-page__title{margin-top:var(--s-4);font-size:var(--fs-3xl);letter-spacing:-.04em}.error-page__text{margin-top:var(--s-3);font-size:var(--fs-lg);color:var(--ink-2);max-width:44ch}.error-page__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-8)}.error-page__side{display:grid;gap:var(--s-8)}.error-page__side nav{display:grid;gap:var(--s-3)}@media(max-width:860px){.error-page__grid{grid-template-columns:1fr}}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease-out}body{letter-spacing:-.006em}h1,h2,h3{font-weight:560}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}.eyebrow{gap:0;font-size:var(--fs-sm);font-weight:500;color:var(--ink-3)}.eyebrow:before{display:none}.shead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s-3) var(--s-10);margin-bottom:var(--s-8)}.shead__main{gap:var(--s-3)}.shead__title{font-size:var(--fs-2xl);font-weight:560;line-height:1.15;letter-spacing:-.03em;max-width:26ch}.shead__aside{max-width:40ch;font-size:var(--fs-sm);line-height:1.5;color:var(--ink-3);text-align:right}@media(max-width:760px){.shead{grid-template-columns:1fr}.shead__aside{text-align:left}}.btn{font-weight:550;letter-spacing:-.01em;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}.btn--lg{min-height:52px;padding-left:1.4rem;font-size:var(--fs-md)}.btn--lg.btn--ghost{padding-inline:1.4rem}.btn--lg .btn__icon{width:40px;height:40px}.btn--primary{box-shadow:none}.btn--ghost{background:transparent;border-color:var(--line-strong)}.btn--ghost:hover{border-color:var(--ink)}.btn:hover .btn__icon,.btn:active{transform:none}.link-arrow{font-weight:550}.brand__mark{width:12px;height:12px;border-radius:50%}.brand__name{font-size:1.25rem;font-weight:600;letter-spacing:-.055em}.mainnav__link{position:relative;font-size:var(--fs-sm);font-weight:450}@media(min-width:1100px){.mainnav__link:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:6px;height:1px;background:currentColor;opacity:0;transition:opacity .2s ease-out}.mainnav__link:hover:after,.mainnav__link.active:after{opacity:1}.mainnav__link:hover,.mainnav__link.active,.mainnav__link[aria-current=page]{background:none!important;box-shadow:none}}.navcta{display:none;align-items:center;gap:.45rem;min-height:38px;padding:0 .95rem;border-radius:var(--r-pill);background:var(--ink);color:var(--bg);font-size:var(--fs-sm);font-weight:550;text-decoration:none;white-space:nowrap;transition:background-color .2s ease-out,color .2s ease-out}.navcta:hover{background:var(--accent);color:var(--on-accent)}@media(min-width:1320px){.navcta{display:inline-flex}}.site-header.site-header--over{background:transparent}.site-header--over:before,.site-header--over .site-header__bar:before{opacity:0!important;animation:none!important}.site-header--over .searchbtn{background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:var(--hair)}.site-header--over .navcta{background:var(--ink);color:var(--bg)}.site-header--over .navcta:hover{background:var(--accent);color:var(--on-accent)}[data-hero-dark]{margin-top:calc(var(--header-h) * -1)}.site-footer{position:relative;padding-top:clamp(3.5rem,2.5rem + 4vw,6rem);border-top:0}.site-footer .brand,.site-footer .brand__name{color:var(--ink)}.site-footer__title{font-size:var(--fs-sm);font-weight:550;color:var(--ink)}.site-footer a{text-decoration:none}.site-footer__col a:hover,.site-footer .footer__cookies:hover{color:var(--ink);text-decoration:underline}.site-footer__base{border-top:1px solid var(--line);margin-top:clamp(2.5rem,2rem + 2vw,4rem)}.hsec{padding-block:calc(var(--section) * .6)}.field{--field-line: color-mix(in srgb, var(--ink) 14%, transparent);--field-dot: var(--accent);--field-curve: var(--accent);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.field__static{position:absolute;left:0;right:0;bottom:0;width:100%;height:72%}.field__static{opacity:.7}.field__bar{stroke:var(--field-line);stroke-width:1;vector-effect:non-scaling-stroke}.field__curve{fill:none;stroke:var(--field-curve);stroke-width:1.5;vector-effect:non-scaling-stroke}.field__fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 34%,transparent 60%),linear-gradient(0deg,var(--bg) 0%,transparent 16%)}.hero{position:relative;isolation:isolate;padding-block:calc(var(--header-h) + clamp(3rem,1.5rem + 5vw,6.5rem)) clamp(3.5rem,2rem + 5vw,7rem);overflow:hidden}.hero>.field{z-index:-1}.hero__inner{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--col-gap);align-items:center}.hero__text{grid-column:1 / span 7;display:grid;gap:var(--s-6);justify-items:start}.hero__title{font-size:clamp(2.5rem,1.3rem + 4.6vw,5rem);font-weight:450;line-height:1;letter-spacing:-.045em;max-width:12ch;text-wrap:balance}.hero__lede{max-width:44ch;font-size:var(--fs-lg);line-height:1.55;color:var(--ink-2)}.hero__cta{display:flex;flex-wrap:wrap;gap:var(--s-3)}.hero__tool{grid-column:9 / span 4;background:transparent;min-width:0}@media(max-width:1100px){.hero__text{grid-column:1 / span 12}.hero__tool{grid-column:1 / span 12;max-width:560px}}@media(max-width:760px){.hero{padding-top:calc(var(--header-h) + 2rem)}.hero__inner{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero__text{display:contents}.hero__title{order:1;font-size:clamp(2.4rem,1.2rem + 6.6vw,3.25rem)}.hero__tool{order:2;margin-top:var(--s-6)}.hero__lede{order:3;margin-top:var(--s-8);font-size:var(--fs-md)}.hero__cta{order:4;margin-top:var(--s-6)}.hero__cta .btn{flex:1 1 auto}.field__static{height:46%;top:0;bottom:auto}.field__fade{background:linear-gradient(0deg,var(--bg) 45%,transparent 100%)}}.toolgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--s-5)}@media(max-width:600px){.toolgrid{grid-auto-flow:row;grid-template-columns:1fr;gap:var(--s-3);overflow:visible;margin-inline:0;padding:0}}.toolcard__link{gap:var(--s-3);padding:var(--s-6);border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line);overflow:visible;transition:box-shadow .2s ease-out}.toolcard__link:after{display:none}.toolcard__link:hover,.toolcard__link:active{transform:none;box-shadow:0 0 0 1px var(--accent)}.toolcard__name{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em}.toolcard__sum{font-size:var(--fs-md);line-height:1.5}.toolcard__cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:var(--s-2);font-size:var(--fs-sm);font-weight:550;color:var(--accent)}.method__lede{max-width:56ch;margin:calc(var(--s-4) * -1) 0 var(--s-10);font-size:var(--fs-lg);line-height:1.55;color:var(--ink-2)}.method__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-8) var(--col-gap)}.mstep{display:grid;align-content:start;gap:var(--s-3)}.mstep__title{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.02em}.mstep__text{color:var(--ink-2);line-height:1.55}.mstep__links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);font-size:var(--fs-sm)}@media(max-width:1000px){.method__steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.method__steps{grid-template-columns:1fr}}.figures__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-8) var(--col-gap)}.figure__link{display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--s-2);height:100%;color:var(--ink);text-decoration:none}.figure__value{font-size:clamp(2.25rem,1.6rem + 2vw,3.25rem);font-weight:450;line-height:1.05;letter-spacing:-.04em;white-space:nowrap;transition:color .2s ease-out}.figure__link:hover .figure__value{color:var(--accent)}.figure__label{font-weight:600;line-height:1.35}.figure__detail{font-size:var(--fs-sm);color:var(--ink-2)}.figure__src{padding-top:var(--s-2);font-size:var(--fs-sm);color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:3px}@media(max-width:1000px){.figures__grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.figures__grid{grid-template-columns:1fr}}.ranked{border-top:0}.ranked--2col{column-gap:clamp(2rem,1rem + 4vw,5rem)}.ranked__link{grid-template-columns:2rem 1fr;align-items:baseline;padding:var(--s-4) 0}.ranked__n{font-size:var(--fs-sm);color:var(--ink-3)}.ranked__title{font-size:var(--fs-md);font-weight:500}.ranked__link:hover .ranked__title{color:var(--accent);text-decoration:none}.hubindex{border-top:1px solid var(--line)}.hubindex li{border-bottom:1px solid var(--line)}.hubindex__link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 6rem;align-items:baseline;gap:var(--s-4);padding:var(--s-5) 0;color:var(--ink);text-decoration:none}.hubindex__name{font-size:var(--fs-xl);font-weight:560;letter-spacing:-.025em;transition:color .2s ease-out}.hubindex__link:hover .hubindex__name{color:var(--accent)}.hubindex__tag{font-size:var(--fs-sm);color:var(--ink-3)}.hubindex__count{font-size:var(--fs-sm);color:var(--ink-3);text-align:right}@media(max-width:760px){.hubindex__link{grid-template-columns:minmax(0,1fr) auto;gap:var(--s-1) var(--s-3)}.hubindex__tag{grid-column:1;grid-row:2}.hubindex__count{grid-row:1;grid-column:2}}.home-duo{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,5rem)}@media(max-width:960px){.home-duo{grid-template-columns:minmax(0,1fr)}}.home-duo .shead{grid-template-columns:minmax(0,1fr) auto}.latest{border-top:1px solid var(--line)}.latest__link{grid-template-columns:1fr auto;gap:var(--s-6);padding:var(--s-4) 0}.latest__title{font-weight:500}@media(max-width:600px){.latest__link{gap:var(--s-1) var(--s-3)}.latest__title{grid-column:auto;grid-row:auto}}.author-card{gap:var(--s-4);padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface);color:var(--ink-2);box-shadow:0 0 0 1px var(--line)}.author-card__name{font-size:var(--fs-lg);font-weight:600}.author-card__name a{color:var(--ink)}.author-card .link-arrow{color:var(--accent)}.author-card :focus-visible{outline-color:var(--accent)}.finale{padding-block:calc(var(--section) * .6) var(--section)}.finale .container{display:grid;gap:var(--s-6);justify-items:start}.finale__title{font-size:var(--fs-3xl);font-weight:450;line-height:1.05;letter-spacing:-.04em;max-width:18ch}.bezel{padding:0;border-radius:var(--r-lg);background:transparent;box-shadow:none}.bezel__core{border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line)}.calc__formula{padding:0;background:none;box-shadow:none}.calc__formula-sep{display:none}.calc__formula-note{display:block}.calc .calc__formula{min-height:4.8em}.hub-hero{position:relative;isolation:isolate;padding-block:calc(var(--header-h) + clamp(2rem,1rem + 4vw,4.5rem)) clamp(3rem,2rem + 3vw,5rem);overflow:hidden}.hub-hero:before{display:none}.hub-hero>.field{z-index:-1}.field--hub .field__static{height:75%}.hub-hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--col-gap)}.hub-hero__main{grid-column:1 / span 8;gap:var(--s-5)}.hub-hero__title{font-size:clamp(2.25rem,1.3rem + 3.4vw,4.25rem);font-weight:450;line-height:1.02;letter-spacing:-.04em;max-width:18ch}.hub-hero__intro{color:var(--ink-2);max-width:52ch}@media(max-width:900px){.hub-hero__main{grid-column:1 / -1}}.jumpnav{border-top:0}.jumpnav__link.is-active{background:var(--ink);color:var(--bg)}.split__visual{background-image:none;box-shadow:0 0 0 1px var(--line)}.steps__link,.steps__item:first-child .steps__link{background:var(--surface);box-shadow:0 0 0 1px var(--line);transition:box-shadow .2s ease-out}.steps__link:hover{transform:none;box-shadow:0 0 0 1px var(--accent)}.steps__n{color:var(--ink-3)}.steps__n:after{display:none}@media(max-width:560px){.steps{gap:var(--s-3);padding-left:0}.steps:before,.steps__item:before{display:none}.steps__item{padding-bottom:0}}.gtable{box-shadow:0 0 0 1px var(--line)}.hub-guidehead__title{font-weight:560;letter-spacing:-.035em;line-height:1.08}.hub-guidehead__meta,.ranking__status{font-size:var(--fs-sm);color:var(--ink-3)}.ahead{gap:var(--s-5);padding-bottom:var(--s-8);margin-bottom:var(--s-10);border-bottom:1px solid var(--line)}.ahead__title{font-size:clamp(2rem,1.3rem + 2.2vw,3.25rem);font-weight:500;line-height:1.06;letter-spacing:-.035em;max-width:24ch}.ahead__lede{max-width:60ch;font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);line-height:1.5}.cartouche{border:0;border-radius:0;background:transparent;gap:var(--s-4) var(--s-8);grid-template-columns:repeat(4,auto);justify-content:start}.cartouche__cell{padding:0}.cartouche__cell+.cartouche__cell{border-left:0}.cartouche dt{font-size:var(--fs-xs)}@media(max-width:720px){.cartouche{padding:0;border-block:0}}.prose blockquote.formula{padding-top:var(--s-4)}.prose blockquote{background:none;box-shadow:none;border-radius:0}.prose blockquote:has(>.callout:only-child){padding:0;border-left:0}.ahead__figure{border-radius:var(--r-lg)}.toc__label,.sources__title,.related__title{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.toc__item.is-active .toc__link{color:var(--ink)}.prose h2{font-weight:560;letter-spacing:-.025em}.tldr,.callout,.prose blockquote.formula{border-radius:var(--r-lg)}.railcard{border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line)}.author-box{border-radius:var(--r-lg)}.author-box__name{font-size:var(--fs-xl);font-weight:550;letter-spacing:-.02em}.related__card{transition:box-shadow .2s ease-out}.related__card:hover{transform:none}.related__name{letter-spacing:-.01em}.article-page__header,.articles-page__header{padding-bottom:var(--s-8);border-bottom:1px solid var(--line);margin-bottom:var(--s-10)}.article-page__title,.articles-page__title,.error-page__title{font-size:clamp(2.25rem,1.3rem + 3.4vw,4.25rem);font-weight:450;line-height:1.02;letter-spacing:-.04em}.article-page__subtitle,.articles-page__subtitle{font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);color:var(--ink-2)}.error-page__code{font-family:var(--font-sans);font-size:var(--fs-giant);font-weight:300;line-height:.8;letter-spacing:-.07em;color:var(--accent)}.author-head__photo{border-radius:var(--r-lg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
