@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-opsz-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-czech-opsz-normal.woff2) format('woff2');unicode-range:U+010C-010F,U+011A-011B,U+0147-0148,U+0158-0159,U+0160-0161,U+0164-0165,U+016E-016F,U+017D-017E}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-010B,U+0110-0119,U+011C-0146,U+0149-0157,U+015A-015F,U+0162-0163,U+0166-016D,U+0170-017C,U+017F-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-cyrillic-opsz-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-cyrillic-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-greek-opsz-normal.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-opsz-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-czech-opsz-italic.woff2) format('woff2');unicode-range:U+010C-010F,U+011A-011B,U+0147-0148,U+0158-0159,U+0160-0161,U+0164-0165,U+016E-016F,U+017D-017E}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-latin-ext-opsz-italic.woff2) format('woff2');unicode-range:U+0100-010B,U+0110-0119,U+011C-0146,U+0149-0157,U+015A-015F,U+0162-0163,U+0166-016D,U+0170-017C,U+017F-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-cyrillic-opsz-italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-cyrillic-ext-opsz-italic.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-serif-4-greek-opsz-italic.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-czech-wght-normal.woff2) format('woff2');unicode-range:U+010C-010F,U+011A-011B,U+0147-0148,U+0158-0159,U+0160-0161,U+0164-0165,U+016E-016F,U+017D-017E}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-010B,U+0110-0119,U+011C-0146,U+0149-0157,U+015A-015F,U+0162-0163,U+0166-016D,U+0170-017C,U+017F-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-ornaments-wght-normal.woff2) format('woff2');unicode-range:U+2619-261F,U+2766-2767}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-czech-wght-italic.woff2) format('woff2');unicode-range:U+010C-010F,U+011A-011B,U+0147-0148,U+0158-0159,U+0160-0161,U+0164-0165,U+016E-016F,U+017D-017E}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-010B,U+0110-0119,U+011C-0146,U+0149-0157,U+015A-015F,U+0162-0163,U+0166-016D,U+0170-017C,U+017F-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'EB Garamond';font-style:italic;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-cyrillic-wght-italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 800;font-display:swap;src:url(/assets/fonts/eb-garamond-ornaments-wght-italic.woff2) format('woff2');unicode-range:U+2619-261F,U+2766-2767}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-cyrillic-ext-wght-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-greek-wght-normal.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-cyrillic-wght-italic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-cyrillic-ext-wght-italic.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:200 900;font-display:swap;src:url(/assets/fonts/source-sans-3-greek-wght-italic.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
:root{
  --paper:#f7f7f3;
  --surface:#ffffff;
  --ink:#3b3b38;
  --ink-strong:#262624;
  --byline:#8b897d;
  --muted:#6d6c65;
  --rule:#dddcd5;
  --mast:#1d3557;
  --navy:#1d3557;
  --on-navy:#ffffff;
  --link:#1d3557;
  --shadow:rgba(28,30,38,.09);
  --band:#ecebe4;
  --screen:#24272c;
  --on-screen:#f3f2ee;
  --shadow-lift:rgba(28,30,38,.16);
  --glow:rgba(29,53,87,.09);
  --lit:rgba(29,53,87,.06);
  --fill:#3d6396;
  --error:#a8402f;
  --bs-eq:#1d3557;--bs-al1:#2f5282;--bs-al2:#4a6f9f;--bs-as1:#c3d2e6;--bs-as2:#d6e1ee;--bs-as3:#e7edf5;--bs-ll:#aaa597;--bs-ls1:#cfcbbf;--bs-ls2:#e2dfd6;--bs-on:#ffffff;
  --l1:#2f5282;--l2:#2f7a6b;--l3:#a86f12;--l4:#a8402f;--l5:#8a3f6e;--l6:#5a55a0;--l7:#2f6f8f;--l8:#7a5a2f;--l9:#b5546f;
  --serif:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3","Source Sans Pro","Helvetica Neue",Arial,sans-serif;
  --garamond:"EB Garamond",Garamond,"Times New Roman",serif;
  --aside:#62615a;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#15171a;--surface:#1d2024;--ink:#d9d7d0;--ink-strong:#efede7;--byline:#9a978b;--muted:#a19f96;
    --rule:#30343a;--mast:#c7d5ea;--navy:#2e5283;--on-navy:#ffffff;--link:#a9c2e6;--shadow:rgba(0,0,0,.45);
    --band:#202327;--screen:#0d0f11;--on-screen:#efede7;--shadow-lift:rgba(0,0,0,.6);--glow:rgba(169,194,230,.12);--lit:rgba(169,194,230,.08);--fill:#4a74ab;--error:#e5927f;--bs-eq:#3b62a0;--bs-al1:#2c4c78;--bs-al2:#365a8c;--bs-as1:#283546;--bs-as2:#232e3c;--bs-as3:#1f2833;--bs-ll:#4d4a42;--bs-ls1:#3c3a34;--bs-ls2:#33312c;--l1:#8fb0e0;--l2:#6cc0ad;--l3:#e0b25e;--l4:#e5927f;--l5:#d99ac4;--l6:#aaa7ec;--l7:#7fc3e0;--l8:#d6b089;--l9:#eda0b6;--aside:#adaa9f;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#15171a;--surface:#1d2024;--ink:#d9d7d0;--ink-strong:#efede7;--byline:#9a978b;--muted:#a19f96;
  --rule:#30343a;--mast:#c7d5ea;--navy:#2e5283;--on-navy:#ffffff;--link:#a9c2e6;--shadow:rgba(0,0,0,.45);
  --band:#202327;--screen:#0d0f11;--on-screen:#efede7;--shadow-lift:rgba(0,0,0,.6);--glow:rgba(169,194,230,.12);--lit:rgba(169,194,230,.08);--fill:#4a74ab;--error:#e5927f;--bs-eq:#3b62a0;--bs-al1:#2c4c78;--bs-al2:#365a8c;--bs-as1:#283546;--bs-as2:#232e3c;--bs-as3:#1f2833;--bs-ll:#4d4a42;--bs-ls1:#3c3a34;--bs-ls2:#33312c;--l1:#8fb0e0;--l2:#6cc0ad;--l3:#e0b25e;--l4:#e5927f;--l5:#d99ac4;--l6:#aaa7ec;--l7:#7fc3e0;--l8:#d6b089;--l9:#eda0b6;--aside:#adaa9f;color-scheme:dark;
}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--link);outline-offset:3px}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}


