OFL.txt). Each face comes in two files; a browser fetches the latin extended one only for a page that needs its letters. */ @font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-v20-latin-ext-400.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-v20-latin-400.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-v20-latin-ext-500.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-v20-latin-500.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato/lato-v25-latin-ext-400italic.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato/lato-v25-latin-400italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/lato/lato-v25-latin-ext-700italic.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lato;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/lato/lato-v25-latin-700italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato/lato-v25-latin-ext-400.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato/lato-v25-latin-400.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato/lato-v25-latin-ext-700.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato/lato-v25-latin-700.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:lato;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/lato/lato-v25-latin-ext-900.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lato;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/lato/lato-v25-latin-900.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font:'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;--mono:'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;--classic:'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;--page-bg:radial-gradient(120% 95% at 18% 14%, #fdfdfb 0%, #f1f3f8 42%, #e7eaf1 74%, #e2e5ec 100%),
    linear-gradient(160deg, #f9fbfd 0%, #edf0f6 52%, #e3e7ef 100%);--page-solid:#edf0f5;--text:#1c1e24;--text-2:#425066;--meta:#5a6b7a;--eyebrow:#4a6078;--review:#2c3440;--nav:#161209;--nav-hover:#2983bb;--link:#2376b7;--link-hover:#ea517f;--primary:#004488;--btn:#2376b7;--divider:rgba(0, 0, 0, .08);--h2-border:rgba(0, 0, 0, .32);--hr:rgba(0, 0, 0, .08);--delim:#dadade;--avatar-ring:rgba(0, 0, 0, .05);--cite:#496780;--cite-marker:#315d7a;--cite-hover-bg:#e5edf3;--oa-spectrum:linear-gradient(100deg, #7ba9c4 0%, #559bc3 46%, #7884bd 100%);--oa-label:#668ebc;--cover-shadow:0 16px 40px rgba(0, 0, 0, .12);--cover-shadow-hover:0 18px 50px rgba(0, 0, 0, .14);--footer:#4a6078;--entry-meta:#40506b;--dl-border:rgba(0, 0, 0, .12);--dl-bg:rgba(0, 0, 0, .02);--sc-link:#2376b7;--sc-link-hover:#ea517f;--sc-meta:#000;--sc-bullet:#4f82b9;--sc-bullet-glow:rgba(79, 130, 185, .16);--sc-bullet-halo:rgba(79, 130, 185, .34);--tn-color:#004488;--tn-bg:rgba(0, 68, 136, .06);--tn-border:rgba(0, 68, 136, .14);--tn-opacity:.6;--header-bg:rgba(255, 255, 255, .52);--header-filter:saturate(175%) blur(22px);--header-border:rgba(0, 0, 0, .06);--header-shadow:0 8px 24px rgba(0, 0, 0, .08);--halo-line:rgba(0, 68, 136, .30);--halo-soft:rgba(0, 68, 136, .15);--halo-text:rgba(58, 82, 110, .80);--halo-accent:#2376b7;--halo-glow:rgba(35, 118, 183, .55);--halo-ink:rgba(26, 48, 76, .6);--halo-ink-lens:#0f2238;--halo-hair:rgba(24, 56, 98, .4);--disc-fill:252 253 255;--disc-hi:rgba(255, 255, 255, .95);--disc-shade:rgba(22, 36, 62, .12);--cursor-fill:rgba(255, 255, 255, .14);--glass-hi:rgba(255, 255, 255, .2);--glass-mid:rgba(200, 216, 238, .06);--glass-caustic:rgba(255, 255, 255, .14);--glass-rim-hi:#ffffff;--cursor-rim:rgba(24, 44, 72, .22);--cursor-hair:rgba(22, 44, 74, .62);--rim-rgb:35 118 183;--paper:#f7f4ed;--paper-line:#dcd5c7;--pool-a:128 176 232;--pool-b:238 150 184;--pool-c:255 204 150;--pool-alpha:.085;--pool-boost:.17;--card-bg:rgba(251, 252, 254, .94);--card-opaque:#fbfcfe;--card-shadow:0 10px 24px -14px rgba(20, 30, 50, .32), 0 2px 6px -3px rgba(20, 30, 50, .1);--arrive:rgba(35, 118, 183, .12);--backdrop:rgba(16, 22, 34, .24);--panel-bg:rgba(250, 251, 253, .76);--panel-border:rgba(22, 34, 56, .1);--panel-shadow:0 24px 64px rgba(22, 34, 56, .16), 0 2px 10px rgba(22, 34, 56, .06);--panel-text:#1c1e24;--panel-muted:#56657a;--seg-bg:rgba(22, 34, 56, .06);--seg-on:#ffffff;--seg-on-shadow:0 1px 3px rgba(22, 34, 56, .14);--switch-off:rgba(22, 34, 56, .2);--knob:#ffffff;--tag-border:rgba(35, 118, 183, .22);--tag-text:#3d5f80}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page-bg:radial-gradient(238% 178% at 14% 8%, #141821 0%, #12161f 20%, #10141c 40%, #0e1219 60%, #0a0e14 80%, #06080d 96%, #04060a 100%),
      radial-gradient(220% 178% at 88% 96%, rgba(50, 66, 104, .115) 0%, rgba(50, 66, 104, .06) 48%, rgba(50, 66, 104, 0) 100%),
      linear-gradient(180deg, #10141b 0%, #090d13 58%, #05070b 100%);--page-solid:#080b10;--text:#e6e8ef;--text-2:#c7d2e7;--meta:#d3deef;--eyebrow:#9fb7d6;--review:#e6e8ef;--nav:#b1b1ba;--nav-hover:#ffffff;--link:#66b2ff;--link-hover:#cc5595;--primary:#66b2ff;--btn:#66b2ff;--divider:rgba(255, 255, 255, .1);--h2-border:rgba(255, 255, 255, .42);--hr:rgba(255, 255, 255, .12);--delim:#6a6a6c;--avatar-ring:rgba(255, 255, 255, .05);--cite:#a9cce5;--cite-marker:#a9cce5;--cite-hover-bg:#334552;--oa-spectrum:linear-gradient(100deg, #9bc2dc 0%, #79b9d9 46%, #a79bdf 100%);--oa-label:#91a9d6;--footer:#9fb7d6;--entry-meta:#9db2d1;--dl-border:rgba(255, 255, 255, .18);--dl-bg:rgba(255, 255, 255, .06);--sc-link:#66b2ff;--sc-link-hover:#cc5595;--sc-meta:#b8d1ee;--sc-bullet:#79b5ef;--sc-bullet-glow:rgba(121, 181, 239, .2);--sc-bullet-halo:rgba(121, 181, 239, .36);--tn-color:#66b2ff;--tn-bg:rgba(102, 178, 255, .1);--tn-border:rgba(102, 178, 255, .2);--tn-opacity:.75;--header-bg:rgba(18, 20, 26, .56);--header-filter:saturate(165%) blur(24px);--header-border:rgba(255, 255, 255, .09);--header-shadow:0 10px 28px rgba(0, 0, 0, .30);--halo-line:rgba(102, 178, 255, .30);--halo-soft:rgba(102, 178, 255, .14);--halo-text:rgba(172, 198, 230, .74);--halo-accent:#66b2ff;--halo-glow:rgba(102, 178, 255, .6);--halo-ink:rgba(216, 230, 250, .58);--halo-ink-lens:#ffffff;--halo-hair:rgba(150, 190, 240, .42);--disc-fill:26 33 48;--disc-hi:rgba(196, 222, 255, .34);--disc-shade:rgba(0, 0, 0, .42);--cursor-fill:rgba(120, 150, 200, .06);--glass-hi:rgba(190, 215, 255, .035);--glass-mid:rgba(160, 190, 240, .02);--glass-caustic:rgba(150, 200, 255, .045);--glass-rim-hi:rgba(200, 225, 255, .55);--glass-hi:rgba(190, 215, 255, .035);--glass-mid:rgba(160, 190, 240, .02);--glass-caustic:rgba(150, 200, 255, .045);--glass-rim-hi:rgba(200, 225, 255, .55);--cursor-rim:rgba(176, 210, 255, .3);--cursor-hair:rgba(196, 218, 246, .62);--rim-rgb:150 200 255;--paper:#d8d2c5;--paper-line:#aca493;--pool-a:60 110 220;--pool-b:150 95 225;--pool-c:204 85 149;--pool-alpha:.16;--pool-boost:.42;--card-bg:rgba(22, 25, 33, .94);--card-opaque:#16191f;--card-shadow:0 12px 26px -16px rgba(0, 0, 0, .75), 0 2px 6px -3px rgba(0, 0, 0, .35);--arrive:rgba(102, 178, 255, .14);--backdrop:rgba(0, 0, 0, .5);--panel-bg:rgba(20, 23, 30, .74);--panel-border:rgba(255, 255, 255, .1);--panel-shadow:0 24px 64px rgba(0, 0, 0, .5), 0 2px 10px rgba(0, 0, 0, .3);--panel-text:#e6e8ef;--panel-muted:#a3b0c4;--seg-bg:rgba(255, 255, 255, .06);--seg-on:rgba(255, 255, 255, .13);--seg-on-shadow:0 1px 3px rgba(0, 0, 0, .3);--switch-off:rgba(255, 255, 255, .2);--knob:#e6e8ef;--tag-border:rgba(102, 178, 255, .28);--tag-text:#a9cce5}}:root[data-theme=dark]{color-scheme:dark;--page-bg:radial-gradient(238% 178% at 14% 8%, #141821 0%, #12161f 20%, #10141c 40%, #0e1219 60%, #0a0e14 80%, #06080d 96%, #04060a 100%),
    radial-gradient(220% 178% at 88% 96%, rgba(50, 66, 104, .115) 0%, rgba(50, 66, 104, .06) 48%, rgba(50, 66, 104, 0) 100%),
    linear-gradient(180deg, #10141b 0%, #090d13 58%, #05070b 100%);--page-solid:#080b10;--text:#e6e8ef;--text-2:#c7d2e7;--meta:#d3deef;--eyebrow:#9fb7d6;--review:#e6e8ef;--nav:#b1b1ba;--nav-hover:#ffffff;--link:#66b2ff;--link-hover:#cc5595;--primary:#66b2ff;--btn:#66b2ff;--divider:rgba(255, 255, 255, .1);--h2-border:rgba(255, 255, 255, .42);--hr:rgba(255, 255, 255, .12);--delim:#6a6a6c;--avatar-ring:rgba(255, 255, 255, .05);--cite:#a9cce5;--cite-marker:#a9cce5;--cite-hover-bg:#334552;--oa-spectrum:linear-gradient(100deg, #9bc2dc 0%, #79b9d9 46%, #a79bdf 100%);--oa-label:#91a9d6;--footer:#9fb7d6;--entry-meta:#9db2d1;--dl-border:rgba(255, 255, 255, .18);--dl-bg:rgba(255, 255, 255, .06);--sc-link:#66b2ff;--sc-link-hover:#cc5595;--sc-meta:#b8d1ee;--sc-bullet:#79b5ef;--sc-bullet-glow:rgba(121, 181, 239, .2);--sc-bullet-halo:rgba(121, 181, 239, .36);--tn-color:#66b2ff;--tn-bg:rgba(102, 178, 255, .1);--tn-border:rgba(102, 178, 255, .2);--tn-opacity:.75;--header-bg:rgba(18, 20, 26, .56);--header-filter:saturate(165%) blur(24px);--header-border:rgba(255, 255, 255, .09);--header-shadow:0 10px 28px rgba(0, 0, 0, .30);--halo-line:rgba(102, 178, 255, .30);--halo-soft:rgba(102, 178, 255, .14);--halo-text:rgba(172, 198, 230, .74);--halo-accent:#66b2ff;--halo-glow:rgba(102, 178, 255, .6);--halo-ink:rgba(216, 230, 250, .58);--halo-ink-lens:#ffffff;--halo-hair:rgba(150, 190, 240, .42);--disc-fill:26 33 48;--disc-hi:rgba(196, 222, 255, .34);--disc-shade:rgba(0, 0, 0, .42);--cursor-fill:rgba(120, 150, 200, .06);--cursor-rim:rgba(176, 210, 255, .3);--cursor-hair:rgba(196, 218, 246, .62);--rim-rgb:150 200 255;--paper:#d8d2c5;--paper-line:#aca493;--pool-a:60 110 220;--pool-b:150 95 225;--pool-c:204 85 149;--pool-alpha:.16;--pool-boost:.42;--card-bg:rgba(22, 25, 33, .94);--card-opaque:#16191f;--card-shadow:0 12px 26px -16px rgba(0, 0, 0, .75), 0 2px 6px -3px rgba(0, 0, 0, .35);--arrive:rgba(102, 178, 255, .14);--backdrop:rgba(0, 0, 0, .5);--panel-bg:rgba(20, 23, 30, .74);--panel-border:rgba(255, 255, 255, .1);--panel-shadow:0 24px 64px rgba(0, 0, 0, .5), 0 2px 10px rgba(0, 0, 0, .3);--panel-text:#e6e8ef;--panel-muted:#a3b0c4;--seg-bg:rgba(255, 255, 255, .06);--seg-on:rgba(255, 255, 255, .13);--seg-on-shadow:0 1px 3px rgba(0, 0, 0, .3);--switch-off:rgba(255, 255, 255, .2);--knob:#e6e8ef;--tag-border:rgba(102, 178, 255, .28);--tag-text:#a9cce5}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);background:var(--page-bg);background-color:var(--page-solid);background-repeat:no-repeat;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;transition:color .2s ease}a:hover{color:var(--link-hover)}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:4px}img{max-width:100%}.wrapper{position:relative;z-index:1;overflow-x:clip;min-height:100vh}.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:200;height:56px;background-color:var(--header-bg);-webkit-backdrop-filter:var(--header-filter);backdrop-filter:var(--header-filter);border-bottom:1px solid var(--header-border);box-shadow:var(--header-shadow)}.header-wrapper{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 32px 0 90px}.header-title{flex:10;min-width:10%;margin-right:.5rem;font-size:1.375rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title a{color:var(--nav);margin:0 .25rem}.header-title a:hover{color:var(--nav-hover)}.menu{display:flex;align-items:center;gap:4px;height:48px;margin:0;padding:0;list-style:none}.menu>li{display:flex;align-items:center;height:100%;padding:0 1.2rem}.menu>li.delim{padding:0;margin:0 .6rem;border-left:1px dashed var(--delim)}.menu>li.icon{padding:0 .3rem}.menu>li.last{padding-right:1.4rem}.menu-link{color:var(--nav);font-weight:500;letter-spacing:.01em;white-space:nowrap}.menu-link:hover{color:var(--nav-hover)}.menu-link[aria-current=page]{font-weight:700}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:40px;padding:0;border:0;background:0 0;color:var(--nav);cursor:pointer}.icon-btn:hover{color:var(--nav-hover)}.icon-btn svg{width:17px;height:17px;display:block}.icon-btn .spin{animation:icon-spin .65s cubic-bezier(.2,.9,.2,1)}@keyframes icon-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-icons{display:none;align-items:center;gap:.3rem}.burger{display:inline-grid;gap:4px;width:30px;height:40px;place-content:center}.burger span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}.reading-progress{position:fixed;left:0;top:env(safe-area-inset-top,0px);width:100%;height:2px;z-index:210;pointer-events:none;background:var(--primary);transform-origin:0 50%;transform:scaleX(0);transition:opacity .4s ease}main{display:block;padding:0 16px;animation:fade-up .8s ease-out both}@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.page{position:relative;width:56%;margin:0 auto}.site-footer{padding:16px;text-align:center;color:var(--footer)}.site-footer svg{width:1em;height:1em;vertical-align:-.14em;margin-right:.25em}.page.home{padding-bottom:calc(4rem + 3cm)}.home-profile{position:relative;text-align:center;padding:.5rem 0;margin-bottom:1.2rem;border-bottom:1px solid var(--divider)}.home-avatar{position:relative;padding:.5rem;transition:padding .7s cubic-bezier(.2,.8,.2,1)}.avatar-frame{position:relative;display:inline-block;width:9.5rem;height:9.5rem;vertical-align:top}.avatar-frame img{position:relative;z-index:1;display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 calc(.3618em * var(--wheel,1))var(--avatar-ring)}.home-title{margin:0;padding:.5rem;font-size:1.25rem;font-weight:700;line-height:1.5}.home-subtitle{margin:0;padding:.5rem;font-size:1rem}.links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;padding:.5rem;margin-bottom:.5rem}.links a{display:inline-flex;color:var(--nav);transition:transform .2s ease,opacity .2s ease}.links a:hover{color:var(--nav);transform:translateY(-2px);opacity:.9}.links svg,.links .mask-icon{display:block;width:24px;height:24px}.mask-icon{background:currentColor;-webkit-mask:var(--src)center/contain no-repeat;mask:var(--src)center/contain no-repeat}.home .content{border-bottom:1px solid var(--divider);padding:0 0 .5rem;margin-bottom:2.5rem}.content p{margin:.5rem 0}.hero-intro{padding:0 0 .15rem}.hero-text{position:relative}.eyebrow{display:inline-block;margin:.5rem 0 .3rem;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.lede{font-size:1.05rem;line-height:1.65}.citations{position:relative;top:-.25em;display:inline-flex;align-items:center;margin:0 .12em;font-size:.72em;line-height:1;white-space:nowrap;color:var(--cite)}.citations-bracket{opacity:.65}.citation-marker{display:inline-flex;align-items:center;justify-content:center;min-width:1.55em;min-height:1.8em;border-radius:4px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--cite-marker)}.citation-marker:hover{background:var(--cite-hover-bg);color:var(--cite-marker)}.books-section{padding:1.4rem 0 1rem}.books-header{margin-bottom:1.1rem}.books-grid{display:grid;gap:2.5rem}.book-card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.3rem;align-items:start;padding-bottom:1.5rem;animation:card-fade .6s ease both}.book-card:nth-child(1){animation-delay:.05s;padding-bottom:2.25rem}.book-card:nth-child(2){animation-delay:.12s}.book-card:nth-child(3){animation-delay:.19s}@keyframes card-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.book-media{display:flex;flex-direction:column;align-items:center}.book-link{display:block;width:100%;border-radius:12px;perspective:1100px}.book3d{position:relative;display:block;transform-style:preserve-3d}.book3d img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:var(--cover-shadow);transition:transform .35s ease,box-shadow .35s ease}.book-link:hover .book3d img{transform:translateY(-6px)scale(1.02);box-shadow:var(--cover-shadow-hover)}.book-actions{display:flex;justify-content:center;gap:.5rem;width:100%;margin:.65rem 0 0}.book-action-button{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .5rem;border:1px solid;border-radius:999px;background:color-mix(in srgb,currentColor 6%,transparent);color:var(--btn);font-size:.76rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .35s ease}.book-action-button:hover{color:var(--btn);background:color-mix(in srgb,currentColor 12%,transparent)}.book-action-button[aria-pressed=true]{background:color-mix(in srgb,currentColor 14%,transparent)}.ab-icon{display:inline-grid;place-items:center;width:1.3em;height:1.1em}.ab-icon>svg{grid-area:1/1;display:block;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.ab-phones{width:1.02em;height:1.02em}.ab-voices{width:1.45em;height:.9em;opacity:0;transform:scale(.5);overflow:visible}.ab-voices path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.ab-voices path:nth-child(1){stroke-width:1.5}.ab-voices path:nth-child(2){stroke-width:1.5;opacity:.62}.ab-voices path:nth-child(3){stroke-width:1;opacity:.34}.book-body h3{margin:0 0 .3rem;font-size:clamp(1.35rem,calc(1.2rem + .45vw),1.55rem);line-height:1.18;font-weight:700;text-wrap:balance}.book-body .subtitle{display:block;margin:.5rem 0;font-size:clamp(1.1rem,calc(1.03rem + .2vw),1.2rem);line-height:1.35;font-weight:700;color:var(--text-2)}.book-meta{margin:.5rem 0 .7rem;font-size:.95rem;color:var(--meta)}.book-abstract{margin:.5rem 0 .9rem}.book-reviews{display:grid;gap:.2rem}.review-quote{margin:.5rem 0;font-style:italic;color:var(--review)}.review-author{display:inline-block;margin-left:.3rem;font-style:normal;font-weight:700;color:var(--primary)}.book-card a:not(.book-link):not(.book-action-button){color:var(--primary)}.book-card a:not(.book-link):not(.book-action-button):hover{text-decoration:underline}.open-access-badge{display:inline-flex;align-items:baseline;gap:.3em;margin-inline-start:.5rem;white-space:nowrap;font-weight:500;letter-spacing:.005em}.oa-icon{display:inline-block;align-self:center;width:.54em;height:1.05em;background:var(--oa-spectrum);-webkit-mask:url(/icons/open-access.svg)center/contain no-repeat;mask:url(/icons/open-access.svg)center/contain no-repeat}.open-access-label{color:var(--oa-label);background:var(--oa-spectrum);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.page.special{padding:5rem 0 3rem}.special .content{padding:.5rem 0;margin:1rem 0 2.5rem;border-bottom:1px solid var(--divider);font-size:1.05rem;line-height:1.65}.special .content h2{margin:1.5rem 0 1rem;padding-bottom:.35rem;font-size:1.5rem;line-height:1.25;font-weight:700;border-bottom:1px solid var(--h2-border)}.special .content>h2:first-child{margin-top:1.5rem}.special strong{font-weight:700}.section-hero{font-size:1.05rem;line-height:1.7;margin:1.25rem 0 2.25rem}.section-hero p{margin:0 0 1.15rem}.section-hero p:last-child{margin-bottom:0}.section-hero p.themes-intro{margin:0 0 1rem}.section-hero ol{list-style:none;padding-left:0;margin:0 0 1rem;counter-reset:themes}.section-hero ol>li{counter-increment:themes;position:relative;padding-left:2.3rem;margin:0 0 .35rem}.section-hero ol>li::before{content:counter(themes);position:absolute;left:0;top:.15rem;display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border-radius:999px;font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--tn-color);opacity:var(--tn-opacity);background:var(--tn-bg);border:1px solid var(--tn-border)}.selected-publications-box{margin:2.35rem 0 3rem}.selected-publications-box>h2.section-list-heading{margin:0 0 .9rem;font-size:1.12rem;letter-spacing:.01em}.selected-publications-list>p{position:relative;margin:0;padding:.18rem 0 .18rem 1.06rem;font-size:1.08rem;line-height:1.56;transition:transform .24s cubic-bezier(.2,.75,.3,1)}.selected-publications-list>p::before{content:'';position:absolute;left:0;top:50%;width:.38rem;height:.38rem;border-radius:999px;background:var(--sc-bullet);opacity:.8;transform:translateY(-50%);transition:transform .24s cubic-bezier(.2,.75,.3,1),opacity .24s ease,box-shadow .24s ease}.selected-publications-list>p::after{content:'';position:absolute;left:.19rem;top:50%;width:1.04rem;height:1.04rem;border-radius:999px;pointer-events:none;background:radial-gradient(circle,var(--sc-bullet-halo) 0%,rgba(79,130,185,.14) 46%,rgba(79,130,185,0) 78%);opacity:0;transform:translate(-50%,-50%)scale(.58);transition:transform .32s cubic-bezier(.18,.8,.22,1),opacity .32s ease}.selected-publications-list>p:hover,.selected-publications-list>p:focus-within{transform:translateX(3px)}.selected-publications-list>p:hover::before,.selected-publications-list>p:focus-within::before{opacity:1;transform:translateY(-50%)scale(1.16);box-shadow:0 0 0 .14rem var(--sc-bullet-glow)}.selected-publications-list>p:hover::after,.selected-publications-list>p:focus-within::after{opacity:.96;transform:translate(-50%,-50%)scale(1.06)}.selected-publications-list>p a{color:var(--sc-link)}.selected-publications-list>p a:hover,.selected-publications-list>p:hover a{color:var(--sc-link-hover)}.selected-publications-list>p em{color:var(--sc-meta)}.content h2.section-list-heading{margin-top:3.5rem;margin-bottom:1.5rem}.entry-item{padding:.5rem 0}.entry-item h3{margin:.3rem 0 .25rem;font-size:1.17em;line-height:1.65;letter-spacing:.01em;font-weight:700}.entry-item p{margin:.5rem 0}.entry-item>p:first-of-type{font-size:1.12rem;color:var(--entry-meta);letter-spacing:.005em}.entry-item>p:first-of-type a{display:inline-block;font-size:1.05rem}.entry-item>p:first-of-type a:not(.entry-meta-link--aux){color:inherit}.entry-item>p:first-of-type a:not(.entry-meta-link--aux):hover{color:var(--link-hover)}.entry-item .entry-tags svg{width:.9em;height:.9em;margin-right:.2rem;vertical-align:-.08em;color:var(--entry-meta)}.entry-item .entry-tags a{color:var(--link)}.entry-item .entry-tags a:hover{color:var(--link-hover)}.download-link{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .78rem;margin:.3rem 0 .65rem;border:1px solid var(--dl-border);border-radius:10px;background:var(--dl-bg);color:var(--link);font-weight:600;white-space:nowrap;transition:opacity .35s ease,transform .35s ease,border-color .35s ease}.download-link svg{width:.95em;height:.95em}.download-link:hover{color:var(--link);border-color:var(--link-hover)}.entry-item .entry-tags,.entry-item .download-link,.entry-item>p:first-of-type a.entry-meta-link--aux{transition:opacity .35s ease,transform .35s ease}hr.section-divider{border:0;height:1px;margin:.5rem 0 2.1rem;background:var(--hr)}@media(hover:hover) and (pointer:fine){.entry-item .entry-tags,.entry-item .download-link,.entry-item>p:first-of-type a.entry-meta-link--aux{opacity:0;transform:translateY(1px);pointer-events:none}.entry-item:hover .entry-tags,.entry-item:hover .download-link,.entry-item:hover>p:first-of-type a.entry-meta-link--aux,.entry-item:focus-within .entry-tags,.entry-item:focus-within .download-link,.entry-item:focus-within>p:first-of-type a.entry-meta-link--aux{opacity:1;transform:none;pointer-events:auto}}@media(min-width:720px){.entry-item{display:grid;grid-template-columns:minmax(0,1fr)auto;column-gap:.75rem;align-items:start}.entry-item>*{grid-column:1/-1}.entry-item h3{grid-column:1}.entry-item .download-link{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin:0}}@media(min-width:1441px){.page{width:60%}}@media(max-width:1200px){.page{width:52%}.header-wrapper{padding-right:1rem}}@media(max-width:1100px){.menu>li{padding:0 .75rem}}@media(max-width:960px){.page{width:80%}.header-wrapper{padding-left:1rem}.menu{display:none}.mobile-icons{display:flex}}@media(max-width:900px){.hero-intro{padding-top:2.5rem}.book-card{grid-template-columns:1fr}.book-media{width:100%;max-width:240px;margin:0 auto}}@media(max-width:680px){.page{width:100%}.page.special{padding-top:2.5rem}}[hidden]{display:none!important}.proposal .reading-progress{display:none}.home-profile{--wheel:1}@media(min-width:681px){.fx-halo .home-profile{--wheel:1.22}}.halo{position:absolute;left:50%;top:50%;z-index:0;width:calc(248px * var(--wheel));height:calc(248px * var(--wheel));margin:calc(-124px * var(--wheel))0 0 calc(-124px * var(--wheel));overflow:visible;pointer-events:none;display:none;text-rendering:geometricPrecision;-webkit-mask-image:linear-gradient(to bottom,#000 55%,rgba(0,0,0,.3) 75%,transparent 93%);mask-image:linear-gradient(to bottom,#000 55%,rgba(0,0,0,.3) 75%,transparent 93%)}.fx-halo .halo{display:block}.fx-halo .home-avatar{padding-top:calc(2.9rem + 48px * (var(--wheel) - 1));padding-bottom:.75rem}.fx-halo .avatar-frame{width:calc(9.5rem * var(--wheel));height:calc(9.5rem * var(--wheel));cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.fx-halo .avatar-frame img{-webkit-user-drag:none}.fx-halo .avatar-frame:focus-visible{outline:none}.fx-halo .avatar-frame:focus-visible img{box-shadow:0 0 0 calc(.3618em * var(--wheel))var(--avatar-ring),0 0 0 3px var(--link)}.halo-grabbing,.halo-grabbing *{cursor:grabbing!important}.halo-hit{fill:transparent;pointer-events:all}.halo-rings{opacity:.82;transition:opacity .5s ease}.avatar-frame.is-engaged .halo-rings{opacity:1}.halo .h-hair{fill:none;stroke:var(--halo-hair);stroke-width:.4}.halo .h-hair.h-major{stroke-width:.75}.halo .h-line{fill:none;stroke:var(--halo-line);stroke-width:.5;transition:stroke .4s ease,fill .4s ease}.halo .h-station{fill:rgb(var(--disc-fill)/.92)}.halo text{fill:var(--halo-text);font-family:var(--font);font-weight:700;transition:fill .45s ease var(--d,0ms)}.halo .h-word{font-size:7px;fill:var(--halo-ink)}.halo .h-sep{fill:var(--halo-line)}.halo .h-letter{font-size:6.6px;font-style:italic}.halo text.in-lens,.halo text.h-letter.lit{fill:var(--halo-ink-lens);transition-duration:.25s;transition-delay:0ms}.halo .h-chords{stroke:var(--halo-line);stroke-width:.5;opacity:.82}.halo .h-web{fill:none;stroke:var(--halo-line);stroke-width:.35;opacity:.5}.halo .h-web-on{fill:none;stroke:var(--halo-accent);stroke-width:.45;opacity:.62;stroke-dasharray:1;stroke-dashoffset:1;animation:halo-web .7s cubic-bezier(.3,.6,.3,1)var(--d,0ms)forwards}@keyframes halo-web{to{stroke-dashoffset:0}}.halo-cursor{opacity:0;transition:opacity .5s ease}.avatar-frame.is-engaged .halo-cursor{opacity:1}.halo .hc-body{fill:var(--cursor-fill);filter:url(#haloLift)}.halo .hc-shadow{flood-color:var(--disc-shade);flood-opacity:.7}.halo .hc-face{fill:url(#glassFace)}.halo .hc-rim{fill:none;stroke:url(#glassRim);stroke-width:.6}.halo .gl-hi{stop-color:var(--glass-hi)}.halo .gl-clear{stop-color:var(--glass-mid)}.halo .gl-caustic{stop-color:var(--glass-caustic)}.halo .gl-rim-hi{stop-color:var(--glass-rim-hi)}.halo .gl-rim-mid{stop-color:var(--cursor-rim);stop-opacity:.45}.halo .gl-rim-lo{stop-color:var(--cursor-rim)}.fx-halo .halo.play .halo-intro{animation:halo-in 2.8s cubic-bezier(.42,0,.12,1)var(--delay,0s)both}@keyframes halo-in{from{opacity:0;transform:rotate(var(--from,-60deg))}to{opacity:1;transform:rotate(0)}}.concept-card{position:absolute;z-index:5;left:calc(100% + 48px * var(--wheel) + 12px);top:-4px;width:254px;padding:12px 14px 11px;border:1px solid var(--panel-border);border-radius:14px;background:var(--card-opaque);box-shadow:0 14px 40px rgba(20,30,50,.14);text-align:left;font-size:13.5px;line-height:1.38;color:var(--text);cursor:auto;-webkit-user-select:text;user-select:text;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-8px);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s}.concept-card.show{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.concept-card.below{left:50%;top:calc(100% + 14px);width:min(300px,calc(100vw - 48px));transform:translate(-50%,-6px)}.concept-card.below.show{transform:translate(-50%,0)}.cc-kicker{margin:0 0 7px;font:500 10px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.cc-kicker b{font-weight:500;color:var(--halo-accent)}.cc-works{display:grid;gap:7px;margin:0;padding:0;list-style:none}.cc-works a{font-weight:700;color:var(--link)}.cc-works a:hover{color:var(--link-hover)}.cc-works small{display:block;margin-top:1px;font-size:11.5px;font-weight:400;color:var(--meta)}.cc-hint{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--panel-border);font:10.5px/1.3 var(--mono);color:var(--panel-muted)}.cc-body.swap{animation:cc-swap .32s ease}@keyframes cc-swap{from{opacity:.15;transform:translateY(3px)}}.fx-threads .entry-item{position:relative}.fx-threads .entry-item .entry-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px 6px}.fx-threads .entry-item .entry-tags>svg,.fx-threads .entry-item .entry-tags .kw-sep{display:none}.fx-threads .entry-item .entry-tags a[data-kw]{position:relative;display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--tag-border);border-radius:999px;background:0 0;background-image:none;font:11.5px/1.25 var(--mono);letter-spacing:.01em;color:var(--tag-text);text-decoration:none;transition:color .25s ease,border-color .25s ease,background-color .25s ease,box-shadow .25s ease}.fx-threads .entry-item .entry-tags a[data-kw]::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.fx-threads .entry-item .entry-tags a[data-kw]:hover,.fx-threads .entry-item .entry-tags a[data-kw]:focus-visible,.fx-threads .entry-item .entry-tags a.kw-active{color:var(--link);border-color:transparent}.fx-threads .entry-item .entry-tags a[data-kw]:hover::before,.fx-threads .entry-item .entry-tags a[data-kw]:focus-visible::before,.fx-threads .entry-item .entry-tags a.kw-active::before{opacity:1}.fx-threads .entry-item .entry-tags a.kw-active{background-color:color-mix(in srgb,var(--link) 9%,transparent)}.entry-item.threads-open .entry-tags,.entry-item.reveal .entry-tags,.entry-item.threads-open .download-link,.entry-item.reveal .download-link,.entry-item.threads-open>p:first-of-type a.entry-meta-link--aux,.entry-item.reveal>p:first-of-type a.entry-meta-link--aux{opacity:1!important;transform:none!important;pointer-events:auto!important}.threads{position:absolute;left:0;right:0;z-index:40}.threads-svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.threads .thread{fill:none;stroke:var(--link);stroke-width:1.15;stroke-opacity:.55;stroke-linecap:round;transition:stroke-opacity .25s ease,stroke-width .25s ease}.threads .grow,.threads .reveal{stroke-dasharray:1;stroke-dashoffset:1.01}.threads .stem{transition:stroke-dashoffset var(--g,.09s)cubic-bezier(.3,.6,.4,1)var(--d,0s)}.threads .branch.grow,.threads .reveal{transition:stroke-dashoffset var(--g,.17s)cubic-bezier(.25,.6,.35,1)var(--d,.07s),stroke-opacity .2s ease,stroke-width .2s ease}.threads .reveal{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round}.threads.open .grow,.threads.open .reveal{stroke-dashoffset:0}.threads .branch.dotted{stroke-dasharray:1.5 4.5}.threads .branch.hot{stroke-opacity:.95;stroke-width:1.7}.threads .node{fill:var(--link);opacity:0;transform:scale(0);transform-box:fill-box;transform-origin:50% 50%;transition:opacity .1s ease var(--e,.07s),transform .22s cubic-bezier(.34,1.9,.64,1)var(--e,.07s)}.threads.open .node{opacity:.9;transform:none}.threads-row{position:absolute;display:flex;align-items:stretch;gap:12px}.thread-card{display:flex;flex-direction:column;gap:5px;padding:10px 12px 11px;border:1px solid var(--panel-border);border-radius:12px;background:var(--card-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);box-shadow:0 0 14px 12px color-mix(in srgb,var(--page-solid) 90%,transparent),0 12px 26px -12px rgba(15,25,45,.3);font:inherit;text-align:left;color:var(--text);text-decoration:none;cursor:pointer;opacity:0;transform:translateY(3px)scale(.96);transform-origin:50% 0;transition:opacity .12s ease var(--e,.24s),transform .2s cubic-bezier(.3,1.35,.6,1)var(--e,.24s),border-color .2s ease,box-shadow .2s ease}.threads.above .thread-card{transform:translateY(-3px)scale(.96);transform-origin:50% 100%}.threads.open .thread-card{opacity:1;transform:none}.threads.settled .thread-card{transition-delay:0s}.threads.open .thread-card:hover,.threads.open .thread-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--link) 45%,transparent)}.thread-card:focus-visible{outline:2px solid var(--link);outline-offset:2px}.tc-kicker{font:500 9.5px/1.25 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--eyebrow)}.tc-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.32;font-weight:700;color:var(--link);transition:color .2s ease}.thread-card:hover .tc-title{color:var(--link-hover)}.thread-card.more{border-style:dashed}.thread-card.more .tc-title{color:var(--text-2)}.thread-card.none{cursor:default}.thread-card.none .tc-title{font-weight:400;color:var(--text-2)}.threads.closing .thread-card{transition:opacity .1s ease,transform .12s ease!important}.threads.closing .node{transition:opacity .08s ease,transform .08s ease!important}.threads.closing .branch.grow,.threads.closing .reveal{transition:stroke-dashoffset .15s cubic-bezier(.5,0,.9,.5).04s!important}.threads.closing .stem{transition:stroke-dashoffset .08s ease-in .17s!important}.ref-new,.rg-sep{display:none}.fx-refs .ref-new{display:inline}.fx-refs .ref-orig,.fx-refs .cit-space,.fx-refs .citations .citations-bracket{display:none}.fx-refs .ref-group,.fx-refs .citations{position:static;top:auto;display:inline;margin:0;font-size:inherit;line-height:inherit;color:inherit;white-space:nowrap}.fx-refs .rg-sep{display:inline;position:relative;color:var(--meta);opacity:.7}.fx-refs .ref-marker{position:relative;display:inline;min-width:0;min-height:0;margin:0;padding:0;border-radius:3px;background:0 0;text-decoration:none;vertical-align:baseline;font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;color:color-mix(in srgb,var(--link) 80%,var(--text));transition:color .15s ease,background-color .15s ease,box-shadow .15s ease,border-color .15s ease}.fx-refs .ref-marker::after{content:'';position:absolute;inset:-.6em -.3em -.4em}.fx-refs .ref-marker:hover,.fx-refs .ref-marker.on,.fx-refs .ref-marker:focus-visible{color:var(--link);background:color-mix(in srgb,var(--link) 13%,transparent);box-shadow:0 0 0 .14em color-mix(in srgb,var(--link) 13%,transparent);outline:none}.fx-refs .ref-group{margin-left:.22em}.fx-refs .ref-group::before,.fx-refs .ref-group::after{position:relative;top:-.06em;font:.82em/0 var(--font);color:var(--meta);opacity:.6}.fx-refs .ref-group::before{content:'[';margin-right:.06em}.fx-refs .ref-group::after{content:']';margin-left:.06em}.fx-refs :is(.ref-marker,.rg-sep){top:-.06em;font:600 .82em/0 var(--font)}.fx-refs .ref-marker{padding:.05em .08em}.fx-refs .rg-sep{margin-right:.22em}.ref-pop{position:fixed;z-index:240;left:0;top:0;display:grid;gap:4px;width:330px;padding:13px 16px 14px;border:1px solid var(--panel-border);border-radius:13px;background:var(--card-bg);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);box-shadow:var(--card-shadow),0 18px 40px -24px rgba(20,30,50,.35);color:var(--text);font-family:var(--font);text-align:left;text-decoration:none;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(4px)scale(.985);transform-origin:var(--ox,26px)0;transition:opacity .12s ease,transform .18s cubic-bezier(.2,.8,.2,1),visibility 0s linear .18s}.ref-pop.above{transform:translateY(-4px)scale(.985);transform-origin:var(--ox,26px)100%}.ref-pop.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.ref-pop:hover{color:var(--text)}.rp-title{font-size:15px;line-height:1.32;font-weight:700;color:var(--text);transition:color .2s ease}.ref-pop:hover .rp-title{color:var(--link)}.rp-meta{font-size:12.5px;line-height:1.4;color:var(--meta)}.rp-meta:empty{display:none}.rp-gist{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:13.5px;line-height:1.5;color:var(--text-2)}.ref-pop.swap>*{animation:rp-swap .16s ease}@keyframes rp-swap{from{opacity:.15}}.qms-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:0 0;overflow:hidden;color:var(--text);font-family:var(--font)}.qms-dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(5px)saturate(120%);backdrop-filter:blur(5px)saturate(120%);animation:qd-fade .3s ease}@keyframes qd-fade{from{opacity:0}}.qd-ghost{position:fixed;display:none;border:1px solid var(--panel-border);background:var(--card-bg);box-shadow:0 30px 80px rgba(10,16,30,.26);pointer-events:none}.qd-panel{position:absolute;left:50%;top:50%;width:min(640px,calc(100vw - 32px));max-height:min(80vh,760px);overflow-y:auto;overscroll-behavior:contain;padding:26px 28px 22px;border:1px solid var(--panel-border);border-radius:18px;background:var(--card-bg);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:0 30px 80px rgba(10,16,30,.26);opacity:0;transform:translate(-50%,-50%)scale(.985);transition:opacity .22s ease,transform .32s cubic-bezier(.2,.8,.2,1)}.qd-panel.shown{opacity:1;transform:translate(-50%,-50%)}.qd-panel.hiding{opacity:0;transform:translate(-50%,-50%)scale(.985);transition-duration:.18s}.qd-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--panel-border);border-radius:50%;background:0 0;color:var(--panel-muted);cursor:pointer}.qd-close:hover{color:var(--text)}.qd-close svg{width:14px;height:14px}.qd-back{display:inline-block;margin:-4px 0 14px;padding:2px 0;border:0;background:0 0;color:var(--link);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.qd-back:hover{color:var(--link-hover)}.qd-head::after{content:'';display:block;clear:both}.qd-cover{float:left;width:86px;height:auto;margin:2px 18px 6px 0;border-radius:6px;box-shadow:var(--cover-shadow)}.qd-kicker{margin:0 44px 6px 0;font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--eyebrow)}.qd-kicker a{color:inherit;transition:color .2s ease}.qd-kicker a:hover{color:var(--link-hover)}.qd-title{margin:0 40px 8px 0;font-size:1.42rem;line-height:1.22;font-weight:700;text-wrap:balance}.qd-meta{margin:0;font-size:.98rem;line-height:1.5;color:var(--entry-meta)}.qd-meta a{color:var(--link)}.qd-body{margin-top:16px;padding-top:16px;border-top:1px solid var(--divider);font-size:1rem;line-height:1.62}.qd-body p{margin:0 0 .8rem}.qd-body p:last-child{margin-bottom:0}.qd-keywords{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px}.qd-keywords>span{margin-right:4px;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.qd-kw{padding:3px 10px;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--link);font:inherit;font-size:12.5px;cursor:pointer;transition:border-color .2s ease,color .2s ease}.qd-kw:hover{border-color:var(--link-hover);color:var(--link-hover)}.qd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--divider)}.qd-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--dl-border);border-radius:10px;background:var(--dl-bg);color:var(--link);font-size:14px;font-weight:700;transition:border-color .2s ease}.qd-btn:hover{color:var(--link);border-color:var(--link-hover)}.qd-btn.primary{border-color:color-mix(in srgb,var(--link) 40%,transparent);background:color-mix(in srgb,var(--link) 9%,transparent)}.qd-btn.quiet{border-color:transparent;background:0 0;font-weight:400;color:var(--text-2)}.qd-group{margin-top:18px}.qd-group h3{margin:0 0 6px;font:500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.qd-group ul{display:grid;margin:0;padding:0;list-style:none}.qd-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:0 0;font:inherit;text-align:left;cursor:pointer;transition:background-color .2s ease}.qd-row:hover,.qd-row:focus-visible{background:color-mix(in srgb,var(--link) 8%,transparent)}.qd-row-title{font-size:14.5px;line-height:1.35;font-weight:700;color:var(--link)}.qd-row:hover .qd-row-title{color:var(--link-hover)}.qd-row-meta{flex:none;font-size:12px;color:var(--meta);font-variant-numeric:tabular-nums}.qd-row.here .qd-row-title{color:var(--text-2)}.qd-row.here .qd-row-meta{color:var(--link-hover);font-weight:700}@media(max-width:600px){.qd-panel{padding:22px 18px 18px}.qd-title{font-size:1.25rem}.qd-row{flex-direction:column;gap:2px}}.jump-back{position:fixed;left:16px;z-index:160;display:inline-flex;align-items:center;gap:6px;max-width:calc(100vw - 32px);padding:6px 12px 6px 9px;border:1px solid var(--panel-border);border-radius:999px;background:var(--card-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);box-shadow:0 10px 30px rgba(20,30,50,.14);color:var(--link);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s linear .4s}.jump-back span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.jump-back.show{opacity:1;visibility:visible;transform:none;transition-delay:0s}.jump-back:hover{color:var(--link-hover)}.jump-back svg{flex:none;width:13px;height:13px}.entry-item.arrive h3,.book-card.arrive h3,.special .content h2.arrive{animation:arrive 2.2s ease;border-radius:4px}@keyframes arrive{0%,35%{background-color:var(--arrive);box-shadow:0 0 0 6px var(--arrive)}100%{background-color:initial;box-shadow:0 0 0 6px transparent}}.kw-return{animation:kw-return 1.7s ease}@keyframes kw-return{0%,35%{background-color:color-mix(in srgb,var(--link) 18%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--link) 18%,transparent)}}.avatar-frame.kw-return{animation:none}.avatar-frame.kw-return img{animation:frame-return 1.7s ease}@keyframes frame-return{0%,35%{box-shadow:0 0 0 calc(.3618em * var(--wheel))var(--avatar-ring),0 0 0 7px color-mix(in srgb,var(--link) 28%,transparent)}}.fx-mark .header-title{container-type:inline-size;overflow:visible;line-height:0}.fx-mark .header-title .mark{display:inline-flex;align-items:center;max-width:100%;margin:0 .25rem;padding:4px 0;font-size:min(1rem,9.2cqi);color:var(--nav);text-decoration:none;border-radius:4px}.fx-mark .header-title .mark:focus-visible{outline:2px solid color-mix(in srgb,var(--link) 60%,transparent);outline-offset:4px}.fx-mark .mark-name{white-space:nowrap;text-transform:uppercase;font-size:.84em;font-weight:700;line-height:1.6;letter-spacing:.2em;margin-right:-.2em}.fx-mark .mark-name{background:linear-gradient(var(--nav-hover),var(--nav-hover))100% 0/0 100% no-repeat,linear-gradient(var(--nav),var(--nav));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;transition:background-size .75s cubic-bezier(.2,.8,.2,1)}.fx-mark .mark:is(:hover,:focus-visible,.mark-demo) .mark-name{background-size:100% 100%,auto;background-position:0 0,0 0}.rm.fx-mark .mark-name{animation:none!important;transition:none!important}.ml-short{display:none}@media(min-width:961px) and (max-width:1399px){.fx-mark .ml-long{display:none}.fx-mark .ml-short{display:inline}}@media(min-width:961px) and (max-width:1080px){.fx-mark .menu>li:not(.icon):not(.delim){padding:0 .55rem}.fx-mark .menu>li.last{padding-right:.8rem}}@media(min-width:1400px) and (max-width:1439px){.fx-mark:is(:lang(fr),:lang(de)) .ml-long{display:none}.fx-mark:is(:lang(fr),:lang(de)) .ml-short{display:inline}}@media(min-width:1440px) and (max-width:1459px){.fx-mark:lang(de) .ml-long{display:none}.fx-mark:lang(de) .ml-short{display:inline}}@media(min-width:961px) and (max-width:1040px){.fx-mark:is(:lang(fr),:lang(de)) .menu>li:not(.icon):not(.delim){padding:0 .4rem}.fx-mark:is(:lang(fr),:lang(de)) .menu>li.last{padding-right:.6rem}.fx-mark:lang(de) .menu a.menu-link{font-size:.94em}}.fx-title .home-title{margin:.6rem 0 0;padding:0 .5rem 0 calc(.5rem + .2em);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:.2em;text-transform:uppercase}.fx-title .home-subtitle{margin:.32rem 0 0;padding:0 .5rem 0 calc(.5rem + .16em);font:500 .66rem/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--meta)}.fx-title .hs-role,.fx-title .hs-place{display:inline-block}.fx-title .hs-sep{display:none}.fx-title .hs-place::before{content:'·'/'';margin:0 .7em 0 .55em}.fx-title .home-profile .links{margin-top:.5rem}.fx-halo.fx-title .home-title{margin-top:calc(1.45rem + 40px * (var(--wheel) - 1))}.fx-books .book3d img{transition:transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .8s cubic-bezier(.2,.8,.2,1)}.fx-books .book-link:is(:hover,.is-demo) .book3d img{transform:translateY(-10px)scale(1.035);box-shadow:0 34px 56px -22px rgba(10,20,40,.42),0 14px 22px -12px rgba(10,20,40,.2)}.rm.fx-books .book3d img{transition:none}.glass-rim{position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;opacity:0;transition:opacity .6s ease;background:linear-gradient(90deg,transparent calc(var(--rim-x,50%) - 200px),rgb(var(--rim-rgb)/calc(.5 * var(--rim-o,0))) var(--rim-x,50%),transparent calc(var(--rim-x,50%) + 200px))}.glass-rim::after{content:'';position:absolute;left:0;right:0;top:1px;height:26px;background:radial-gradient(220px 26px at var(--rim-x,50%) 0,rgb(var(--rim-rgb)/calc(.055 * var(--rim-o,0))),transparent 72%)}.fx-glass .glass-rim{opacity:1}.profile-inner{transform-origin:50% 0}.profile-inner:has(.concept-card.show){opacity:1!important}.home-profile:has(.concept-card.show){z-index:30}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.6s ease}.fx-light .ambient{opacity:1}.fx-light.light-boost .ambient{--pool-alpha:var(--pool-boost, .42)}.ambient i{position:absolute;border-radius:50%}.ambient .p1{width:70vmax;height:70vmax;left:-18vmax;top:-48vmax;background:radial-gradient(closest-side,rgb(var(--pool-a)/var(--pool-alpha)),rgb(var(--pool-a)/0));transform:translate3d(4vw,2vmax,0)}.ambient .p2{width:60vmax;height:60vmax;right:-16vmax;top:-40vmax;background:radial-gradient(closest-side,rgb(var(--pool-b)/calc(var(--pool-alpha) * .75)),rgb(var(--pool-b)/0));transform:translate3d(-6vw,1vmax,0)}.ambient .p3{width:54vmax;height:54vmax;left:30vw;top:-42vmax;background:radial-gradient(closest-side,rgb(var(--pool-c)/calc(var(--pool-alpha) * .9)),rgb(var(--pool-c)/0));transform:translate3d(-6vw,1vmax,0)}html.vt-eclipse::view-transition-group(root){animation:none}html.vt-eclipse::view-transition-old(root),html.vt-eclipse::view-transition-new(root){animation:none;mix-blend-mode:normal}html.vt-dawn::view-transition-new(root),html.vt-dusk::view-transition-new(root){-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}html.vt-dawn::view-transition-new(root){-webkit-mask-image:linear-gradient(to top,#000 33.3%,transparent 66.6%);mask-image:linear-gradient(to top,#000 33.3%,transparent 66.6%);-webkit-mask-position:0 0;mask-position:0 0;animation:vt-dawn 1.6s cubic-bezier(.42,.05,.25,1)both,vt-dawn-glow 1.9s ease-out both}html.vt-dawn::view-transition-old(root){animation:vt-dawn-lift 1.6s ease-in both}html.vt-dusk::view-transition-new(root){-webkit-mask-image:linear-gradient(to bottom,#000 33.3%,transparent 66.6%);mask-image:linear-gradient(to bottom,#000 33.3%,transparent 66.6%);-webkit-mask-position:0 100%;mask-position:0 100%;animation:vt-dusk 1.6s cubic-bezier(.42,.05,.25,1)both}html.vt-dusk::view-transition-old(root){animation:vt-dusk-dim 1.6s ease-in both}@keyframes vt-dawn{to{-webkit-mask-position:0 100%;mask-position:0 100%}}@keyframes vt-dawn-glow{from{filter:brightness(1.1)saturate(1.06)}to{filter:none}}@keyframes vt-dawn-lift{to{filter:brightness(1.18)}}@keyframes vt-dusk{to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes vt-dusk-dim{to{filter:brightness(.8)}}html.vt-busy *,html.vt-busy *::before,html.vt-busy *::after{transition:none!important}html.vt-eclipse .site-header,html.vt-eclipse .studio{view-transition-name:none!important}@view-transition{navigation: auto; }.fx-transitions .site-header{view-transition-name:site-header}.fx-transitions .studio{view-transition-name:studio}html.vt-page::view-transition-old(root){animation:vt-page-out .24s ease both}html.vt-page::view-transition-new(root){animation:vt-page-in .5s cubic-bezier(.2,.8,.2,1)both}@keyframes vt-page-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-page-in{from{opacity:0;transform:translateY(12px)}}.fx-lines .home-profile{border-bottom:0}@media(max-width:900px){.fx-lines .hero-intro{padding-top:0}}.eyebrow{transition:letter-spacing 1.6s cubic-bezier(.19,1,.22,1),opacity 1.2s ease}.fx-lines .eyebrow:not(.is-in){letter-spacing:.34em;opacity:.5}.fx-lines .eyebrow::after{content:'';display:inline-block;width:2.4rem;height:1px;margin-left:.8rem;vertical-align:.32em;background:currentColor;opacity:.45;transform:scaleX(0);transform-origin:0 50%;transition:transform 1.3s cubic-bezier(.19,1,.22,1).35s}.fx-lines .eyebrow.is-in::after{transform:scaleX(1)}.fx-lines .special .content h2{border-bottom-color:transparent;background:linear-gradient(var(--h2-border),var(--h2-border))0 100%/0 1px no-repeat;transition:background-size 1.6s cubic-bezier(.19,1,.22,1).1s}.fx-lines .special .content h2.is-in{background-size:100% 1px}.fx-lines hr.section-divider{transform:scaleX(0);transition:transform 1.5s cubic-bezier(.19,1,.22,1)}.fx-lines hr.section-divider.is-in{transform:scaleX(1)}.fx-ink :is(.lede,.section-hero,.entry-item>p,.book-reviews,.book-abstract,.bib-meta) a:not(.ref-marker,.citation-marker),.fx-ink .entry-item .entry-tags a{text-decoration:none!important;background-image:linear-gradient(90deg,var(--link),var(--link-hover));background-repeat:no-repeat;background-size:0% 1px;background-position:100% 100%;padding-bottom:1px;transition:background-size .6s cubic-bezier(.2,.8,.2,1),opacity .35s ease,transform .35s ease}.fx-ink :is(.lede,.section-hero,.entry-item>p,.book-reviews,.book-abstract,.bib-meta) a:not(.ref-marker,.citation-marker):is(:hover,.ink-demo),.fx-ink .entry-item .entry-tags a:hover{background-size:100% 1px;background-position:0 100%}.fx-ink :is(.lede,.section-hero,.entry-item>p,.bib-meta) a:not(.ref-marker,.citation-marker):is(:hover,.ink-demo){color:var(--link)}@property --mx{syntax: '<percentage>'; inherits: true; initial-value: 50%; }.qd-btn svg{flex:none;width:15px;height:15px}.fx-pdf .entry-item .download-link{gap:.35rem;padding:.2rem .72rem .2rem .6rem;border-color:var(--tag-border);border-radius:999px;background:0 0;font-size:.8rem;font-weight:700;letter-spacing:.01em}.fx-pdf .entry-item .download-link svg{width:1.05em;height:1.05em}.fx-pdf .pdf-fancy{position:relative;transition:color .25s ease,border-color .25s ease,--mx .3s ease-out,opacity .35s ease,transform .35s ease}.fx-pdf .pdf-fancy::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link) calc(var(--mx) - 70%),var(--link-hover) var(--mx),var(--link) calc(var(--mx) + 70%));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.fx-pdf .pdf-fancy:hover,.fx-pdf .pdf-fancy:focus-visible,.fx-pdf .pdf-fancy.pdf-demo{color:var(--link);border-color:transparent}.fx-pdf .pdf-fancy:hover::before,.fx-pdf .pdf-fancy:focus-visible::before,.fx-pdf .pdf-fancy.pdf-demo::before{opacity:1}.fx-pdf .pdf-fancy .dl-arrow{transform-box:fill-box}.entry-item .pdf-soon{color:var(--meta);border-style:dashed;cursor:default}.entry-item .pdf-soon:hover{color:var(--meta);border-color:var(--tag-border)}.fx-pdf .pdf-fancy:hover .dl-arrow,.fx-pdf .pdf-fancy:focus-visible .dl-arrow,.fx-pdf .pdf-fancy.pdf-demo .dl-arrow{animation:pdf-drop .75s cubic-bezier(.5,0,.3,1).05s 1 both}@keyframes pdf-drop{0%{transform:translateY(0);opacity:1}38%{transform:translateY(5px);opacity:1}50%{transform:translateY(6px);opacity:0}51%{transform:translateY(-6px);opacity:0}100%{transform:translateY(0);opacity:1}}@property --title-line{syntax: '<length>'; inherits: true; initial-value: 32px; }@media(min-width:720px){.fx-pdf .entry-item{--title-line:calc(1.17em * 1.65)}.fx-pdf .entry-item .download-link{height:1.75rem;line-height:1;margin-top:calc(.3rem + (var(--title-line) - 1.75rem)/2)}}.tn-svg,.sel-year{display:none}.fx-toc .section-hero ol.tn{position:relative}.fx-toc .tn-svg{display:block;position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.fx-toc .section-hero ol.tn>li::before{background:0 0;border-color:transparent;opacity:1;font-size:.78rem;font-weight:700;color:color-mix(in srgb,var(--tn-color) 80%,transparent);transition:opacity .4s ease var(--e,0ms),color .3s ease}.fx-toc .section-hero ol.tn:not(.is-in)>li::before{opacity:0;transition-delay:0s}.fx-toc .section-hero ol.tn>li.tn-lit::before{color:var(--link)}.tn-ring,.tn-seg{fill:none;stroke:var(--halo-line);stroke-width:1;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1.01;transition:stroke-dashoffset var(--g,.1s)linear var(--d,0s),stroke .3s ease}.tn.is-in .tn-ring,.tn.is-in .tn-seg{stroke-dashoffset:0}.tn-hot{fill:color-mix(in srgb,var(--link) 7%,transparent);stroke:url(#tnGrad);stroke-width:1.15;opacity:0;transition:opacity .3s ease}.tn-stop-a,.e-stop-a{stop-color:var(--link)}.tn-stop-b,.e-stop-b{stop-color:var(--link-hover)}.tn-item.hot .tn-hot{opacity:1}.tn-item.hot-seg .tn-seg{stroke:var(--link)}.fx-toc .tn-ref{text-decoration:underline dotted color-mix(in srgb,var(--link) 55%,transparent);text-underline-offset:3px;transition:color .25s ease}.fx-toc .tn-ref:hover{color:var(--link)}.fx-toc .sel-sep{display:none}.fx-toc .selected-publications-list{display:grid;grid-template-columns:minmax(0,1fr)fit-content(15rem)2.6rem;column-gap:1.4rem}.fx-toc .selected-publications-list>p.sel{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding:.6rem 0 .62rem;transform:none;background:linear-gradient(var(--hr),var(--hr))0 100%/0 1px no-repeat;transition:background-size 1.2s cubic-bezier(.19,1,.22,1)calc(var(--i,0) * 60ms)}.fx-toc .selected-publications-list.is-in>p.sel{background-size:100% 1px}.fx-toc .selected-publications-list>p.sel:hover,.fx-toc .selected-publications-list>p.sel:focus-within{transform:none}.fx-toc .selected-publications-list>p.sel::before,.fx-toc .selected-publications-list>p.sel::after{top:0;bottom:0;left:-.75rem;right:-.75rem;width:auto;height:auto;border-radius:10px;box-shadow:none;transform:none;opacity:0;transition:opacity .35s ease}.fx-toc .selected-publications-list>p.sel::before{display:none}.fx-toc .selected-publications-list>p.sel::after{top:auto;left:0;right:0;height:1px;border-radius:0;background:linear-gradient(90deg,transparent calc(50% - 240px),var(--link) calc(50% - 90px),var(--link) calc(50% + 90px),transparent calc(50% + 240px))}.fx-toc .selected-publications-list>p.sel:is(:hover,:focus-within,.sel-demo)::after{opacity:.75;transform:none;box-shadow:none}.fx-toc .selected-publications-list>p.sel>a{position:relative;z-index:1;color:var(--text);font-size:1.02rem;line-height:1.45;transition:color .25s ease}.fx-toc .selected-publications-list>p.sel:is(:hover,:focus-within,.sel-demo)>a{color:var(--link)}.fx-toc .sel-venue{position:relative;z-index:1;font-size:.9rem;line-height:1.45;color:var(--meta)}.fx-toc .selected-publications-list>p.sel em{color:inherit}.fx-toc .sel-year{position:relative;z-index:1;display:grid;justify-items:end;overflow:hidden;font:11.5px/1.45 var(--mono);color:var(--tag-text);font-variant-numeric:tabular-nums}.fx-toc .sel-year>*{grid-area:1/1;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.fx-toc .selected-publications-list>p.sel .sel-year{cursor:pointer}.fx-toc .sel-arrow{display:block;align-self:center;width:12px;height:12px;color:var(--link);opacity:0;transform:translateY(-120%)}.fx-toc .selected-publications-list>p.sel:is(:hover,:focus-within,.sel-demo) .sel-y{opacity:0;transform:translateY(120%)}.fx-toc .selected-publications-list>p.sel:is(:hover,:focus-within,.sel-demo) .sel-arrow{opacity:1;transform:none}@media(max-width:719px){.fx-toc .selected-publications-list,.fx-toc .selected-publications-list>p.sel{display:block}.fx-toc .selected-publications-list>p.sel{line-height:1.45}.fx-toc .sel-venue{display:block;margin-top:.1rem}.fx-toc .sel-year{display:none}}.emblem,.emblem-cap{display:none}.fx-emblems .special .content>h2:first-child{position:relative}.fx-emblems body:not([data-page=other]) .page.special{--es:1.3;padding-top:calc(5rem + 124px * (var(--es) - 1))}@media(min-width:1201px){.fx-emblems body:not([data-page=other]) .page.special{--es:1.5}}.fx-emblems .emblem{display:block;position:absolute;right:0;bottom:.3rem;z-index:1;width:calc(var(--ew,200px) * var(--es,1));height:calc(var(--eh,110px) * var(--es,1));-webkit-user-select:none;user-select:none;text-rendering:geometricPrecision}.emblem svg{display:block;width:100%;height:100%;overflow:visible}.emblem-practical{cursor:pointer}.fx-emblems .emblem-cap{display:block;position:absolute;right:calc(var(--ew,200px) * var(--es,1) + 16px);bottom:.7rem;max-width:var(--cap-max,260px);text-align:right;font:500 9.5px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--eyebrow);opacity:0;transform:translateY(3px);pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.fx-emblems .emblem-cap.above{right:0;bottom:calc(var(--eh,110px) * var(--es,1) + .8rem);max-width:280px}.fx-emblems .emblem-cap.show{opacity:1;transform:none}.emblem .e-line{fill:none;stroke:var(--halo-line);stroke-width:.7}.emblem .e-soft{fill:none;stroke:var(--halo-soft);stroke-width:.6}.emblem .e-draw{stroke-dasharray:1;stroke-dashoffset:1.01;transition:stroke-dashoffset var(--g,.6s)cubic-bezier(.45,.05,.25,1)var(--d,0s),stroke .35s ease,stroke-width .35s ease}.emblem.is-drawn .e-draw{stroke-dashoffset:0}.emblem .e-fade{opacity:0;transition:opacity .9s ease var(--d,0s)}.emblem.is-drawn .e-fade{opacity:1}.emblem.no-tr,.emblem.no-tr *{transition:none!important}.net-hatch{fill:none;stroke:var(--halo-line);stroke-width:.45}.net-blot{fill:color-mix(in srgb,var(--halo-accent) 5%,transparent);stroke:var(--halo-line);stroke-width:.6}.net-fill{fill:var(--halo-accent);fill-opacity:.17;stroke:var(--halo-accent);stroke-opacity:.55;stroke-width:.45;stroke-linejoin:round}.net-base path{fill:none;stroke:var(--halo-line);stroke-width:.5}.emblem .net-label{fill:var(--halo-text);font:700 5.4px var(--font);letter-spacing:.15em;transition:fill .4s ease,opacity .9s ease var(--d,0s)}.emblem .net-sep{fill:none;stroke:var(--halo-line);stroke-width:.6}.emblem .net-label.lit{fill:var(--halo-accent)}.emblem .net-prop{fill:var(--halo-text);font:italic 7.4px var(--classic);letter-spacing:.06em}.net-cast{transform-box:fill-box;transform-origin:center;transform:scale(.02);transition:transform 1.7s cubic-bezier(.2,.7,.2,1).45s}.emblem.is-drawn .net-cast{transform:none}.cmp-shade{fill:var(--halo-accent);fill-opacity:.13;stroke:none}.cmp-shade.soft{fill-opacity:.07}.emblem .cmp-label{fill:var(--halo-text);font:700 6.6px var(--font);letter-spacing:.12em;transition:fill .45s ease,opacity .9s ease var(--d,0s)}.emblem .cmp-label.lit{fill:var(--halo-accent)}.cmp-needle{opacity:0;transition:opacity .5s ease .9s}.emblem.is-drawn .cmp-needle{opacity:1}.cmp-north{fill:url(#cmpNeedleG)}.cmp-south{fill:none;stroke:var(--halo-line);stroke-width:.7}.cmp-pivot{fill:var(--page-solid);stroke:var(--halo-accent);stroke-width:.8}.ring-band{fill:var(--halo-accent);fill-opacity:0;stroke:none;transition:fill-opacity .35s ease}.ring-band.lit{fill-opacity:.12}.emblem .ring.lit{stroke:var(--halo-accent);stroke-width:1}.emblem .ring-ray{fill:none;stroke:var(--halo-soft);stroke-width:.6;stroke-dasharray:1.4 2.6}.emblem .ring-check{fill:var(--page-solid);stroke:var(--halo-line);stroke-width:.6;stroke-linejoin:round}.emblem-media,.emblem-biblio{cursor:pointer}.chl-sand{position:absolute;display:block;pointer-events:none;color:var(--halo-text);opacity:0;transition:opacity .9s ease .5s}.emblem.is-drawn .chl-sand{opacity:1}.chl-clamp{fill:var(--page-solid);stroke:var(--halo-line);stroke-width:.7}.chl-frog{fill:var(--halo-soft);stroke:var(--halo-line);stroke-width:.5}.chl-bow{transform-box:view-box}.chl-bow.bowing{animation:chl-bow 1.2s cubic-bezier(.45,0,.3,1)}@keyframes chl-bow{28%{transform:translateY(-6px)}64%{transform:translateY(4.5px)}}.bw-hub{fill:var(--page-solid);stroke:var(--halo-line);stroke-width:.7}.bw-axle{fill:var(--halo-line)}.bw-index{fill:var(--halo-accent);opacity:.55}.bw-book{fill:var(--page-solid);stroke:var(--halo-line);stroke-width:.55;stroke-linejoin:round;transition:fill .35s ease,stroke .35s ease}.bw-print{fill:none;stroke:var(--halo-soft);stroke-width:.45;transition:stroke .35s ease}.bw-lectern.lit .bw-book{fill:color-mix(in srgb,var(--halo-accent) 12%,var(--page-solid));stroke:var(--halo-accent)}.bw-lectern.lit .bw-print{stroke:color-mix(in srgb,var(--halo-accent) 60%,transparent)}.rm .chl-bow.bowing{animation:none}.cv-grat{fill:none;stroke:var(--halo-soft);stroke-width:.5;stroke-dasharray:1 2.2}.cv-lake{fill:color-mix(in srgb,var(--halo-accent) 10%,var(--page-solid));stroke:var(--halo-line);stroke-width:.5;stroke-linejoin:round}.cv-river{fill:none;stroke:var(--halo-line);stroke-width:.45;stroke-linecap:round;stroke-linejoin:round}.cv-river.major{stroke-width:.7}.cv-reveal{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}.cv-leg{fill:none;stroke:var(--halo-accent);stroke-width:.9;stroke-dasharray:2 1.8;stroke-linecap:round;transition:stroke-width .3s ease}.cv-off{fill:var(--halo-line);stroke:none;transition:fill .3s ease,opacity .9s ease var(--d,0s)}.cv-off.lit{fill:var(--halo-accent)}.emblem .cv-miles{fill:var(--halo-text);font:italic 3.9px var(--classic);letter-spacing:.08em;opacity:.85}.cv-leg-g{opacity:.75;transition:opacity .3s ease}.cv-leg-g.dim{opacity:.16}.cv-leg-g.lit{opacity:1}.cv-leg-g.lit .cv-leg{stroke-width:1.35}.cv-stn{fill:var(--page-solid);stroke:var(--halo-line);stroke-width:.75;transition:stroke .3s ease,fill .3s ease,opacity .9s ease var(--d,0s)}.cv-stn-dot{fill:var(--halo-line);transition:fill .3s ease,opacity .9s ease var(--d,0s)}.cv-stn.lit{stroke:var(--halo-accent);fill:color-mix(in srgb,var(--halo-accent) 18%,var(--page-solid))}.emblem .cv-place{fill:var(--halo-text);font:700 4.7px var(--font);letter-spacing:.14em;transition:fill .3s ease,opacity .9s ease var(--d,0s)}.emblem .cv-place.lit{fill:var(--halo-accent)}.cv-star{fill:var(--halo-soft);stroke:var(--halo-line);stroke-width:.45;stroke-linejoin:round}.emblem-word,.era-name{border-radius:3px;transition:color .25s ease,background-color .25s ease,box-shadow .25s ease}.fx-emblems .emblem-word.lit,.fx-emblems .era-name.lit{color:var(--link);background:color-mix(in srgb,var(--link) 11%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--link) 11%,transparent)}@media(max-width:680px){.fx-emblems body:not([data-page=other]) .page.special{padding-top:calc(2.5rem + 22px)}.fx-emblems .emblem{bottom:calc(100% + .35rem);width:calc(var(--ew,200px) * var(--em-k,.6));height:calc(var(--eh,110px) * var(--em-k,.6))}.fx-emblems .emblem-cap,.fx-emblems .emblem-cap.above{right:calc(var(--ew,200px) * var(--em-k,.6) + 12px);bottom:calc(100% + .35rem);max-width:calc(100% - var(--ew,200px) * var(--em-k,.6) - 12px)}}.theme-switch .ico-eclipse,.lang-btn,.m-search{display:none}.fx-controls .theme-switch .ico-disc,.fx-controls .globe{display:none}.fx-controls .theme-switch .ico-eclipse{display:block;overflow:visible;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.fx-controls .lang-btn{display:inline-flex}.fx-search .mobile-icons .m-search{display:inline-flex}.ico-eclipse .ecl-disc{transform-origin:12px 12px;transform:scale(.58);transition:transform .55s cubic-bezier(.4,0,.2,1)}.ico-eclipse .ecl-bite{transform:translate(8px,-8px);transition:transform .62s cubic-bezier(.4,0,.2,1)}.ico-eclipse .ecl-rays{transform-origin:12px 12px;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .35s ease}.theme-switch.is-moon .ico-eclipse .ecl-disc,.theme-switch.is-moon .ico-eclipse .ecl-bite{transform:none}.theme-switch.is-moon .ico-eclipse .ecl-rays{transform:rotate(-70deg)scale(.4);opacity:0}.fx-controls .theme-switch:not(.is-moon):hover .ico-eclipse .ecl-rays{transform:rotate(22.5deg)}.fx-controls .theme-switch.is-moon:hover .ico-eclipse{transform:rotate(-16deg)}.theme-switch.no-tr .ico-eclipse,.theme-switch.no-tr .ico-eclipse *{transition:none!important}html.vt-busy .theme-switch .ico-eclipse .ecl-disc{transition:transform .55s cubic-bezier(.4,0,.2,1)!important}html.vt-busy .theme-switch .ico-eclipse .ecl-bite{transition:transform .62s cubic-bezier(.4,0,.2,1)!important}html.vt-busy .theme-switch .ico-eclipse .ecl-rays{transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .35s ease!important}.lang-btn{position:relative;align-items:center;gap:5px;height:28px;margin:0 2px 0 5px;padding:0 8px 0 7px;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--nav);cursor:pointer;transition:color .25s ease,border-color .25s ease,background-color .25s ease}.lang-btn::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.lang-btn:hover,.lang-btn:focus-visible,.lang-btn[aria-expanded=true]{color:var(--link);border-color:transparent}.lang-btn:hover::before,.lang-btn:focus-visible::before,.lang-btn[aria-expanded=true]::before{opacity:1}.lang-btn[aria-expanded=true]{background:color-mix(in srgb,var(--link) 8%,transparent)}.lang-globe{display:block;width:14px;height:14px}.lang-code{display:block;height:12px;overflow:hidden;font:500 11.5px/12px var(--mono);letter-spacing:.06em}.lang-roll{display:flex;flex-direction:column}.lang-roll>span{display:block;height:12px}.lang-btn.rolling .lang-roll{animation:lang-roll 1.3s cubic-bezier(.6,0,.2,1)both}@keyframes lang-roll{0%,6%{transform:translateY(0)}24%,40%{transform:translateY(-12px)}58%,74%{transform:translateY(-24px)}92%,100%{transform:translateY(-36px)}}.lang-caret{display:block;width:9px;height:9px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.lang-btn[aria-expanded=true] .lang-caret{transform:rotate(180deg)}.lang-btn.compact{height:26px;margin:0 4px;padding:0 6px 0 8px}.lang-menu{position:fixed;z-index:260;min-width:206px;padding:8px 6px 6px;border:1px solid var(--panel-border);border-radius:14px;background:var(--card-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);box-shadow:0 16px 44px rgba(20,30,50,.16);color:var(--text);font-family:var(--font);opacity:0;visibility:hidden;transform:translateY(-6px)scale(.98);transform-origin:100% 0;transition:opacity .2s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s}.lang-menu.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.lang-kicker{margin:2px 10px 6px;font:500 9.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.lang-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 10px;border-radius:9px;color:var(--text);font-size:14.5px}.lang-item:hover,.lang-item:focus-visible{color:var(--text);background:color-mix(in srgb,var(--link) 9%,transparent);outline:none}.lang-name{display:inline-flex;align-items:center;gap:9px}.lang-name::before{content:'';width:6px;height:6px;border-radius:50%;background:0 0}.lang-item[aria-checked=true] .lang-name{font-weight:700}.lang-item[aria-checked=true] .lang-name::before{background:var(--link)}.lang-short{font:500 10.5px/1 var(--mono);letter-spacing:.08em;color:var(--eyebrow)}.hdr-tip{position:fixed;z-index:270;left:0;top:0;padding:5px 9px;border:1px solid var(--panel-border);border-radius:8px;background:var(--card-bg);-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);box-shadow:0 8px 22px rgba(20,30,50,.12);color:var(--text);font:500 12px/1.3 var(--font);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-3px);transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.hdr-tip.show{opacity:1;transform:translate(-50%,0)}.hdr-tip kbd{margin-left:8px;padding:1px 6px;border:1px solid var(--panel-border);border-radius:4px;font:500 10.5px/1.2 var(--mono);color:var(--panel-muted)}.fx-controls .menu>li.delim{position:relative;width:1px;margin:0 1.05rem 0 .35rem;border-left:0}.fx-controls .menu>li.delim::before{content:'';position:absolute;left:0;top:50%;width:1px;height:18px;margin-top:-9px;background:color-mix(in srgb,var(--nav) 24%,transparent)}.search-btn{position:relative}.search-btn .lens,.qs-lens .lens{transform-box:fill-box;transform-origin:50% 50%}.fx-search .search-btn .lens{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.fx-search .search-btn:hover .lens{transform:rotate(-10deg)scale(1.06)}.fx-search .search-btn.seek .lens,.qs-panel.shown .qs-lens .lens{animation:lens-seek .8s cubic-bezier(.45,0,.25,1)}@keyframes lens-seek{0%{transform:none}22%{transform:translate(-2px,-1.5px)rotate(-10deg)}48%{transform:translate(2px,-2px)rotate(8deg)}74%{transform:translate(1px,1.8px)rotate(-4deg)}100%{transform:none}}.fx-search .search-btn::after{content:'';position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:1px solid var(--link);border-radius:50%;opacity:0;pointer-events:none}.fx-search .search-btn.seek::after{animation:lens-ping .75s ease-out .08s}@keyframes lens-ping{from{opacity:.6;transform:scale(.45)}to{opacity:0;transform:scale(1.8)}}.qms-search{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:0 0;overflow:hidden;color:var(--text);font-family:var(--font)}.qms-search::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(6px)saturate(120%);backdrop-filter:blur(6px)saturate(120%);animation:qd-fade .3s ease}.qs-ghost{position:fixed;display:none;border:1px solid var(--panel-border);background:var(--card-bg);box-shadow:0 30px 80px rgba(10,16,30,.26);pointer-events:none}.qs-panel{position:absolute;left:50%;top:max(24px,8vh);display:flex;flex-direction:column;overflow:hidden;width:min(960px,calc(100vw - 32px));height:min(720px,calc(100vh - max(24px,8vh) - 24px));border:1px solid var(--panel-border);border-radius:18px;background:var(--card-bg);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);box-shadow:0 30px 80px rgba(10,16,30,.26);opacity:0;transform:translateX(-50%)scale(.985);transform-origin:50% 0;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.8,.2,1)}.qs-panel.shown{opacity:1;transform:translateX(-50%)}.qs-panel.hiding{opacity:0;transform:translateX(-50%)scale(.985);transition-duration:.18s}.qs-head{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px 14px 20px;border-bottom:1px solid var(--divider)}.qs-lens{flex:none;display:block;width:20px;height:20px;color:var(--link)}.qs-field{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.qs-chips{display:contents}.qs-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px 3px 9px;border:1px solid color-mix(in srgb,var(--link) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--link) 10%,transparent);color:var(--link);font:500 12px/1.2 var(--mono);cursor:pointer;animation:qs-in .3s cubic-bezier(.2,.8,.2,1)}.qs-chip>span:first-child{opacity:.55}.qs-chip .x{margin-left:4px;font:15px/1 var(--font);opacity:.6;transition:opacity .2s ease,color .2s ease}.qs-chip:hover .x{opacity:1;color:var(--link-hover)}.qs-input{flex:1;min-width:12ch;height:34px;padding:0;border:0;outline:0;background:0 0;color:var(--text);font:19px/1.3 var(--font)}.qs-input::placeholder{color:var(--panel-muted);opacity:.75}.qs-close{flex:none;padding:4px 8px;border:1px solid var(--panel-border);border-radius:7px;background:0 0;color:var(--panel-muted);font:500 10.5px/1.2 var(--mono);letter-spacing:.06em;cursor:pointer}.qs-close:hover{color:var(--text)}.qs-scan{position:absolute;left:0;right:0;bottom:-1px;height:1px;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,var(--link) 30%,var(--link-hover) 50%,var(--link) 70%,transparent)-60% 0/45% 100% no-repeat}.qs-scan.go{animation:qs-scan .75s cubic-bezier(.4,0,.2,1)}@keyframes qs-scan{0%{opacity:1;background-position:-60% 0}70%{opacity:1}100%{opacity:0;background-position:160% 0}}.qs-filters{display:flex;align-items:center;gap:6px;padding:10px 16px 10px 20px;border-bottom:1px solid var(--divider);overflow-x:auto;scrollbar-width:none}.qs-filters::-webkit-scrollbar{display:none}.qs-filter{flex:none;display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--tag-text);font:500 12.5px/1.25 var(--font);cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease,opacity .2s ease}.qs-filter .n{font:10.5px/1 var(--mono);color:var(--panel-muted);font-variant-numeric:tabular-nums}.qs-filter:not(:disabled):hover{color:var(--link);border-color:color-mix(in srgb,var(--link) 45%,transparent)}.qs-filter[aria-pressed=true]{color:var(--link);border-color:color-mix(in srgb,var(--link) 55%,transparent);background:color-mix(in srgb,var(--link) 11%,transparent)}.qs-filter[aria-pressed=true] .n{color:inherit}.qs-filter:disabled{opacity:.36;cursor:default}.qs-sort{flex:none;margin-left:auto;padding:4px 2px 4px 10px;border:0;background:0 0;color:var(--panel-muted);font:500 12px/1.2 var(--font);cursor:pointer}.qs-sort::before{content:'⇅';margin-right:5px}.qs-sort:not(:disabled):hover{color:var(--link)}.qs-sort:disabled{cursor:default;opacity:.6}.qs-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.12fr)minmax(0,1fr)}.qs-list{position:relative;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 16px;scroll-padding:40px 0 12px;--fade:0px;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - var(--fade)),transparent)}.qs-list.more-below{--fade:34px}.qs-group{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 -8px;padding:13px 20px 7px;background:color-mix(in srgb,var(--card-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:500 10px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.qs-group span{letter-spacing:.06em;text-transform:none;color:var(--panel-muted)}.qs-row{position:relative;z-index:1;display:grid;gap:2px;padding:9px 12px 10px;border-radius:10px;cursor:pointer}.qs-row.in{animation:qs-in .34s cubic-bezier(.2,.8,.2,1)both;animation-delay:calc(var(--k,0) * 16ms)}@keyframes qs-in{from{opacity:0;transform:translateY(5px)}}.qs-line{display:flex;align-items:baseline;gap:14px}.qs-t{flex:1;min-width:0;font-size:14.5px;line-height:1.36;font-weight:700;color:var(--text);transition:color .2s ease}.qs-row[aria-selected=true] .qs-t{color:var(--link)}.qs-y{flex:none;font:11px/1.3 var(--mono);color:var(--tag-text);font-variant-numeric:tabular-nums}.qs-m{font-size:12.5px;line-height:1.4;color:var(--meta)}.qs-s{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--text-2)}.qs-kw,.qs-page{grid-template-columns:24px minmax(0,1fr);column-gap:10px;align-items:center}.qs-glyph{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--tag-border);border-radius:7px;font:500 12px/1 var(--mono);color:var(--link)}.qs-row mark,.qs-preview mark{padding:0 1px;border-radius:3px;background:color-mix(in srgb,var(--link-hover) 20%,transparent);color:inherit}.qs-cursor{position:absolute;left:8px;right:8px;top:0;z-index:0;border-radius:10px;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--link) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--link) 20%,transparent);transition:transform .26s cubic-bezier(.2,.8,.2,1),height .26s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.qs-cursor.on{opacity:1}.qs-cursor.no-tr{transition:none}.qs-starts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:16px 12px 4px}.qs-starts-label{width:100%;margin-bottom:3px;font:500 10px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.qs-start{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--tag-text);font:12px/1.25 var(--mono);cursor:pointer;transition:color .2s ease,border-color .2s ease}.qs-start .n{font-size:10.5px;color:var(--panel-muted)}.qs-start:hover{color:var(--link);border-color:color-mix(in srgb,var(--link) 50%,transparent)}.qs-none{display:grid;justify-items:center;gap:12px;padding:44px 16px;color:var(--panel-muted);text-align:center}.qs-none p{margin:0}.qs-preview{overflow-y:auto;overscroll-behavior:contain;padding:22px 26px 24px;border-left:1px solid var(--divider)}.qs-preview.in{animation:qs-pv .3s cubic-bezier(.2,.8,.2,1)}@keyframes qs-pv{from{opacity:.3;transform:translateY(4px)}}.qs-preview .qd-kicker,.qs-preview .qd-title{margin-right:0}.qs-preview .qd-title{font-size:1.24rem}.qs-preview .qd-meta{font-size:.92rem}.qs-preview .qd-cover{width:74px}.qs-preview .qd-body{font-size:.94rem;line-height:1.6}.qs-preview .qd-kw.on{border-color:var(--link);background:color-mix(in srgb,var(--link) 10%,transparent)}.qs-pv-empty{margin:0;color:var(--panel-muted);font-size:13px}.qs-pv-list{display:grid;gap:9px;margin:16px 0 0;padding:0;list-style:none}.qs-pv-list li{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;line-height:1.35}.qs-pv-list small{flex:none;font:11px/1.4 var(--mono);color:var(--tag-text)}.qs-pv-list .more{color:var(--panel-muted)}.qs-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px 10px 20px;border-top:1px solid var(--divider);font:11px/1.3 var(--mono);color:var(--panel-muted)}.qs-foot kbd{display:inline-block;min-width:18px;margin:0 1px;padding:1px 4px;border:1px solid var(--panel-border);border-radius:4px;font:inherit;text-align:center}.qs-foot kbd+kbd{margin-left:0}.qs-keys{word-spacing:.15em}@media(max-width:760px){.qs-panel{top:0;width:100vw;height:100dvh;border:0;border-radius:0}.qs-body{grid-template-columns:1fr}.qs-preview,.qs-keys{display:none}.qs-head{padding-top:calc(12px + env(safe-area-inset-top,0px))}}.cite-btn,.bib-side .cite-btn{display:none}.fx-cite .entry-item h3{position:relative}.fx-cite .cite-btn{position:relative;display:inline-flex;align-items:center;gap:.32rem;height:1.75rem;padding:0 .72rem 0 .6rem;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--link);font:700 .8rem/1 var(--font);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:color .25s ease,border-color .25s ease,background-color .25s ease,opacity .35s ease,transform .35s ease}.fx-cite .cite-btn svg{width:12px;height:12px}.fx-cite .cite-btn::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.fx-cite .cite-btn:hover,.fx-cite .cite-btn:focus-visible,.fx-cite .cite-btn[aria-expanded=true]{border-color:transparent}.fx-cite .cite-btn:hover::before,.fx-cite .cite-btn:focus-visible::before,.fx-cite .cite-btn[aria-expanded=true]::before{opacity:1}.fx-cite .cite-btn[aria-expanded=true]{background:color-mix(in srgb,var(--link) 9%,transparent)}@media(min-width:720px){.fx-cite .entry-item{grid-template-columns:minmax(0,1fr)auto auto}.fx-cite .entry-item .cite-btn{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin-top:calc(.3rem + (var(--title-line,32px) - 1.75rem)/2)}.fx-cite .entry-item .download-link{grid-column:3}.fx-cite .entry-item{--title-line:calc(1.17em * 1.65)}}@media(max-width:719px){.fx-cite .entry-item .cite-btn{margin:.3rem .4rem .65rem 0}}@media(hover:hover) and (pointer:fine){.fx-cite .entry-item .cite-btn{opacity:0;transform:translateY(1px);pointer-events:none}.fx-cite .entry-item:hover .cite-btn,.fx-cite .entry-item:focus-within .cite-btn,.fx-cite .entry-item.reveal .cite-btn,.fx-cite .entry-item.threads-open .cite-btn,.fx-cite .entry-item .cite-btn[aria-expanded=true]{opacity:1;transform:none;pointer-events:auto}}.cite-pop{position:fixed;z-index:250;left:0;top:0;width:min(430px,calc(100vw - 24px));padding:12px 14px 13px;border:1px solid var(--panel-border);border-radius:14px;background:var(--card-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);box-shadow:0 16px 44px rgba(20,30,50,.16);color:var(--text);font-family:var(--font);opacity:0;visibility:hidden;transform:translateY(-4px)scale(.98);transform-origin:100% 0;transition:opacity .2s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s}.cite-pop.above{transform-origin:100% 100%;transform:translateY(4px)scale(.98)}.cite-pop.from-left{transform-origin:0 0}.cite-pop.from-left.above{transform-origin:0 100%}.cite-pop.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.cp-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cp-kicker{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.cp-tabs{display:inline-flex;gap:2px;margin-left:auto;padding:2px;border-radius:8px;background:var(--seg-bg)}.cp-tabs button{padding:4px 10px;border:0;border-radius:6px;background:0 0;color:var(--panel-muted);font:700 11.5px/1.2 var(--font);cursor:pointer;transition:color .2s ease,background-color .2s ease}.cp-tabs button[aria-selected=true]{background:var(--seg-on);color:var(--text);box-shadow:var(--seg-on-shadow)}.cp-x{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:0 0;color:var(--panel-muted);cursor:pointer}.cp-x:hover{color:var(--text)}.cp-x svg{width:12px;height:12px}.cp-ref{margin:0;font-size:13.5px;line-height:1.6;color:var(--text);overflow-wrap:anywhere}.cp-bib{max-height:230px;margin:0;padding:10px 12px;overflow:auto;border:1px solid var(--divider);border-radius:9px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text-2);font:11.5px/1.55 var(--mono);white-space:pre}.cp-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cp-acts .qd-btn{padding:6px 12px;font-size:13px;border-radius:999px}.cp-acts .qd-btn svg{width:13px;height:13px}.cp-acts .qd-btn.done{color:var(--link-hover)}.cp-acts [hidden]{display:none}.qms-toast{position:fixed;left:50%;bottom:22px;z-index:280;display:inline-flex;align-items:center;gap:7px;padding:7px 15px 7px 11px;border:1px solid var(--panel-border);border-radius:999px;background:var(--card-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);box-shadow:0 10px 30px rgba(20,30,50,.14);color:var(--text);font:700 12.5px/1.2 var(--font);opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.qms-toast.show{opacity:1;transform:translate(-50%,0)}.qms-toast svg{width:13px;height:13px;color:var(--link)}.fx-cite .citation-marker.on{color:var(--link);background:color-mix(in srgb,var(--link) 13%,transparent)}.cite-card{position:fixed;z-index:240;left:0;top:0;padding:13px 15px 12px;border:1px solid var(--panel-border);border-radius:14px;background:var(--card-bg);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);box-shadow:var(--card-shadow),0 20px 44px -20px rgba(20,30,50,.3);color:var(--text);font-family:var(--font);text-align:left;opacity:0;visibility:hidden;transform:translateY(4px)scale(.96);transform-origin:36px 0;transition:opacity .16s ease,transform .26s cubic-bezier(.3,1.35,.6,1),visibility 0s linear .3s}.cite-card.above{transform-origin:36px 100%;transform:translateY(-4px)scale(.96)}.cite-card.open{opacity:1;visibility:visible;transform:none;transition-delay:.15s,.15s,0s}.cite-card .qd-kicker{margin:0 0 6px}.cite-card .qd-kicker i{text-transform:none;letter-spacing:.02em}.cc-title{margin:0 0 6px;font-size:15.5px;line-height:1.3;font-weight:700}.cc-abstract{margin:0;font-size:13.5px;line-height:1.5;color:var(--text-2)}.cc-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px;padding-top:10px;border-top:1px solid var(--divider)}.cc-acts .qd-btn{padding:5px 11px;font-size:13px;border-radius:999px}.cc-acts .qd-btn svg{width:13px;height:13px}.cite-thread{position:fixed;z-index:239;overflow:visible;pointer-events:none}.cite-thread .thread{fill:none;stroke:var(--link);stroke-width:1.15;stroke-opacity:.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1.01;transition:stroke-dashoffset .16s cubic-bezier(.3,.6,.4,1)}.cite-thread.open .thread{stroke-dashoffset:0}.media-ledger,.bib-ledger{display:none}.fx-ledger .media-original,.fx-ledger .bibliography-list{display:none}.fx-ledger .media-ledger,.fx-ledger .bib-ledger{display:block}.ml-group{margin:2.4rem 0 0}.ml-group:first-child{margin-top:1.4rem}.ml-head,.bib-y{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .3rem;padding-bottom:.5rem;border-bottom:1px solid var(--h2-border);font:500 .78rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}.ml-head span{font-size:.72rem;letter-spacing:.04em;text-transform:none;color:var(--panel-muted)}.ml-row{position:relative;display:grid;grid-template-columns:7.4rem minmax(0,1fr)auto;column-gap:1.2rem;align-items:baseline;padding:.72rem 0 .74rem;color:inherit;text-decoration:none;background:linear-gradient(var(--hr),var(--hr))0 100%/100% 1px no-repeat}a.ml-row:hover{color:inherit}.ml-row::after,.bib-row::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;opacity:0;transition:opacity .35s ease;background:linear-gradient(90deg,transparent calc(50% - 240px),var(--link) calc(50% - 90px),var(--link) calc(50% + 90px),transparent calc(50% + 240px))}a.ml-row:hover::after,a.ml-row:focus-visible::after,.bib-row:hover::after{opacity:1}.ml-date{font:11.5px/1.5 var(--mono);color:var(--tag-text);font-variant-numeric:tabular-nums;white-space:nowrap}.ml-date b{margin-right:.4em;font-weight:500;color:var(--eyebrow)}.ml-main{display:grid;gap:2px;min-width:0}.ml-title{font-size:1.02rem;line-height:1.4;font-weight:700;color:var(--text);transition:color .25s ease}a.ml-row:hover .ml-title,a.ml-row:focus-visible .ml-title{color:var(--link)}.ml-src{font-size:.9rem;line-height:1.45;color:var(--meta)}.ml-src a{color:inherit}.ml-src a:hover{color:var(--link-hover)}.ml-act{position:relative;display:inline-flex;align-items:center;gap:6px;height:1.62rem;padding:0 .7rem 0 .6rem;border:1px solid var(--tag-border);border-radius:999px;color:var(--link);font:700 .76rem/1 var(--font);white-space:nowrap;transition:border-color .25s ease,background-color .25s ease}.ml-act svg{width:11px;height:11px}.ml-act::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}a.ml-row:hover .ml-act,a.ml-row:focus-visible .ml-act{border-color:transparent;background:color-mix(in srgb,var(--link) 7%,transparent)}a.ml-row:hover .ml-act::before,a.ml-row:focus-visible .ml-act::before{opacity:1}.ml-work{margin:.8rem 0 1.5rem}.ml-work-head{display:grid;gap:2px;padding:.4rem 0 .35rem}.ml-work-title{font-size:1.06rem;line-height:1.35;font-weight:700}.ml-work-meta{font-size:.88rem;color:var(--meta)}.ml-echoes{position:relative}.ml-echo{margin-left:1.9rem}.ml-branch{position:absolute;left:-1.35rem;top:0;bottom:0;width:1.05rem;pointer-events:none}.ml-branch::before{content:'';position:absolute;left:0;top:0;width:100%;height:1.45rem;border-left:1px solid var(--halo-line);border-bottom:1px solid var(--halo-line);border-bottom-left-radius:9px}.ml-echo:not(:last-child) .ml-branch::after{content:'';position:absolute;left:0;top:1.4rem;bottom:0;border-left:1px solid var(--halo-line)}.fx-ledger:not(.rm) .ml-group:not(.is-in) .ml-row{opacity:0;transform:translateY(4px)}.fx-ledger:not(.rm) .ml-group .ml-row{transition:opacity .45s ease calc(var(--i,0) * 45ms),transform .55s cubic-bezier(.2,.8,.2,1)calc(var(--i,0) * 45ms)}.fx-ledger:not(.rm) .ml-group:not(.is-in) .ml-branch{clip-path:inset(0 0 100% 0)}.fx-ledger:not(.rm) .ml-branch{transition:clip-path .5s cubic-bezier(.3,.6,.4,1)calc(var(--i,0) * 45ms);clip-path:inset(0 -2px -2px -2px)}.bib-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:1.2rem 0 1.6rem}.bib-filters{display:flex;flex-wrap:wrap;gap:6px}.bib-export{position:relative;display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;height:1.85rem;padding:0 .85rem 0 .7rem;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--link);font:700 .8rem/1 var(--font);cursor:pointer;transition:border-color .25s ease}.bib-export svg{width:13px;height:13px}.bib-export::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.bib-export:hover{border-color:transparent}.bib-export:hover::before{opacity:1}.bib-year{display:grid;grid-template-columns:7rem minmax(0,1fr);column-gap:1.6rem;margin-bottom:1.2rem;border-top:1px solid var(--h2-border)}.bib-y{position:sticky;top:calc(56px + 1.1rem);align-self:start;display:block;margin:.82rem 0 0;padding:0;border-bottom:0;font-size:.95rem;letter-spacing:.06em;color:var(--text)}.bib-rows>.bib-row:last-child{background:0 0}.bib-y small{display:block;margin-top:.3rem;font-size:.68rem;letter-spacing:.06em;text-transform:none;color:var(--panel-muted)}.bib-row{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);column-gap:1rem;align-items:baseline;padding:.72rem 0 .78rem;background:linear-gradient(var(--hr),var(--hr))0 100%/100% 1px no-repeat}.bib-n{font:11px/1.6 var(--mono);color:var(--panel-muted);text-align:right;font-variant-numeric:tabular-nums}.bib-main{min-width:0}.bib-title{display:block;width:fit-content;max-width:100%;font-size:1.02rem;line-height:1.4;font-weight:700;color:var(--text);transition:color .25s ease}.bib-title:hover{color:var(--link)}.bib-meta{margin:.2rem 0 0!important;font-size:.92rem;line-height:1.5;color:var(--entry-meta)}.bib-side{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:1.75rem;margin-top:.35rem}.bib-where{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 .45em;margin-right:4px;font:10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tag-text)}.bib-where a{color:inherit;text-decoration:none;transition:color .2s ease}.bib-where a:hover,.bib-where a:focus-visible{color:var(--link)}.bib-where-sep{opacity:.55}.fx-cite .bib-side .cite-btn{display:inline-flex}.bib-pdf{position:relative;display:inline-flex;align-items:center;gap:.32rem;height:1.75rem;padding:0 .72rem 0 .6rem;border:1px solid var(--tag-border);border-radius:999px;color:var(--link);font:700 .8rem/1 var(--font);white-space:nowrap}.bib-pdf svg{width:13px;height:13px}@media(hover:hover) and (pointer:fine){.bib-side .cite-btn,.bib-pdf{opacity:0;transition:opacity .3s ease,border-color .25s ease}.bib-row:hover .cite-btn,.bib-row:hover .bib-pdf,.bib-row:focus-within .cite-btn,.bib-row:focus-within .bib-pdf,.bib-row.reveal .cite-btn,.bib-side .cite-btn[aria-expanded=true]{opacity:1}}.bib-row.flash{animation:bib-in .4s cubic-bezier(.2,.8,.2,1)both;animation-delay:calc(var(--i,0) * 25ms)}@keyframes bib-in{from{opacity:0;transform:translateY(4px)}}@media(max-width:760px){.ml-row{grid-template-columns:minmax(0,1fr)auto;row-gap:2px}.ml-date{grid-column:1/-1}.bib-year{grid-template-columns:1fr}.bib-y{position:static;display:flex;margin-bottom:.2rem}.bib-y small{margin:0 0 0 .6rem}.bib-row{grid-template-columns:1.6rem minmax(0,1fr)}}.fx-finish .links{gap:.3rem}.fx-finish .links a{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;transition:color .25s ease}.fx-finish .links a:hover{transform:none;opacity:1;color:var(--link)}.fx-finish .links a::before{content:'';position:absolute;inset:0;padding:1px;border-radius:50%;pointer-events:none;background:linear-gradient(135deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transform:scale(.78);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.fx-finish .links a:hover::before,.fx-finish .links a:focus-visible::before{opacity:1;transform:none}.fx-finish .links a:focus-visible{outline:none}.fx-finish .links svg,.fx-finish .links .mask-icon{width:21px;height:21px}.book-read{display:none}.fx-finish .book-read{display:inline-flex}.fx-finish .book-actions{flex-wrap:wrap;gap:.45rem}.fx-finish .book-action-button{position:relative;gap:.35rem;height:1.75rem;padding:0 .75rem 0 .62rem;border:1px solid var(--tag-border);border-radius:999px;background:0 0;color:var(--link);font:700 .78rem/1 var(--font);transition:border-color .25s ease,background-color .25s ease}.fx-finish .book-action-button:not(.pdf-fancy)::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.fx-finish .book-action-button:hover,.fx-finish .book-action-button:focus-visible,.fx-finish .book-action-button[aria-pressed=true]{color:var(--link);border-color:transparent;background:0 0}.fx-finish .book-action-button:hover::before,.fx-finish .book-action-button:focus-visible::before,.fx-finish .book-action-button[aria-pressed=true]::before{opacity:1}.fx-finish .book-action-button[aria-pressed=true]{background:color-mix(in srgb,var(--link) 9%,transparent)}.fx-finish .book-read svg{width:13px;height:13px}.fx-finish .book-reviews{gap:.15rem}.fx-finish .review-quote.is-quote{position:relative;padding-left:1.05rem}.fx-finish .review-quote .q-open{position:absolute;left:-.1rem;top:-.2rem;font:700 1.7em/1 var(--classic);font-style:normal;color:color-mix(in srgb,var(--link) 55%,transparent)}.fx-finish .review-author{display:block;margin:.2rem 0 0;font-style:normal;font-size:.84rem;letter-spacing:.02em}.fx-finish .review-quote.is-note{position:relative;padding-left:1.05rem;font-style:normal;font-size:.93rem;color:var(--meta)}.fx-finish .review-quote.is-note::before{content:'';position:absolute;left:.1rem;top:.62em;width:.4rem;height:.4rem;border:1px solid var(--link);transform:rotate(45deg)}.fx-finish .entry-item>p:first-of-type a[href*="doi.org/"]{font:.88rem/1.5 var(--mono);letter-spacing:.01em}.fx-finish :is(.bib-meta,.qd-meta) a[href*="doi.org/"]{font-family:var(--mono);font-size:.86em;letter-spacing:.01em}.colophon{display:none}.fx-finish .footer-classic{display:none}.fx-finish .site-footer{padding:0 16px}.fx-finish :is(.home,.special) .content{border-bottom:0}.fx-finish .page.home{padding-bottom:1.5rem}.fx-finish .colophon{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 2rem;width:56%;margin:0 auto;padding:1.3rem 0 2.4rem;border-top:1px solid var(--divider);font:11.5px/1.4 var(--mono);letter-spacing:.03em;color:var(--footer);text-align:left}.cf-langs{display:flex;gap:1rem}.cf-langs a,.cf-top{color:var(--footer)}.cf-langs a[aria-current]{color:var(--text)}.cf-langs a:hover,.cf-top:hover{color:var(--link-hover)}.cf-top{display:inline-flex;align-items:center;gap:.45rem}.cf-top svg{width:11px;height:11px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.cf-top:hover svg{transform:translateY(-2px)}@media(min-width:1441px){.fx-finish .colophon{width:60%}}@media(max-width:1200px){.fx-finish .colophon{width:52%}}@media(max-width:960px){.fx-finish .colophon{width:80%}}@media(max-width:680px){.fx-finish .colophon{width:100%;justify-content:center;text-align:center}}.run-year{position:fixed;top:38vh;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;width:132px;pointer-events:none;opacity:0;transition:opacity .5s ease}.run-year.on{opacity:1}.ry-win{position:relative;height:16px;overflow:hidden;min-width:10ch;text-align:right}.ry-text{display:block;font:500 11px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow);transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease}.ry-text.from{transform:translateY(100%);opacity:0;transition:none}.ry-text.out{position:absolute;right:0;top:0;transform:translateY(-100%);opacity:0}.ry-line{width:20px;height:1px;background:var(--halo-line)}.fx-voices .is-playing .ab-phones{opacity:0;transform:scale(.5)}.fx-voices .is-playing .ab-voices{opacity:1;transform:none}.ab-bar{display:flex;align-items:center;gap:.6rem;width:100%;height:0;margin:0;opacity:0;overflow:hidden;transition:height .3s cubic-bezier(.2,.8,.2,1),margin .3s cubic-bezier(.2,.8,.2,1),opacity .3s ease}.ab-bar.on{height:1.25rem;margin-top:.55rem;opacity:1}.ab-seek{--p:0%;flex:1;min-width:0;height:1.25rem;margin:0;padding:0;background:0 0;cursor:pointer;-webkit-appearance:none;appearance:none}.ab-seek:focus{outline:none}.ab-seek::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--link),var(--link-hover))0 0/var(--p)100% no-repeat,var(--tag-border)}.ab-seek::-moz-range-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--link),var(--link-hover))0 0/var(--p)100% no-repeat,var(--tag-border)}.ab-seek::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-4px;border:0;border-radius:50%;background:var(--link-hover);transform:scale(.6);transition:transform .2s ease}.ab-seek::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--link-hover);transform:scale(.6);transition:transform .2s ease}.ab-seek:is(:hover,:active)::-webkit-slider-thumb{transform:scale(1)}.ab-seek:is(:hover,:active)::-moz-range-thumb{transform:scale(1)}.ab-seek:focus-visible::-webkit-slider-thumb{transform:scale(1);box-shadow:0 0 0 3px color-mix(in srgb,var(--link) 30%,transparent)}.ab-seek:focus-visible::-moz-range-thumb{transform:scale(1);box-shadow:0 0 0 3px color-mix(in srgb,var(--link) 30%,transparent)}.ab-time{flex:none;font:500 .7rem/1 var(--mono);color:var(--meta);font-variant-numeric:tabular-nums;white-space:nowrap}.rm .ab-bar{transition:none}.rm main,.rm .book-card{animation:none}.rm.fx-halo .halo.play .halo-intro{animation:none}.rm .halo .h-web-on{animation:none;stroke-dashoffset:0}.rm .home-avatar,.rm .book3d,.rm .eyebrow,.rm .eyebrow::after,.rm .concept-card,.rm .special .content h2,.rm hr.section-divider,.rm .threads .thread,.rm .threads .reveal,.rm .threads .node,.rm .thread-card,.rm .qd-panel,.rm .pdf-fancy{transition:none!important}.rm .pdf-fancy .dl-arrow{animation:none!important}.rm .arrive h3,.rm h2.arrive,.rm .kw-return,.rm .kw-return img,.rm .cc-body.swap,.rm .qms-dialog::backdrop{animation:none!important}.rm.fx-lines .eyebrow:not(.is-in){letter-spacing:.12em;opacity:1}.rm.fx-lines .eyebrow::after,.rm.fx-lines hr.section-divider{transform:scaleX(1)}.rm.fx-lines .special .content h2{background-size:100% 1px}.rm .emblem .e-draw,.rm .tn-ring,.rm .tn-seg{stroke-dashoffset:0!important;transition:none!important}.rm .emblem .e-fade,.rm .cmp-needle{opacity:1!important;transition:none!important}.rm .net-cast{transform:none!important;transition:none!important}.rm.fx-toc .section-hero ol.tn>li::before{opacity:1!important;transition:none!important}.rm.fx-toc .selected-publications-list>p.sel{background-size:100% 1px!important;transition:none!important}.rm .sel-year>*,.rm .emblem-cap{transition:none!important}.rm .ico-eclipse,.rm .ico-eclipse *,.rm .lang-menu,.rm .hdr-tip,.rm .qs-panel,.rm .qs-cursor,.rm .lang-caret{transition:none!important}.rm .lang-roll,.rm .search-btn .lens,.rm .search-btn::after,.rm .qs-lens .lens,.rm .qs-row.in,.rm .qs-preview.in,.rm .qs-scan,.rm .qs-chip{animation:none!important}.rm .cite-pop,.rm .qms-toast,.rm .ry-text,.rm .ref-pop{transition:none!important}.rm .bib-row.flash{animation:none!important}.cv{margin:.4rem 0 1.5rem}.cv-group+.cv-group{margin-top:2.3rem}.cv .eyebrow{margin-bottom:1rem}.cv-rows{display:grid;gap:.95rem;margin:0;padding:0;list-style:none}.cv-row{display:grid;grid-template-columns:6.6rem minmax(0,1fr);column-gap:1.3rem;align-items:baseline}.cv-when{font:.8rem/1.5 var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--meta);transition:color .3s ease}.cv-what p{margin:0}.cv-title{font-weight:700;line-height:1.4;color:var(--text)}.cv-note{font-weight:400;color:var(--text-2)}.cv-where{line-height:1.45;color:var(--text-2)}.cv-detail{margin-top:.3rem!important;font-size:.92rem;line-height:1.55;color:var(--meta)}.cv-detail em{color:var(--text-2)}.fx-emblems .cv-row.lit .cv-when{color:var(--link)}@media(max-width:680px){.cv-row{grid-template-columns:minmax(0,1fr)}.cv-when{margin-bottom:.1rem}}.m-sheet{display:none}.burger span{transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s ease}.m-open .burger span:nth-child(1){transform:translateY(6px)rotate(45deg)}.m-open .burger span:nth-child(2){opacity:0}.m-open .burger span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media(max-width:960px){.m-sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;z-index:199;top:calc(env(safe-area-inset-top,0px) + 56px);padding:.5rem 1.25rem 1.1rem;background:var(--header-bg);-webkit-backdrop-filter:var(--header-filter);backdrop-filter:var(--header-filter);border-bottom:1px solid var(--header-border);box-shadow:0 22px 40px -28px rgba(15,25,45,.45);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .2s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s linear .32s}.m-open .m-sheet{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}.m-sheet a{padding:.72rem .15rem;font-size:1.08rem;color:var(--nav);text-decoration:none}.m-sheet a:hover,.m-sheet a:focus-visible{color:var(--nav-hover)}.m-sheet a[aria-current]{font-weight:700}.m-sheet .ml-long{display:inline!important}.m-sheet .ml-short{display:none!important}.m-open .m-sheet a{animation:m-item .42s cubic-bezier(.2,.8,.2,1)both}.m-open .m-sheet a:nth-child(2){animation-delay:.03s}.m-open .m-sheet a:nth-child(3){animation-delay:.06s}.m-open .m-sheet a:nth-child(4){animation-delay:.09s}.m-open .m-sheet a:nth-child(5){animation-delay:.12s}.m-open .m-sheet a:nth-child(6){animation-delay:.15s}}@keyframes m-item{from{opacity:0;transform:translateY(-4px)}}.rm .m-sheet,.rm .m-sheet a,.rm .burger span{transition:none!important;animation:none!important}.ep-kicker{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;margin:0 0 .9rem}.ep-kicker a{color:inherit;text-decoration:none;background:linear-gradient(90deg,var(--link),var(--link-hover))0 100%/0 1px no-repeat;transition:color .25s ease,background-size .35s ease}.ep-kicker a:hover,.ep-kicker a:focus-visible{color:var(--link);background-size:100% 1px}.ep-kicker .ep-sep{opacity:.6}.entry-page .entry-item{display:block;padding-top:0}.ep-title{margin:0 0 1.1rem;font-size:clamp(1.55rem,calc(1.2rem + 1.2vw),2.1rem);line-height:1.22;font-weight:700;letter-spacing:-.005em;text-wrap:balance;color:var(--text)}.entry-page .entry-item :is(.entry-tags,.download-link,.cite-btn,p:first-of-type a.entry-meta-link--aux){opacity:1;transform:none;pointer-events:auto}.entry-page .entry-item>p:first-of-type{font-size:1.02rem}.entry-page .entry-item .download-link{margin:1.1rem 0 0;height:1.9rem}.entry-page .entry-item .cite-btn{margin:1.1rem .45rem 0 0}.term-page .term-count{margin:-.35rem 0 1.8rem;font:11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tag-text)}.term-cloud,.nf-links,.term-links{margin:0;padding:0;list-style:none}.term-cloud,.nf-links{display:flex;flex-wrap:wrap;gap:7px 6px}.term-cloud li,.nf-links li,.term-links li{margin:0;padding:0}.term-cloud li::before,.nf-links li::before,.term-links li::before{content:none}.term-cloud a,.nf-links a{position:relative;display:inline-flex;align-items:baseline;gap:.45em;padding:4px 10px;border:1px solid var(--tag-border);border-radius:999px;font:11.5px/1.25 var(--mono);letter-spacing:.01em;color:var(--tag-text);text-decoration:none;transition:color .25s ease,border-color .25s ease}.nf-links a{font:700 .82rem/1.25 var(--font);letter-spacing:0;color:var(--link);padding:6px 13px}.term-cloud a::before,.nf-links a::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,var(--link),var(--link-hover));-webkit-mask:linear-gradient(#000 0 0)content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0)content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s ease}.term-cloud a:is(:hover,:focus-visible),.nf-links a:is(:hover,:focus-visible){color:var(--link);border-color:transparent}.term-cloud a:is(:hover,:focus-visible)::before,.nf-links a:is(:hover,:focus-visible)::before{opacity:1}.term-cloud .n{font-size:10px;opacity:.6;font-variant-numeric:tabular-nums}.term-links li{padding:.6rem 0;background:linear-gradient(var(--hr),var(--hr))0 100%/100% 1px no-repeat}.term-links a{color:var(--text);font-weight:700;text-decoration:none}.term-links a:hover{color:var(--link)}.nf-page .nf-lede{max-width:36rem;margin:0 0 1.4rem;color:var(--text-2)}.rm .term-cloud a,.rm .nf-links a{transition:none}.entry-item>p:first-of-type a.entry-meta-link--aux{max-width:100%;overflow-wrap:anywhere}.skip-link{position:fixed;left:1rem;top:.6rem;z-index:1000;padding:.45rem .95rem;border:1px solid var(--tag-border);border-radius:999px;background:var(--page-solid);font:700 .85rem/1.2 var(--font);color:var(--link);text-decoration:none;transform:translateY(-160%);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.skip-link:focus-visible{transform:none;outline:2px solid color-mix(in srgb,var(--link) 55%,transparent);outline-offset:2px}main:focus{outline:none}.rm .skip-link{transition:none}