.site-head{background:var(--surface);box-shadow:0 2px 6px var(--shadow);position:relative;z-index:2}
.head-top{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:16px;padding-block:12px 10px}
.search{grid-column:2;grid-row:2;justify-self:end;align-self:end;display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:var(--muted);font:400 16px var(--sans);cursor:pointer;padding:4px 0}
.search svg{width:20px;height:20px}
.masthead{grid-column:1;grid-row:1 / span 2;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;text-align:left;text-decoration:none;color:var(--mast);padding-top:6px}
.mast-name{font:700 clamp(36px,5.6vw,66px)/1 var(--serif);letter-spacing:-.018em}
.mast-sub{font:700 clamp(11px,1.15vw,14px)/1 var(--serif);text-transform:uppercase;letter-spacing:.2em;margin-top:10px}
.lang{grid-column:2;grid-row:1;justify-self:end;align-self:start;display:flex;align-items:center;gap:6px}
.lang a{display:block;padding:2px;border-radius:3px;line-height:0;opacity:.5;transition:opacity .15s ease,box-shadow .15s ease}
.lang a:hover,.lang a:focus-visible{opacity:1}
.lang a[aria-current="true"]{opacity:1;box-shadow:0 0 0 1.5px var(--link)}
.lang svg{display:block;width:18px;height:12px;border-radius:1px;box-shadow:0 0 0 1px var(--rule)}
.nav{position:relative;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:6px 40px;padding-block:14px 18px}
.nav a{font:400 15px/1.6 var(--serif);text-transform:uppercase;letter-spacing:.28em;color:var(--muted);text-decoration:none}
.nav a:hover,.nav a[aria-current="page"]{color:var(--link)}

.view{padding-block:56px 80px}
.kicker{font:400 20px/1.3 var(--sans);color:var(--muted);font-variant-numeric:oldstyle-nums;margin:0 0 16px}
.page-h{font:400 clamp(38px,5vw,60px)/1.1 var(--serif);color:var(--ink-strong);margin:0;letter-spacing:-.01em;text-wrap:balance}
.page-intro{font:400 20px/1.5 var(--serif);color:var(--muted);margin:14px 0 0;max-width:40rem}
.spaced{font:400 14px/1.6 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0}
hr.rule{border:0;border-top:1px solid var(--rule);margin:40px 0}
.pill{display:inline-block;font:600 13px/1 var(--sans);letter-spacing:.04em;border-radius:999px;padding:9px 14px;white-space:nowrap}
.pill.wait{border:1px solid var(--rule);color:var(--muted);background:transparent}
.pill.ok{background:var(--navy);color:var(--on-navy);border:0;cursor:pointer}

.post-title{font:400 clamp(38px,5.6vw,68px)/1.06 var(--serif);color:var(--ink-strong);margin:0;letter-spacing:-.012em;text-wrap:balance}
.byline{font:400 clamp(30px,4.4vw,54px)/1.15 var(--serif);color:var(--byline);margin:10px 0 0}
.share-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.round{width:52px;height:52px;border-radius:50%;border:0;background:var(--surface);color:var(--ink-strong);display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 3px var(--shadow),0 4px 10px var(--shadow)}
.round svg{width:22px;height:22px}
.vsep{width:1px;align-self:stretch;min-height:56px;background:var(--rule);margin-inline:8px}
.wordcount{font:400 24px var(--serif);color:var(--ink);font-variant-numeric:oldstyle-nums}

.post-grid,.about-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px 72px;align-items:start}
.post-main{min-width:0;max-width:46rem}
.note-card{background:var(--surface);padding:24px 30px;font-size:18px;line-height:1.5}
.note-card .spaced{font-size:12px;margin-bottom:8px}
.note-card a{text-decoration-color:var(--byline);text-underline-offset:.2em;text-decoration-thickness:1px}
.prose{margin-top:48px;font-size:20px;line-height:1.62;color:var(--ink);font-variant-numeric:oldstyle-nums proportional-nums;hyphens:auto}
.prose > *{margin:0}
.prose > * + *{margin-top:1.05em}
.prose h2{font:600 1.15em/1.3 var(--serif);color:var(--ink-strong);margin-top:1.9em;text-wrap:balance}
.prose a{text-decoration-color:var(--byline);text-underline-offset:.2em;text-decoration-thickness:1px}
.dropcap::first-letter{float:left;font-size:5.15em;line-height:.8;padding:.07em .09em 0 0;color:var(--ink-strong);font-weight:400;font-variant-caps:normal}
.sc{font-variant-caps:all-small-caps;letter-spacing:.06em;font-size:1.04em}
.math{overflow-x:auto;overflow-y:hidden;padding-block:.2em}

.tbl{margin-inline:0}
.tbl figcaption{font:600 15px/1.4 var(--sans);color:var(--ink-strong);margin-bottom:10px}
.tbl .scroll{overflow-x:auto}
.tbl table{border-collapse:collapse;width:100%;min-width:520px;font:400 17px/1.4 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:var(--ink-strong)}
.tbl th,.tbl td{text-align:center;padding:9px 12px}
.tbl thead th{font-weight:600;border-top:1.5px solid var(--ink-strong);border-bottom:1px solid var(--ink-strong)}
.tbl tbody th{text-align:left;font-weight:400}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:1.5px solid var(--ink-strong)}
.tbl .src{font:400 14px/1.4 var(--sans);color:var(--muted);margin:8px 0 0}

.video{margin-inline:0}
.video .screen{aspect-ratio:16/9;max-width:100%;background:var(--screen);color:var(--on-screen);display:grid;place-items:center;position:relative}
.video .play{width:68px;height:68px;border-radius:50%;background:var(--on-screen);color:var(--screen);display:grid;place-items:center}
.video .play svg{width:28px;height:28px;margin-left:4px}
.video .tag{position:absolute;left:16px;top:14px;font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.75}
.video figcaption{font:400 15px/1.4 var(--sans);color:var(--muted);margin-top:10px}

.files{background:var(--surface);box-shadow:0 1px 3px var(--shadow);padding:22px 26px}
.files .spaced{font-size:12px;margin-bottom:6px}
.file{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;padding-block:14px;border-top:1px solid var(--rule)}
.file-name{font:400 18px/1.3 var(--serif);color:var(--ink-strong)}
.file-meta{display:block;font:400 14px/1.4 var(--sans);color:var(--muted);margin-top:2px}

.refs{list-style:none;padding:0;margin:0;font-size:17px;line-height:1.5;font-variant-numeric:oldstyle-nums}
.refs li{padding-left:1.6em;text-indent:-1.6em}
.refs li + li{margin-top:.8em}
.refs a{text-decoration-color:var(--byline);text-underline-offset:.2em;text-decoration-thickness:1px;word-break:break-word}

.side{display:flex;flex-direction:column;gap:56px;min-width:0}
.card{background:var(--surface);position:relative;box-shadow:0 1px 3px var(--shadow),0 6px 18px var(--shadow)}
.card h3{font:400 28px/1.2 var(--serif);color:var(--ink-strong);margin:0;padding:24px 26px 20px;border-bottom:1px solid var(--rule)}
.card .body{padding:20px 26px 28px;font-size:18px;line-height:1.55}
.card .body.has-go{padding-bottom:44px}
.card .go{position:absolute;right:22px;bottom:-26px;width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--on-navy);display:grid;place-items:center;box-shadow:0 4px 12px var(--shadow)}
.card .go svg{width:24px;height:24px}
.card .list{list-style:none;padding:0;margin:10px 0 0}
.card .list li + li{border-top:1px solid var(--rule)}
.card .list a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;color:var(--ink-strong);text-decoration:none;font-size:18px;line-height:1.35}
.card .list a:hover{color:var(--link)}
.card .list .ext{color:var(--muted);font-family:var(--sans)}
.affil{display:flex;align-items:center;gap:14px}
.affil img{width:64px;height:64px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--rule)}
.affil .list{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--rule);border-radius:999px;padding:8px 16px;font:600 14px var(--sans);color:var(--ink-strong);text-decoration:none}
.chip:hover{border-color:var(--link);color:var(--link)}

.entries{list-style:none;padding:0;margin:40px 0 0;max-width:52rem;border-top:1px solid var(--rule)}
.entry{border-bottom:1px solid var(--rule);padding-block:28px}
.entry .kicker{font-size:16px;margin-bottom:8px}
.entry h2{font:400 clamp(26px,3vw,34px)/1.18 var(--serif);margin:0;letter-spacing:-.005em;text-wrap:balance}
.entry h2 a{color:var(--ink-strong);text-decoration:none}
.entry h2 a:hover{color:var(--link)}
.entry .excerpt{margin:10px 0 0;font-size:19px;line-height:1.5}

.models{display:grid;gap:28px;margin-top:40px;max-width:52rem}
.model{background:var(--surface);box-shadow:0 1px 3px var(--shadow),0 6px 18px var(--shadow);padding:28px 30px}
.model h2{font:400 30px/1.2 var(--serif);color:var(--ink-strong);margin:0;text-wrap:balance}
.model p{margin:12px 0 0;font-size:19px;line-height:1.5}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--rule)}
.facts dt{font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:8px 0 0;font:400 17px/1.35 var(--serif);color:var(--ink-strong)}

.lead{font-size:21px;line-height:1.6;margin:22px 0 0;max-width:42rem}
.lead + .lead{margin-top:14px}
.pubs{margin-top:48px}
.pubs h2{font:400 28px/1.2 var(--serif);color:var(--ink-strong);margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.about-main{min-width:0}
.about-intro{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px 44px;align-items:end;margin-bottom:8px}
.portrait{position:relative;margin:0 14px 14px 0;isolation:isolate}
.portrait::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1.5px solid var(--navy);z-index:-1}
.portrait img{display:block;box-sizing:border-box;width:100%;height:auto;background:var(--surface);padding:8px;border:1px solid var(--rule);box-shadow:0 1px 3px var(--shadow),0 8px 22px var(--shadow)}
@media (max-width:640px){.about-intro{grid-template-columns:150px minmax(0,1fr);gap:16px 24px}}

.email-box{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;background:var(--surface);box-shadow:0 1px 3px var(--shadow),0 6px 18px var(--shadow);padding:22px 26px;margin-top:32px;max-width:42rem}
.email{font:400 clamp(20px,2.6vw,26px)/1.3 var(--serif);color:var(--ink-strong);user-select:all;overflow-wrap:anywhere;min-width:0;text-decoration:none}
a.email:hover{color:var(--link)}
.email-box + .email-box{margin-top:16px}
.em-label{flex-basis:100%;margin:0 0 -4px}
.em-reveal{font-size:15px}
.em-inline{all:unset;cursor:pointer;color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.em-inline:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:2px}
.btn{background:var(--navy);color:var(--on-navy);border:0;border-radius:4px;padding:11px 20px;font:600 15px var(--sans);cursor:pointer}
.status{font:400 14px var(--sans);color:var(--muted);min-height:1.4em}
.contact-follow{margin-top:36px}
.contact-follow .spaced{margin-bottom:12px}

.site-foot{background:var(--surface);border-top:1px solid var(--rule)}
.foot-inner{padding-block:40px 32px;display:grid;gap:26px}
.foot-top{display:flex;flex-wrap:wrap;gap:18px 48px;align-items:baseline;justify-content:space-between}
.cut{border-top:1px solid var(--rule)}
.foot-mast{font:700 26px var(--serif);color:var(--mast);text-decoration:none}
.foot-nav{display:flex;flex-wrap:wrap;gap:10px 28px}
.foot-nav a{font:400 13px var(--serif);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.foot-nav a:hover{color:var(--link)}
.foot-small{margin:0;text-align:center;font:400 14px/1.6 var(--sans);color:var(--muted)}
.foot-small a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--rule)}
.foot-small a:hover{color:var(--link);border-bottom-color:currentColor}
.foot-small .dot{margin-inline:.6em}
.foot-disc{display:grid;gap:8px;justify-items:center;text-align:center}
.foot-disc .spaced{font-size:12px}
.foot-disc p{margin:0;max-width:46rem;font:400 14px/1.6 var(--sans);color:var(--muted)}

.legal{max-width:46rem;margin-top:40px;display:grid;gap:30px}
.legal section{display:grid;gap:6px}
.legal h2{font:600 22px/1.3 var(--serif);color:var(--ink-strong);margin:0;text-wrap:balance}
.legal p{margin:0;font-size:19px;line-height:1.6}

.abstract{font:italic 400 clamp(20px,2.1vw,23px)/1.5 var(--serif);color:var(--ink);margin:22px 0 0;max-width:42rem}
.entry .abstract{font-size:19px;margin-top:10px;max-width:none}
.more{display:inline-flex;align-items:center;gap:6px;margin-left:.35em;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--link);text-decoration:none;white-space:nowrap;vertical-align:.12em}
.more .arr{transition:transform .2s ease}
.more:hover .arr{transform:translateX(3px)}

.card .close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;z-index:1;transition:background-color .15s ease,color .15s ease}
.card .close:hover{background:var(--lit);color:var(--ink-strong)}
.card .close svg{width:16px;height:16px}
.card.closable h3{padding-right:56px}
.card.closable > .body:first-of-type{padding-right:52px}

.pic{margin:2em 0 0}
.pic .frame{background:var(--surface);box-shadow:0 1px 3px var(--shadow);padding:18px 18px 10px}
.pic svg{display:block;width:100%;height:auto}
.pic figcaption{font:400 15px/1.4 var(--sans);color:var(--muted);margin-top:10px}
.pic .bar-a{fill:var(--navy)}
.pic .bar-b{fill:var(--byline)}
.pic .bar-c{fill:var(--fill)}
.pic .axis{stroke:var(--ink-strong);stroke-width:1.5;fill:none}
.pic .lbl{fill:var(--muted);font:600 17px var(--sans)}
.pic .total{fill:var(--link);font:600 20px var(--serif)}
.post-end{margin-top:2.6em;padding-top:26px;border-top:1px solid var(--rule);display:grid;gap:26px}
.post-end .group{display:grid;gap:12px}
.post-end .spaced{font-size:12px}
.post-end .row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

.bs{margin-inline:0;background:var(--surface);box-shadow:0 1px 3px var(--shadow),0 6px 18px var(--shadow);padding:22px 24px 24px;position:relative;isolation:isolate;font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums}
.bs::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),var(--glow),transparent 70%)}
.bs:hover::before{opacity:1}
.bs-cap{font:600 15px/1.4 var(--sans);color:var(--ink-strong);margin-bottom:14px}
.bs-head,.bs-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.bs-head span{font:600 12px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:0 2px 8px}
.bs-head span:last-child,.bs-foot span:nth-child(2){text-align:right}
.bs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;height:420px;border-top:1.5px solid var(--ink-strong);border-bottom:1.5px solid var(--ink-strong);padding-block:6px;position:relative}
.bs-grid::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1.5px solid var(--ink-strong);transform:translateX(-.75px)}
.bs-col{display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}
.bs-item{flex:var(--v) 1 0;min-height:30px;border-radius:2px;padding:6px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;background:var(--c);color:var(--t);position:relative;overflow:hidden;font-size:14px;line-height:1.2;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease}
.bs-item .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.bs-item .val{white-space:nowrap;display:flex;gap:8px;align-items:baseline}
.bs-item .pct{opacity:0;transform:translateX(6px);transition:opacity .2s ease,transform .2s ease;font-weight:600}
.bs.focus .bs-item{opacity:.38}
.bs.focus .bs-item.on{opacity:1;transform:scale(1.025);box-shadow:0 6px 16px var(--shadow-lift);z-index:1}
.bs-item.on .pct{opacity:1;transform:none}
.bs-line{position:absolute;left:-4px;right:-4px;top:0;border-top:1.5px dashed var(--ink-strong);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:2}
.bs.ratios .bs-line{opacity:1}
.bs-line span{position:absolute;right:6px;top:-11px;font:600 11px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-strong);background:var(--surface);padding:0 6px;border-radius:2px}
.bs-foot{margin-top:8px;font:600 14px var(--sans);color:var(--ink-strong)}
.bs-check{grid-column:1 / -1;text-align:center;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--link);margin-top:2px}
.bs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:16px}
.bs-hint{font:400 14px/1.4 var(--sans);color:var(--muted)}
.bs-ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.bs-ratio{border:1px solid var(--rule);padding:12px 14px;display:grid;gap:4px;align-content:start;animation:rise .35s ease both;animation-delay:var(--d,0s)}
.bs-ratio .rv{font:400 28px/1.1 var(--serif);color:var(--ink-strong);font-variant-numeric:lining-nums tabular-nums}
.bs-ratio .rl{font:600 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bs-ratio .rx{font:400 13px/1.4 var(--sans);color:var(--muted)}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:640px){.bs{padding:16px}.bs-grid{height:380px}.bs-item{font-size:12.5px;padding:5px 7px}.bs-ratios{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.bs::before{display:none}.bs.focus .bs-item.on{transform:none}}

.post-main.wide{max-width:60rem}
.cld{margin-inline:0;background:var(--surface);box-shadow:0 1px 3px var(--shadow),0 6px 18px var(--shadow);padding:22px 24px 24px;font-family:var(--sans)}
.cld-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.seg{display:inline-flex;border:1px solid var(--rule);border-radius:999px;overflow:hidden}
.seg button{background:none;border:0;padding:8px 14px;font:600 13px var(--sans);color:var(--muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.seg button[aria-pressed="true"]{background:var(--navy);color:var(--on-navy)}
.cld-scroll{overflow-x:auto}
.cld svg{display:block;width:100%;min-width:560px;height:auto}
.cld .loop{cursor:pointer;transition:opacity .3s ease}
.cld .loop:focus{outline:none}
.cld .loop:focus-visible .tag circle{stroke-width:4}
.cld .edge{fill:none;stroke:var(--lk);stroke-width:var(--sw,2.2);stroke-linecap:round;transition:stroke-width .3s ease}
.cld .loop:hover .edge{stroke-width:calc(var(--sw,2.2) * 1.45)}
.cld .head{fill:var(--lk)}
.cld .hit{fill:none;stroke:transparent;stroke-width:18}
.cld .sign{fill:var(--lk);font:700 21px var(--sans)}
.cld .tag circle{fill:var(--surface);stroke:var(--lk);stroke-width:2}
.cld .tag text{fill:var(--lk);font:700 15px var(--sans)}
.cld .node,.cld .hub text{paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round}
.cld .node{fill:var(--ink-strong);font:600 16px var(--sans)}
.cld .hub text{fill:var(--mast);font:700 19px var(--serif)}
.cld.has-pick .loop:not(.picked){opacity:.22}
.cld .loop.picked,.cld .loop.dominant{filter:drop-shadow(0 0 6px var(--lk))}
.cld .loop.picked{animation:bob 1.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.cld .loop.off{opacity:0;pointer-events:none}
.cld-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cld-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:999px;padding:7px 12px;font:600 13px var(--sans);color:var(--ink-strong);background:var(--surface);cursor:pointer;transition:opacity .15s ease,border-color .15s ease}
.cld-chip .dot{width:10px;height:10px;border-radius:50%;background:var(--lk)}
.cld-chip:hover{border-color:var(--lk)}
.cld-chip[aria-pressed="false"]{color:var(--muted);opacity:.7}
.cld-chip[aria-pressed="false"] .dot{background:transparent;box-shadow:inset 0 0 0 2px var(--lk)}
.cld-phase{margin-top:16px;display:grid;gap:8px}
.cld-phase label{font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.phase-row{display:flex;align-items:center;gap:12px;font:600 13px var(--sans);color:var(--ink-strong)}
.phase-row input{flex:1;min-width:0;accent-color:var(--navy)}
.cld-dom-out{margin:0;font:400 15px/1.5 var(--sans);color:var(--ink-strong)}
.cld-read{margin:14px 0 0;font:400 15px/1.5 var(--sans);color:var(--muted)}
@media (max-width:640px){.cld{padding:16px}}
@media (prefers-reduced-motion:reduce){.cld .loop.picked{animation:none}}

.tdemo{margin-inline:0;background:var(--surface);box-shadow:0 1px 3px var(--shadow),0 6px 18px var(--shadow);padding:22px 24px 24px}
.t-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 32px;margin-top:6px}
.tacct{font-family:var(--serif);min-width:0}
.t-title{text-align:center;font:600 19px/1.3 var(--serif);color:var(--ink-strong);padding-bottom:6px;border-bottom:2px solid var(--ink-strong)}
.t-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto}
.t-side.bs{min-height:96px}
.t-side.pl{min-height:72px;border-top:2px solid var(--ink-strong)}
.t-side{padding:12px 0;display:grid;gap:16px;align-content:start;min-width:0}
.t-a{border-right:2px solid var(--ink-strong);padding-right:12px}
.t-l{padding-left:12px}
.st{min-width:0}
.st-name{text-align:center;font:400 14px/1.3 var(--serif);color:var(--ink-strong);padding-bottom:3px;border-bottom:1.25px solid var(--ink-strong)}
.st-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:28px}
.st-d{border-right:1.25px solid var(--ink-strong);padding:3px 6px 2px 0}
.st-c{padding:3px 0 2px 6px}
.st-e{font:400 15px/1.55 var(--serif);color:var(--ink-strong);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;border-radius:2px;padding-inline:2px}
.st-e.fresh{animation:tflash 1.6s ease}
.st.fresh{animation:rise .35s ease both}
@keyframes tflash{0%,35%{background:var(--lit)}100%{background:transparent}}
.t-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:22px}
.t-ghost{background:transparent;border:1px solid var(--rule);color:var(--ink-strong);border-radius:4px;padding:10px 16px;font:600 15px var(--sans);cursor:pointer;transition:border-color .15s ease,color .15s ease}
.t-ghost:disabled{opacity:.45;cursor:default}
.t-ghost:not(:disabled):hover{border-color:var(--link);color:var(--link)}
.t-steps{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.t-steps:empty{display:none}
.t-step{display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:6px;align-items:baseline}
.t-step .n{font:600 17px/1.55 var(--serif);color:var(--ink-strong);font-variant-numeric:lining-nums}
.t-step.now .n{color:var(--link)}
.t-step p{margin:0;font-size:17px;line-height:1.55;color:var(--ink)}
.t-step.past p{color:var(--muted)}
.t-final{font:italic 400 18px/1.5 var(--serif);color:var(--ink-strong);padding-top:14px;border-top:1px solid var(--rule)}
.t-step.fresh,.t-final.fresh{animation:rise .35s ease both}
.t-seg{margin-bottom:16px}
.b-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 32px;margin-top:6px}
.sbs{min-width:0}
.sb-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:40px}
.sb-col{display:flex;flex-direction:column;padding-top:8px;min-width:0}
.sb-col.l{border-right:2px solid var(--ink-strong);padding-right:8px}
.sb-col.r{padding-left:8px}
.sb-blk{height:0;opacity:0;overflow:hidden;background:var(--c);color:var(--t);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 8px;border-radius:2px;font:600 13px/1.25 var(--sans);transition:height .55s cubic-bezier(.3,.7,.2,1),opacity .3s ease,margin .3s ease}
.sb-blk.on{opacity:1;margin-bottom:4px}
.sb-blk .v{font-weight:400;font-variant-numeric:lining-nums tabular-nums}
.sb-blk.hatch{background:repeating-linear-gradient(45deg,var(--surface) 0 6px,var(--error) 6px 7px);color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}
.sb-blk.hatch span{background:var(--surface);padding:0 4px;align-self:flex-start;border-radius:2px}
@media (max-width:640px){.tdemo{padding:16px}}

[hidden]{display:none!important}

.cats{margin:0 0 8px;font:600 12px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.cats a{color:var(--link);text-decoration:none}
.cats a:hover{text-decoration:underline;text-underline-offset:.25em}
.article > .cats{margin-bottom:10px}
.post-meta{margin-top:20px;max-width:42rem}
.post-meta dl{margin:0;display:grid;gap:6px}
.post-meta dl > div{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 14px;align-items:baseline}
.post-meta dt{font:600 12px/1.7 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.post-meta dd{margin:0;font:400 15px/1.6 var(--sans);color:var(--ink)}
.post-meta a.kw{color:var(--ink-strong);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.22em;text-decoration-thickness:1px}
.post-meta a.kw:hover{color:var(--link);text-decoration-color:currentColor}
.post-meta abbr{text-decoration:none;border-bottom:1px dotted var(--byline);cursor:help}
.cat-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.cat-filter button{border:1px solid var(--rule);border-radius:999px;padding:7px 14px;font:600 13px var(--sans);color:var(--ink-strong);background:var(--surface);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}
.cat-filter button:hover{border-color:var(--link);color:var(--link)}
.cat-filter button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.kw-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:18px 0 0}
.kw-active .kw-name{font:600 17px var(--serif);color:var(--ink-strong)}
.kw-active .t-ghost{padding:7px 12px;font-size:13px}
.list-empty{margin:28px 0 0;font:italic 400 19px/1.5 var(--serif);color:var(--muted)}
.legal section{gap:8px}
@media (max-width:640px){.post-meta dl > div{grid-template-columns:minmax(0,1fr)}}

.fig{margin:2em 0 0}
.fig img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 1px 3px var(--shadow)}
.fig.tall img{width:auto;max-width:100%;max-height:min(78vh,720px);margin-inline:auto}
.fig figcaption{font:italic 400 15px/1.5 var(--sans);color:var(--muted);margin-top:10px}
.prose .tbl{margin-top:2em}
.tbl figcaption{font-style:italic;font-weight:400;color:var(--muted)}
.tbl.matrix table{font-size:15.5px;min-width:660px}
.tbl.matrix th,.tbl.matrix td{padding:6px 9px;border-bottom:1px solid var(--rule)}
.tbl.matrix tbody th,.tbl.matrix td{white-space:nowrap}
.tbl.matrix th:last-child,.tbl.matrix td:last-child{width:7.5em}
.tbl.matrix tr.sep th,.tbl.matrix tr.sep td{border-top:1.5px solid var(--ink-strong)}
.ss{display:inline-block;vertical-align:-.5em;font-size:.68em;line-height:1;margin-left:1px;text-align:left}
.ss sup,.ss sub{display:block;font-size:1em;vertical-align:baseline;line-height:1.05;position:static}
.intro-it{font-style:italic}
.cite{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.2em;text-decoration-thickness:1px}
.cite:hover{color:var(--link);text-decoration-color:currentColor}
sup.fnref{line-height:0}
sup.fnref a{font:600 .62em var(--sans);color:var(--link);text-decoration:none;padding:0 2px}
.pullq{margin:1.9em 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--link)}
.pullq p{margin:0;font:italic 400 1.25em/1.4 var(--serif);color:var(--ink-strong)}
.pullq footer{margin-top:10px;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.prose h2.refs-h{font:600 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:2.6em;padding-top:18px;border-top:1px solid var(--rule)}
.prose .refs{font:400 15.5px/1.55 var(--sans);color:var(--ink);font-variant-numeric:lining-nums;hyphens:manual}
.prose .refs li{border-radius:3px}
.data-note{font:italic 400 15px/1.55 var(--sans);color:var(--muted)}
.fnotes{list-style:none;padding:14px 0 0;margin:1.8em 0 0;border-top:1px solid var(--rule);font:400 14.5px/1.55 var(--sans);color:var(--muted)}
.fnotes li{display:grid;grid-template-columns:1.6em minmax(0,1fr);border-radius:3px}
.fnotes a{color:var(--link);text-decoration:none}
.flash{animation:flashbg 1.9s ease}
@keyframes flashbg{0%,35%{background:var(--lit)}100%{background:transparent}}
.prose h3{font:600 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:1.9em}
.prose h3 + p{margin-top:.5em}
.tbl.params table{font-size:15.5px;min-width:560px}
.tbl.params th,.tbl.params td{padding:6px 10px;border-bottom:1px solid var(--rule)}
.tbl.params tbody th{font-weight:400;text-align:left}
.tbl.params td:first-child{text-align:left;white-space:nowrap}
.tbl.params td:last-child{width:auto;text-align:center;font-variant-numeric:lining-nums tabular-nums}
.prose .math + .math{margin-top:.15em}
.model h2 a{color:inherit;text-decoration:none}
.model h2 a:hover{color:var(--link)}
.fbl figcaption,.sfd figcaption{font:italic 400 15px/1.5 var(--sans);color:var(--muted);margin-top:12px}
.fbl svg{min-width:660px}
.fbl .nd rect{fill:var(--surface);stroke:var(--ink-strong);stroke-width:1.3}
.fbl .nd text{fill:var(--ink-strong);font:600 15px var(--sans)}
.fbl .e{transition:opacity .3s ease}
.fbl .e .ln{fill:none;stroke:var(--muted);stroke-width:1.6}
.fbl .e .hd{fill:var(--muted)}
.fbl .e .sg{fill:var(--ink-strong);font:700 15px var(--sans)}
.fbl .e.dim,.fbl .sgb.dim{opacity:.12}
.fbl .sgb circle{fill:var(--surface);stroke:var(--muted);stroke-width:1.2}
.fbl .sgb text{fill:var(--ink-strong);font:700 16px var(--sans)}
.fbl .sgb.neg circle{stroke:var(--ink-strong);stroke-width:1.6}
.fbl .sgb.hl circle{stroke:var(--lk);stroke-width:2}
.fbl .sgb.hl text{fill:var(--lk)}
.fbl.picking .sgb:not(.hl){opacity:.18}
.loop-grid{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;hyphens:manual}
.loop-grid li{display:flex;align-items:center;border:1px solid var(--rule);border-radius:10px;background:var(--surface);transition:border-color .2s ease,background-color .2s ease,opacity .2s ease,box-shadow .2s ease}
.loop-grid li:hover{border-color:var(--lk)}
.loop-grid .lp{all:unset;flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 4px 8px 9px;cursor:pointer;border-radius:10px}
.loop-grid .lp:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.loop-grid .lid{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--lk);color:var(--lk);font:700 12px var(--sans);transition:background-color .2s ease,color .2s ease}
.loop-grid .lnm{font:600 14px/1.25 var(--sans);color:var(--ink-strong)}
.loop-grid li.pk{border-color:var(--lk);box-shadow:inset 0 0 0 1px var(--lk);background:color-mix(in srgb,var(--lk) 8%,var(--surface))}
.loop-grid li.pk .lid,.loop-grid .lp:hover .lid{background:var(--lk);color:var(--surface)}
.loop-grid li.off{opacity:.45}
.loop-grid .sw{flex:none;margin:0 10px 0 2px;width:30px;height:18px}
.loop-grid .sw span::after{width:12px;height:12px}
.loop-grid .sw input:checked + span::after{transform:translateX(12px)}
.fbl .cld-read{min-height:4.7em;margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--lit);font:400 15px/1.55 var(--sans);color:var(--muted)}
.fbl .cld-read{-webkit-hyphens:manual;hyphens:manual}
.fbl .cld-read .rh{display:flex;flex-wrap:wrap;align-items:center;column-gap:9px;row-gap:2px;color:var(--ink-strong);font-weight:600}
.fbl .cld-read .rh .lid{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--lk);color:var(--surface);font:700 11px var(--sans)}
.fbl .cld-read .rh i{font-style:normal;font-weight:400;color:var(--muted)}
.fbl .cld-read .rc{margin-top:5px;color:var(--ink);line-height:1.7}
.fbl .cld-read .rw{margin-top:3px}
.fbl .cld-read .ar{white-space:nowrap;color:var(--muted)}
.fbl .cld-read .ar b{font:700 12px var(--sans);vertical-align:.45em;margin-left:1px}
.fbl .cld-read .ar b.p{color:var(--ink-strong)}
.fbl .cld-read .ar b.m{color:var(--error)}
.fbl .cld-read .nmk{white-space:nowrap}
@media (max-width:640px){.loop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.loop-grid .lp{gap:7px;padding:7px 2px 7px 7px}.loop-grid .lid{width:26px;height:26px;font-size:11px}.loop-grid .lnm{font-size:13px}.loop-grid .sw{margin-right:7px;width:26px;height:16px}.loop-grid .sw span::after{width:10px;height:10px}.loop-grid .sw input:checked + span::after{transform:translateX(10px)}}
.sw{position:relative;display:inline-block;width:34px;height:20px;margin-top:7px;cursor:pointer}
.sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sw span{position:absolute;inset:0;border-radius:999px;background:var(--rule);transition:background-color .2s ease}
.sw span::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px var(--shadow);transition:transform .2s ease}
.sw input:checked + span{background:var(--lk)}
.sw input:checked + span::after{transform:translateX(14px)}
.sw input:focus-visible + span{outline:2px solid var(--link);outline-offset:2px}
.fbl .e.hl .ln{stroke:var(--lk);stroke-width:2.6;stroke-dasharray:7 6;animation:march .9s linear infinite}
.fbl .e.hl .hd{fill:var(--lk)}
.fbl .e.hl .sg{fill:var(--lk)}
.fbl.picking .e:not(.hl){opacity:.18}
.fbl .tg{cursor:pointer;transition:opacity .3s ease}
.fbl .tg circle{fill:var(--surface);stroke:var(--lk);stroke-width:2}
.fbl .tg text{fill:var(--lk);font:700 15px var(--sans)}
.fbl .tg:hover circle,.fbl .tg.on-pick circle{fill:var(--lk)}
.fbl .tg:hover text,.fbl .tg.on-pick text{fill:var(--surface)}
.fbl .tg.on-pick{animation:bob 1.6s ease-in-out infinite}
.fbl .tg.off{opacity:.25}
.sfd svg{min-width:640px}
.sfd .st rect{fill:var(--surface);stroke:var(--ink-strong);stroke-width:1.4;transition:fill .2s ease}
.sfd .st{cursor:pointer}
.sfd .st:hover rect,.sfd .st.sel rect{fill:var(--lit);stroke:var(--link)}
.sfd .st text{fill:var(--ink-strong);font:600 14px var(--sans)}
.sfd .st .nm{font:400 11.5px var(--sans);fill:var(--muted)}
.sfd .sec{fill:var(--ink-strong);font:700 15px var(--sans);letter-spacing:.12em}
.sfd .fl{cursor:pointer}
.sfd .fl .pipe{fill:none;stroke:var(--muted);stroke-width:1.5;transition:stroke .2s ease}
.sfd .fl .hd,.sfd .fl .vl{fill:var(--muted)}
.sfd .fl .src{fill:var(--surface);stroke:var(--muted);stroke-width:1.3}
.sfd .fl text{fill:var(--ink);font:400 11.5px var(--sans)}
.sfd .fl .hit{fill:none;stroke:transparent;stroke-width:14}
.sfd .fl.hl .pipe,.sfd.run .fl .pipe{stroke:var(--link);stroke-width:2.2;stroke-dasharray:6 5;animation:march .9s linear infinite}
.sfd .fl.hl .hd,.sfd .fl.hl .vl{fill:var(--link)}
.sfd .fl.hl text{fill:var(--link);font-weight:600}
.sfd.picking .fl:not(.hl){opacity:.28}
@keyframes march{to{stroke-dashoffset:-13}}
@media (prefers-reduced-motion:reduce){.fbl .e.hl .ln,.sfd .fl .pipe{animation:none}.fbl .tg.on-pick{animation:none}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sub-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.sub-form input{flex:1 1 180px;min-width:0;font:400 16px var(--sans);color:var(--ink-strong);background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:11px 12px}
.sub-form input::placeholder{color:var(--byline)}
.sub-form input:focus{outline:2px solid var(--link);outline-offset:1px}
.sub-form input[aria-invalid="true"]{border-color:var(--error)}
.sub-form .btn:disabled{opacity:.6;cursor:default}
.sub-msg{width:100%;margin:0;font:400 14px/1.45 var(--sans);color:var(--muted)}
.sub-msg:empty{display:none}
.sub-msg.ok{color:var(--link)}
.sub-msg.err{color:var(--error)}
.sub-note{margin:12px 0 0;font:400 14px/1.5 var(--sans);color:var(--muted)}
.sub-note a{color:var(--muted)}
.rss{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--link);text-decoration:none}
.rss svg{width:16px;height:16px}
.rss:hover{text-decoration:underline;text-underline-offset:.25em}

@media (max-width:960px){
  .post-grid,.about-grid{grid-template-columns:minmax(0,1fr)}
  .side{max-width:46rem}
}
@media (max-width:640px){
  .head-top{column-gap:8px;padding-block:10px 6px}
  .search span{display:none}
  .mast-name{font-size:30px}
  .mast-sub{font-size:10px;letter-spacing:.14em;margin-top:6px}
  .lang{gap:4px}
  .lang svg{width:16px;height:11px}
  .nav{gap:4px 20px;padding-block:10px 14px}
  .nav a{font-size:12px;letter-spacing:.18em}
  .view{padding-block:36px 56px}
  .kicker{font-size:17px}
  .prose{font-size:18px}
  .round{width:44px;height:44px}
  .wordcount{font-size:20px}
  .note-card,.files,.model{padding:20px}
  .facts{grid-template-columns:minmax(0,1fr)}
}
.nav a,.entry h2 a,.card .list a{transition:color .15s ease}
.round,.btn,.pill.ok,.chip,.card,.model{transition:transform .2s ease,box-shadow .2s ease,border-color .15s ease,color .15s ease}
.round:hover{transform:translateY(-2px);box-shadow:0 2px 4px var(--shadow),0 10px 22px var(--shadow-lift)}
.round:active{transform:translateY(1px) scale(.95);box-shadow:0 1px 2px var(--shadow)}
.btn:hover,.pill.ok:hover{transform:translateY(-1px);box-shadow:0 6px 14px var(--shadow-lift)}
.btn:active,.pill.ok:active{transform:translateY(1px);box-shadow:none}
.chip:hover{transform:translateY(-1px)}
.card:hover,.model:hover{transform:translateY(-3px);box-shadow:0 2px 6px var(--shadow),0 16px 36px var(--shadow-lift)}
.card .go{transition:transform .2s ease}
.card .go:hover{transform:translateX(3px)}

.card,.model,.note-card,.files,.email-box{position:relative;isolation:isolate}
.card::before,.model::before,.note-card::before,.files::before,.email-box::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),var(--glow),transparent 70%)}
.card:hover::before,.model:hover::before,.note-card:hover::before,.files:hover::before,.email-box:hover::before{opacity:1}

.nav-marker{position:absolute;left:0;top:0;height:1.5px;width:0;background:var(--link);opacity:0;pointer-events:none;transition:transform .34s cubic-bezier(.3,.7,.2,1),width .34s cubic-bezier(.3,.7,.2,1),opacity .2s ease}

.tbl th:last-child,.tbl td:last-child{width:8.5em}
.tbl tbody tr.row{cursor:pointer;transition:background-color .2s ease}
.tbl tbody tr.row:hover,.tbl tbody tr.row.lit,.tbl tbody tr.row:focus-visible{background:var(--lit)}
.tbl td.sum span{display:inline-block}
.tbl td.sum.expr{color:var(--muted)}
.tbl td.sum.zero{color:var(--link);font-weight:600}
.tbl td.sum.zero span{animation:pop .45s ease}
@keyframes pop{0%{transform:scale(.5);opacity:.2}60%{transform:scale(1.3);opacity:1}100%{transform:scale(1)}}

.progress{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:3px;z-index:20;pointer-events:none;background:var(--link);transform:scaleX(0);transform-origin:0 50%}

.btn{display:inline-flex;align-items:center;gap:8px}
.btn .tick{width:18px;height:18px;display:none}
.btn.done .tick{display:block}
.btn .tick path{stroke-dasharray:24;stroke-dashoffset:24}
.btn.done .tick path{animation:draw .45s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.pill.ok{position:relative;overflow:hidden;isolation:isolate}
.pill.ok::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--fill);transform:scaleX(0);transform-origin:0 50%}
.pill.ok.loading::after{animation:fill 1s ease forwards}
@keyframes fill{to{transform:scaleX(1)}}

.card.closing,.card.closing:hover{opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .22s ease,transform .22s ease}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .card::before,.model::before,.note-card::before,.files::before,.email-box::before{display:none}
  .card:hover,.model:hover,.round:hover,.btn:hover,.pill.ok:hover,.chip:hover,.card .go:hover{transform:none}
  .btn.done .tick path{stroke-dashoffset:0}
}
.article{--measure:38rem;--wide:56rem}
.article > .cats,.article > .kicker,.article > .post-title,.article > .abstract{max-width:46rem;margin-left:auto;margin-right:auto;text-align:center}
.article > .cats{margin-bottom:10px}
.article > .kicker{font-size:17px;margin-bottom:18px}
.article > .post-title{font-size:clamp(32px,4.4vw,54px);line-height:1.1}
.article > .abstract{max-width:var(--measure);margin-top:24px;text-wrap:pretty}
.article > hr.rule{width:72px;margin:44px auto 4px;border-top:1px solid var(--ink-strong)}
.article .post-grid{display:block}
.article .post-main,.article .post-main.wide{max-width:var(--wide);margin-left:auto;margin-right:auto}
.article .note-card{max-width:var(--measure);margin-left:auto;margin-right:auto}
.article .prose{font-size:20.5px;line-height:1.64;font-variant-ligatures:common-ligatures;hanging-punctuation:first allow-end}
.article .prose > *{max-width:var(--measure);margin-left:auto;margin-right:auto}
.article .prose > .fig,.article .prose > .tbl,.article .prose > .cld,.article .prose > .math{max-width:none}
.article .prose > p{text-wrap:pretty}
.article .prose > p + p{margin-top:0;text-indent:1.6em}
.article .prose > h2{margin-top:2.3em}
.article .prose > h2 + p,.article .prose > h3 + p{margin-top:.6em}
@media (min-width:720px){.article .prose > p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.article .prose > p:has(mjx-container),.article .prose > p:has(.math-inline){text-align:left}}
.article .fig img{cursor:zoom-in}
.zoom{position:fixed;inset:0;z-index:110;background:rgba(12,14,18,.88);display:grid;place-items:center;padding:16px;cursor:zoom-out}
.zoom img{display:block;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);width:auto;height:auto;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.5)}
body.zoom-open{overflow:hidden}
.article .post-end .post-meta{margin-top:0;max-width:none}
.article .side{max-width:var(--wide);margin:80px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:start}
.article .card .close{display:none}
.sn{display:none}
@media (min-width:1240px){
  .article .prose .sn{display:block;float:right;clear:right;width:13rem;margin:.35em -15.5rem 0 0;font:400 14px/1.45 var(--sans);color:var(--muted);text-align:left;text-indent:0;-webkit-hyphens:manual;hyphens:manual}
  .article .prose .sn .n{font-weight:600;color:var(--link);margin-right:5px}
  .article .prose .fnotes.has-sn{display:none}
}
::selection{background:var(--lit)}
body.sx-open{overflow:hidden}
.sx{position:fixed;inset:0;z-index:100;background:var(--paper);overflow-y:auto}
.sx-in{padding-block:40px 64px;max-width:52rem}
.sx-top{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--ink-strong);padding-bottom:8px}
.sx-top input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink-strong);font:400 clamp(24px,4vw,34px)/1.2 var(--serif);padding:6px 0;outline:none}
.sx-top input::placeholder{color:var(--muted)}
.sx-top input::-webkit-search-cancel-button{display:none}
.sx-x{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--surface);color:var(--ink-strong);display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 3px var(--shadow)}
.sx-x svg{width:20px;height:20px}
.sx-res{list-style:none;margin:8px 0 0;padding:0}
.sx-res li{border-bottom:1px solid var(--rule);padding:18px 0}
.sx-res a{font:400 22px/1.3 var(--serif);color:var(--ink-strong);text-decoration:none}
.sx-res a:hover,.sx-res a:focus-visible{color:var(--link);text-decoration:underline;text-underline-offset:.2em}
.sx-res .m{margin:6px 0 0;font:600 12px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sx-res .a{margin:8px 0 0;font:400 16.5px/1.6 var(--serif);color:var(--ink);font-variant-numeric:oldstyle-nums proportional-nums}
.sx-res mark{background:color-mix(in srgb,var(--link) 16%,transparent);color:var(--ink-strong);border-radius:2px;padding:0 1px}
.sx-none{margin:24px 0 0;font:italic 400 19px/1.5 var(--serif);color:var(--muted)}
.article .prose > .excursus{margin:2.1em auto 2.3em;padding:0 1.7rem;box-sizing:border-box;position:relative;font-family:var(--garamond);font-size:1em;line-height:1.58;color:var(--aside);font-variant-numeric:oldstyle-nums proportional-nums}
.excursus::before{content:"\2767";position:absolute;left:0;top:.02em;font:400 1em/1.58 var(--garamond);color:var(--byline)}
.excursus p{margin:0;text-indent:0;text-wrap:pretty}
.excursus p + p{text-indent:1.4em}
.excursus .sc{font-variant-caps:small-caps;letter-spacing:.05em;font-size:1em}
.excursus .cite{text-decoration-color:var(--rule)}
@media (min-width:720px){.excursus p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}}
@media (max-width:719px){.article .prose > .excursus{padding:0 0 0 1.5rem}}
.article .prose > h2{text-align:center;font-weight:400;font-size:1.2em;line-height:1.3;letter-spacing:.07em;font-variant-caps:all-small-caps;color:var(--ink-strong);margin-top:2.7em}
.article .prose > h2 .num{display:block;font-variant-caps:normal;letter-spacing:.04em;font-size:1.05em;color:var(--link);margin-bottom:.35em}
.article .prose > h2 + p,.article .prose > h2 + .math{margin-top:1em}
.article .prose > h2.refs-h{margin-top:3.2em;padding-top:0;border-top:0;font:400 1.2em/1.3 var(--serif);letter-spacing:.07em;text-transform:none;font-variant-caps:all-small-caps;color:var(--ink-strong)}
.article .prose .refs{margin-top:1.1em;font:400 19px/1.56 var(--serif);color:var(--ink);font-variant-numeric:oldstyle-nums proportional-nums;-webkit-hyphens:manual;hyphens:manual}
.article .refs li + li{margin-top:.75em}
.article .prose > .pullq{max-width:31rem;margin:2.5em auto;padding:0;border:0;text-align:center;quotes:"\201C" "\201D"}
.article:lang(cs) .prose > .pullq{quotes:"\201E" "\201C"}
.article .prose > .pullq::before,.article .prose > .pullq::after{content:"";display:block;width:2.6rem;height:1px;background:var(--byline);margin:0 auto 1.15em}
.article .prose > .pullq::after{margin:1.15em auto 0}
.article .pullq p{font-size:1.27em;line-height:1.4;text-wrap:balance}
.article .pullq p::before{content:open-quote}
.article .pullq p::after{content:close-quote}
.article .pullq footer{margin-top:.75em;font:400 17px/1.4 var(--serif);letter-spacing:.08em;text-transform:none;font-variant-caps:all-small-caps;color:var(--muted)}
.article .fig figcaption,.article .tbl figcaption,.article .fbl figcaption,.article .sfd figcaption{font:italic 400 16.5px/1.5 var(--serif);color:var(--muted)}
.article figcaption .lab{font-style:normal;font-variant-caps:all-small-caps;letter-spacing:.07em;color:var(--ink-strong);margin-right:.15em}
.article .prose > p.end::after{content:"\2766";display:block;text-align:center;text-indent:0;margin:1.5em 0 .4em;font:400 1.7em/1 var(--garamond);color:var(--link)}
.article .prose > p.data-note{text-indent:0;margin-top:1.6em;text-align:left}
.ac{font-variant-caps:all-small-caps;letter-spacing:.045em}
@media print{
  .site-head,.site-foot,.progress,.side,.post-end,.sx,.cld-bar,.cld-read,.loop-grid,.sfd-run,.sn{display:none!important}
  body{background:#fff;color:#000}
  .article .prose{font-size:11.5pt;line-height:1.5}
  .article .prose > *,.article .post-main{max-width:none}
  .article .prose .fnotes{display:block!important}
  .fig img,.cld{box-shadow:none}
  a{color:inherit;text-decoration:none}
  @page{margin:20mm 18mm}
}
.blog-rss{margin:44px 0 0}
.round.ok{color:var(--link);box-shadow:0 0 0 2px var(--link)}
.nf{padding-block:24px 64px}
.nf ul{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
