@font-face { font-family: "Alegreya Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url(/assets/fonts/alegreya-sans-400i-greek.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: "Alegreya Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url(/assets/fonts/alegreya-sans-400i-latin-ext.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: "Alegreya Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url(/assets/fonts/alegreya-sans-400i-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-style: italic; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-500i-greek.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: "Alegreya Sans"; font-style: italic; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-500i-latin-ext.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: "Alegreya Sans"; font-style: italic; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-500i-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/alegreya-sans-400-greek.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: "Alegreya Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/alegreya-sans-400-latin-ext.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: "Alegreya Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/alegreya-sans-400-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-500-greek.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: "Alegreya Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-500-latin-ext.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: "Alegreya Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-500-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/alegreya-sans-700-greek.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: "Alegreya Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/alegreya-sans-700-latin-ext.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: "Alegreya Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/alegreya-sans-700-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/alegreya-sans-800-greek.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: "Alegreya Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/alegreya-sans-800-latin-ext.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: "Alegreya Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/alegreya-sans-800-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans SC"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-sc-500-greek.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: "Alegreya Sans SC"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-sc-500-latin-ext.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: "Alegreya Sans SC"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/alegreya-sans-sc-500-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans SC"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/alegreya-sans-sc-700-greek.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: "Alegreya Sans SC"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/alegreya-sans-sc-700-latin-ext.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: "Alegreya Sans SC"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/alegreya-sans-sc-700-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans Fallback"; src: local("Trebuchet MS"), local("TrebuchetMS"); size-adjust: 83.9%; ascent-override: 107.3%; descent-override: 35.8%; line-gap-override: 0%; }

:root {
  --page: #ffffff; --surface: #ffffff; --rule: #dcdcd8; --rule-strong: #8a8a86;
  --ink: #1f1f1f; --ink-2: #4d4d4b; --ink-muted: #63635f; --accent: #2f6b4c; --on-accent: #ffffff;
  --figure: #ffffff; --figure-ink: #1f1f1f; --figure-ink-2: #555553; --figure-muted: #6b6b67; --figure-rule: #d6d6d2;
  --figure-grid: #ebebe8; --figure-axis: #8a8a86; --field-mark: #1f1f1f; --reference: #7a7a76; --caption-unsaid: #8f8f8b;
  --range-1: #6c4a9e; --range-1-fill: #ddd0f0; --range-2: #b4561a;
  --specimen-mask: #3e7a58; --specimen-ground: #5d9a73; --specimen-copper: #a7d3ad; --specimen-edge: #1f3b2b;
  --specimen-fr4: #c2ad72; --specimen-fr4-shade: #9c8850; --specimen-pad: #d4b25a; --specimen-metal: #b4b8bc;
  --font-text: "Alegreya Sans", "Alegreya Sans Fallback", "Trebuchet MS", sans-serif;
  --font-caps: "Alegreya Sans SC", "Alegreya Sans", "Alegreya Sans Fallback", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;
  --measure: 66ch; --page-max: 1120px;
  --range-3: #2d6aa6; --range-2-fill: #f2d9c6; --map-land: #e6e4dc;
  --ease-move: cubic-bezier(0.65, 0, 0.35, 1); --ease-arrive: cubic-bezier(0.22, 1, 0.36, 1); --ease-land: cubic-bezier(0.34, 1.56, 0.64, 1);
  --time-anticipate: 0.15s; --time-land: 0.27s; --time-stagger: 0.1s; --time-hold: 1s; --time-web: 0.15s;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --page: #151618; --surface: #1d1f22; --rule: #33363a; --rule-strong: #80858c;
    --ink: #ecebe7; --ink-2: #bdbcb7; --ink-muted: #9d9c97; --accent: #86cba3; --on-accent: #10241a; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --page: #151618; --surface: #1d1f22; --rule: #33363a; --rule-strong: #80858c;
  --ink: #ecebe7; --ink-2: #bdbcb7; --ink-muted: #9d9c97; --accent: #86cba3; --on-accent: #10241a; color-scheme: dark;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .fs-figure { filter: brightness(.88) sepia(.08); } }
:root[data-theme="dark"] .fs-figure { filter: brightness(.88) sepia(.08); }    [hidden] { display: none !important; }
body { margin: 0; background: var(--page); color: var(--ink); font-family: var(--font-text); font-size: 18px; line-height: 1.55;
  font-variant-numeric: lining-nums; -webkit-font-smoothing: antialiased;
  padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); padding-block: 0; }
.wrap { max-width: var(--page-max); margin-inline: auto; }
a { color: var(--accent); text-underline-offset: 3px; }
:where(button, input, a):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
.sci { font-style: italic; }

.display { font-size: 46px; line-height: 1.04; font-weight: 800; letter-spacing: -0.01em; }
.heading { font-size: 30px; line-height: 1.12; font-weight: 800; }
.heading-s { font-size: 22px; line-height: 1.2; font-weight: 800; }
.species { font-family: var(--font-caps); font-size: 17px; line-height: 1.3; font-weight: 700; letter-spacing: .05em; }
.label { font-family: var(--font-caps); font-size: 15px; line-height: 1.3; font-weight: 700; letter-spacing: .03em; }
.body { font-size: 18px; line-height: 1.55; }
.body-s { font-size: 16px; line-height: 1.5; }
.caption { font-size: 15px; line-height: 1.45; font-style: italic; }
.folio { font-size: 13px; line-height: 1.4; font-style: italic; }
.value { font-size: 44px; line-height: 1; font-weight: 800; letter-spacing: -0.01em; font-variant-numeric: lining-nums tabular-nums; }
.value small { font-size: .5em; font-weight: 700; color: var(--ink-2); margin-left: .15em; }
.code { font-family: var(--font-mono); font-size: 15px; }
@media (max-width: 600px) { .display { font-size: 34px; } .heading { font-size: 25px; } }

.mock-note { padding-block: var(--space-2); color: var(--ink-muted); border-bottom: 1px solid var(--rule); }
.mast { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-6);
  padding-block: var(--space-4); border-bottom: 1px solid var(--rule); }
.lockup { display: flex; align-items: center; gap: var(--space-3); color: var(--ink); text-decoration: none; }
.lockup svg { width: 36px; height: 36px; display: block; flex: none; }
.lockup span { font-weight: 800; font-size: 26px; letter-spacing: -0.01em; line-height: 1; }
.nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); list-style: none; margin: 0; padding: 0; }
.nav a { color: var(--ink-2); text-decoration: none; }
.nav a:hover, .nav a[aria-current] { color: var(--ink); text-decoration: underline; text-decoration-thickness: 2px; }
.navbox { display: contents; }
.skip { position: absolute; left: var(--space-4); top: -100px; z-index: 100; padding: 8px 12px; background: var(--page); color: var(--ink); border: 2px solid currentColor; border-radius: 4px; }
.skip:focus { top: var(--space-4); }

main { display: grid; gap: var(--space-16); padding-block: var(--space-12) var(--space-16); }
section { display: grid; gap: var(--space-6); min-width: 0; }
.sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-2) var(--space-6);
  border-top: 2px solid var(--ink); padding-top: var(--space-3); }
.sec-head .folio { color: var(--ink-muted); }
.prose { max-width: var(--measure); display: grid; gap: var(--space-3); }

.btn { display: inline-flex; align-items: center; gap: var(--space-2); font-family: var(--font-text); font-weight: 700; font-size: 17px; line-height: 22px;
  padding: 10px var(--space-4); border-radius: 4px; border: 1px solid var(--accent); background: var(--accent); color: var(--on-accent); text-decoration: none; cursor: pointer; }
.btn.ghost { background: transparent; color: var(--accent); }
.btn-row { display: flex; flex-wrap: wrap; gap: var(--space-3); }

.fs-figure { margin: 0; background: var(--figure); color: var(--figure-ink); border: 1px solid var(--figure-rule);
  padding: var(--space-6) var(--space-8); display: grid; gap: var(--space-4); position: relative; min-width: 0; }
@media (max-width: 600px) { .fs-figure { padding: var(--space-4); } }
.fs-figure-head { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); justify-content: space-between; align-items: flex-start; }
.fs-figure-head > div { display: grid; gap: var(--space-1); min-width: 0; }
.fs-figure-head h3 { color: var(--figure-ink); }
.fs-figure-head p { color: var(--figure-ink-2); }
.fs-figure-cap { color: var(--figure-ink-2); }
.fs-figure .folio { color: var(--figure-muted); }
.draw { min-width: 0; }
.draw svg { display: block; overflow: visible; max-width: 100%; height: auto; }
.fs-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); color: var(--figure-ink-2); }
.fs-legend li { display: flex; align-items: center; gap: var(--space-2); }
.mk { width: 20px; height: 3px; display: inline-block; flex: none; }
.mk-1 { background: var(--range-1); } .mk-2 { background: var(--range-2); }
.mk-ref { background: repeating-linear-gradient(90deg, var(--reference) 0 6px, transparent 6px 10px); }
.mk-bar { width: 10px; height: 14px; background: var(--reference); }
.mk-bar.b1 { background: var(--range-1); } .mk-bar.b2 { background: var(--range-2); } .mk-bar.b3 { background: var(--range-3); }
.mk-ring { width: 14px; height: 14px; border-radius: 50%; border: 1.5px dashed var(--figure-ink); box-sizing: border-box; }
.mk-disc { width: 14px; height: 14px; border-radius: 50%; background: var(--range-1-fill); border: 1.5px solid var(--range-1); box-sizing: border-box; }

.sp-mask { fill: var(--specimen-mask); } .sp-ground { fill: var(--specimen-ground); } .sp-copper { fill: var(--specimen-copper); }
.sp-edge { fill: none; stroke: var(--specimen-edge); stroke-width: 1.2; }
.sp-pad { fill: var(--specimen-pad); } .sp-metal { fill: var(--specimen-metal); stroke: var(--specimen-edge); stroke-width: .8; }
.sp-fr4, .sp-fr4-shade { stroke: var(--specimen-edge); stroke-width: 1; stroke-linejoin: round; }
.sp-fr4 { fill: var(--specimen-fr4); } .sp-fr4-shade { fill: var(--specimen-fr4-shade); }
.fm-line { stroke: var(--field-mark); stroke-width: 1.8; } .fm-head { fill: var(--field-mark); }
.pt text { font-family: var(--font-text); fill: var(--figure-ink); font-variant-numeric: lining-nums; }
.pt .pt-label { font-family: var(--font-caps); font-weight: 700; font-size: 16px; letter-spacing: .03em; }
.fig-n { font-family: var(--font-caps); font-weight: 700; font-size: 16px; line-height: 1.2; letter-spacing: .03em; color: var(--figure-ink); margin: 0 0 calc(-1 * var(--space-2)); }   .pt .pt-label .fig-sfx, .fig-n .fig-sfx { font-family: var(--font-text); }   .pt .pt-cap { font-size: 16px; } .pt .n { font-weight: 800; }
.pt .pt-cap2 { font-size: 15px; font-style: italic; fill: var(--figure-ink-2); }
.pt .pt-folio { font-size: 13px; font-style: italic; fill: var(--figure-muted); }
.pt.narrow .pt-cap { font-size: 14px; } .pt.narrow .pt-cap2 { font-size: 13px; }
.pt .sb { stroke: var(--figure-ink); stroke-width: 1.2; }
.rm-1 { fill: var(--range-1-fill); stroke: var(--range-1); stroke-width: 1.5; }
.rm-ref { fill: none; stroke: var(--figure-ink); stroke-width: 1.2; stroke-dasharray: 4 3; }
.rm-c { fill: var(--figure-ink); }
.ch text { font-family: var(--font-text); font-size: 14px; fill: var(--figure-muted); font-variant-numeric: lining-nums tabular-nums; }
.ch .grid { stroke: var(--figure-grid); stroke-width: 1; }
.ch .axis { stroke: var(--figure-axis); stroke-width: 1.2; }
.ch .fref { fill: var(--reference); }
.ch .l1 { fill: none; stroke: var(--range-1); stroke-width: 2.5; stroke-linejoin: round; }
.ch .l1s { fill: none; stroke: var(--range-1); stroke-width: 2; stroke-linejoin: miter; }
.ch .l2 { fill: none; stroke: var(--range-2); stroke-width: 2; stroke-linejoin: round; }
.ch .lref { fill: none; stroke: var(--reference); stroke-width: 1.8; stroke-dasharray: 6 4; }
.ch .mark { stroke: var(--figure-ink); stroke-width: 1.6; fill: none; }
.ch .call { font-size: 17px; font-weight: 800; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 5px; stroke-linejoin: round; }
.ch .lab { font-size: 15px; font-style: italic; fill: var(--figure-ink); }
.ch .b1 { fill: var(--range-1); } .ch .b2 { fill: var(--range-2); } .ch .b3 { fill: var(--range-3); }
.ch .rowlab { font-size: 16px; } .ch .rowlab .n { font-weight: 800; } .ch .bval { font-size: 15px; font-weight: 700; }

.fs-formula { display: inline-flex; flex-wrap: wrap; align-items: center; column-gap: .22em; font-variant-numeric: lining-nums; }
.fs-formula.inline { vertical-align: middle; margin-block: .15em; }
.fs-v { cursor: help; border-bottom: 1.5px dotted var(--accent); line-height: 1.15; padding: 0 .04em; }
.fs-figure .fs-v { border-bottom-color: #2f6b4c; }
.fs-v:hover, .fs-v.is-on { border-bottom-style: solid; border-bottom-width: 2px; }
.fs-v:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.fs-formula sub { font-size: .66em; line-height: 0; }
.fs-formula sup { font-size: .66em; line-height: 0; }
.fs-int { display: inline-flex; align-items: stretch; }
.fs-formula .dx { margin-right: -.2em; }
.fs-int > .sgn { font-size: 1.3em; line-height: 1; align-self: center; }
.fs-int > .lims { display: inline-flex; flex-direction: column; justify-content: space-between; font-size: .58em; line-height: 1; margin-left: .06em; }
.fs-frac { display: inline-grid; text-align: center; vertical-align: middle; font-size: .94em; line-height: 1.2; }
.fs-frac > span { padding: 0 .12em; }
.fs-frac > span + span { border-top: 1.5px solid currentColor; padding-top: .08em; }
.fs-root { display: inline-flex; align-items: stretch; }
.fs-root > .rad { width: .5em; height: auto; flex: none; overflow: visible; }
.fs-root > .rad path { fill: none; stroke: currentColor; stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.fs-root > .under { border-top: 1.5px solid currentColor; padding: .14em .14em 0 .1em; display: inline-flex; align-items: center; }
.fs-filled { color: var(--ink-2); } .fs-figure .fs-filled { color: var(--figure-ink-2); }
.fx-try { font-size: 21px; color: var(--figure-ink); column-gap: .3em; }
.fs-vtip { position: fixed; z-index: 30; background: var(--figure); color: var(--figure-ink); border: 1px solid var(--figure-axis);
  padding: var(--space-2) var(--space-3); font-size: 14px; line-height: 1.4; display: grid; max-width: 260px; pointer-events: none; }
.fs-vtip[hidden] { display: none; }
.fs-vtip span { color: var(--figure-ink-2); }
svg .is-on { font-weight: 800; }
.rm-1.is-on { stroke-width: 3.5; } .rm-ref.is-on { stroke-width: 2.6; } .ch .dot.is-on { stroke-width: 4; }
.ch .ax { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.ch .pn { font-size: 16px; fill: var(--figure-ink); } .ch .pn .n { font-weight: 800; }
.ch .cursor { stroke: var(--figure-ink); stroke-width: 1; stroke-dasharray: 2 3; }
.ch .dot { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; }
.fs-tip { position: absolute; pointer-events: none; background: var(--figure); color: var(--figure-ink); border: 1px solid var(--figure-axis);
  padding: var(--space-2) var(--space-3); font-size: 14px; line-height: 1.45; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.fs-tip i { color: var(--figure-ink-2); }

.spread { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); align-items: start; }
.spread > .verso { padding-right: var(--space-8); border-right: 1px solid var(--rule); min-width: 0; display: grid; gap: var(--space-2); }
.spread > .recto { padding-left: var(--space-8); min-width: 0; }
.spread .pagefolio { color: var(--ink-muted); }
@media (max-width: 860px) {
  .spread { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .spread > .verso { padding-right: 0; border-right: 0; }
  .spread > .recto { padding-left: 0; }
}
.account { display: grid; gap: var(--space-3); max-width: 560px; }
.account h3 { margin-bottom: var(--space-1); }
.run { font-family: var(--font-caps); font-weight: 700; letter-spacing: .03em; }

.dkey { display: grid; gap: var(--space-3); max-width: 760px; }
.dkey ol { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.couplet { display: flex; align-items: baseline; gap: var(--space-2); color: var(--ink); }
.couplet .n { flex: none; width: 2em; font-weight: 800; }
.couplet .c { min-width: 0; }
.couplet .lead { flex: 1; min-width: var(--space-6); border-bottom: 2px dotted var(--rule-strong); transform: translateY(-0.3em); }
.couplet .r { flex: none; font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
.couplet.is-answer .c { font-weight: 700; }
.couplet a { color: var(--accent); }
@media (max-width: 600px) { .couplet { display: grid; grid-template-columns: 2em minmax(0, 1fr); column-gap: var(--space-2); } .couplet .lead { display: none; } .couplet .r { grid-column: 2; } }

.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 500px); gap: var(--space-12); align-items: center; }
.hero-text { display: grid; gap: var(--space-4); align-content: center; }
.hero-text .answer { color: var(--ink-2); max-width: 32em; }
.hero-meta { display: flex; gap: var(--space-3); color: var(--ink-muted); }
@media (max-width: 860px) { .hero { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); } }
.hero + .context { margin-top: calc(var(--space-8) - var(--space-16)); }
.lede { color: var(--ink-2); max-width: 40em; margin: 0; }
.context-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 620px); gap: var(--space-12); align-items: start; }
@media (min-width: 861px) { .context-row > .lede-col, .context-row > .lede { padding-top: var(--space-6); } }
@media (max-width: 860px) { .context-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } }
@media (min-width: 861px) { .context-row.flip { grid-template-columns: minmax(0, 620px) minmax(0, 1fr); } .context-row.flip > .lede, .context-row.flip > .lede-col { order: 2; } }
.iso .proj { stroke: var(--figure-ink); stroke-width: 1; stroke-dasharray: 3 3; }
.iso .ldr { stroke: var(--figure-ink-2); stroke-width: 1; } .iso .far { fill-opacity: .55; }
.fs-figure.is-live { overflow: hidden; }
.fs-figure-head > .fs-figure-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-6); }
.fs-pause { font: 700 15px/20px var(--font-text); color: var(--figure-ink); background: transparent; border: 1px solid var(--figure-axis);
  border-radius: 6px; padding: 5px 14px; cursor: pointer; }
.fs-pause:hover { border-color: var(--figure-ink); }
.fs-pause:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .fs-pause, .fs-progress { display: none; } }
.fs-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--figure-rule); }
.fs-progress > span { display: block; height: 100%; background: var(--figure-ink); transform-origin: left center; transform: scaleX(0); }
.pt .cutl { stroke: var(--figure-ink); stroke-width: 1.5; stroke-dasharray: 5 4; }
.pt .ghost { fill: none; stroke: var(--reference); stroke-width: 1.2; stroke-dasharray: 4 3; }
.pt .lv-val { font-weight: 800; letter-spacing: -0.01em; }

.opening { scroll-margin-top: var(--space-6); }
.opening .verso { gap: var(--space-4); align-content: start; }
.opening .answer { color: var(--ink-2); max-width: 32em; }
.opening .recto { display: grid; gap: var(--space-3); align-content: start; }
.kbd { font-family: var(--font-text); font-size: 13px; font-weight: 700; line-height: 1; padding: 2px 6px; border: 1px solid var(--rule-strong); border-radius: 3px; color: var(--ink-muted); }
.nav .kbd { margin-left: 4px; vertical-align: 1px; }
@media (hover: none), (pointer: coarse) { .kbd { display: none; } }   .find { display: grid; gap: var(--space-2); margin-top: var(--space-4); scroll-margin-top: var(--space-6); }
.qbox { position: relative; }
.qbox input { width: 100%; font: inherit; font-size: 19px; line-height: 24px; color: var(--ink); background: var(--surface); border: 1.5px solid var(--rule-strong); border-radius: 0; padding: 12px 52px 12px var(--space-4); }
.qbox input::placeholder { color: var(--ink-muted); }
.qbox input:focus-visible { outline: 2px solid var(--accent); outline-offset: 0; border-color: var(--accent); }
.qbox .kbd { position: absolute; right: var(--space-4); top: 50%; transform: translateY(-50%); pointer-events: none; }
.qbox input:not(:placeholder-shown) + .kbd { display: none; }
.tries { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; }
.tries .caption { color: var(--ink-muted); margin-right: var(--space-1); }
.tag { font: inherit; font-size: 15px; line-height: 20px; color: var(--ink-2); background: transparent; border: 1px solid var(--rule-strong); border-radius: 0; padding: 3px 9px; cursor: pointer; }
.tag:hover { color: var(--ink); border-color: var(--ink-muted); }
.qcount { color: var(--ink-muted); margin: 0; min-height: 1em; }
.qcount:empty { display: none; }
.qres { list-style: none; margin: 0; padding: 0; display: grid; }
.qres li { border-top: 1px solid var(--rule); }
.qres li:last-child { border-bottom: 1px solid var(--rule); }
.qhit { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto auto 1fr; gap: 2px var(--space-4); padding: var(--space-3) var(--space-2); color: inherit; text-decoration: none; }
a.qhit:hover, a.qhit:focus-visible { background: color-mix(in srgb, var(--accent) 8%, transparent); }
a.qhit:hover .q-name { text-decoration: underline; text-underline-offset: 3px; }
.qhit .label { grid-column: 1; color: var(--ink-muted); }
.qhit .q-name { grid-column: 1; font-weight: 800; font-size: 19px; line-height: 1.25; color: var(--accent); }
.qhit.off .q-name { color: var(--ink-muted); }
.qhit .q-q { grid-column: 1; color: var(--ink-2); }
.qhit .q-tags { grid-column: 1; color: var(--ink-muted); }
.qhit .q-v { grid-column: 2; grid-row: 1 / span 3; align-self: center; text-align: right; }
.qhit mark { background: color-mix(in srgb, var(--accent) 22%, transparent); color: inherit; padding: 0 1px; }

.kstep { color: var(--ink-muted); margin: 0; }
.kstep:focus { outline: none; }
button.couplet { font: inherit; color: inherit; background: none; border: 0; padding: 0; width: 100%; text-align: left; cursor: pointer; }
button.couplet .r { color: var(--accent); }
button.couplet:hover .c { text-decoration: underline; text-underline-offset: 3px; }
.dkey ol.kin { animation: kin .27s cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes kin { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.kback { justify-self: start; font: inherit; font-weight: 700; color: var(--accent); background: none; border: 0; padding: 0; cursor: pointer; }
.kback:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .dkey ol.kin { animation: none; } }

.frows { display: grid; }
.frow { --fg: var(--space-16); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--fg);
  grid-template-areas: "fig head" "fig list" "fig more"; grid-template-rows: auto auto 1fr;
  padding-block: var(--space-8); border-top: 1px solid var(--rule); scroll-margin-top: var(--space-6);
  background: linear-gradient(var(--rule), var(--rule)) 50% 0 / 1px 100% no-repeat content-box; }
.frow:first-child { border-top: 0; padding-top: 0; }
.frow > .ffig { grid-area: fig; align-self: start; min-width: 0; }
.frow > .fhead { grid-area: head; display: grid; gap: var(--space-1); align-content: start; }
.frow > .flist { grid-area: list; align-content: start; }
.frow > .fmore { grid-area: more; align-self: start; }
.fhead .label { color: var(--ink-muted); }
.fhead .fsym { color: var(--ink-2); }
.famfig .fs-figure-head { flex-wrap: nowrap; align-items: center; }
.fam-cap { min-width: 0; }
.fam-note, .fam-title { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fam-note { color: #2f6b4c; text-decoration: none; }             .fam-note:hover { text-decoration: underline; text-underline-offset: 3px; }
.fam-title { color: var(--figure-ink-2); margin: 0; }
.famdraw { container-type: inline-size; display: grid; cursor: pointer; position: relative; }
.famslot { container-type: inline-size; display: grid; }
.famslot > .famhold, .famslot > .famfig { grid-area: 1 / 1; }
.famslot > .famfig { align-self: start; }
.famhold { --fpad: 66px; --fchrome: 112px; height: calc(var(--fchrome) + var(--mhn, 0px)); pointer-events: none; }
@media (min-width: 601px) {
  @container (min-width: 446px) { .famhold { height: calc(var(--fchrome) + var(--mhm, var(--mhn, 0px))); } }
  @container (min-width: 576px) { .famhold { height: calc(var(--fchrome) + var(--mhw, var(--mhm, 0px))); } }
}
@media (max-width: 600px) {
  .famhold { --fpad: 34px; --fchrome: 96px; }
  @container (min-width: 414px) { .famhold { height: calc(var(--fchrome) + var(--mhm, var(--mhn, 0px))); } }
  @container (min-width: 544px) { .famhold { height: calc(var(--fchrome) + var(--mhw, var(--mhm, 0px))); } }
}
.frow > .fhead { padding-inline: var(--space-3); }              .famdraw > .mp { grid-area: 1 / 1; display: grid; align-content: start; gap: var(--space-3); }
.famdraw > .mp.swap { animation: fam-in .4s .18s cubic-bezier(0.22, 1, 0.36, 1) both; }
.famdraw > .mp.out { opacity: 0; transition: opacity .22s ease-in; pointer-events: none; position: absolute; inset: 0 0 auto 0; }
@keyframes fam-in { from { opacity: 0; } to { opacity: 1; } }
.fam-link { color: inherit; text-decoration: none; }
.fhead .fam-link::after { content: " →"; color: var(--accent); font-size: .75em; }
.fam-link:hover { color: var(--accent); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.hero-meta .fam-link { color: var(--accent); }
.frow > .fmore { margin: var(--space-4) 0 0; padding-inline: var(--space-3); }
.fmore a { font-weight: 700; color: var(--accent); }
.kfoot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-6); margin: 0; }
.kall { font-weight: 700; color: var(--accent); text-decoration: none; }
.kall:hover { text-decoration: underline; text-underline-offset: 3px; }
.frow > .flist > li { box-sizing: border-box; padding-inline: var(--space-3); transition: background-color .3s; }
@media (min-width: 601px) {                                            .frow > .flist > li.is-shown { background: color-mix(in srgb, var(--accent) 8%, transparent); }
  .frow > .flist > li.is-shown .t-top .label { color: var(--accent); }
}
@media (prefers-reduced-motion: reduce) {
  .famfig .fs-pause, .famfig .fs-progress { display: none; }
  .famdraw > .mp.swap { animation: none; } .famdraw > .mp.out { display: none; }
  .frow > .flist > li { transition: none; }
}
@media (max-width: 860px) {
  .frow { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "fig" "list" "more"; grid-template-rows: none; row-gap: var(--space-4); background: none; }
}
@media (max-width: 600px) { .frow > .ffig { display: none; } }             .shelf-row { border-top: 0; padding-top: var(--space-4); }
.tlist { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; }
.tlist li { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto 1fr; gap: 2px var(--space-4); padding-block: var(--space-3); border-top: 1px solid var(--rule); scroll-margin-top: var(--space-6); }
.tlist .t-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); margin: 0; grid-column: 1; }
.tlist .t-top .label { color: var(--ink-muted); }
.tlist .t-name { font-weight: 800; font-size: 19px; line-height: 1.25; color: var(--ink); }
.tlist a.t-name { color: var(--accent); }
.tlist .t-q { grid-column: 1; color: var(--ink-2); margin: 0; }
.tlist .t-sci { grid-column: 1; color: var(--ink-muted); margin: 0; }
.tlist .t-v { grid-column: 2; grid-row: 1 / span 3; text-align: right; display: grid; align-content: start; justify-items: end; gap: 2px; }
.tlist .t-v .caption { color: var(--ink-muted); max-width: 11em; }
@media (max-width: 600px) {
  .tlist li, .qhit { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .tlist .t-v, .qhit .q-v { grid-column: 1; grid-row: auto; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); text-align: left; justify-items: start; margin-top: var(--space-1); }
  .tlist .t-v .caption { max-width: none; }
}
@media (min-width: 861px) and (max-width: 1060px) {
  .frow .flist li { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .frow .flist .t-v { grid-column: 1; grid-row: auto; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); text-align: left; justify-items: start; margin-top: var(--space-1); }
  .frow .flist .t-v .caption { max-width: none; }
}
.value-s { font-size: 26px; line-height: 1; font-weight: 800; letter-spacing: -0.01em; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.flash { animation: flash 1.8s ease-out; }
@keyframes flash { 0%, 35% { background: color-mix(in srgb, var(--accent) 16%, transparent); } 100% { background: transparent; } }

.blist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 0 var(--space-8); }
.blist li { display: grid; gap: 2px; align-content: start; padding-block: var(--space-3); border-top: 1px solid var(--rule); }   .blist .b-name { justify-self: start; font: inherit; font-weight: 800; font-size: 19px; color: var(--accent); background: none; border: 0; padding: 0; cursor: pointer; }
.blist .b-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.blist .caption { color: var(--ink-muted); }
.blist .b-topics { color: var(--ink-2); }
.mp .fs-figure-cap { margin: 0; }
.pt .ch-lab { font-size: 14px; fill: var(--figure-muted); }
.pt .l1 { fill: none; stroke: var(--range-1); stroke-width: 2; } .pt .l2 { fill: none; stroke: var(--range-2); stroke-width: 2; }
.pt .lim { stroke: var(--figure-ink); stroke-width: 1.2; } .pt .grid { stroke: var(--figure-grid); stroke-width: 1; } .pt .axis { stroke: var(--figure-axis); stroke-width: 1; }
.pt .fref { fill: var(--reference); }
.pt .brk { stroke: var(--figure-ink); stroke-width: 1.5; fill: none; }
.sp-res { fill: #6f7479; } .pt .l1f { fill: var(--range-1); } .pt .l2f { fill: var(--range-2); } .sp-trace { fill: var(--specimen-copper); stroke: var(--specimen-edge); stroke-width: .8; }
.sp-trace.inner { fill-opacity: .55; stroke-dasharray: 2 2; } .sp-drill { fill: var(--specimen-edge); }
.xray { fill-opacity: .5; stroke: var(--specimen-edge); stroke-width: 1; } .sp-rim { fill: none; stroke: var(--specimen-edge); stroke-width: 1.2; stroke-dasharray: 3 2; }


.mp .ent { opacity: 0; transform: translateY(8px); }
.mp.in .ent { opacity: 1; transform: none; transition: opacity .4s cubic-bezier(0.22, 1, 0.36, 1) var(--d, 0s), transform .4s cubic-bezier(0.22, 1, 0.36, 1) var(--d, 0s); }
.mp .ent-a { opacity: 0; }
.mp.in .ent-a { animation: fm-land .42s var(--d, 0s) both; }
@keyframes fm-land {
  0% { opacity: 0; transform: translate(calc(var(--ax) * -14px), calc(var(--ay) * -14px)); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
  36% { opacity: 1; transform: translate(calc(var(--ax) * -20px), calc(var(--ay) * -20px)); animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1); }
  100% { opacity: 1; transform: translate(0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .mp .ent, .mp .ent-a { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
}

.control { display: grid; gap: var(--space-2); max-width: 560px; }
.control > label { color: var(--ink-2); }
.slider-row { display: flex; align-items: center; gap: var(--space-4); }
.slider { flex: 1; min-width: 0; -webkit-appearance: none; appearance: none; height: 24px; margin: 0; background: transparent; cursor: pointer; }
.slider::-webkit-slider-runnable-track { height: 3px; background: linear-gradient(to right, var(--accent) 0 var(--p, 50%), var(--rule-strong) var(--p, 50%) 100%); }
.slider::-moz-range-track { height: 3px; background: linear-gradient(to right, var(--accent) 0 var(--p, 50%), var(--rule-strong) var(--p, 50%) 100%); }
.slider::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; margin-top: -9.5px; border-radius: 50%; background: var(--page); border: 3px solid var(--accent); box-sizing: border-box; }
.slider::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--page); border: 3px solid var(--accent); box-sizing: border-box; }
.slider-row output { font-weight: 700; font-variant-numeric: lining-nums tabular-nums; min-width: 4.5em; text-align: right; }
.seg { justify-self: start; display: inline-flex; border: 1px solid var(--rule-strong); border-radius: 4px; overflow: hidden; }
.seg button { font-family: var(--font-text); font-weight: 700; font-size: 16px; line-height: 20px; padding: 8px var(--space-4); border: 0;
  background: transparent; color: var(--ink-2); cursor: pointer; font-variant-numeric: lining-nums; }
.seg button + button { border-left: 1px solid var(--rule-strong); }
.seg button[aria-checked="true"] { background: var(--accent); color: var(--on-accent); }
.try { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: end; }
@media (max-width: 760px) { .try { grid-template-columns: minmax(0, 1fr); } }

.sv { container-type: inline-size; }
.draw.sv > svg.v { display: none; width: 100%; height: auto; }
.draw.sv > svg.v-n { display: block; }
@container (min-width: 380px) { .draw.sv > svg.v-n { display: none; } .draw.sv > svg.v-m { display: block; } }
@container (min-width: 510px) { .draw.sv > svg.v-m { display: none; } .draw.sv > svg.v-w { display: block; } }
.stepper .st { opacity: 0; transition: opacity .12s linear var(--lag, 0s); }
.stepper .st.on { opacity: 1; }
.stepper [data-xs] { transition: transform .45s var(--ease-move) .1s; }
@media (prefers-reduced-motion: reduce) { .stepper .st, .stepper [data-xs] { transition: none; } }
.pt .gdot { fill: var(--range-1); stroke: var(--figure); stroke-width: 2; }
.pt .gref { fill: none; stroke: var(--reference); stroke-width: 1.5; stroke-dasharray: 3 2; }
.pt .pdot { fill: var(--figure); stroke: var(--range-1); stroke-width: 2; } .pt .pdot.d2 { stroke: var(--range-2); }
.ch .lref.hi { stroke: var(--figure-ink); stroke-width: 2.5; }
.gc-try [data-pb]:not(.on), .gc-try [data-k]:not(.on), .sh-try [data-pb]:not(.on), .sh-try [data-k]:not(.on), .tr-try [data-pb]:not(.on), .gr-try [data-pb]:not(.on), .gr-try [data-k]:not(.on), .ey-try [data-pb]:not(.on), .ey-try [data-k]:not(.on), .us-try [data-pb]:not(.on), .ag-try [data-pb]:not(.on), .ss-try [data-pb]:not(.on), .cj-try [data-pb]:not(.on), .zv-try [data-pb]:not(.on), .gn-try [data-pb]:not(.on) { display: none; }
.controls { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8); align-items: end; }
.controls .control.grow { flex: 1 1 300px; }
.gc-board { max-width: 340px; display: grid; gap: var(--space-2); }
.gc-board svg { width: 100%; height: auto; }
.sbh { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-2); color: var(--figure-muted); font-size: 13px; font-style: italic; }
.sbh i { flex: none; height: 8px; border: solid var(--figure-ink); border-width: 0 1.2px; background: linear-gradient(var(--figure-ink), var(--figure-ink)) center / 100% 1.2px no-repeat; }
@media (max-width: 760px) { .gc-board { max-width: 220px; justify-self: center; width: 100%; } }
.sc .w { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; stroke-linecap: round; }
.sc .w2 { stroke: var(--figure-ink); stroke-width: 2.4; }
.sc .hd, .sc .nd { fill: var(--figure-ink); }
.sc .to, .sc .bx { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; }
.sc .rf { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.sc .vl { font-size: 14px; fill: var(--figure-ink-2); }
.sc .pn { font-size: 13px; fill: var(--figure-muted); }
.sc .lab { font-size: 15px; font-style: italic; fill: var(--figure-ink); }
.sc .lp-band { fill: none; stroke: var(--range-1); stroke-opacity: .25; stroke-width: 11; stroke-linejoin: round; }
.sc .lp { fill: none; stroke: var(--range-1); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.sc .lp-head { fill: var(--range-1); } .sc .lp-head.h2 { fill: var(--range-2); } .sc .lp-band.b2 { stroke: var(--range-2); }
.sc .gl1, .sc .gl2 { stroke: var(--figure); stroke-width: .8; stroke-linejoin: round; } .sc .gl1 { fill: var(--range-1); } .sc .gl2 { fill: var(--range-2); }
.sc .lp-halo { fill: none; stroke: var(--figure); stroke-width: 6; stroke-linejoin: round; }
.sc .win { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; }
.sc .ldr2 { stroke: var(--figure-ink-2); stroke-width: 1; stroke-dasharray: 3 3; }
.sc .pl { font-size: 14px; font-weight: 800; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); align-items: start; }
@media (max-width: 760px) { .pair { grid-template-columns: minmax(0, 1fr); } }
.parts-key { margin: var(--space-6) 0 0; display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr); gap: var(--space-3) var(--space-4); }
.parts-key dt { font-weight: 800; } .parts-key dd { margin: 0; }
@media (max-width: 760px) { .parts-key { grid-template-columns: max-content minmax(0, 1fr); } }
.try.rev { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: center; }
.readings { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.readings dd { margin: var(--space-1) 0 0; font-variant-numeric: lining-nums tabular-nums; }
@media (max-width: 760px) { .try.rev { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 400px) { .seg button { padding-inline: 12px; } }

.tscroll { overflow-x: auto; }
table.data { border-collapse: collapse; width: 100%; min-width: 420px; font-variant-numeric: lining-nums tabular-nums; color: var(--figure-ink); }
table.data th, table.data td { text-align: right; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--figure-grid); }
table.data th:first-child, table.data td:first-child { text-align: left; padding-left: 0; }
table.data thead th { font-family: var(--font-caps); font-weight: 700; letter-spacing: .03em; font-size: 15px; color: var(--figure-ink-2); border-bottom: 1.5px solid var(--figure-axis); }
table.data td.hi { font-weight: 800; }

.after { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-8); align-items: start; }
@media (max-width: 860px) { .after { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 861px) {                                            .after { grid-template-rows: auto 1fr auto; }
  .after > .side { display: contents; }
  .after > .cond { grid-column: 1; grid-row: 1 / span 2; }
  .after > .side > div:nth-child(1) { grid-column: 2; grid-row: 1; }
  .after > .side > div:nth-child(2) { grid-column: 2; grid-row: 2; }
  .after > .side > div:last-child { grid-column: 1 / -1; grid-row: 3; }
  .after > .side > div:last-child ul { display: block; columns: 2; column-gap: var(--space-12); }
  .after > .side > div:last-child li { break-inside: avoid; margin-bottom: var(--space-2); }
}
.cond { background: var(--surface); border: 1px solid var(--rule); padding: var(--space-6); display: grid; gap: var(--space-4); }
.cond h4, .side h4 { color: var(--ink-muted); }
.cond dl { margin: 0; display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--space-3) var(--space-6); }
.cond dt { font-family: var(--font-caps); font-weight: 500; letter-spacing: .03em; color: var(--ink-2); }
.cond dd { margin: 0; min-width: 0; font-variant-numeric: lining-nums tabular-nums; }
.cond > p { color: var(--ink-muted); }
@media (max-width: 480px) { .cond dl { grid-template-columns: minmax(0, 1fr); gap: 0 0; } .cond dd { margin-bottom: var(--space-3); } }
.side { display: grid; gap: var(--space-6); }
.side > div { display: grid; gap: var(--space-2); }
.side ul { margin: 0; padding-left: 1.1em; display: grid; gap: var(--space-2); color: var(--ink); }
.files { list-style: none; padding: 0 !important; }
.files li { display: grid; gap: 0; }
.files .note { color: var(--ink-2); }

.rev-link { color: inherit; text-decoration: none; border-bottom: 1px dotted currentColor; }
.rev-link:hover { color: var(--accent); }
.fb { border: 1px solid var(--rule); background: var(--surface); padding: var(--space-3) var(--space-4); display: grid; gap: var(--space-3); }
.fb h2, .fb p, .fb ol { margin: 0; }
.fb-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.fb-row ~ .fb-row, .fix { border-top: 1px solid var(--rule); padding-top: var(--space-3); }
.fb-q { color: var(--ink-2); margin-right: var(--space-1); }
.vote { display: inline-flex; border: 1px solid var(--rule-strong); }
.vote button, .chip { font: 700 15px/20px var(--font-text); padding: 5px 12px; background: transparent; color: var(--ink-2); cursor: pointer; }
.vote button { border: 0; } .vote button + button { border-left: 1px solid var(--rule-strong); }
.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.chip { border: 1px solid var(--rule-strong); }
.vote button:hover, .chip:hover { color: var(--ink); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.vote button[aria-pressed="true"], .chip[aria-expanded="true"], .chip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.fb-status { font-size: 15px; color: var(--ink-2); }
.chip.like { display: inline-flex; align-items: center; gap: 6px; }
.ic-heart { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.like[aria-pressed="true"] .ic-heart { fill: currentColor; }
.like:active .ic-heart { transform: scale(1.18); }
.fb-n { color: var(--ink-muted); }
.fb-status:empty { display: none; }
.revs-d { margin-left: auto; font-size: 15px; color: var(--ink-muted); }
.revs-d summary { cursor: pointer; font-style: italic; }
.revs-d[open] { flex-basis: 100%; margin-left: 0; display: grid; gap: var(--space-2); }
.revs { list-style: none; padding: 0; border-top: 1px solid var(--rule); color: var(--ink); }
.revs li { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-1); border-bottom: 1px solid var(--rule); }
.revs .rev-n { font-weight: 700; } .revs .rev-d { color: var(--ink-muted); font-variant-numeric: lining-nums tabular-nums; }
.fix { display: grid; gap: var(--space-3); }
.fld { display: grid; gap: 2px; min-width: 0; }
.fld > label { color: var(--ink-2); font-size: 14px; }
.fld .opt { font-family: var(--font-text); font-weight: 400; font-style: italic; letter-spacing: 0; color: var(--ink-muted); margin-left: .3em; }
.fld input, .fld select, .fld textarea { box-sizing: border-box; font: inherit; font-size: 16px; line-height: 22px; color: var(--ink); background: var(--page); border: 1.5px solid var(--rule-strong); border-radius: 0; padding: 6px 10px; width: 100%; min-width: 0; }
.fld textarea { resize: vertical; min-height: 72px; }
.fld input::placeholder, .fld textarea::placeholder { color: var(--ink-muted); }
.fld input:focus-visible, .fld select:focus-visible, .fld textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 0; border-color: var(--accent); }
.fix-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3); }
@media (max-width: 600px) { .fix-row { grid-template-columns: minmax(0, 1fr); } .fb { padding: var(--space-3); } }
.fix-act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.fix-act .btn { font-size: 16px; padding: 6px 14px; }
.shelf-what { color: var(--ink-2); max-width: var(--measure); margin: 0; }
.tlist.shelf { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); column-gap: var(--space-8); }
.ask-box { display: grid; gap: var(--space-3); justify-items: start; }
.ask-box > * { justify-self: stretch; }
.ask-box > .btn-row { justify-self: start; }
.fix.ask-form { border: 1px solid var(--rule); background: var(--surface); padding: var(--space-3) var(--space-4); max-width: 760px; }
.find .ask-form { margin-top: var(--space-3); }
.qres .ask-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); padding: var(--space-3) var(--space-2); }
.qres .ask-row .status:empty { display: none; }
.qres .more-row { padding: var(--space-3) var(--space-2); }       .qres .ask-row .status { flex-basis: 100%; margin: 0; }
.next-ask { color: var(--ink-2); margin: calc(var(--space-3) - var(--space-16)) 0 0; }
.next-ask a { color: var(--accent); }
@media (max-width: 600px) { .fix.ask-form { padding: var(--space-3); } }

.gl-open { display: grid; gap: var(--space-4); padding-block: var(--space-8) 0; }
.gl-open > h1, .gl-open > .species { max-width: 760px; }
.gl-open .answer { color: var(--ink-2); max-width: 32em; margin: 0; }
.az { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.az a { font-family: var(--font-caps); font-weight: 700; font-size: 18px; min-width: 40px; min-height: 40px; display: grid; place-items: center;
  border: 1px solid var(--rule-strong); color: var(--ink); text-decoration: none; }
.az a:hover, .az a:focus-visible { border-color: var(--accent); color: var(--accent); }
.glist { display: grid; }
.g-letter { font-family: var(--font-caps); font-size: 30px; line-height: 1; font-weight: 700; margin: 0; padding: var(--space-8) 0 var(--space-3);
  border-bottom: 2px solid var(--ink); scroll-margin-top: calc(-1 * var(--space-8)); }
.gent { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: var(--space-4) var(--space-12); align-items: start;
  padding-block: var(--space-6) var(--space-8); border-top: 1px solid var(--rule); scroll-margin-top: var(--space-4); }
.g-letter + .gent { border-top: 0; }
.g-text { display: grid; gap: var(--space-3); align-content: start; max-width: var(--measure); }
.g-text h3 { margin: 0; }
.g-meta { color: var(--ink-muted); margin: calc(-1 * var(--space-2)) 0 0; }
.g-def, .g-fx { margin: 0; }
.g-fx { font-size: 21px; }
.g-rel { margin: 0; display: grid; gap: var(--space-1); }
.g-rel dt { color: var(--ink-muted); margin-top: var(--space-2); }
.g-rel dd { margin: 0; color: var(--ink-2); }
.g-rel a { color: var(--accent); }
.g-rel b { color: var(--ink); }
.g-fig { padding: var(--space-4); display: grid; gap: var(--space-3); }
.g-fig svg { width: 100%; height: auto; display: block; }
.g-fig figcaption { color: var(--figure-ink-2); }
.g-fig .pt-cap { fill: var(--figure-ink); }
@media (max-width: 760px) { .gent { grid-template-columns: minmax(0, 1fr); } }
.ch .g-wire { fill: none; stroke: var(--figure-ink); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ch .g-path { stroke: var(--figure-ink); stroke-width: 6; }
.ch .g-plate { stroke: var(--figure-ink); stroke-width: 2.6; }
.ch .g-box, .ch .g-res { fill: none; stroke: var(--figure-ink); stroke-width: 1.8; stroke-linejoin: round; }
.ch .g-node-o { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; }
.ch .g-head { fill: var(--figure-ink); }
.ch .g-burst { stroke: var(--reference); stroke-width: 1.2; }
.ch .g-halo { paint-order: stroke; stroke: var(--figure); stroke-width: 5px; stroke-linejoin: round; }
.g-hole { fill: var(--figure); stroke: var(--specimen-edge); stroke-width: .8; }
a.gt { color: inherit; text-decoration: underline dotted var(--accent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
a.gt:hover, a.gt.is-on { text-decoration-style: solid; }
.gtip { position: fixed; z-index: 30; background: var(--figure); color: var(--figure-ink); border: 1px solid var(--figure-axis);
  padding: var(--space-2) var(--space-3); font-size: 15px; line-height: 1.45; display: grid; gap: 2px; max-width: 300px; pointer-events: none; }
.gtip[hidden] { display: none; }
.gtip .h { color: var(--figure-muted); font-style: italic; font-size: 14px; }

.on-touch { display: none; }
@media (hover: none) { .on-hover { display: none; } .on-touch { display: inline; } }
@media (pointer: coarse) {
  .nav { row-gap: var(--space-4); }
  .nav a, .rev-link, .tlist a.t-name, .blist .b-name, .fs-v, .b-topics a, .side li > a, a.gt, .g-rel a, .opening .answer a, .gl-open .answer a, .next-ask a { position: relative; }
  .nav a::after, .rev-link::after, .tlist a.t-name::after, .blist .b-name::after, .fs-v::after, .b-topics a::after, .side li > a::after, a.gt::after, .g-rel a::after, .opening .answer a::after, .gl-open .answer a::after, .next-ask a::after { content: ""; position: absolute; inset: -13px -6px; }
  a.gt::after, .g-rel a::after { inset: -12px -3px; }
  .opening .answer a::after, .gl-open .answer a::after, .next-ask a::after { inset: -13px -3px; }
  .az a { min-width: 44px; min-height: 44px; }
  .b-topics a::after, .side li > a::after { inset: -12px -2px; }
  .tlist a.t-name::after { inset: -10px -4px; } .blist .b-name::after { inset: -8px -4px; } .fs-v::after { inset: -11px -5px; }
  .lockup, .tag, .chip, .vote button, .seg button, .fs-pause, .btn, .kback { min-height: 44px; }
  .revs-d summary { padding-block: 11px; }
  .slider { height: 44px; }
  .slider::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: -12.5px; }
  .slider::-moz-range-thumb { width: 28px; height: 28px; }
}
.ask-row { padding-block: var(--space-3); display: grid; gap: var(--space-2); justify-items: start; }

.status { color: var(--ink-2); min-height: 1.5em; }

footer { border-top: 2px solid var(--ink); padding-block: var(--space-6) var(--space-12); display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8);
  justify-content: space-between; align-items: center; color: var(--ink-muted); }
footer .lockup span { font-size: 20px; }
footer .lockup svg { width: 28px; height: 28px; }
.foot { display: grid; gap: var(--space-1); }
.foot p { margin: 0; }

.eye-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.eb1 { fill: var(--range-1); fill-opacity: .2; } .eb2 { fill: var(--range-1); fill-opacity: .42; } .eb3 { fill: var(--range-1); fill-opacity: .8; }
.sl { fill: none; stroke: var(--range-1); stroke-width: 1.3; stroke-opacity: .5; } .sl.new { stroke: var(--range-2); stroke-width: 2.6; stroke-opacity: 1; }
.pt .ebox { fill: none; stroke: var(--figure-axis); stroke-width: 1; }
.pt .thr { stroke: var(--figure-muted); stroke-width: 1; stroke-dasharray: 4 4; }
.pt .win { fill: var(--range-2); fill-opacity: .08; stroke: var(--range-2); stroke-width: 1.5; }
.pt .sline { fill: none; stroke: var(--figure-ink-2); stroke-width: 1.6; stroke-linejoin: round; } .pt .sline.new { stroke: var(--range-2); stroke-width: 2.6; }
.pt .bit { font-size: 14px; fill: var(--figure-muted); } .pt .bit.on { fill: var(--figure-ink); font-weight: 800; }
.pt .dim { stroke: var(--range-2); stroke-width: 2; } .pt .dim2 { stroke: var(--figure-ink); stroke-width: 2; }
.pt .spt { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; }
.pt .num { fill: var(--figure-ink); } .pt .num-t { font-size: 14px; font-weight: 800; fill: var(--figure); }
.pt .ldr { stroke: var(--figure-ink); stroke-width: 1; }
.pt .lvl { font-size: 16px; font-weight: 800; } .pt .lvl20 { stroke: var(--figure-muted); stroke-width: 1.2; stroke-dasharray: 5 3; }
.pt .blk { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.8; stroke-linejoin: round; }
.pt .pair { stroke: var(--specimen-copper, #b87333); stroke-width: 3; stroke-linecap: round; }
.pt .probe { fill: var(--figure-ink); } .pt .probe-l { stroke: var(--figure-ink); stroke-width: 1.5; }
.pt .spec { stroke: var(--figure-ink); stroke-width: 1.5; stroke-dasharray: 4 3; }
.pt .mask { fill: var(--figure-ink); fill-opacity: .1; stroke: var(--figure-ink); stroke-width: 1.2; }
.pt .mask-spec { fill: none; stroke: var(--figure-ink); stroke-width: 1.2; stroke-dasharray: 4 3; }
.pt .hit { fill: var(--range-2); stroke: var(--figure); stroke-width: 1; }
.mk-mspec { width: 14px; height: 10px; border: 1.5px dashed var(--figure-ink); box-sizing: border-box; }
.mk-mask { width: 14px; height: 10px; border: 1.2px solid var(--figure-ink); background: color-mix(in srgb, var(--figure-ink) 10%, var(--figure)); box-sizing: border-box; }
.mk-hit { width: 8px; height: 8px; border-radius: 50%; background: var(--range-2); }

.pt .eq { fill: none; stroke: var(--specimen-edge); stroke-width: .9; stroke-opacity: .5; }
.pt .eq.el { stroke: var(--figure); stroke-opacity: .8; }
.pt .eq.hot { stroke: var(--range-2); stroke-width: 2.4; stroke-opacity: 1; }
.pt .tr { fill: none; stroke: var(--specimen-copper); stroke-linecap: round; stroke-linejoin: round; }
.pt .tr-e { fill: none; stroke: var(--specimen-edge); stroke-linecap: round; stroke-linejoin: round; }
.pt .tr-in { fill: none; stroke: var(--specimen-edge); stroke-opacity: .6; stroke-dasharray: 3 2; }
.pt .via { fill: var(--specimen-pad); stroke: var(--specimen-edge); stroke-width: .8; }
.pt .tap { fill: none; stroke: var(--figure-ink); stroke-width: 2.4; } .pt .tap.bad { stroke: var(--range-2); }
.sc .sn { stroke: var(--range-1); stroke-width: 2.2; }
.ch .stem { stroke: var(--range-2); stroke-width: 4; stroke-linecap: round; } .ch .stem.b1 { stroke: var(--range-1); }
.mk-eq { height: 1.5px; background: var(--specimen-edge); }
.mk-tr { height: 6px; background: var(--specimen-copper); border: 1px solid var(--specimen-edge); box-sizing: border-box; }

.pt .melted { fill: var(--range-2); fill-opacity: .38; stroke: var(--range-2); stroke-width: 1.4; stroke-linejoin: round; }
.pt .isot { fill: none; stroke: var(--figure-ink); stroke-opacity: .5; stroke-width: 1; stroke-linejoin: round; }
.pt .melt { stroke: var(--range-2); stroke-width: 1.6; stroke-dasharray: 4 3; }
.pt .iron { fill: #6f7479; stroke: var(--specimen-edge); stroke-width: .8; stroke-linejoin: round; }
.pt .gdot.g2, .pt .pdot.s { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2; }
.pt .pdot.rl { fill: var(--range-1); stroke: var(--figure); stroke-width: 2; }
.ch .stem.nt { stroke: var(--figure-rule); stroke-width: 3; }
.ch .lk { fill: none; stroke: var(--figure-ink); stroke-width: 2; stroke-linejoin: round; }
.mk-melted { height: 10px; background: color-mix(in srgb, var(--range-2) 38%, transparent); border: 1.4px solid var(--range-2); box-sizing: border-box; }
.mk-isot { height: 1.5px; background: var(--figure-ink); opacity: .5; }
.mk-s { width: 10px !important; height: 10px; border-radius: 50%; border: 2px solid var(--figure-ink); box-sizing: border-box; }
.mk-rl { width: 10px !important; height: 10px; border-radius: 50%; background: var(--range-1); }
.mk-k { height: 2px; background: var(--figure-ink); }
.mk-melt { background: repeating-linear-gradient(90deg, var(--range-2) 0 5px, transparent 5px 8px); height: 2px; }
.pt .cu { fill: var(--specimen-ground); stroke: var(--specimen-edge); stroke-width: .6; } .pt .cu.pwr { fill: var(--specimen-mask); } .pt .cu.pad { fill: var(--specimen-pad); }
.zb1, .zb2, .zb3 { fill: var(--range-2); } .zb1 { fill-opacity: .4; } .zb2 { fill-opacity: .62; } .zb3 { fill-opacity: .88; }
.pt .lk { fill: none; stroke: var(--figure-ink); stroke-width: 2; stroke-linejoin: round; }
.pt .lref { fill: none; stroke: var(--reference); stroke-width: 1.8; stroke-dasharray: 6 4; }
.pt .shl { fill: none; stroke: var(--figure-ink); stroke-width: 1.2; } .pt .shl.on { stroke-width: 2.6; }
.pt .mod { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; stroke-dasharray: 6 3; }
.pt .g-halo { paint-order: stroke; stroke: var(--figure); stroke-width: 5px; stroke-linejoin: round; }
.mk-zb1 { height: 10px; background: color-mix(in srgb, var(--range-2) 40%, var(--specimen-ground)); }
.mk-zb3 { height: 10px; background: color-mix(in srgb, var(--range-2) 88%, var(--specimen-ground)); }

.pt .lisn { fill: none; stroke: var(--figure-ink-2); stroke-width: 1.2; stroke-dasharray: 5 4; }
.pt .stem0 { stroke: var(--reference); stroke-width: 1.6; }
.ss-hit { fill: transparent; cursor: crosshair; touch-action: pan-y; }
.ss-hit:focus { outline: none; }
.ss-hit:focus-visible { stroke: #2f6b4c; stroke-width: 2; }
.mk-ink { background: var(--figure-ink); }
.readings-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 761px) { .try .readings-3 { grid-template-columns: minmax(0, 1fr); } }

.cj-land { fill: var(--map-land); }
.pt .cj-route { fill: none; stroke: var(--range-1); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.pt .cj-route.truck { stroke-dasharray: 0.5 5; stroke-width: 3.2; }
.pt .cj-route.f2 { stroke: var(--range-2); }
.pt .cj-head { fill: var(--range-1); } .pt .cj-head.f2 { fill: var(--range-2); }
.pt .cj-fac { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; }
.pt .cj-end { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2.2; }
.pt .cj-lab { paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .cj-ldr { fill: none; stroke: var(--figure-ink-2); stroke-width: 1; }
.pt .cj-link { fill: none; stroke: var(--range-1); stroke-width: 1.6; }
.ch .l0 { fill: none; stroke: var(--figure-ink); stroke-width: 2; stroke-linejoin: round; }
.ch .l3 { fill: none; stroke: var(--range-3); stroke-width: 2; stroke-linejoin: round; }
.ch .b0 { fill: var(--figure-axis); } .ch .bk { fill: var(--figure-ink); }
.mk-3 { background: var(--range-3); } .mk-ink2 { background: var(--figure-ink); }
.zv-try .try { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: center; }
.lede-col .lede + .lede { margin-top: var(--space-4); }
.ledes { display: grid; gap: var(--space-3); }
.hero-text .zv-read { color: var(--ink-2); max-width: 32em; }
.zv-one .zv-name { opacity: 0; transition: opacity .2s linear; }
.zv-one .zv-name.on { opacity: 1; }
.zv-one .zv-lit { fill: none; stroke: var(--range-3); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.zv-one .zv-dot { fill: var(--range-3); opacity: 0; }
.zv-one .zv-head { opacity: 0; }
.zv-one.zv-play .zv-head { opacity: 1; }
.zv-one .zv-head line { stroke: var(--figure-ink); stroke-width: 1.5; }
.zv-one .zv-ghost { opacity: 1; }
.zv-one .zv-ghost-f { fill: var(--range-2); fill-opacity: .2; stroke: var(--range-2); stroke-opacity: .55; stroke-width: 1.2; }
.zv-one .zv-gate line { stroke: var(--figure-axis); transition: stroke .15s linear; }
.zv-one .zv-gate.on line { stroke: var(--figure-ink); }
.zv-one .zv-tri { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; stroke-linejoin: round; transition: fill .1s linear; }
.zv-one .zv-diode.on .zv-tri { fill: var(--figure-ink); }
.zv-g0 { stop-color: var(--range-2); stop-opacity: .85; }
.zv-g1 { stop-color: var(--range-2); stop-opacity: 0; }
.zv-steps { margin: var(--space-4) 0 0; padding-left: 1.3em; display: grid; gap: var(--space-3); }
.zv-eq, .gn-eq, .pi-eq, .cb-eq { display: flex; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.lede-col > ol + .body, .lede-col > .body + .body { margin-top: var(--space-4); }
.zv-eq.fs-filled, .gn-eq.fs-filled, .pi-eq.fs-filled, .cb-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.zv-eq + .body, .gn-eq + .body, .pi-eq + .body, .cb-eq + .body { margin-top: var(--space-4); }
.mk-ax { background: var(--figure-axis); }
.mk-dot { width: 10px !important; height: 10px; border-radius: 50%; background: var(--figure-ink); }
.sc .cpar line { stroke-dasharray: 3 2.5; }
.sc .cpar.is-on line, .sc .iarr.is-on line { stroke-width: 3; }
.sc text.is-on { font-weight: 800; }
.zv-steps b { font-weight: 800; }
.lede-col .lede { margin: 0; }
@media (max-width: 760px) { .zv-try .try { grid-template-columns: minmax(0, 1fr); } }
.pt .cj-wafer { fill: var(--figure); stroke: var(--figure-axis); stroke-width: 1.5; }
.pt .cj-notch { fill: var(--figure); stroke: none; }
.pt .cj-die { fill: var(--figure-rule); } .pt .cj-die.on { fill: var(--range-1); }
.pt .cj-pkg { fill: var(--figure-ink); } .pt .cj-pin1 { fill: var(--figure-axis); }
.pt .cj-lead { fill: var(--figure-axis); }
.pt .cj-wire { stroke: var(--figure-rule); stroke-width: 1; }
.ch .cj-spine { stroke: var(--figure-rule); stroke-width: 2; }
.ch .b1p { fill: var(--range-1-fill); } .ch .b2p { fill: var(--range-2-fill); }
.ch .area1 { fill: var(--range-1-fill); transition: fill .15s linear; }
.ch .area1.is-on { fill: color-mix(in srgb, var(--range-1) 38%, var(--figure)); }
.sc .lit { opacity: .3; }
.sc .lit path { fill: none; stroke: var(--range-3); stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.sc .mg line { stroke: var(--figure-axis); }
.sc .mg.on line { stroke: var(--figure-ink); }
.sc .mtri { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.4; stroke-linejoin: round; }
.sc .mtri.on { fill: var(--figure-ink); }
.ch .bval.s { font-size: 14px; fill: var(--figure-ink-2); }
.stepper .st .cj-draw { stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.2s var(--ease-move) .2s; }
.stepper .st.on .cj-draw { stroke-dashoffset: 0; }
.stepper .st .cj-draw + .cj-head, .stepper .st .cj-late { opacity: 0; transition: opacity .25s linear 1.25s; }
.stepper .st.on .cj-draw + .cj-head, .stepper .st.on .cj-late { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .stepper .st .cj-draw, .stepper .st .cj-draw + .cj-head, .stepper .st .cj-late { transition: none; } }
.mk-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--figure-ink); }
.mk-dot.end { background: var(--figure); border: 2px solid var(--figure-ink); box-sizing: border-box; }
.mk-dash { width: 20px; height: 3px; background: repeating-linear-gradient(90deg, var(--range-1) 0 3px, transparent 3px 7px); }
.cj-try .try { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.cj-try .try .readings-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-4); }
@media (max-width: 760px) { .cj-try .try { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) {
  .cj-try .try .readings-3 { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .cj-try .readings-3 > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid var(--figure-rule); padding-bottom: var(--space-1); }
}
@media (max-width: 600px) {
  .cj-try .seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--rule-strong); }
  .cj-try .seg button { border-left: 0; background: var(--page); }
  .cj-try .seg button[aria-checked="true"] { background: var(--accent); }
}
.cj-stops { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--figure-rule); color: var(--figure-ink); }
.cj-stops li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: var(--space-1) var(--space-3); padding-block: var(--space-2); border-bottom: 1px solid var(--figure-rule); align-items: start; }
.cj-stops .n { width: 22px; height: 22px; border-radius: 50%; background: var(--figure-ink); color: var(--figure); font-weight: 800; font-size: 14px; line-height: 22px; text-align: center; }
.cj-stops .n.end { background: var(--figure); color: var(--figure-ink); border: 2px solid var(--figure-ink); box-sizing: border-box; line-height: 18px; }
.cj-stops b { font-weight: 800; }
.cj-stops .who, .cj-stops .cj-leg { color: var(--figure-ink-2); }
.cj-stops .w { display: block; font-style: italic; color: var(--figure-ink-2); }
.cj-stops .d { text-align: right; font-weight: 700; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; color: var(--figure-ink); }
.cj-stops .ev { display: block; font-weight: 400; font-style: italic; font-size: 14px; color: var(--figure-muted); }
.cj-stops .cj-leg::before { content: ""; justify-self: center; align-self: stretch; width: 2px; background: var(--range-1); }
.ch .l2s { fill: none; stroke: var(--range-2); stroke-width: 2; stroke-linejoin: miter; }
.ch .area2 { fill: var(--range-2-fill); }
.gn-hero .gn-tr.off, .gn-hero .gn-pass.off, .gn-hero .gn-end.off { display: none; }
.gn-hero .gn-head { opacity: 0; }
.gn-hero.gn-play .gn-head { opacity: 1; }
.gn-hero .gn-head line { stroke: var(--figure-ink); stroke-width: 1.5; }
.gn-hero .gn-glow { opacity: 0; }
.gn-g0.si { stop-color: var(--range-2); stop-opacity: .75; } .gn-g1.si { stop-color: var(--range-2); stop-opacity: 0; }
.gn-g0.gan { stop-color: var(--range-1); stop-opacity: .75; } .gn-g1.gan { stop-color: var(--range-1); stop-opacity: 0; }
.ch .gn-end { font-size: 15px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.sc .case { fill: none; stroke: var(--figure-axis); stroke-width: 1.4; stroke-dasharray: 6 4; }
.sc .core { stroke: var(--figure-ink); stroke-width: 2.4; }
.sc .nf { fill: none; }
.sc .port { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; }
.sc .tongue { fill: var(--figure-ink); }
.sc .lit.p1 path { stroke: var(--range-1); } .sc .lit.p2 path { stroke: var(--range-2); }
.ch .gn-cur { stroke: var(--figure-ink); stroke-width: 1; stroke-dasharray: 3 3; }
.ch .gn-pt { fill: var(--figure-ink-2); }
.ch .gn-ref { fill: none; stroke: var(--figure-ink-2); stroke-width: 1.2; stroke-dasharray: 4 3; }
.ch .gn-core { fill: color-mix(in srgb, var(--figure-ink) 62%, var(--figure)); }
.hero-text .gn-read { color: var(--ink-2); max-width: 32em; }
.gn-try .try { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: center; }
@media (max-width: 760px) { .gn-try .try { grid-template-columns: minmax(0, 1fr); } }
.gn-try .readings .s { display: block; font-size: 15px; font-weight: 400; font-style: italic; color: var(--figure-ink-2); }
.pi-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.pi-pics { line-height: 0; }
.pi-pics .pi-pic { display: block; width: 100%; height: auto; }
.pi-pl, .pi-g, .pi-d, .pi-cl { fill: none; stroke: var(--range-3); stroke-linecap: round; stroke-linejoin: round; }
.pi-pl { stroke-width: 2.8; }
.pi-pl.q0 { stroke-opacity: .3; } .pi-pl.q1 { stroke-opacity: .5; } .pi-pl.q2 { stroke-opacity: .75; } .pi-pl.q3 { stroke-opacity: 1; }
.pi-pl.o, .pi-g.o, .pi-d.o { opacity: .25; }
.pi-g { stroke-width: 1.8; }
.pi-g.q0 { stroke-opacity: .14; } .pi-g.q1 { stroke-opacity: .22; } .pi-g.q2 { stroke-opacity: .32; } .pi-g.q3 { stroke-opacity: .42; }
.pi-d { stroke-width: 3.6; stroke-dasharray: 15 31; stroke-dashoffset: var(--o); }
.pi-d.q0 { stroke-opacity: .4; } .pi-d.q1 { stroke-opacity: .6; } .pi-d.q2 { stroke-opacity: .82; } .pi-d.q3 { stroke-opacity: 1; }
.pi-hero.pi-play .pi-d { animation: pi-flow .6667s linear infinite; }
.pi-hero.pi-paused .pi-d { animation-play-state: paused; }
@keyframes pi-flow { from { stroke-dashoffset: var(--o); } to { stroke-dashoffset: calc(var(--o) - 46px); } }
@media (prefers-reduced-motion: reduce) { .pi-hero .pi-d { animation: none !important; } }
.pi-gw { stroke: var(--range-2); stroke-width: 22; stroke-opacity: .65; stroke-linecap: round; }
.pi-gc { stroke: var(--range-2); stroke-width: 5; stroke-linecap: round; }
.pt .pi-mv { font-weight: 800; font-size: 16px; fill: var(--range-2); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .pi-mvb { font-weight: 800; font-size: 22px; fill: var(--range-2); }
.pt .pi-n { font-family: var(--font-caps); font-weight: 700; font-size: 16px; fill: var(--figure-ink); }
.pi-plate .fm-line { stroke-width: 5; }
.sc .pi-ind { stroke-width: 2.6; }
.sc .pi-tw { stroke: var(--range-2); stroke-width: 2.4; }
.sc .pi-tv { fill: var(--figure); stroke: var(--range-2); stroke-width: 1.6; }
.sc .pi-m { stroke: var(--figure-ink-2); stroke-width: 1.2; }
.sc .pi-mh { fill: var(--figure-ink-2); }
.sc .pi-fr4 { fill: color-mix(in srgb, var(--specimen-fr4) 38%, var(--figure)); }
.sc .pi-cu { fill: var(--specimen-pad); }
.sc .pi-fe { fill: #c9c9c4; stroke: #8a8a86; stroke-width: .8; }
.sc .pi-pw { fill: #dcdcd7; stroke: #8a8a86; stroke-width: .8; }
.sc .pi-coil { fill: color-mix(in srgb, var(--specimen-pad) 55%, var(--figure)); stroke: #9c8850; stroke-width: .8; }
.pi-cl { stroke-width: 1.5; }
.pi-cl.q0 { stroke-opacity: .3; } .pi-cl.q1 { stroke-opacity: .5; } .pi-cl.q2 { stroke-opacity: .75; } .pi-cl.q3 { stroke-opacity: 1; }
.sc .pi-strip { fill: var(--range-2); }
.sc .pi-frame { fill: none; stroke: var(--figure-rule); stroke-width: 1; }
.hero-text .pi-read { color: var(--ink-2); max-width: 32em; }
.pi-tbl td, .pi-tbl th { white-space: nowrap; }
.pi-tbl td:nth-child(2), .pi-tbl th:nth-child(2) { text-align: left; }
.cb-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.draw svg.cb-pic { overflow: hidden; }
.cb-qp { fill: var(--range-2); } .cb-qn { fill: var(--range-3); }
.cb-sg { fill: none; stroke: #fff; stroke-width: .3; stroke-linecap: round; }
.cb-dn, .cb-dpo { fill: none; stroke-width: .46; stroke-linecap: round; } .cb-dn { stroke: var(--range-3); } .cb-dpo { stroke: var(--range-2); }
.cb-cer { fill: #dcc8ae; } .cb-ni { fill: #8f8d88; }
.cb-poly { fill: #34384a; } .cb-ta { fill: #b3b6bd; } .cb-taw { stroke: #b3b6bd; fill: none; } .cb-ox { fill: #c4a8ef; } .cb-oxw { stroke: #c4a8ef; fill: none; }
.cb-liq { fill: #e9e2d2; } .cb-fib { stroke: #c9b48c; fill: none; } .cb-al { fill: #c3c6cc; } .cb-oxl { stroke: #9a78d6; fill: none; stroke-linejoin: round; }
.cb-sol { fill: #e4e9ef; } .cb-c { fill: #2f3033; } .cb-pore { fill: #5a5d64; } .cb-sep { stroke: #8a8a86; stroke-dasharray: 4 3; fill: none; }
.cb-gr { fill: #6f7380; } .cb-li { fill: #e0a526; stroke: #8a6210; stroke-width: .8; }
.cb-sel { fill: #ece2c4; } .cb-elec { fill: #4a4d57; }
.pt .cb-ring { fill: none; stroke: var(--figure-ink-2); stroke-width: 1.4; }
.pt .cb-lead { stroke: var(--figure-ink-2); stroke-width: 1.2; } .pt .cb-ldot { fill: var(--figure-ink-2); }
.pt .cb-lab { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.pt.narrow .cb-lab { font-size: 13px; }
.pt .cb-lk { stroke: var(--figure-ink); stroke-width: 1.1; } .pt .cb-lkh { stroke: rgba(255, 255, 255, .9); stroke-width: 3.4; stroke-linecap: round; }
.pt .cb-ldt { fill: var(--figure-ink); stroke: #fff; stroke-width: 1.2; }
.pt .cb-dot { fill: var(--range-2); stroke: var(--figure); stroke-width: 2.5; }
.pt .cb-ghost { fill: var(--figure); stroke: var(--range-2); stroke-width: 2; }
.pt .cb-big { font-size: 28px; font-weight: 800; fill: var(--figure-ink); }
.pt .cb-row { stroke: var(--figure-grid); stroke-width: 1; }
.pt .cb-n, .pt .cb-num { font-family: var(--font-caps); font-weight: 700; font-size: 16px; fill: var(--figure-ink); }
.ch .cb-env { fill: none; stroke: var(--range-2); stroke-opacity: .3; stroke-width: 10; stroke-linejoin: round; stroke-linecap: round; }
.pt .cb-win { fill: var(--range-2-fill); } .pt .cb-wl { font-size: 14px; font-weight: 700; fill: var(--figure-ink); }
.sc .cb-step { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; stroke-linejoin: round; }
.hero-text .cb-read { color: var(--ink-2); max-width: 32em; }
.cb-tbl td, .cb-tbl th { white-space: nowrap; }
.cb-tbl td:nth-child(2), .cb-tbl th:nth-child(2) { text-align: left; }
.draw svg.pl-pic { overflow: hidden; }
.pl-g { fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
.pl-g.thin { stroke-width: 1.8; }
.pl-g.dat { stroke: #a9cdf2; } .pl-g.clk { stroke: #f6b98f; } .pl-g.mac { stroke: #d2bdf2; }
.pt .pl-lab { font-size: 14px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: rgba(255, 255, 255, .9); stroke-width: 4px; stroke-linejoin: round; }
.pt.narrow .pl-lab { font-size: 12.5px; stroke-width: 3.5px; }
.pt .pl-ldr { stroke: var(--figure-ink-2); stroke-width: 1.2; } .pt .pl-ldot { fill: var(--figure-ink); stroke: #fff; stroke-width: 1.2; }
.pt .pl-hd { font-family: var(--font-caps); font-weight: 700; font-size: 16px; letter-spacing: .03em; }
.pt .pl-name { font-size: 16px; font-weight: 700; } .pt .pl-rate { font-size: 15px; font-weight: 800; }
.pt .pl-row { font-size: 14px; fill: var(--figure-ink-2); } .pt .pl-row.on { fill: var(--figure-ink); font-weight: 700; }
.pt .pl-row.pl-lost { fill: var(--figure-muted); }
.pt .pl-pn { font-size: 13px; fill: var(--figure-ink-2); } .pt .pl-side { font-size: 13px; font-style: italic; fill: var(--figure-muted); }
.pt .pl-ax { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .pl-w { fill: none; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.pt .pl-w.dat, .pt .pl-w.w1 { stroke: var(--range-3); } .pt .pl-w.clk { stroke: var(--range-2); }
.pt .pl-w.w2 { stroke: var(--range-1); } .pt .pl-w.w3 { stroke: var(--figure-ink); }
.pt .pl-div { stroke: var(--figure-axis); stroke-width: 1; stroke-dasharray: 3 3; }
.pt .pl-cur { stroke: var(--figure-ink); stroke-width: 1; opacity: 0; }
.pt .pl-lvl { stroke: var(--figure-grid); stroke-width: 1; }
.pt .pl-tick { stroke: var(--range-2); stroke-width: 1.5; }
.pt .pl-br { fill: none; stroke: var(--figure-ink-2); stroke-width: 1.2; }
.pt .pl-sfd { fill: var(--range-1-fill); fill-opacity: .55; }
.pt .pl-con { fill: none; stroke: var(--figure-axis); stroke-width: 1; stroke-dasharray: 3 3; }
.pt .pl-bit { font-size: 13px; fill: var(--figure-muted); font-variant-numeric: tabular-nums; }
.pt .pl-bit.on { fill: var(--figure-ink); font-weight: 700; } .pt .pl-bit.pl-bad { fill: var(--figure-ink); font-weight: 800; }
.pt .pl-ring { fill: none; stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .pl-fld { fill: var(--figure); stroke: var(--figure-ink-2); stroke-width: 1.2; } .pt .pl-fld.on { fill: var(--range-1-fill); stroke: var(--range-1); }
.pt .pl-fn { font-size: 14px; } .pt .pl-fb { font-size: 13px; fill: var(--figure-muted); } .pt .pl-kn { font-size: 14px; font-weight: 700; }
.pt.narrow .pl-fn { font-size: 12px; }
.pt .pl-box { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.4; } .pt .pl-bx { font-size: 14px; }
.pt.narrow .pl-bx { font-size: 12.5px; }
.pt .pl-pr { stroke: var(--range-3); stroke-width: 1.5; } .pt .pl-cut { stroke: #b3261e; stroke-width: 2; stroke-linecap: round; }
.pt .pl-bad { font-weight: 700; font-style: normal; fill: var(--figure-ink); }
.pt .pl-use { fill: var(--range-3); } .pt .pl-no { fill: var(--figure-axis); }
.pt .pl-lane { stroke: var(--range-3); stroke-width: 2; }
.pt .pl-opt { fill: var(--figure); stroke: var(--figure-axis); stroke-width: 1.2; } .pt .pl-opt.on { fill: var(--range-3); stroke: var(--range-3); }
.pt .pl-on { font-size: 14px; font-weight: 700; fill: #fff; } .pt .pl-off { font-size: 14px; fill: var(--figure-ink-2); }
.pt.narrow .pl-on, .pt.narrow .pl-off { font-size: 12px; }
.pt .pl-cell { fill: var(--figure); stroke: var(--figure-axis); stroke-width: 1; } .pt .pl-cell.on { stroke: var(--range-3); stroke-width: 1.4; }
.pt .pl-cb { font-size: 13px; font-variant-numeric: tabular-nums; } .pt .pl-hdh { fill: var(--figure-axis); }
.pt .pl-bar { fill: var(--range-3); } .pt .pl-in { font-size: 13px; font-weight: 700; fill: #fff; }
.pt .pl-winr { fill: var(--figure-grid); }
.pt .pl-blank { fill: #f3f3f0; stroke: var(--figure-axis); stroke-width: 1.2; } .pt .pl-act { fill: none; stroke: var(--figure-ink-2); stroke-width: 1; }
.pt .pl-isl, .pt .pl-pk { fill: var(--range-1); } .pt .pl-sy { fill: var(--figure-grid); } .pt .pl-px { fill: #b9b9b4; }
.pt .pl-cab { stroke: var(--figure-grid); stroke-width: 18; stroke-linecap: round; }
.pt .pl-pkt { fill: var(--range-1-fill); stroke: var(--range-1); stroke-width: 1.2; } .pt .pl-pkd { fill: var(--range-3); }
.hero-text .pl-read { color: var(--ink-2); max-width: 32em; }
table.pl-tbl td, table.pl-tbl th { text-align: left; }
.pl-tbl td:first-child { white-space: nowrap; }

.hero-text .bb-lede { color: var(--ink-2); max-width: 32em; }
.bb-eq { display: flex; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.bb-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.bb-eq + .body { margin-top: var(--space-4); }
.bb-try [data-pb]:not(.on) { display: none; }
.pt .bb-tr.off, .pt .bb-flag:not(.on), .pt .bb-pass:not(.on) { display: none; }
.pt .bb-read { font-size: 19px; font-weight: 800; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt.narrow .bb-read { font-size: 17px; }
.pt .bb-k { font-family: var(--font-caps); font-weight: 700; font-size: 15px; letter-spacing: .03em; fill: var(--figure-ink-2); }
.pt .bb-c2, .pt .bb-c2t, .pt .c2 { fill: var(--range-2); } .pt .bb-c3, .pt .c3 { fill: var(--range-3); }
.pt .bb-flag { font-size: 14px; font-weight: 700; fill: var(--range-2); }
.pt .bb-pass { font-size: 14px; font-weight: 700; fill: var(--figure-ink); }
.pt .bb-ldr { stroke: var(--figure-ink-2); stroke-width: 1; }
.pt .bb-ldot { fill: var(--figure-ink); }
.pt .bb-tag { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.pt.narrow .bb-tag { font-size: 13px; }
.pt .bb-ghost { fill: none; stroke: var(--range-2); stroke-width: 1.5; stroke-dasharray: 4 3; opacity: .7; }
.pt .bb-headl { stroke: var(--figure-ink-2); stroke-width: 1; stroke-dasharray: 2 3; }
.pt .bb-end { font-size: 15px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .bb-mk { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; }
.pt .bb-mk.c2 { fill: var(--range-2); } .pt .bb-mk.c3 { fill: var(--range-3); }
.pt .bb-gap { stroke: var(--figure-ink-2); stroke-width: 1.2; stroke-dasharray: 3 3; }
.pt .bb-bar { fill: var(--figure-ink-2); } .pt .bb-bar.c2 { fill: var(--range-2); } .pt .bb-bar.c3 { fill: var(--range-3); }
.pt .bb-heat { font-size: 15px; font-style: italic; fill: var(--range-2); }
.sc .bb-neg { stroke: var(--figure-ink); stroke-width: 4; stroke-linecap: butt; }
.sc .bb-nf { fill: none; stroke-linejoin: round; }
.sc .bb-pin { font-size: 13px; fill: var(--figure-muted); }
.sc .mtri { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; stroke-linejoin: round; } .sc .mtri.on { fill: var(--figure-ink); }
.bb-twin { margin-top: var(--space-2); min-width: 0; max-width: 100%; }
.bb-twin summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); width: max-content; }
.bb-twin[open] summary { margin-bottom: var(--space-2); }
.bb-twin table.data thead th { font-family: var(--font-text); font-style: italic; font-weight: 500; letter-spacing: 0; }
.bb-twin table.data td, .bb-twin table.data th { white-space: nowrap; }
@media (pointer: coarse) { .bb-twin summary { padding-block: 11px; } }

.td-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.td-hole { fill: var(--specimen-edge); }
.hero-text .td-read { color: var(--ink-2); max-width: 32em; }
.td-eq { display: flex; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.td-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.td-eq + .body { margin-top: var(--space-4); }
.td-glow { fill: none; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; } .td-glow.halo { stroke-width: 13; opacity: .35; }
.td-gf stop { stop-color: var(--range-3); stop-opacity: 0; } .td-gb stop { stop-color: var(--range-2); stop-opacity: 0; }
.td-lab { transition: opacity .3s; }
.pt .td-cable { stroke: #3d3d3b; stroke-width: 7; } .pt .td-plug { fill: #5c5c59; } .pt .td-b2b { fill: #3d3d3b; }
.pt .td-mod { fill: var(--specimen-mask); stroke: var(--specimen-edge); stroke-width: .8; }
.ch .td-guide { stroke: var(--figure-axis); stroke-width: 1; stroke-dasharray: 2 4; }
.ch .td-l3 { fill: none; stroke: var(--range-3); stroke-width: 2; stroke-linejoin: round; } .mk.td-mk3 { background: var(--range-3); }
.pt .td-route { stroke: var(--range-3); stroke-width: 3; stroke-linecap: round; } .pt .td-route.bot { stroke-dasharray: 4 3; stroke-linecap: butt; }
.pt .td-route.hd { stroke: var(--figure); stroke-width: 2.4; }
.pt .td-ghost { fill: none; stroke: var(--figure); stroke-width: 1.5; stroke-dasharray: 5 4; }
.pt .td-ring { fill: none; stroke: var(--figure); stroke-width: 2; }
.pt .td-lead { stroke: var(--figure-ink); stroke-width: 1.3; }
.pt .td-pl { font-size: 14px; font-weight: 800; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .td-win { fill: none; stroke: var(--figure-ink); stroke-width: 1.2; }
.pt .td-f1, .pt .td-f2, .pt .td-f3 { fill-opacity: .8; stroke: var(--figure); stroke-width: 1.5; }
.pt .td-f1 { fill: var(--range-1); } .pt .td-f2 { fill: var(--range-2); } .pt .td-f3 { fill: var(--range-3); }
.pt .td-up { fill: none; stroke: var(--range-1); stroke-width: 2.5; stroke-linejoin: round; }
.pt .td-sig { stroke: var(--figure-ink); stroke-width: 1.5; }
.pt .td-gone { fill: none; stroke: var(--figure); stroke-width: 1.2; stroke-dasharray: 2 2; }
.pt .td-slot { fill: #ece5cf; stroke: var(--specimen-edge); stroke-width: 1; }
.ch .td-rl { font-size: 15px; fill: var(--figure-ink); } .ch .td-rv { font-size: 14px; font-weight: 700; fill: var(--figure-ink); }
.ch .td-stem { stroke: var(--figure-axis); stroke-width: 1.2; }
.ch .td-dot { fill: var(--range-1); } .ch .td-dot.open { fill: var(--figure); stroke: var(--range-1); stroke-width: 2; }
.td-try [data-pb]:not(.on), .td-try [data-k]:not(.on) { display: none; }
.td-readings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) { .td-readings { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); } }
.td-twin { margin-top: var(--space-3); color: var(--figure-ink); }
.td-twin > summary { cursor: pointer; padding-block: 12px; color: var(--figure-ink-2); }
.td-twin > summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.td-twin table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.td-twin table.data th[scope="row"] { font-weight: 400; }
.td-u { font-family: var(--font-text); letter-spacing: 0; }
.pt .td-lam { fill: #ece5cf; } .ch .td-pin { fill: var(--range-2); }
.td-twin .tscroll { width: 0; min-width: 100%; } .td-twin table.data { min-width: 0; }
.td-twin table.data td { white-space: nowrap; }


.hero-text .vs-read { color: var(--ink-2); max-width: 32em; }
.vs-eq { display: flex; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.vs-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.vs-eq + .body { margin-top: var(--space-4); }
.context-row.vs-row2 { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.vs-row2 { margin-top: var(--space-8); } }
.vs-tf { font-family: var(--font-text); font-size: 15px; font-weight: 700; }
.mk.vs-mk3 { background: var(--range-3); }
.mk.vs-mk3d { background: repeating-linear-gradient(90deg, var(--range-3) 0 5px, transparent 5px 8px); }
.mk.vs-mkok, .mk.vs-mkno { width: 12px; height: 12px; border-radius: 50%; box-sizing: border-box; }
.mk.vs-mkok { background: var(--figure-ink); } .mk.vs-mkno { border: 2px solid var(--figure-axis); }
.vs .vs-lam { fill: var(--specimen-fr4); fill-opacity: .42; }
.vs .vs-pl { fill: var(--specimen-ground); stroke: var(--specimen-edge); stroke-width: .5; } .vs .vs-pl.pwr { fill: var(--specimen-mask); }
.vs .vs-air { fill: var(--figure); }
.vs .vs-sig { fill: var(--specimen-pad); stroke: var(--specimen-edge); stroke-width: .7; }
.vs .vs-edge { fill: none; stroke: var(--specimen-edge); stroke-width: 1; }
.vs .vs-gl { stroke: none; shape-rendering: crispEdges; } .vs .vs-gl.a { fill: var(--range-3); } .vs .vs-gl.b { fill: var(--range-2); }
.vs .vs-wf { stroke: none; fill-opacity: .16; } .vs .vs-wf.a { fill: var(--range-3); } .vs .vs-wf.b { fill: var(--range-2); }
.vs .vs-wl { fill: none; stroke-width: 2.2; stroke-linejoin: round; } .vs .vs-wl.a { stroke: var(--range-3); } .vs .vs-wl.b { stroke: var(--range-2); }
.vs .vs-base { stroke: var(--figure-axis); stroke-width: 1; }
.vs .vs-cnt { font-size: 15px; fill: var(--figure-ink-2); } .vs .vs-n { font-weight: 800; fill: var(--figure-ink); font-variant-numeric: tabular-nums; }
.vs .vs-ldr { stroke: var(--figure-ink); stroke-width: 1; } .vs .vs-ldot { fill: var(--figure-ink); }
.vs .vs-path { fill: none; stroke: var(--range-3); stroke-width: 2.4; stroke-linejoin: round; stroke-dasharray: 7 4; }
.vs .vs-head { fill: var(--range-3); }
.vs .vs-lay { font-size: 14px; fill: var(--figure-ink-2); } .vs .vs-lay.on { font-weight: 800; fill: var(--figure-ink); }
.vs .vs-br { fill: none; stroke: var(--figure-ink); stroke-width: 1.4; } .vs .vs-br2 { fill: none; stroke: var(--figure-axis); stroke-width: 1.2; }
.vs .vs-part { fill: none; stroke: var(--specimen-copper); stroke-width: 1; stroke-opacity: .8; }
.vs .vs-win { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; }
.vs .vs-ldr2 { stroke: var(--figure-ink-2); stroke-width: 1; stroke-dasharray: 3 3; }
.vs .vs-name { font-size: 15px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.vs-b0 { fill: var(--specimen-mask); } .vs-b1 { fill: var(--specimen-ground); } .vs-b2 { fill: var(--specimen-copper); }
.vs-b3 { fill: var(--specimen-pad); } .vs-b4 { fill: var(--specimen-pad); } .vs-b5 { fill: var(--specimen-edge); }
.vs-pr { fill: var(--range-3); }
.vs-pr2 { fill: var(--range-3); fill-opacity: .6; stroke: var(--range-3); stroke-width: 1.2px; stroke-dasharray: 3 2; vector-effect: non-scaling-stroke; }
.ch .l3 { fill: none; stroke: var(--range-3); stroke-width: 2.2; stroke-linejoin: round; }
.pt .vs-halo { paint-order: stroke; stroke: var(--figure); stroke-width: 5px; stroke-linejoin: round; }
.vs .vs-bar { fill: var(--range-1); } .vs .vs-bar.bd { fill: var(--range-3); } .vs .vs-head3 { fill: var(--range-3); }
.vs .vs-lim { stroke: var(--figure-ink); stroke-width: 1.4; stroke-dasharray: 4 3; }
.vs .vs-ok { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; } .vs .vs-no { fill: var(--figure); stroke: var(--figure-axis); stroke-width: 2; }
.vs .vs-lk { font-size: 14px; fill: var(--figure-ink); } .vs .vs-lk.off { fill: var(--figure-muted); }
.vs .vs-open { font-size: 16px; font-weight: 800; }
.vs-try [data-pb]:not(.on), .vs-try [data-k]:not(.on) { display: none; }
.vs-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.vs-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.vs-data[open] summary { margin-bottom: var(--space-2); }
.vs-data table.data { font-size: 15px; }
.vs .vs-axis { stroke: var(--figure-ink-2); stroke-width: 1; stroke-dasharray: 3 3; }
.ch .vs-halo.rowlab, .ch .vs-halo.bval { fill: var(--figure-ink); }
.ch .vs-in { fill: #fff; }
.ch .vs-c1 { fill: var(--range-1); } .ch .vs-c2 { fill: var(--range-2); }


.hero-text .lf-lede { color: var(--ink-2); max-width: 32em; }
.lf-eq { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .35em; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.lf-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.lf-eq + .body { margin-top: var(--space-4); }
.lf-try [data-pb]:not(.on) { display: none; }
.ch .lf-l0, .ch .lf-l1, .ch .lf-l2, .ch .lf-l3 { fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.ch .lf-l0 { stroke: var(--figure-ink); stroke-width: 2; } .ch .lf-l1 { stroke: var(--range-1); }
.ch .lf-l2 { stroke: var(--range-2); } .ch .lf-l3 { stroke: var(--range-3); }
.ch .lf-thin { stroke-width: 1.6; }
.ch .lf-hl1, .ch .lf-hl3 { fill: none; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; opacity: .35; }
.ch .lf-hl1 { stroke: var(--range-1); } .ch .lf-hl3 { stroke: var(--range-3); }
.pt .lf-bar1 { fill: var(--range-1); } .pt .lf-bar2 { fill: var(--range-2); } .pt .lf-bar3 { fill: var(--range-3); }
.pt .lf-bo1, .pt .lf-bo3 { fill: var(--figure); stroke-width: 1.6; } .pt .lf-bo1 { stroke: var(--range-1); } .pt .lf-bo3 { stroke: var(--range-3); }
.pt .lf-c1 { fill: var(--range-1); } .pt .lf-c2 { fill: var(--range-2); } .pt .lf-c3 { fill: var(--range-3); }
.pt .lf-dot, .pt .lf-mk { stroke: var(--figure); stroke-width: 2; }
.pt .lf-rl { stroke: var(--figure-ink); stroke-width: 1.2; }
.pt .lf-dl, .pt .lf-drop { stroke: var(--figure-ink-2); stroke-width: 1.2; stroke-dasharray: 2 3; }
.pt .lf-read { font-size: 19px; font-weight: 800; font-variant-numeric: lining-nums tabular-nums; }
.pt.narrow .lf-read { font-size: 17px; }
.pt .lf-sub { font-size: 14px; fill: var(--figure-ink-2); font-variant-numeric: lining-nums tabular-nums; }
.pt .lf-gap { stroke: var(--figure-ink-2); stroke-width: 1.2; stroke-dasharray: 3 3; }
.pt .lf-brk { stroke: var(--figure-ink-2); stroke-width: 1.2; }
.pt .lf-end { font-size: 15px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .lf-end.lf-c1 { fill: var(--range-1); } .pt .lf-end.lf-c2 { fill: var(--range-2); }
.pt .lf-nm { font-size: 15px; font-weight: 700; }
.pt .lf-ldr { stroke: var(--figure-ink-2); stroke-width: 1; }
.pt .lf-ldot { fill: var(--figure-ink); }
.pt .lf-tag { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.pt.narrow .lf-tag { font-size: 13px; }
.pt .lf-tag.lf-cw { font-style: normal; font-weight: 700; fill: var(--range-2); }
.pt .lf-lay { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .lf-lay2 { font-size: 14px; fill: var(--figure-ink); }
.pt.narrow .lf-lay, .pt.narrow .lf-lay2 { font-size: 13px; }
.sc .lf-cu { fill: #c9814f; } .sc .lf-al { fill: #b9bec4; }
.sc .lf-gr { stroke: #4a4a48; stroke-width: 2.2; stroke-linecap: round; }
.sc .lf-co { stroke: var(--range-3); stroke-width: 2.2; stroke-linecap: round; }
.sc .lf-po { fill: var(--range-1-fill); stroke: var(--range-1); stroke-width: 1.2; stroke-linejoin: round; }
.sc .lf-li { fill: var(--specimen-pad); stroke: #8a6d22; stroke-width: .8; }
.sc .lf-site { fill: var(--figure); stroke: var(--figure-axis); stroke-width: 1; }
.sc .lf-sep { stroke: var(--figure-axis); stroke-width: 1.4; stroke-dasharray: 4 3; }
.ch .lf-zero { stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .lf-zl { font-size: 14px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.ch .lf-t25, .ch .lf-t10, .ch .lf-t0, .ch .lf-th, .ch .lf-tm10 { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.ch .lf-t25 { stroke: #a9a9a4; stroke-width: 2.2; }
.ch .lf-t10 { stroke: var(--figure-ink-2); stroke-width: 2; stroke-dasharray: 1 4; stroke-width: 2.6; }
.ch .lf-t0 { stroke: var(--figure-ink); stroke-width: 3; }
.ch .lf-th { stroke: var(--figure-ink); stroke-width: 2; stroke-dasharray: 7 4; stroke-linecap: butt; }
.ch .lf-tm10 { stroke: var(--figure-ink); stroke-width: 1.5; }
.pt .lf-key { font-size: 14px; fill: var(--figure-ink); }
.pt .lf-val { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .lf-sm { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.lf-twin { margin-top: var(--space-2); min-width: 0; max-width: 100%; }
.lf-twin summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); width: max-content; }
.lf-twin[open] summary { margin-bottom: var(--space-2); }
.lf-twin table.data thead th { font-family: var(--font-text); font-style: italic; font-weight: 500; letter-spacing: 0; }
.lf-twin table.data td, .lf-twin table.data th { white-space: nowrap; }
@media (pointer: coarse) { .lf-twin summary { padding-block: 11px; } }
.pt .lf-halo { paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }


.sp-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.sp19-cu { fill: var(--specimen-copper); stroke: var(--specimen-edge); stroke-width: .6; vector-effect: non-scaling-stroke; stroke-opacity: .55; }
.sp19-se { fill: var(--specimen-copper); stroke: var(--range-3); stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.sp19-glow { fill: none; stroke: var(--range-3); stroke-width: 6; stroke-opacity: .35; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.sp19-drill { fill: var(--specimen-edge); }
.sp19-pkg { fill: #2b2b29; fill-opacity: .72; stroke: var(--specimen-edge); stroke-width: 1; }
.sp19-lit { fill: none; stroke: var(--range-3); stroke-width: 2.5; }
.sp19-edge { fill: none; stroke: var(--specimen-edge); stroke-width: 1.2; }
.sp19-cut { stroke: var(--specimen-edge); stroke-width: 1.2; stroke-dasharray: 5 4; }
.pt .sp-bl { font-size: 14px; font-weight: 800; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .sp-bs { font-size: 13px; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.sc .sp-tri { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; stroke-linejoin: round; }
.sc .sp-pn { font-size: 15px; font-style: italic; fill: var(--figure-ink); }
.sc .sp-sh.on { fill: var(--range-3); stroke: var(--range-3); }
.sc .sp-band { fill: none; stroke: var(--range-3); stroke-opacity: .22; stroke-width: 11; stroke-linejoin: round; }
.sp-hero .sp-band:not(.on), .sp-hero .sp-pos:not(.on), .sp-hero .sp-ttl:not(.on), .sp-hero .sp-tr.off, .sp-hero .sp-dot.off { display: none; }
.pt .sp-dot { fill: var(--range-3); stroke: var(--figure); stroke-width: 1.2; }
.pt .sp-note { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .sp-read { font-size: 15px; font-weight: 800; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .sp-k { font-family: var(--font-caps); font-weight: 700; font-size: 14px; letter-spacing: .03em; fill: var(--figure-ink-2); }
.pt .sp-rv { fill: var(--range-3); } .pt .sp-rvv { fill: var(--range-1); }
.pt .sp-headl { stroke: var(--figure-ink-2); stroke-width: 1; stroke-dasharray: 2 3; }
.ch .sp-i { fill: none; stroke: var(--range-3); stroke-width: 2; stroke-linejoin: round; }
.ch .sp-v { fill: none; stroke: var(--range-1); stroke-width: 2; stroke-linejoin: round; }
.ch .sp-mk { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.8; }
.ch .sp-guide { stroke: var(--figure-ink); stroke-width: 1.2; stroke-dasharray: 4 3; }
.ch .sp-bn { font-size: 15px; fill: var(--figure-ink); }
.ch .sp-bar { fill: var(--range-1); }
.ch .sp-bv { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.sp-eq { display: flex; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.sp-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.sp-eq + .body { margin-top: var(--space-4); }
.fs-figure .sp-eq { color: var(--figure-ink-2); font-size: 19px; }
.sp-try [data-pb]:not(.on) { display: none; }
.sp-try .try { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: center; }
.sp-try .seg button { min-width: 44px; }
.sp-side { display: grid; gap: var(--space-6); }
.sp-readings { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
@media (max-width: 760px) { .sp-try .try { grid-template-columns: minmax(0, 1fr); } }
.sp-twin { margin-top: var(--space-2); min-width: 0; max-width: 100%; }
.sp-twin summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); width: max-content; }
.sp-twin[open] summary { margin-bottom: var(--space-2); }
.sp-twin table.data thead th { font-family: var(--font-text); font-style: italic; font-weight: 500; letter-spacing: 0; }
.sp-twin table.data td, .sp-twin table.data th { white-space: nowrap; }
@media (pointer: coarse) { .sp-twin summary { padding-block: 11px; } }



.hero-text .fc-read { color: var(--ink-2); max-width: 32em; }
.fc-eq { display: flex; flex-wrap: wrap; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.fc-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.fc-eq + .body { margin-top: var(--space-4); }
.context-row.fc-row2 { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.fc-row2 { margin-top: var(--space-8); } }
.fc-it { font-style: italic; }
.fc-u { font-family: var(--font-text); letter-spacing: 0; }
.mk.fc-mk3 { background: var(--range-3); }
.mk.fc-mk3d { background: repeating-linear-gradient(90deg, var(--range-3) 0 5px, transparent 5px 8px); }
.pt .fc-c2, .ch .fc-c2 { fill: var(--range-2); } .pt .fc-c3, .ch .fc-c3 { fill: var(--range-3); }
.pt .fc-pn { font-size: 16px; font-weight: 800; font-style: italic; }
.pt .fc-uj { font-size: 17px; font-weight: 800; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .fc-kv { fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .fc-kdot { transition: transform .45s var(--ease-move); }
.ch .fc-gh { fill: none; stroke-width: 1; stroke-opacity: .4; stroke-linejoin: round; }
.ch .fc-g2 { stroke: var(--range-2); } .ch .fc-g3 { stroke: var(--range-3); }
.ch .fc-a2, .ch .fc-a3 { stroke: none; fill-opacity: .2; } .ch .fc-a2 { fill: var(--range-2); } .ch .fc-a3 { fill: var(--range-3); }
.ch .fc-ln2, .ch .fc-ln3, .ch .fc-l2, .ch .fc-l3, .ch .fc-l3d { fill: none; stroke-width: 2.2; stroke-linejoin: round; }
.ch .fc-ln2, .ch .fc-l2 { stroke: var(--range-2); } .ch .fc-ln3, .ch .fc-l3, .ch .fc-l3d { stroke: var(--range-3); }
.ch .fc-l3d { stroke-dasharray: 6 4; }
.ch .fc-tr.off { display: none; }
.ch .fc-hl { stroke: var(--figure-axis); stroke-width: 1.2; }
.ch .fc-bl { font-size: 15px; font-weight: 700; }
.ch .fc-b2, .pt .fc-b2 { fill: var(--range-2); } .ch .fc-b3, .pt .fc-b3 { fill: var(--range-3); }
.ch .fc-s2, .ch .fc-s3 { fill-opacity: .38; } .ch .fc-s2 { fill: var(--range-2); } .ch .fc-s3 { fill: var(--range-3); }
.ch .fc-sw { transform-box: fill-box; transform-origin: left center; }
.ch .fc-val { font-size: 15px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.ch .fc-row { font-size: 15px; font-weight: 700; }
.ch .fc-dim { fill: none; stroke: var(--figure-ink); stroke-width: 1.4; }
.ch .fc-guide { stroke: var(--figure-axis); stroke-width: 1.2; stroke-dasharray: 2 4; }
.ch .fc-pd2, .ch .fc-pd3 { stroke: var(--figure); stroke-width: 1.5; } .ch .fc-pd2 { fill: var(--range-2); } .ch .fc-pd3 { fill: var(--range-3); }
.ch .fc-x { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2; }
.ch .fc-me { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; }
.ch .fc-rate2, .ch .fc-rate3 { stroke-width: 1.4; stroke-dasharray: 3 3; } .ch .fc-rate2 { stroke: var(--range-2); } .ch .fc-rate3 { stroke: var(--range-3); }
.ch .fc-even { fill: none; stroke: var(--figure-ink); stroke-width: 2; stroke-linejoin: round; }
.ch .fc-lab { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.draw svg.fc-pic { overflow: hidden; }
.fc-try [data-pb]:not(.on), .fc-try [data-pl]:not(.on) { display: none; }
.mk.fc-mkt { width: 18px; height: 4px; vertical-align: middle; margin: 0 6px 0 2px; } .fc-nw { white-space: nowrap; }
.fc-try .readings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
  .fc-try .readings { gap: var(--space-2); }
  .fc-try .readings > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid var(--figure-rule); padding-bottom: var(--space-1); }
}
.fc-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.fc-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.fc-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.fc-data[open] summary { margin-bottom: var(--space-2); }
.fc-data .tscroll { width: 0; min-width: 100%; }
.fc-data table.data { font-size: 15px; min-width: 0; }
.fc-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.fc-data table.data th[scope="row"] { font-weight: 400; }
.fc-data table.data td, .fc-data table.data th { white-space: nowrap; }
.fc-data table.fc-wrap td { white-space: normal; text-align: left; }

.fam-jump { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-6); margin: 0; }
.fam-jump a { font-weight: 700; color: var(--accent); text-decoration: none; }
.fam-jump a:hover { text-decoration: underline; text-underline-offset: 3px; }
.fam-open .dkey ol { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-2); }
.fcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-12) var(--space-16); }
.fcard { display: grid; grid-template-rows: subgrid; grid-row: span 2; row-gap: var(--space-4); min-width: 0; scroll-margin-top: var(--space-6); }
.fcard-fig { align-content: start; }                             .fcard[data-href] { cursor: pointer; }                             .fcard[data-href] .fcard-fig:hover, .fcard[data-href]:hover .fcard-fig { border-color: var(--figure-axis); }
.fcard[data-href]:hover .t-name { text-decoration: underline; }
.fcard-text { display: grid; gap: 2px; align-content: start; }
.fcard .t-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); margin: 0; }
.fcard .t-top .label { color: var(--ink-muted); }
.fcard .t-name { font-weight: 800; font-size: 22px; line-height: 1.25; color: var(--accent); }
.fcard .t-q { color: var(--ink-2); margin: 0; }
.fcard .t-v { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); margin: var(--space-2) 0 0; }
.fcard .t-v .caption { color: var(--ink-muted); }
.fcard .t-sci { color: var(--ink-muted); margin: var(--space-1) 0 0; }
@media (max-width: 860px) { .fcards { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-8); } }
.ch .ga-lam { fill: var(--specimen-fr4); fill-opacity: .42; }
.ch .ga-pl { fill: var(--specimen-ground); stroke: var(--specimen-edge); stroke-width: .5; }
.ch .ga-cu { fill: var(--specimen-pad); stroke: var(--specimen-edge); stroke-width: .7; }
.ch .ga-air { fill: var(--figure); }
.ch .ga-path { fill: none; stroke: var(--range-3); stroke-width: 2.4; stroke-linejoin: round; stroke-dasharray: 7 4; }
.ch .ga-head { fill: var(--range-3); }
.ch .gc-l3 { fill: none; stroke: var(--range-3); stroke-width: 2; stroke-linejoin: round; }
.hero-meta { flex-wrap: wrap; row-gap: var(--space-1); }
.hero-meta .vid-link { display: inline-flex; align-items: center; gap: 5px; color: var(--accent); text-decoration: none; }
.hero-meta .vid-link:hover { text-decoration: underline; }
.ic-play { width: 13px; height: 13px; fill: currentColor; flex: none; }
.vid-dur { color: var(--ink-muted); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

:root.theater, :root.theater[data-theme] {
  --page: #0b0c0e; --surface: #141619; --rule: #26292e; --rule-strong: #60656c;
  --ink: #f2f0ea; --ink-2: #c6c4bd; --ink-muted: #8f8d87; --accent: #86cba3; --on-accent: #0d1f15;
  color-scheme: dark; background: var(--page); scrollbar-gutter: stable;
}
.theater body { background: radial-gradient(1100px 560px at 50% -160px, rgba(255, 240, 214, .075), transparent 72%) no-repeat, var(--page); }
.theater .mast { border-bottom-color: #1d2024; }
.theater .lockup svg { filter: drop-shadow(0 0 10px rgba(134, 203, 163, .18)); }
:root.vt-on { overflow: hidden; }

.vroom { gap: var(--space-12); }
.vopen { display: grid; gap: var(--space-3); max-width: 760px; }
.vopen .label { color: var(--accent); }
.vopen .answer { color: var(--ink-2); margin: 0; max-width: 34em; }
.vcount { color: var(--ink-muted); }
.vwall { container-type: inline-size; min-width: 0; }
.vgrid { --cols: 3; --gap: 28px; --cw: calc((100cqw - (var(--cols) - 1) * var(--gap)) / var(--cols));
  list-style: none; margin: 0; padding: 0 0 calc(var(--cw) * .66); display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 56px var(--gap); }
.vgrid > .vcard:nth-child(3n+2) { translate: 0 calc(var(--cw) * .625); }
.vcard { display: grid; gap: var(--space-2); align-content: start; min-width: 0; }
.vgrid.vjs > .vcard { opacity: 0; transform: translateY(28px); transition: opacity .6s var(--ease-arrive), transform .8s var(--ease-arrive); transition-delay: calc(var(--i) * 70ms); }
.vgrid.vjs > .vcard.in { opacity: 1; transform: none; }
.vlink { display: block; color: inherit; text-decoration: none; border-radius: 12px; }
.vlink:focus-visible { outline: none; }
.vmedia { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 12px; overflow: hidden; background: #000; isolation: isolate;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 22px 44px -22px rgba(0, 0, 0, .95);
  transition: transform .4s var(--ease-arrive), box-shadow .4s var(--ease-arrive); }
.vmedia img, .vmedia video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.vprev { opacity: 0; transition: opacity .3s ease; }
.vcard.is-live .vprev { opacity: 1; }
.vlink:hover .vmedia, .vcard.is-live .vmedia { transform: translateY(-5px) scale(1.012);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .16), 0 30px 64px -22px rgba(0, 0, 0, 1), 0 0 48px -12px rgba(134, 203, 163, .22); }
.vlink:focus-visible .vmedia { box-shadow: 0 0 0 3px var(--accent), 0 30px 64px -22px rgba(0, 0, 0, 1); }
.vshade { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, #07080a 0%, #07080a 15%, rgba(7, 8, 10, .84) 24%, rgba(7, 8, 10, 0) 47%), linear-gradient(to bottom, rgba(7, 8, 10, .5), rgba(7, 8, 10, 0) 16%); }
.vtop { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; }
.vdur, .vsnd { display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 13px; background: rgba(10, 11, 13, .7);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.vsnd { padding: 0 7px; }
.vsnd svg { width: 16px; height: 16px; fill: #fff; }
.vsnd svg .w { fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; }
.vcap { position: absolute; left: 16px; right: 16px; bottom: 14px; display: grid; gap: 3px; }
.vfam { font-family: var(--font-caps); font-size: 14px; font-weight: 700; letter-spacing: .06em; color: var(--accent); }
.vtitle { font-size: 27px; line-height: 1.06; font-weight: 800; color: #fff; text-wrap: balance; text-shadow: 0 2px 14px rgba(0, 0, 0, .6); }
.vplay { position: absolute; left: 50%; top: 42%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255, 255, 255, .94); box-shadow: 0 12px 30px rgba(0, 0, 0, .5); opacity: 0; transform: scale(.82); transition: opacity .25s, transform .35s var(--ease-land); }
.vplay svg { width: 26px; height: 26px; fill: #0b0c0e; margin-left: 3px; }
.vlink:focus-visible .vplay, .vgrid.no-prev .vlink:hover .vplay { opacity: 1; transform: none; }
.vq { color: var(--ink-2); font-size: 16px; line-height: 1.45; margin: 6px 0 0; }
.vnote { font-family: var(--font-caps); font-size: 15px; font-weight: 700; letter-spacing: .03em; color: var(--accent); text-decoration: none; justify-self: start; }
a.vnote:hover { text-decoration: underline; }
@container (max-width: 760px) {
  .vgrid { --cols: 2; --gap: 14px; row-gap: 32px; }
  .vgrid > .vcard:nth-child(3n+2) { translate: none; }
  .vgrid > .vcard:nth-child(2n) { translate: 0 calc(var(--cw) * .625); }
  .vtitle { font-size: 21px; }
  .vcap { left: 12px; right: 12px; bottom: 11px; }
}
@container (max-width: 520px) {
  .vtitle { font-size: 18px; }
  .vfam { font-size: 12px; }
  .vq { display: none; }
  .vdur { height: 22px; font-size: 12px; padding: 0 7px; } .vsnd { height: 22px; padding: 0 5px; } .vsnd svg { width: 14px; height: 14px; }
  .vtop { top: 7px; right: 7px; gap: 4px; }
}

.vt { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
  background: rgba(5, 6, 7, .95); color: var(--ink); overflow: auto; overscroll-behavior: contain; }
.vt::backdrop { background: transparent; }
.vt:focus { outline: none; }
.vt.js { background: rgba(5, 6, 7, 0); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); transition: background .4s ease, backdrop-filter .4s ease; }
.vt.js.is-in { background: rgba(5, 6, 7, .93); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.vt.no-fade, .vt.no-fade .vt-side { transition: none !important; }
.vt-stage { box-sizing: border-box; min-height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center;
  column-gap: var(--space-8); padding: 72px 88px; }
.vt-frame { grid-column: 2; position: relative; aspect-ratio: var(--ar); width: min(calc(100vw - 176px), calc((100svh - 144px) * var(--arn)));
  border-radius: 14px; overflow: hidden; background: #000; box-shadow: 0 0 0 1px rgba(255, 255, 255, .07), 0 40px 100px -24px rgba(0, 0, 0, .95); will-change: transform; }
.vt-video { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; background: #000; }
.vt-big { position: absolute; left: 50%; top: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border: 0; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255, 255, 255, .94); box-shadow: 0 14px 40px rgba(0, 0, 0, .55); cursor: pointer; }
.vt-big svg { width: 34px; height: 34px; fill: #0b0c0e; margin-left: 4px; }
.vt-side { grid-column: 3; align-self: end; max-width: 340px; display: grid; gap: var(--space-3); padding-bottom: var(--space-2); }
.vt.js .vt-side { opacity: 0; transform: translateY(10px); transition: opacity .3s ease .2s, transform .5s var(--ease-arrive) .2s; }
.vt.js.is-in .vt-side { opacity: 1; transform: none; }
.vt-meta { color: var(--ink-muted); }
.vt-q { color: var(--ink-2); font-size: 18px; line-height: 1.5; }
.vt-note .vnote { display: inline-flex; align-items: center; gap: .3em; height: 40px; padding: 0 16px; border: 1px solid var(--accent); border-radius: 20px; font-size: 16px; }
.vt-note a.vnote:hover { background: var(--accent); color: var(--on-accent); text-decoration: none; }
.vt-tr summary { cursor: pointer; color: var(--ink-2); }
.vt-lines { max-height: 38vh; overflow: auto; margin-top: var(--space-2); padding-right: var(--space-2); }
.vt-lines p { color: var(--ink-2); font-size: 16px; line-height: 1.5; margin: 0 0 var(--space-2); }
.vt-x, .vt-step { position: fixed; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; box-sizing: border-box;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); transition: background .2s; }
.vt-x:hover, .vt-step:hover { background: rgba(255, 255, 255, .17); }
.vt-x svg, .vt-step svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vt-x { top: 18px; right: 18px; }
.vt-step { top: 50%; margin-top: -24px; }
.vt-prev { left: 18px; } .vt-next { right: 18px; }
.vt.is-wide .vt-stage { --fw: min(calc(100vw - 176px), 1120px, calc((100svh - 300px) * var(--arn))); grid-template-columns: minmax(0, 1fr); justify-items: center; align-content: center; row-gap: var(--space-6); }
.vt.is-wide .vt-frame { grid-column: 1; width: var(--fw); }
.vt.is-wide .vt-side { grid-column: 1; align-self: start; max-width: none; width: var(--fw); }
@media (max-width: 1060px) {
  .vt-stage { grid-template-columns: minmax(0, 1fr); justify-items: center; align-content: start; row-gap: var(--space-6); padding: 76px 72px 40px; }
  .vt-stage { --fw: min(calc(100vw - 144px), 640px, calc((100svh - 150px) * var(--arn))); }
  .vt.is-wide .vt-stage { --fw: min(calc(100vw - 144px), calc((100svh - 260px) * var(--arn))); }
  .vt-frame { grid-column: 1; width: var(--fw); }
  .vt-side, .vt.is-wide .vt-side { grid-column: 1; align-self: start; max-width: none; width: var(--fw); }
}
@media (max-width: 640px) {
  .vt-stage { padding: 72px 12px 32px; }
  .vt-stage { --fw: min(calc(100vw - 24px), calc((100svh - 132px) * var(--arn))); }
  .vt.is-wide .vt-stage { --fw: calc(100vw - 24px); }
  .vt-frame { border-radius: 10px; }
  .vt-side, .vt.is-wide .vt-side { width: min(var(--fw), calc(100vw - 24px)); }
  .vt-x, .vt-step { width: 44px; height: 44px; top: 14px; margin: 0; }
  .vt-x { right: 12px; } .vt-prev { left: 12px; } .vt-next { left: 64px; right: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .vgrid.vjs > .vcard { opacity: 1; transform: none; transition: none; }
  .vmedia, .vt.js, .vt.js .vt-side { transition: none; }
  .vlink:hover .vmedia { transform: none; }
}

.ct { display: grid; gap: var(--space-6); max-width: 560px; }
.ct-form { display: grid; gap: var(--space-4); }
.ct-form .fld textarea { min-height: 180px; }
.ct-form .btn[disabled] { opacity: .6; cursor: progress; }
.ct-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ct-x { color: var(--ink-2); }

.xlink { display: inline-flex; align-items: center; justify-content: center; vertical-align: -0.2em; color: var(--ink); padding: 4px; margin: -4px; border-radius: 4px; }
.xlink .xlogo { width: 1em; height: 1em; fill: currentColor; display: block; }
.xlink:hover { opacity: .65; }
.xlink:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (pointer: coarse) { .xlink { padding: 12px; margin: -12px -8px; } }

.sched-note { background: #fff4d6; color: #5c4400; }
.sched-tag { margin-left: var(--space-2); padding: 1px 8px; border-radius: 999px; background: #fff4d6; color: #5c4400; font-size: 13px; font-weight: 600; white-space: nowrap; }
.vsched { display: block; width: max-content; margin-bottom: 6px; padding: 2px 8px; border-radius: 999px; background: #ffd66b; color: #2a1f00; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) :is(.sched-note, .sched-tag) { background: #3d3214; color: #ffe39a; } }
:root[data-theme="dark"] :is(.sched-note, .sched-tag) { background: #3d3214; color: #ffe39a; }

.body, .body-s, .caption, .lede, .g-def, .fs-figure-cap { font-variant-numeric: normal; }
:is(.body, .body-s, .caption) :is(.value, .value-s, .fs-formula, .fs-v, table) { font-variant-numeric: lining-nums tabular-nums; }
p.body, p.body-s, .caption { text-wrap: pretty; hanging-punctuation: first allow-end; }
.nu { white-space: nowrap; word-spacing: -0.07em; }

.mast { view-transition-name: mast; }
.vt-nomast .mast { view-transition-name: none; }
main .hero > .hero-text > .species { view-transition-name: nt; }
main .hero > .fs-figure { view-transition-name: nf; }
.vt-out main .hero > .hero-text > .species, .vt-out main .hero > .fs-figure { view-transition-name: none; }
::view-transition-group(root) { animation-duration: .26s; }
::view-transition-group(nt), ::view-transition-group(nf) { animation-duration: .48s; animation-timing-function: var(--ease-arrive); }
::view-transition-old(nf), ::view-transition-new(nf) { height: 100%; object-fit: cover; object-position: top; }
::view-transition-old(nt), ::view-transition-new(nt) { height: 100%; width: auto; object-fit: none; object-position: left center; }

.lockup svg .lg-dot { will-change: transform; }
.dr-a { opacity: 0; }
.dr-a.dr-in { animation: fm-land .42s var(--dd, 0s) both; }
.dr-d { opacity: 0; transform-box: fill-box; transform-origin: center; }
.dr-d.dr-in { animation: dr-pop .34s var(--ease-land) var(--dd, 0s) both; }
@keyframes dr-pop { from { opacity: 0; transform: scale(.2); } to { opacity: 1; transform: none; } }

.fv-open, .fs-img { display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid transparent; border-radius: 6px;
  background: transparent; color: var(--figure-muted); cursor: pointer; transition: color var(--time-web), border-color var(--time-web), opacity var(--time-web); }
.fv-open svg, .fs-img svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.fv-open:hover, .fs-img:hover { color: var(--figure-ink); border-color: var(--figure-rule); }
.fv-open:focus-visible, .fs-img:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.fv-corner { position: absolute; top: 8px; right: 8px; }
.fs-figure { position: relative; }
@media (hover: hover) and (pointer: fine) {
  .fs-figure :is(.fv-open, .fs-img) { opacity: 0; }
  .fs-figure:hover :is(.fv-open, .fs-img), .fs-figure:focus-within :is(.fv-open, .fs-img) { opacity: 1; }
  .fv-click :is(.draw, svg, img, canvas) { cursor: zoom-in; }
}
.fv-ph { visibility: hidden; }
.fv { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; overflow: hidden; }
.fv::backdrop { background: rgba(14, 15, 16, .78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.fv[open] { display: grid; grid-template-rows: auto 1fr; grid-template-columns: minmax(0, 1fr); }
.fv-bar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-3) max(16px, 3vw); color: #e9e9e6; }
.fv-n { color: #c9c9c4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fv-keys { display: flex; gap: var(--space-2); flex: none; }
.fv-keys button { font: 700 15px/20px var(--font-text); color: #f2f2ef; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 6px; padding: 7px 14px; cursor: pointer; }
.fv-keys button:hover:not(:disabled) { background: rgba(255, 255, 255, .16); }
.fv-keys button:disabled { opacity: .35; cursor: default; }
.fv-keys button:focus-visible { outline: 2px solid #a7d3ad; outline-offset: 2px; }
.fv-stage { display: grid; place-items: start center; padding: 0 max(12px, 3vw) var(--space-6); overflow: auto; min-height: 0; }
.fv-stage > .fs-figure { box-shadow: 0 30px 80px rgba(0, 0, 0, .45); max-width: 94vw; margin-block: auto; }
.fs-figure.is-big :is(.fv-open, .fs-img) { opacity: 1; }
.fs-figure-tools .fs-img + .fv-open { margin-left: calc(-1 * var(--space-6) + 4px); }   @media (hover: hover) and (pointer: fine) {
  .fs-figure-head:has(> .fs-figure-tools:not(:has(.fs-pause))) { position: relative; padding-right: 80px; }
  .fs-figure-head > .fs-figure-tools:not(:has(.fs-pause)) { position: absolute; top: -8px; right: 0; }
}
.fs-figure.is-big .draw.sv > svg.v { max-width: none !important; }
.fs-figure.is-big { box-sizing: border-box; }
:root.fv-on { overflow: hidden; }
::view-transition-group(fv-fig) { animation-duration: .42s; animation-timing-function: var(--ease-arrive); }
::view-transition-old(fv-fig), ::view-transition-new(fv-fig) { height: 100%; object-fit: contain; }
:root[data-fv-dir] ::view-transition-old(root), :root[data-fv-dir] ::view-transition-new(root) { animation: none; }
:root[data-fv-dir] ::view-transition-group(fv-fig) { animation-duration: .34s; }
:root[data-fv-dir] ::view-transition-old(fv-fig) { animation: fv-out .2s var(--ease-move) both; }
:root[data-fv-dir] ::view-transition-new(fv-fig) { animation: fv-in .3s var(--ease-arrive) .08s both; }
:root[data-fv-dir="prev"] { --fv-d: -1; }
@keyframes fv-out { to { opacity: 0; transform: translateX(calc(var(--fv-d, 1) * -28px)); } }
@keyframes fv-in { from { opacity: 0; transform: translateX(calc(var(--fv-d, 1) * 28px)); } }

.lpv { position: fixed; z-index: 31; width: min(360px, calc(100vw - 16px)); background: var(--figure); color: var(--figure-ink); border: 1px solid var(--figure-rule);
  border-radius: 8px; box-shadow: 0 18px 48px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .06); overflow: hidden; cursor: pointer;
  animation: lpv-in .18s var(--ease-arrive) both; font-variant-numeric: normal; }
.lpv[hidden] { display: none; }
@keyframes lpv-in { from { opacity: 0; transform: translateY(4px) scale(.985); } }
@media (prefers-reduced-motion: reduce) { .lpv { animation: none; } }
.lpv-text { display: grid; gap: 4px; padding: 14px 16px 14px; }
.lpv-k { color: var(--figure-muted); }
.lpv-t { font-size: 19px; line-height: 1.2; font-weight: 800; }
.lpv-q { font-size: 15px; line-height: 1.4; color: var(--figure-ink-2); }
.lpv-a { font-size: 15px; line-height: 1.45; color: var(--figure-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; }
.lpv .h { color: var(--figure-muted); font-style: italic; font-size: 13px; margin-top: 4px; }
.lpv-fig { min-height: 0; padding: 12px 14px 0; border-bottom: 1px solid var(--figure-rule); background: var(--figure); }
.lpv-fig:empty { display: none; }
.lpv-fig .fs-figure-head, .lpv-fig .card-head { display: none; }
.lpv-fig svg { pointer-events: none; }
.lpv-fig.draw.sv > svg.v { height: auto; max-height: 210px; }
.lpv.lpv-tight .lpv-fig { display: none; }
a.src { text-decoration: underline dotted; text-decoration-thickness: 1px; color: inherit; text-underline-offset: 3px; }
a.src:hover, a.src.is-on { color: var(--accent); }
.cond li:target, [id^="src-"]:target { background: color-mix(in srgb, var(--accent) 14%, transparent); border-radius: 3px; transition: background-color 1.2s ease 1.5s; }

.xr { border-bottom: 1.5px dotted color-mix(in srgb, var(--accent) 55%, transparent); border-radius: 2px; transition: background-color var(--time-web), box-shadow var(--time-web); }
.xr.x-on { background: color-mix(in srgb, var(--accent) 15%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent); border-bottom-color: var(--accent); }
.xr:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.fs-figure [data-x] { transition: opacity .2s var(--ease-move); }
.fs-figure.x-dim [data-x]:not(.x-on) { opacity: .18; }
@media (hover: hover) and (pointer: fine) { .fs-figure svg [data-x] { cursor: default; } }


.hero-text .pq-read { color: var(--ink-2); max-width: 32em; }
.pq-eq { display: flex; flex-wrap: wrap; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.pq-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.pq-eq + .body { margin-top: var(--space-4); }
.context-row.pq-row2 { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.pq-row2 { margin-top: var(--space-8); } }
.mk.pq-mk4 { background: var(--range-3); }
.mk.pq-mk2d { background: repeating-linear-gradient(90deg, var(--range-2) 0 5px, transparent 5px 8px); }
.mk.pq-mkc { background: repeating-linear-gradient(90deg, var(--reference) 0 5px, transparent 5px 8px); }
.mk.pq-mkr { background: linear-gradient(90deg, var(--range-1) 0 33%, var(--range-2) 33% 67%, var(--range-3) 67%); }
.pt .pq-c1, .ch .pq-c1 { fill: var(--range-1); } .pt .pq-c2, .ch .pq-c2 { fill: var(--range-2); } .pt .pq-c4, .ch .pq-c4 { fill: var(--range-3); }
.pq-c1t { color: var(--range-1); font-weight: 700; } .pq-c2t { color: var(--range-2); font-weight: 700; } .pq-c4t { color: var(--range-3); font-weight: 700; }
.ch .pq-t1, .pt .pq-t1 { fill: var(--range-1); fill-opacity: .09; } .ch .pq-t2, .pt .pq-t2 { fill: var(--range-2); fill-opacity: .1; }
.ch .pq-t4, .pt .pq-t4 { fill: var(--range-3); fill-opacity: .08; }
.ch rect.now { fill-opacity: .24; transition: fill-opacity .25s var(--ease-move); }
.ch .pq-box, .pt .pq-box { fill: none; stroke: var(--figure-rule); stroke-width: 1; }
.ch .pq-ax, .pt .pq-ax { stroke: var(--figure-axis); stroke-width: 1.2; }
.ch .pq-qn { font-size: 14px; font-weight: 700; }
.ch .pq-p1, .ch .pq-p2, .ch .pq-p4 { fill: none; stroke-width: 2.6; stroke-linejoin: round; stroke-linecap: round; }
.ch .pq-p1 { stroke: var(--range-1); } .ch .pq-p2 { stroke: var(--range-2); } .ch .pq-p4 { stroke: var(--range-3); }
.ch .pq-h1 { fill: var(--range-1); } .ch .pq-h2 { fill: var(--range-2); } .ch .pq-h4 { fill: var(--range-3); }
.ch .pq-dot { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2.5; }
.ch .pq-start { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2; }
.pt .pq-f1 { fill: var(--range-1); fill-opacity: .55; } .pt .pq-f2 { fill: var(--range-2); fill-opacity: .55; } .pt .pq-f4 { fill: var(--range-3); fill-opacity: .5; }
.pt .pq-ibox { fill: none; stroke: var(--figure-axis); stroke-width: 1; } .pt .pq-iax { stroke: var(--figure-axis); stroke-width: 1; }
.pt .pq-rn { font-size: 16px; font-weight: 800; }
.pt .pq-rv { font-size: 15px; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .pq-row text, .pt .pq-row rect { transition: fill .2s var(--ease-move), fill-opacity .2s var(--ease-move); }
.pt .pq-row.off .pq-rn, .pt .pq-row.off .pq-rv { fill: var(--figure-muted); }   .pt .pq-row.off .pq-f1, .pt .pq-row.off .pq-f2, .pt .pq-row.off .pq-f4 { fill-opacity: .12; }
.pq-hero.pq-drawing .pq-heads { opacity: 0; }
.pq-heads { transition: opacity .3s var(--ease-move); }
.sc .pq-w2, .sc .pq-w4 { fill: none; stroke-width: 1.8; stroke-linecap: round; } .sc .pq-w2 { stroke: var(--range-2); } .sc .pq-w4 { stroke: var(--range-3); }
.sc .pq-thick { stroke-width: 2.6; }
.sc .pq-hd2 { fill: var(--range-2); } .sc .pq-hd4 { fill: var(--range-3); }
.sc .vl.pq-c4 { fill: var(--range-3); font-weight: 700; }
.pt .pq-sw { font-size: 15px; fill: var(--figure-ink-2); }
.pt.narrow .pq-sw { font-size: 14px; }
.pt .pq-num { font-size: 30px; font-weight: 800; } .pt .pq-num2 { font-size: 20px; font-weight: 800; }
.pt .pq-qw { font-size: 16px; font-weight: 700; fill: var(--figure-ink); } .pt .pq-qs { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .pq-sg { font-size: 16px; font-weight: 700; fill: var(--figure-ink-2); }
.pt .pq-alt { font-size: 16px; font-weight: 700; fill: var(--figure-ink); }
.ch .pq-l1, .ch .pq-l2, .ch .pq-l2d, .ch .pq-l4 { fill: none; stroke-width: 2.4; stroke-linejoin: round; }
.ch .pq-l1 { stroke: var(--range-1); } .ch .pq-l2, .ch .pq-l2d { stroke: var(--range-2); } .ch .pq-l4 { stroke: var(--range-3); }
.ch .pq-l2d { stroke-dasharray: 6 4; }
.ch .pq-brk { stroke: var(--figure-axis); stroke-width: 1.2; stroke-dasharray: 2 4; }
.ch .pq-dim { fill: none; stroke: var(--figure-ink); stroke-width: 1.4; }
.ch .pq-rch1 { fill: var(--range-1); fill-opacity: .14; stroke: var(--range-1); stroke-width: 1.6; }
.ch .pq-rch2 { fill: var(--range-2); fill-opacity: .22; stroke: var(--range-2); stroke-width: 1.6; }
.ch .pq-rl { font-size: 15px; font-weight: 700; }
.ch .pq-cell { fill: none; stroke: var(--reference); stroke-width: 1.4; stroke-dasharray: 5 4; }
.ch .pq-d1, .ch .pq-d2 { stroke: var(--figure); stroke-width: 2; } .ch .pq-d1 { fill: var(--range-1); } .ch .pq-d2 { fill: var(--range-2); }
.ch .pq-pv { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.ch .pq-mod { font-size: 15px; font-style: italic; fill: var(--figure-ink-2); }
.ch .pq-b1 { fill: var(--range-1); } .ch .pq-b2 { fill: var(--range-2); } .ch .pq-b4 { fill: var(--range-3); }
.ch .pq-val { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .pq-hs { fill: none; stroke: #ffd66b; stroke-width: 2.5; }
.pt .pq-hsl { stroke: var(--figure-ink); stroke-width: 1.2; }
.pq-try [data-pb]:not(.on) { display: none; }
.pq-try .seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--rule-strong); max-width: 600px; }
.pq-try .seg button { border: 0; background: var(--page); }
.pq-try .seg button:last-child { grid-column: span 2; }
.pq-try .seg button[aria-checked="true"] { background: var(--accent); }
@media (max-width: 760px) {
  .pq-try .control { width: 100%; }
  .pq-try .seg { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
}
.ch .pq-hk { fill: var(--figure-ink); }
.pq-try .readings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
  .pq-try .readings { gap: var(--space-2); }
  .pq-try .readings > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid var(--figure-rule); padding-bottom: var(--space-1); }
}
.pq-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.pq-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.pq-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.pq-data[open] summary { margin-bottom: var(--space-2); }
.pq-data .tscroll { width: 0; min-width: 100%; }
.pq-data table.data { font-size: 15px; min-width: 0; }
.pq-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.pq-data table.data th[scope="row"] { font-weight: 400; }
.pq-data table.data td, .pq-data table.data th { white-space: nowrap; }
.pq-data table.pq-wrap td { white-space: normal; text-align: left; }


.hero-text .sm-lede { color: var(--ink-2); max-width: 32em; }
.sm-eq { display: flex; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.sm-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.sm-eq + .body { margin-top: var(--space-4); }
.sm-try [data-pb]:not(.on) { display: none; }
.sm-controls .control { flex: 1 1 180px; }
.pt .k0.sm-rn, .pt .sm-sq.k0, .ch .sm-dotk.k0, .pt .sm-dot.k0 { fill: var(--range-3); }
.pt .k1.sm-rn, .pt .sm-sq.k1, .ch .sm-dotk.k1, .pt .sm-dot.k1 { fill: var(--range-1); }
.pt .k2.sm-rn, .pt .sm-sq.k2, .ch .sm-dotk.k2, .pt .sm-dot.k2 { fill: var(--range-2); }
.pt .sm-rn { font-size: 15px; font-weight: 800; }
.pt .sm-ld { font-size: 14px; fill: var(--figure-ink-2); }
.pt .sm-phase { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .sm-st { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .sm-tag { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.pt .sm-cn { font-size: 14px; font-weight: 800; fill: var(--figure-ink); }
.pt .sm-ca { font-size: 14px; fill: var(--figure-ink-2); }
.pt .sm-cl { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.pt .sm-rl { font-size: 15px; fill: var(--figure-ink); } .pt .sm-rl.sm-b { font-weight: 800; }
.pt .sm-q { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.pt .sm-note { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.sc .sm-neg { stroke: var(--figure-ink); stroke-width: 4; stroke-linecap: butt; }
.sm-sw .sm-lc, .sm-sw.on .sm-lo { display: none; }
.sm-sw.on .sm-lc { display: inline; }
.sc .sm-lit { fill: none; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.sc .sm-lit.on { opacity: .3; }
.sc .sm-lit.k0 { stroke: var(--range-3); } .sc .sm-lit.k1 { stroke: var(--range-1); } .sc .sm-lit.k2 { stroke: var(--range-2); }
.pt .sm-pk { fill-opacity: .3; stroke-width: 1.3; stroke-linejoin: round; }
.pt .sm-pk.k0 { fill: var(--range-3); stroke: var(--range-3); }
.pt .sm-pk.k1 { fill: var(--range-1); stroke: var(--range-1); }
.pt .sm-pk.k2 { fill: var(--range-2); stroke: var(--range-2); }
.pt .sm-v { fill: none; stroke-width: 1.8; stroke-linejoin: round; }
.pt .sm-v.k0 { stroke: var(--range-3); } .pt .sm-v.k1 { stroke: var(--range-1); } .pt .sm-v.k2 { stroke: var(--range-2); }
.pt .sm-step { stroke: var(--figure-ink); stroke-width: 1.2; stroke-dasharray: 2 3; }
.pt .sm-head { opacity: 0; }
.sm-play .pt .sm-head { opacity: 1; }
.pt .sm-headl { stroke: var(--figure-ink); stroke-width: 1.2; }
.pt .sm-dot { opacity: 0; stroke: var(--figure); stroke-width: 1; }
.pt .sm-room { fill: none; stroke: #fff; stroke-width: 1.8; stroke-dasharray: 6 4; }
.pt .sm-clash { fill: none; stroke: #fff; stroke-width: 2; }
.pt .sm-ldr { stroke: var(--figure-ink); stroke-width: 1; }
.pt .sm-ldr-h { stroke: #fff; stroke-width: 3; stroke-opacity: .8; }
.pt .sm-ldot { fill: #fff; stroke: var(--figure-ink); stroke-width: 1.5; }
.ch .sm-dk { fill: var(--figure-ink); } .ch .sm-rg { fill: none; stroke: var(--figure-ink); stroke-width: 2; }
.ch .sm-link { stroke: var(--figure-axis); stroke-width: 1.5; }
.ch .sm-ring { fill: none; stroke-width: 2; }
.ch .sm-ring.k0 { stroke: var(--range-3); } .ch .sm-ring.k1 { stroke: var(--range-1); } .ch .sm-ring.k2 { stroke: var(--range-2); }
.ch .sm-lbb { fill: none; stroke: var(--figure-ink-2); stroke-width: 2; stroke-dasharray: 6 4; }
.sm-twin { margin-top: var(--space-2); min-width: 0; max-width: 100%; }
.sm-twin summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); width: max-content; }
.sm-twin[open] summary { margin-bottom: var(--space-2); }
.sm-twin table.data thead th { font-family: var(--font-text); font-style: italic; font-weight: 500; letter-spacing: 0; }
.sm-twin table.data td, .sm-twin table.data th { white-space: nowrap; }
@media (pointer: coarse) { .sm-twin summary { padding-block: 11px; } }
.sm-u { font-family: var(--font-text); letter-spacing: 0; }
.pt .sm-sub { font-size: 12px; }


.k-video { --k: #3987e5; } .k-data { --k: #008300; } .k-audio { --k: #c98500; } .k-hidden { --k: #d55181; } .k-control { --k: #aeb7c3; }
.am-v .am-pin { fill: var(--k); }
.am-v .am-halo { fill: var(--k); fill-opacity: .32; }
.am-v .am-sheen { fill: #fff; fill-opacity: .3; }
.pt .am-br { fill: none; stroke: var(--k, var(--figure-ink)); stroke-width: 3; stroke-linejoin: round; }
.pt .am-br.ink { --k: var(--figure-ink-2); stroke-width: 1.4; }
.am-v .am-st { opacity: 0; transition: opacity .16s linear; }
.am-v .am-st.on { opacity: 1; transition: opacity .24s linear .14s; }
@media (prefers-reduced-motion: reduce) { .am-v .am-st, .am-v .am-st.on { transition: none; } }
.pt .am-name { font-size: 19px; font-weight: 800; }
.pt .am-stat { font-size: 15px; font-style: italic; fill: var(--figure-ink-2); }
.pt .am-lab { font-size: 14px; font-weight: 700; }
.pt .am-side, .pt .am-num { font-size: 14px; font-style: italic; fill: var(--figure-muted); }
.pt .am-pn { font-size: 14px; } .pt .am-pn.fast { font-weight: 700; }
.pt .am-face { font-family: var(--font-caps); font-size: 15px; font-weight: 700; letter-spacing: .03em; fill: var(--figure-ink-2); }
.pt.narrow .am-lab, .pt.narrow .am-side, .pt.narrow .am-num, .pt.narrow .am-pn { font-size: 13px; }
.pt.narrow .am-name { font-size: 18px; } .pt.narrow .am-stat { font-size: 14px; }
.pt .am-tag { font-size: 14px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: rgba(255, 255, 255, .9); stroke-width: 4px; stroke-linejoin: round; }
.pt.narrow .am-tag { font-size: 13px; }
.pt .am-ldr { stroke: var(--figure-ink-2); stroke-width: 1.2; } .pt .am-ldot { fill: var(--figure-ink); stroke: #fff; stroke-width: 1.2; }
.fs-legend .mk.am-mk { width: 14px; height: 14px; background: var(--k); }
.hero-text .am-read { color: var(--ink-2); max-width: 32em; }
.am-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.am-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.am-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.am-data[open] summary { margin-bottom: var(--space-2); }
.am-data .tscroll { width: 0; min-width: 100%; }
.am-data table.data { font-size: 15px; min-width: 0; }
.am-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.am-data table.data th[scope="row"] { font-weight: 400; }
.am-data table.data td, .am-data table.data th { white-space: nowrap; }
.am-data table.am-wrap td { white-space: normal; text-align: left; }
.pt .am-rn { font-size: 16px; font-weight: 800; }
.pt.narrow .am-rn { font-size: 15px; }
.pt .am-box, .pt .am-chip { fill: #f3f3f0; stroke: var(--figure-ink-2); stroke-width: 1.2; }
.pt .am-bx { font-size: 15px; font-weight: 700; }
.pt .am-life { stroke: var(--figure-axis); stroke-width: 1.2; stroke-dasharray: 3 4; }
.pt .am-msg { stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .am-msgh { fill: var(--figure-ink); }
.pt .am-ml { font-size: 14px; } .pt .am-ml.rep { font-style: italic; fill: var(--figure-ink-2); }
.pt .am-note { fill: #f3f3f0; }
.pt .am-nt { font-size: 14px; font-weight: 700; }
.pt .am-wire { fill: none; stroke: var(--k); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.pt .am-wire.off { stroke: var(--figure-rule); stroke-width: 2; stroke-dasharray: 3 4; }
.pt .am-in { font-size: 14px; font-weight: 700; } .pt .am-in.off { font-weight: 400; fill: var(--figure-muted); }
.pt .am-foot { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .am-bl { font-size: 14px; fill: var(--figure-ink-2); }
.pt .am-bar { fill: var(--k); }
.pt .am-bv { font-size: 14px; font-weight: 700; }
.pt .am-tick { font-size: 13px; fill: var(--figure-muted); }
.pt .am-ax { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .am-band { fill: #eef0f3; stroke: var(--figure-rule); }
.pt .am-pk { fill: var(--k); }
.pt .am-pkt { font-size: 13px; font-weight: 700; fill: #fff; }
.pt .am-life2 { stroke: var(--figure-ink-2); stroke-width: 2; }
.pt .am-x { stroke: var(--figure-ink); stroke-width: 2.2; stroke-linecap: round; }
.pt .am-dot { fill: var(--figure-ink); }
.pt .am-ring { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2; }
.pt .am-jacket { fill: #e9e9e6; stroke: var(--figure-ink-2); stroke-width: 1.2; }
.pt .am-shield { fill: #cfd3d8; stroke: var(--figure-ink-2); stroke-width: 1; }
.pt .am-cu { fill: #c98b4a; stroke: #7a5022; stroke-width: .8; }
.pt .am-cu.hl { fill: #008300; stroke: #004d00; }
.pt .am-wire1 { fill: #9a9a96; stroke: var(--figure-ink-2); stroke-width: .8; }
.pt .am-hlt { font-weight: 700; fill: var(--figure-ink); font-style: normal; }
.pt .am-plug { fill: #f3f3f0; stroke: var(--figure-ink-2); stroke-width: 1.2; }
.pt .am-pin2 { font-size: 14px; }
.pt .am-what { font-size: 14px; font-weight: 700; }
.pt .am-gh { font-size: 14px; font-weight: 700; fill: var(--figure-ink-2); }
.pt .am-idb { fill: var(--k); }
.pt .am-id { font-family: var(--font-mono); font-size: 14px; font-weight: 700; fill: #fff; }
.pt .am-idb.k-control + .am-id { fill: var(--figure-ink); }
.pt .am-idw { font-size: 15px; }
.pt.narrow .am-idw { font-size: 14px; }
.pt .am-osd { fill: #26282c; }
.pt .am-osdh { font-size: 15px; font-weight: 700; fill: #fff; }
.pt .am-osds { fill: #3a3e44; }
.pt .am-radio { fill: none; stroke: #c9ccd1; stroke-width: 1.6; }
.pt .am-radio.on { fill: #fff; stroke: #fff; }
.pt .am-osdo { font-size: 15px; fill: #c9ccd1; } .pt .am-osdo.on { fill: #fff; font-weight: 700; }
.pt .am-rs { font-size: 15px; font-weight: 700; } .pt .am-rs2 { font-size: 14px; fill: var(--figure-ink-2); }
.pt .am-cell { fill: var(--k); } .pt .am-cell.off { fill: #ecece9; stroke: #d6d6d2; stroke-width: .8; }
.pt .am-cn { font-size: 15px; font-weight: 800; } .pt .am-cw { font-size: 14px; fill: var(--figure-ink-2); }
.pt.narrow .am-cn { font-size: 14px; } .pt.narrow .am-cw { font-size: 13px; }
.pt .am-rule { stroke: var(--figure-rule); }
.am-pick { display: grid; gap: var(--space-3); margin-bottom: var(--space-6); }
.am-pg { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: var(--space-2) var(--space-4); align-items: baseline; }
.am-pb { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.am-pb button { font-family: var(--font-text); font-size: 16px; font-weight: 700; line-height: 20px; min-height: 44px; padding: 10px 14px;
  border: 1px solid var(--rule-strong); border-radius: 4px; background: var(--surface); color: var(--ink); cursor: pointer; }
.am-pb button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.am-pb button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 620px) { .am-pg { grid-template-columns: minmax(0, 1fr); } }
.am-try .readings { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
@media (max-width: 760px) { .am-try .readings { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.am-try .readings dd { font-size: 19px; line-height: 1.3; }
.pt .am-ht { paint-order: stroke; stroke: var(--figure); stroke-width: 5px; stroke-linejoin: round; }
#am-try .am-br { vector-effect: non-scaling-stroke; }


.hero-text .uf-read { color: var(--ink-2); max-width: 32em; }
.uf-eq { display: flex; flex-wrap: wrap; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.uf-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.uf-eq + .body { margin-top: var(--space-4); }
.context-row.uf-row2 { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.uf-row2 { margin-top: var(--space-8); } }
.pt .uf-c2, .ch .uf-c2 { fill: var(--range-2); } .pt .uf-c3, .ch .uf-c3 { fill: var(--range-3); }
.pt .uf-name { font-size: 16px; font-weight: 800; font-style: italic; }
.pt .uf-big { font-size: 22px; font-weight: 800; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt.narrow .uf-big { font-size: 20px; }
.pt .uf-lab { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .uf-lab.uf-c2 { fill: var(--range-2); } .pt .uf-lab.uf-c3 { fill: var(--range-3); }
.ch .uf-mid { stroke: var(--figure-grid); stroke-width: 1; }
.ch .uf-env { fill: none; stroke-width: 1.2; stroke-dasharray: 3 4; stroke-opacity: .7; }
.ch .uf-e2 { stroke: var(--range-2); } .ch .uf-e3 { stroke: var(--range-3); }
.ch .uf-w, .ch .uf-pl, .ch .uf-ln { fill: none; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.ch .uf-l2 { stroke: var(--range-2); } .ch .uf-l3 { stroke: var(--range-3); }
.ch .uf-l4 { stroke: var(--figure-ink); } .ch .uf-l2l { stroke: var(--figure-ink); stroke-dasharray: 8 5; }
.ch .uf-ufl { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; }
.ch .uf-pd2, .ch .uf-pd3 { stroke: var(--figure); stroke-width: 1.5; } .ch .uf-pd2 { fill: var(--range-2); } .ch .uf-pd3 { fill: var(--range-3); }
.ch .uf-ds { fill: var(--figure); stroke: var(--range-3); stroke-width: 2; }
.ch .uf-x { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2; }
.ch .uf-guide { stroke: var(--figure-axis); stroke-width: 1.2; stroke-dasharray: 2 4; }
.ch .uf-row { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.ch .uf-b2 { fill: var(--range-2); } .ch .uf-s2 { fill: var(--range-2); fill-opacity: .38; }
.ch .uf-val, .ch .uf-val2 { font-size: 15px; font-weight: 700; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums;
  paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .uf-route { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-opacity: .85; }
.pt .uf-r2 { stroke: var(--range-2); } .pt .uf-r3 { stroke: var(--range-3); stroke-width: 4; stroke-opacity: .55; }
.pt .uf-cu { fill: var(--specimen-pad); stroke: var(--specimen-edge); stroke-width: .6; }
.pt .uf-cu.uf-sig2 { fill: var(--range-2); } .pt .uf-cu.uf-sig3 { fill: var(--range-3); }
.pt .uf-core { fill: var(--specimen-fr4); fill-opacity: .55; }
.pt .uf-jacket { fill: #3a3a38; } .pt .uf-fep { fill: #f1efe8; stroke: var(--specimen-edge); stroke-width: .6; }
.mk.uf-mk3 { background: var(--range-3); }
.mk.uf-mk4 { background: var(--figure-ink); }
.mk.uf-mk2l { background: repeating-linear-gradient(90deg, var(--figure-ink) 0 8px, transparent 8px 13px); }
.mk-bar.uf-mkcu { background: var(--range-2); } .mk-bar.uf-mkfr { background: color-mix(in srgb, var(--range-2) 38%, var(--figure)); }
.mk-ring.uf-ring { border: 2px solid var(--range-3); }
.draw svg.uf-pic { overflow: hidden; }
.uf-try [data-pb]:not(.on), .uf-try [data-pc]:not(.on) { display: none; }
.mk.uf-mkt { width: 18px; height: 4px; vertical-align: middle; margin: 0 6px 0 2px; } .uf-nw { white-space: nowrap; }
.uf-try .readings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
  .uf-try .readings { gap: var(--space-2); }
  .uf-try .readings > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid var(--figure-rule); padding-bottom: var(--space-1); }
}
.uf-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.uf-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.uf-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.uf-data[open] summary { margin-bottom: var(--space-2); }
.uf-data .tscroll { width: 0; min-width: 100%; }
.uf-data table.data { font-size: 15px; min-width: 0; }
.uf-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.uf-data table.data th[scope="row"] { font-weight: 400; }
.uf-data table.data td, .uf-data table.data th { white-space: nowrap; }
.uf-data table.uf-wrap td { white-space: normal; text-align: left; }


.hero-text .lc-read { color: var(--ink-2); max-width: 32em; }
.lc-eq { display: flex; flex-wrap: wrap; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.lc-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.lc-eq + .body { margin-top: var(--space-4); }
.lc-exp sup { font-size: .66em; line-height: 0; }
.lc-exp sup .fs-v { padding: 0; }
.context-row.lc-row2 { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.lc-row2 { margin-top: var(--space-8); } }
.mk.lc-mk0 { background: var(--reference); }
.pt .lc-c0, .ch .lc-c0 { fill: var(--figure-ink-2); } .pt .lc-c1, .ch .lc-c1 { fill: var(--range-1); }
.pt .lc-c2, .ch .lc-c2 { fill: var(--range-2); } .pt .lc-c3, .ch .lc-c3 { fill: var(--range-3); }
.ch .lc-name { font-size: 15px; font-weight: 800; }
.ch .lc-name.lc-c0 { fill: var(--figure-ink); }
.ch .lc-val { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.ch .lc-vl { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.ch .lc-band { stroke-width: 1.3; stroke-linejoin: round; fill-opacity: .55; }
.ch .lc-b0 { fill: var(--reference); stroke: var(--reference); } .ch .lc-b2 { fill: var(--range-2); stroke: var(--range-2); }
.ch .lc-b3 { fill: var(--range-3); stroke: var(--range-3); }
.ch .lc-thr { stroke: var(--figure-ink-2); stroke-width: 1.2; stroke-dasharray: 5 4; }
.ch .lc-t0 { stroke: var(--figure-axis); stroke-width: 1; stroke-dasharray: 2 3; }
.ch .lc-brk, .ch .lc-tr { fill: none; stroke-width: 2; stroke-linejoin: round; }
.ch .lc-k0 { stroke: var(--reference); } .ch .lc-k2 { stroke: var(--range-2); } .ch .lc-k3 { stroke: var(--range-3); }
.ch .lc-tr.lc-k0 { stroke: var(--figure-ink-2); }
.ch .lc-dot { stroke: var(--figure); stroke-width: 2; }
.ch .lc-d0 { fill: var(--reference); } .ch .lc-d2 { fill: var(--range-2); } .ch .lc-d3 { fill: var(--range-3); }
.ch .lc-endm { transition: opacity .3s ease; } .ch .lc-endm.off { opacity: 0; }
.ch .lc-ph { stroke: var(--figure-ink); stroke-width: 1.2; opacity: 0; } .ch .lc-ph.on { opacity: 1; }
.ch .lc-box { fill: none; stroke: var(--figure-grid); stroke-width: 1; }
.ch .lc-on0 { fill: var(--figure-ink-2); } .ch .lc-on2 { fill: var(--range-2); } .ch .lc-on3 { fill: var(--range-3); } .ch .lc-onk { fill: var(--figure-ink); }
.ch .lc-hbox { fill: none; stroke: var(--range-3); stroke-width: 1.4; }
.ch .lc-sm { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.ch .lc-sm.lc-c3 { fill: var(--range-3); font-style: normal; font-weight: 700; }
.ch .lc-curve { fill: none; stroke: var(--figure-ink); stroke-width: 2.2; stroke-linejoin: round; }
.ch .lc-lab { font-size: 15px; fill: var(--figure-ink); }
.ch .lc-ldr, .pt .lc-ldr { stroke: var(--figure-ink-2); stroke-width: 1; }
.ch .lc-ch { font-size: 16px; font-weight: 800; fill: var(--figure-ink); }
.ch .lc-nm { font-size: 15px; fill: var(--figure-ink); }
.ch .lc-dg { font-size: 15px; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.ch .lc-dg.lc-c2 { fill: var(--range-2); }
.ch .lc-hl { font-weight: 800; fill: var(--figure-ink); }
.ch .lc-hlb { fill: var(--range-2); fill-opacity: .16; }
.ch .lc-fl { font-weight: 800; fill: var(--range-3); text-decoration: underline; }
.ch .lc-rd { font-size: 15px; fill: var(--figure-ink); } .ch .lc-bad { font-size: 15px; font-style: italic; fill: var(--figure-ink-2); }
.ch .lc-sep { stroke: var(--figure-grid); stroke-width: 1; }
.ch .lc-row { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.ch .lc-code { font-size: 15px; font-style: italic; }
.ch .lc-bv { font-size: 14px; fill: var(--figure-ink); }
.ch .lc-bd2 { fill: var(--range-2); } .ch .lc-bd3 { fill: var(--range-3); }
.ch .lc-bl2 { fill: var(--range-2); fill-opacity: .28; } .ch .lc-bl3 { fill: var(--range-3); fill-opacity: .28; }
.ch .lc-e0 { fill: var(--reference); } .ch .lc-e1 { fill: var(--range-1); }
.ch .lc-l0 { fill-opacity: .22; } .ch .lc-l1 { fill-opacity: .45; } .ch .lc-l2 { fill-opacity: .8; }
.ch .lc-ebox { fill: none; stroke: var(--figure-grid); stroke-width: 1; }
.ch .lc-eh { stroke: var(--figure-ink); stroke-width: 1.4; }
.ch .lc-ev { font-size: 14px; font-weight: 800; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.draw svg.lc-pic { overflow: hidden; }
.pt .lc-zoom { fill: none; stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .lc-zl { stroke: var(--figure-ink-2); stroke-width: 1; stroke-dasharray: 3 3; }
.pt .lc-tag { font-size: 14px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .lc-ldot { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .lc-pin { font-size: 14px; font-weight: 800; fill: var(--figure-ink); } .pt .lc-pin.lc-gnd { font-weight: 400; fill: var(--figure-muted); }
.lc-uses { margin: var(--space-6) 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-12); }
@media (max-width: 760px) { .lc-uses { grid-template-columns: minmax(0, 1fr); } }
.lc-use { border-top: 1px solid var(--rule); padding-top: var(--space-3); min-width: 0; }
.lc-use dt { display: grid; gap: 2px; }
.lc-use dt .caption { color: var(--ink-muted); }
.lc-ucode { font-weight: 800; font-size: 19px; color: var(--ink); }
.lc-use dd { margin: var(--space-2) 0 0; }
.lc-use dd p { margin: 0; }
.lc-use .lc-usrc { margin-top: var(--space-1); color: var(--ink-muted); }
.lc-use .lc-usrc a { line-height: 1.9; white-space: nowrap; }
.lc-try .lc-st:not(.on) { display: none; }
.lc-try .controls .seg { flex-wrap: wrap; }
.lc-try .readings { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
@media (max-width: 760px) { .lc-try .readings { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lc-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.lc-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.lc-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.lc-data[open] summary { margin-bottom: var(--space-2); }
.lc-data .tscroll { width: 0; min-width: 100%; }
.lc-data table.data { font-size: 15px; min-width: 0; }
.lc-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.lc-data table.data th[scope="row"] { font-weight: 400; }
.lc-data table.data td, .lc-data table.data th { white-space: nowrap; }
.lc-data table.lc-wrap td { white-space: normal; text-align: left; word-break: break-all; }


.hero-text .ic-read { color: var(--ink-2); max-width: 32em; }
.ic-u { font-family: var(--font-text); letter-spacing: 0; }
.ic-eq { display: flex; flex-wrap: wrap; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.ic-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.ic-eq + .body { margin-top: var(--space-4); }
.ledes .ic-eq { max-width: 36em; }
.pt .ic-rl { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .ic-hv { font-size: 15px; font-weight: 700; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .ic-ph2 { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .ic-pins { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.ch .ic-track { fill: var(--figure-grid); }
.ch .ic-f { stroke-width: 1.2; }
.ch .ic-fd.c2 { fill: var(--range-2); } .ch .ic-fd.c1 { fill: var(--range-1); } .ch .ic-fd.c3 { fill: var(--range-3); }
.ch .ic-fh { fill: var(--figure); }
.ch .ic-fh.c2 { stroke: var(--range-2); } .ch .ic-fh.c1 { stroke: var(--range-1); } .ch .ic-fh.c3 { stroke: var(--range-3); }
.ch .ic-ph { stroke: var(--figure-ink); stroke-width: 1.4; }
.mk.ic-mkd, .mk.ic-mkh, .mk.ic-gk, .mk.ic-mkod, .mk.ic-mkpp { width: 14px; height: 14px; }
.mk.ic-mkd { background: var(--figure-ink-2); }
.mk.ic-mkh { background: var(--figure); border: 1.5px solid var(--figure-ink-2); box-sizing: border-box; }
.mk.ic-mk { width: 18px; height: 4px; vertical-align: middle; }
.mk.ic-mk.c1 { background: var(--range-1); } .mk.ic-mk.c2 { background: var(--range-2); } .mk.ic-mk.c3 { background: var(--range-3); }
.mk.ic-mk.c3d { background: repeating-linear-gradient(90deg, var(--range-3) 0 5px, transparent 5px 8px); }
.mk.ic-mkref { width: 18px; height: 0; border-top: 1.8px dashed var(--reference); vertical-align: middle; }
.ch .ic-l { fill: none; stroke-width: 2.2; stroke-linejoin: round; }
.ch .ic-l.c1 { stroke: var(--range-1); } .ch .ic-l.c2 { stroke: var(--range-2); } .ch .ic-l.c3, .ch .ic-l.c3d { stroke: var(--range-3); }
.ch .ic-l.c3d { stroke-dasharray: 6 4; }
.draw svg.ic-pic { overflow: hidden; }
.ic-g { fill: none; stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; }
.ic-g.ic-gi2 { stroke: #f6b98f; } .ic-g.ic-gsp { stroke: #d2bdf2; } .ic-g.ic-gin { stroke: #ecebe6; } .ic-g.ic-gi3 { stroke: #a9cdf2; }
.mk.ic-gk { box-sizing: border-box; border: 1.5px solid; }
.mk.ic-gk.gi2 { background: #f6b98f; border-color: var(--range-2); } .mk.ic-gk.gsp { background: #d2bdf2; border-color: var(--range-1); }
.mk.ic-gk.gin { background: #ecebe6; border-color: var(--figure-ink-2); } .mk.ic-gk.gi3 { background: #a9cdf2; border-color: var(--range-3); }
.pt .ic-lab { font-size: 14px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: rgba(255, 255, 255, .9); stroke-width: 4px; stroke-linejoin: round; }
.pt.narrow .ic-lab { font-size: 12.5px; stroke-width: 3.5px; }
.pt .ic-lab.ic-lab-l { font-size: 16px; font-style: normal; font-weight: 700; } .pt.narrow .ic-lab.ic-lab-l { font-size: 14px; }   .pt .ic-ldr { stroke: #fff; stroke-width: 1.2; } .pt .ic-ldot { fill: var(--figure-ink); stroke: #fff; stroke-width: 1.2; }
.pt .ic-lane { font-size: 15px; font-weight: 800; } .pt .ic-lane.c2 { fill: var(--range-2); } .pt .ic-lane.c3 { fill: var(--range-3); }
.pt .ic-lanel { stroke: var(--figure-rule); stroke-width: 1.2; }
.pt .ic-yr { font-size: 15px; font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
.pt .ic-ev { stroke: var(--figure); stroke-width: 2; } .pt .ic-ev.c2 { fill: var(--range-2); } .pt .ic-ev.c3 { fill: var(--range-3); }
.pt .ic-evt { font-size: 15px; }
.pt.narrow .ic-evt { font-size: 14px; }
.ch .ic-bm { stroke-width: 1.2; }
.ch .ic-bm.ic-od { fill: var(--figure); stroke: var(--range-3); }
.ch .ic-bm.ic-pp { fill: var(--range-3); fill-opacity: .22; stroke: var(--range-3); }
.mk.ic-mkod { background: var(--figure); border: 1.5px solid var(--range-3); box-sizing: border-box; }
.mk.ic-mkpp { background: color-mix(in srgb, var(--range-3) 22%, var(--figure)); border: 1.5px solid var(--range-3); box-sizing: border-box; }
.ch .ic-mkt { font-size: 13px; fill: var(--figure-ink); }
.ch .ic-mkt2 { font-size: 13px; fill: var(--figure-ink-2); }
.ch .ic-w { fill: none; stroke-width: 1.8; stroke-linejoin: round; }
.ch .ic-w.c3 { stroke: var(--range-3); } .ch .ic-w.ink { stroke: var(--figure-ink); }
.ch .ic-bar.c1 { fill: var(--range-1); } .ch .ic-bar.c2 { fill: var(--range-2); } .ch .ic-bar.c3 { fill: var(--range-3); }
.ch .ic-bar.c3d { fill: var(--figure); stroke: var(--range-3); stroke-width: 1.8; stroke-dasharray: 6 4; }
.ch .ic-bv { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.ch .ic-bit { fill: var(--figure); stroke: var(--figure-axis); stroke-width: 1; }
.ch .ic-bit.hi { fill: var(--range-3-fill, #d6e6f5); stroke: var(--range-3); }
.ch .ic-bit.lost { stroke: var(--range-2); stroke-width: 2; }
.ch .ic-bitt { font-size: 14px; font-weight: 700; fill: var(--figure-ink); }
.ch .ic-cl2 { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.ch .ic-pid { fill: var(--figure-grid); stroke: var(--figure-axis); stroke-width: 1; }
.ch .ic-pid.hi { fill: #d6e6f5; stroke: var(--range-3); }
.ch .ic-same { font-size: 13px; font-style: italic; fill: var(--figure-ink-2); }
.ch .ic-dim { stroke: var(--figure-ink); stroke-width: 1.4; }
.ch .ic-tl path { stroke-width: 1.4; opacity: .4; }
.ch .ic-tl.on path { stroke-width: 3; opacity: 1; }
.ch .ic-dot { stroke: var(--figure); stroke-width: 2; }
.ch .ic-dot.c1 { fill: var(--range-1); } .ch .ic-dot.c2 { fill: var(--range-2); } .ch .ic-dot.c3, .ch .ic-dot.c3d { fill: var(--range-3); }
.ic-try [data-pb]:not(.on) { display: none; }
.ic-try .readings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
  .ic-try .readings { gap: var(--space-2); }
  .ic-try .readings > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid var(--figure-rule); padding-bottom: var(--space-1); }
}
.ic-seg4 { display: inline-grid; grid-template-columns: repeat(4, auto); }
@media (max-width: 600px) {
  .ic-seg4 { grid-template-columns: repeat(2, auto); }
  .ic-seg4 button:nth-child(3) { border-left: 0; }
  .ic-seg4 button:nth-child(n+3) { border-top: 1px solid var(--rule-strong); }
}
.ic-side .tscroll { margin-top: var(--space-2); width: 0; min-width: 100%; }
.ic-side table.data { table-layout: fixed; width: 100%; min-width: 0; }
.ic-side table.data th[scope="row"] { width: 30%; }
.ic-tryfig { display: grid; gap: var(--space-3); min-width: 0; }
.ic-side table.data { font-size: 15px; }
@media (max-width: 420px) { .ic-side table.data { font-size: 14px; } .ic-side table.data td, .ic-side table.data th { padding-inline: 4px; } }
.ic-side table.data td, .ic-side table.data th { text-align: left; vertical-align: top; white-space: normal; }
.ic-side table.data th[scope="row"] { font-weight: 700; }
.ic-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.ic-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.ic-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.ic-data[open] summary { margin-bottom: var(--space-2); }
.ic-data .tscroll { width: 0; min-width: 100%; }
.ic-data table.data { font-size: 15px; min-width: 0; }
.ic-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.ic-data table.data th[scope="row"] { font-weight: 400; }
.ic-data table.data td, .ic-data table.data th { white-space: nowrap; }
.ic-data table.ic-wrap td { white-space: normal; text-align: left; }


.hero-text .cr-read { color: var(--ink-2); max-width: 32em; }
.cr-eq { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .3em; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.cr-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.cr-eq + .body { margin-top: var(--space-4); }
.cr-eq sup { font-size: .66em; line-height: 0; }
.cr-eq sup .fs-v { padding: 0; }
.context-row.cr-row2 { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.cr-row2 { margin-top: var(--space-8); } }
.mk.cr-mk3 { background: var(--range-3); }
.pt .cr-hd, .ch .cr-hd { fill: var(--reference); fill-opacity: .45; }
.pt .cr-da, .ch .cr-da { fill: var(--range-3); fill-opacity: .32; }
.pt .cr-fc, .ch .cr-fc { fill: var(--range-2); }
.pt .cr-bad, .ch .cr-bad { fill: #b3261e; }
.pt .cr-fec { fill: var(--range-1); fill-opacity: .55; }
.pt .cr-pre { fill: none; stroke: var(--figure-axis); stroke-width: 1.2; stroke-dasharray: 3 3; }
.ch .cr-lane { fill: none; stroke: var(--figure-grid); stroke-width: 1; }
.ch .cr-name, .pt .cr-name { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.ch .cr-cl, .pt .cr-cl { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.ch .cr-hex, .pt .cr-hex { font-size: 15px; font-weight: 800; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.ch .cr-hfc { fill: var(--range-2); } .ch .cr-hbad { fill: #b3261e; }
.ch .cr-flip { stroke: #b3261e; stroke-width: 2.4; }
.ch .cr-flipl { font-size: 14px; font-weight: 700; fill: #b3261e; }
.ch .cr-ph { stroke: var(--figure-ink); stroke-width: 1.4; opacity: 0; } .ch .cr-ph.on { opacity: 1; }
.ch .cr-at { transition: opacity .3s ease; } .ch .cr-at.off { opacity: 0; }
.ch .cr-ldr, .pt .cr-ldr { stroke: var(--figure-ink-2); stroke-width: 1; fill: none; }
.draw svg.cr-pic { overflow: hidden; }
.pt .cr-glow { fill: none; stroke: #ffd66b; stroke-linecap: round; stroke-linejoin: round; opacity: .95; }
.pt .cr-tag { font-size: 14px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.pt .cr-ldot, .ch .cr-ldot { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .cr-fn { font-size: 15px; font-weight: 800; fill: var(--figure-ink); } .pt .cr-fn.cr-fnw { fill: #ffffff; }
.pt .cr-fname { font-size: 14px; fill: var(--figure-ink); }
.pt .cr-fname2 { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .cr-fsz { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .cr-fhex { font-size: 14px; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .cr-fnot { font-size: 14px; font-style: italic; fill: var(--figure-muted); }
.pt .cr-brk, .ch .cr-brk { fill: none; stroke: var(--range-2); stroke-width: 1.6; }
.pt .cr-brk2 { fill: none; stroke: var(--range-1); stroke-width: 1.6; }
.pt .cr-bl, .ch .cr-bl { font-size: 14px; font-style: italic; fill: var(--figure-ink); }
.pt .cr-ah { fill: var(--range-2); stroke: none; }
.ch .cr-ah { fill: var(--figure-ink-2); stroke: none; }
.ch .cr-w { stroke: var(--figure-ink-2); stroke-width: 1.4; fill: none; }
.ch .cr-xor { fill: var(--figure); stroke: var(--figure-ink-2); stroke-width: 1.4; }
.ch .cr-dg { font-size: 16px; fill: var(--figure-ink); text-anchor: middle; font-variant-numeric: lining-nums tabular-nums; }
.ch .cr-dg.cr-dz { fill: var(--figure-muted); }
.ch .cr-dg.cr-dgp { fill: var(--range-3); font-weight: 700; }
.ch .cr-dg.cr-dim { fill: var(--figure-rule); }
.ch .cr-dg.cr-rem { fill: var(--range-2); font-weight: 800; }
.ch .cr-rule { stroke: var(--figure-axis); stroke-width: 1; }
.ch .cr-rbox { fill: none; stroke: var(--range-2); stroke-width: 1.6; }
.ch .cr-reml { font-size: 15px; font-weight: 800; fill: var(--range-2); }
.ch .cr-mcell { fill: none; stroke: var(--figure-rule); stroke-width: 1; }
.ch .cr-mdone { fill: var(--figure-grid); }
.ch .cr-mbit { font-size: 15px; fill: var(--figure-ink); }
.ch .cr-mbit.cr-mnow { font-weight: 800; }
.ch .cr-mhl { fill: none; stroke: var(--range-3); stroke-width: 2; }
.ch .cr-reg { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.6; }
.ch .cr-in { fill: none; stroke: var(--range-3); stroke-width: 1.6; }
.ch .cr-rn { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.ch .cr-rv { font-size: 19px; font-weight: 800; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.ch .cr-rv.cr-rvf { fill: var(--range-2); }
.ch .cr-fbv { font-size: 14px; font-weight: 700; fill: var(--figure-muted); } .ch .cr-fbv.cr-fb1 { fill: var(--range-3); }
.ch .cr-clk { font-size: 15px; fill: var(--figure-ink); } .ch .cr-clk.cr-clkf { font-weight: 800; fill: var(--range-2); }
.ch .cr-box { fill: none; stroke: var(--figure-rule); stroke-width: 1; }
.ch .cr-on { fill: var(--range-2); } .ch .cr-onb { fill: var(--figure-ink-2); }
.ch .cr-tick { stroke: var(--figure-grid); stroke-width: .8; fill: none; } .ch .cr-tick4 { stroke: var(--figure-rule); stroke-width: 1; fill: none; }
.ch .cr-diff { fill: none; stroke: #b3261e; stroke-width: 1.6; }
.ch .cr-tap { fill: var(--figure-ink-2); }
.ch .cr-rl { font-size: 15px; fill: var(--figure-ink); }
.ch .cr-step { fill: none; stroke: var(--range-2); stroke-width: 2.5; stroke-linejoin: miter; }
.ch .cr-dot { fill: var(--figure-ink); stroke: var(--figure); stroke-width: 2; }
.ch .cr-ml { font-size: 15px; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.ch .cr-bp { font-size: 14px; font-style: italic; fill: var(--range-2); }
.ch .cr-ml.cr-mln { font-weight: 800; }
.pt .cr-th { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .cr-rule2 { stroke: var(--figure-grid); stroke-width: 1; }
.pt .cr-tn { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .cr-hex2 { font-size: 15px; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums; }
.pt .cr-tv { font-size: 15px; fill: var(--figure-ink); }
.pt .cr-tv2 { font-size: 14px; font-style: italic; fill: var(--figure-ink-2); }
.pt .cr-hex.cr-hfc { fill: var(--range-2); }
.pt .cr-fin { font-size: 15px; font-weight: 700; fill: var(--figure-ink); }
.pt .cr-sl { font-size: 14px; fill: var(--figure-ink); }
.pt .cr-stepb { fill: none; stroke: var(--figure-ink-2); stroke-width: 1.4; } .pt .cr-stepb.cr-stepbad { stroke: #b3261e; }
.pt .cr-stept { font-size: 14px; font-weight: 700; fill: var(--figure-ink); }
.pt .cr-w { stroke: var(--figure-ink-2); stroke-width: 1.4; fill: none; }
.pt .cr-w + .cr-ah { fill: var(--figure-ink-2); }
.ch .cr-mac { stroke: var(--figure-axis); stroke-width: 1; stroke-dasharray: 3 3; }
.ch .cr-macl { font-size: 14px; font-weight: 700; fill: var(--figure-ink-2); }
.ch .cr-l3 { fill: none; stroke: var(--range-3); stroke-width: 2.2; stroke-linejoin: round; }
.ch .cr-l2 { fill: none; stroke: var(--range-2); stroke-width: 2.2; stroke-linejoin: round; }
.ch .cr-d3 { fill: var(--range-3); stroke: var(--figure); stroke-width: 1.5; } .ch .cr-d2 { fill: var(--range-2); stroke: var(--figure); stroke-width: 1.5; }
.ch .cr-el { font-size: 15px; font-weight: 800; } .ch .cr-c3 { fill: var(--range-3); } .ch .cr-c2 { fill: var(--range-2); }
.ch .cr-err { fill: #b3261e; }
.ch .cr-bn { font-size: 14px; font-weight: 700; fill: #b3261e; }
.cr-try .cr-st:not(.on) { display: none; }
.cr-try .controls .seg { flex-wrap: wrap; }
.cr-try .seg button { min-height: 44px; }
.cr-try .readings { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
@media (max-width: 760px) { .cr-try .readings { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cr-try .readings dd.cr-miss { color: #b3261e; }
:root[data-theme="dark"] .cr-try .readings dd.cr-miss { color: #f08a80; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .cr-try .readings dd.cr-miss { color: #f08a80; } }
.cr-uses { margin: var(--space-6) 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-12); }
@media (max-width: 760px) { .cr-uses { grid-template-columns: minmax(0, 1fr); } }
.cr-use { border-top: 1px solid var(--rule); padding-top: var(--space-3); min-width: 0; }
.cr-use dt { display: grid; gap: 2px; }
.cr-use dt .caption { color: var(--ink-muted); }
.cr-ulink { font-weight: 800; font-size: 19px; color: var(--ink); }
.cr-ucheck { font-size: 16px; color: var(--ink-2); }
.cr-use dd { margin: var(--space-2) 0 0; }
.cr-use dd p { margin: 0; }
.cr-use .cr-usrc { margin-top: var(--space-1); color: var(--ink-muted); }
.cr-use .cr-usrc a { display: inline-block; min-height: 46px; line-height: 46px; white-space: nowrap; margin-right: var(--space-4); }
.cr-x { line-height: 0; }
.cr-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.cr-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.cr-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.cr-data[open] summary { margin-bottom: var(--space-2); }
.cr-data .tscroll { width: 0; min-width: 100%; }
.cr-data table.data { font-size: 15px; min-width: 0; }
.cr-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.cr-data table.data th[scope="row"] { font-weight: 400; }
.cr-data table.data td, .cr-data table.data th { white-space: nowrap; }
.cr-data table.cr-wrap td { white-space: normal; text-align: left; }


.hero-text .cc-read { color: var(--ink-2); max-width: 32em; }
.cc-eq { display: flex; flex-wrap: wrap; font-size: 21px; margin: var(--space-3) 0 0; color: var(--ink); }
.cc-eq.fs-filled { margin-top: var(--space-2); color: var(--ink-2); }
.cc-eq + .body { margin-top: var(--space-4); }
.cc-eq.fs-filled .fs-root > .under { gap: .3em; }
@media (max-width: 420px) { .cc-eq { font-size: 18px; } }
.context-row.cc-row2, .context-row.cc-row3 { margin-top: var(--space-12); }
.ledes.cc-after { margin-top: var(--space-12); }
@media (max-width: 860px) { .context-row.cc-row2, .context-row.cc-row3, .ledes.cc-after { margin-top: var(--space-8); } }
.pt .cc-c1, .ch .cc-c1 { fill: var(--range-1); } .pt .cc-c2, .ch .cc-c2 { fill: var(--range-2); } .pt .cc-c3, .ch .cc-c3 { fill: var(--range-3); }
.pt .cc-box { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 1.4; }
.pt .cc-boxt { font-size: 15px; font-weight: 800; fill: var(--figure-ink); }
.pt.narrow .cc-boxt { font-size: 13px; }
.pt .cc-coax { stroke: #3a3a38; stroke-width: 7; stroke-linecap: round; } .pt .cc-coax-c { stroke: #8a8a86; stroke-width: 1.6; }
.pt .cc-job { opacity: .18; transition: opacity .3s; } .pt .cc-job.on { opacity: 1; }
.pt .cc-ja { stroke-width: 2.2; } .pt .cc-ja3 { stroke: var(--range-3); } .pt .cc-ja3s { stroke: var(--range-3); stroke-dasharray: 5 4; }
.pt .cc-ja1 { stroke: var(--range-1); } .pt .cc-ja2 { stroke: var(--range-2); }
.pt .cc-jh3 { fill: var(--range-3); } .pt .cc-jh1 { fill: var(--range-1); } .pt .cc-jh2 { fill: var(--range-2); }
.pt .cc-jt { font-size: 14px; font-weight: 700; paint-order: stroke; stroke: var(--figure); stroke-width: 6px; stroke-linejoin: round; }
.pt.narrow .cc-jt { font-size: 13px; }
.ch .cc-dc { fill: none; stroke: var(--range-2); stroke-width: 2; }
.ch .cc-faint { fill: none; stroke: var(--figure-axis); stroke-opacity: .6; stroke-width: 1; stroke-linejoin: round; }
.ch .cc-live { fill: none; stroke-width: 2.2; stroke-linejoin: round; }
.ch .cc-l0 { stroke: var(--figure-ink); stroke-width: 1.2; } .ch .cc-l1 { stroke: var(--range-1); stroke-width: 2.6; } .ch .cc-l3 { stroke: var(--range-3); stroke-width: 1.3; }
.ch .cc-step { font-size: 15px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 5px; stroke-linejoin: round; }
.ch.narrow .cc-step { font-size: 13.5px; }
.draw svg.cc-pic { overflow: hidden; }
.pt .cc-cu { stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.pt .cc-cu-d, .pt .cc-cu-d path, .pt .cc-cu-d rect { fill: #a9cdf2; stroke: #a9cdf2; }
.pt .cc-cu-p, .pt .cc-cu-p path, .pt .cc-cu-p rect { fill: #f6b98f; stroke: #f6b98f; }
.pt .cc-cu path, .pt .cc-cu rect { stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.mk-bar.cc-mkd { background: #a9cdf2; border: 1px solid var(--range-3); box-sizing: border-box; }
.mk-bar.cc-mkp { background: #f6b98f; border: 1px solid var(--range-2); box-sizing: border-box; }
.pt .cc-cable { fill: none; stroke: #3a3a38; stroke-width: 6; stroke-linecap: round; } .pt .cc-cable-c { fill: none; stroke: #8a8a86; stroke-width: 1.4; }
.pt .cc-name { font-size: 16px; font-weight: 800; font-style: italic; fill: var(--figure-ink); }
.pt .cc-tag, .pt .cc-tag2 { font-size: 14px; font-style: italic; fill: var(--figure-ink); paint-order: stroke; stroke: rgba(255, 255, 255, .92); stroke-width: 4px; stroke-linejoin: round; }
.pt .cc-ldr { stroke: #fff; stroke-width: 1.4; } .pt .cc-ldot { fill: #fff; stroke: var(--figure-ink); stroke-width: 1.2; }
.sc .cc-ring { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; }
.ch .cc-ln { fill: none; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.ch .cc-l2 { stroke: var(--range-2); } .ch .cc-thick { stroke-width: 2.8; }
.ch .cc-d1 { stroke-dasharray: 9 5; stroke-linecap: butt; } .ch .cc-d2 { stroke-dasharray: 2.5 4; stroke-width: 2.8; }
.ch .cc-ideal { stroke: var(--reference); stroke-width: 1.8; stroke-dasharray: 6 4; }
.ch .cc-lone { stroke: var(--reference); stroke-width: 1.8; stroke-dasharray: 6 4; }
.ch .cc-wall, .ch .cc-lim { fill: none; stroke: var(--figure-ink); stroke-width: 1.6; }
.ch .cc-x { fill: var(--figure); stroke: var(--figure-ink); stroke-width: 2; }
.ch .cc-ring2 { fill: none; stroke: var(--figure-ink); stroke-width: 1.3; }
.ch .cc-lab { font-size: 15px; font-weight: 700; fill: var(--figure-ink); paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.ch .cc-lab.cc-c2 { fill: var(--range-2); }
.ch .cc-val { font-size: 15px; font-weight: 700; fill: var(--figure-ink); font-variant-numeric: lining-nums tabular-nums;
  paint-order: stroke; stroke: var(--figure); stroke-width: 4px; stroke-linejoin: round; }
.ch.narrow .cc-lab, .ch.narrow .cc-val { font-size: 13.5px; }
.ch .cc-eyebox { fill: none; stroke: var(--figure-rule); stroke-width: 1; }
.ch .cc-band { fill: var(--range-1); fill-opacity: .2; stroke: var(--range-1); stroke-opacity: .5; stroke-width: .6; }
.ch .cc-open { stroke: var(--figure-ink); stroke-width: 1.8; }
.mk.cc-mk2 { background: var(--range-2); height: 3px; }
.mk.cc-mkd1 { background: repeating-linear-gradient(90deg, var(--range-2) 0 9px, transparent 9px 14px); }
.mk.cc-mkd2 { background: repeating-linear-gradient(90deg, var(--range-2) 0 3px, transparent 3px 7px); }
.mk.cc-mkideal, .mk.cc-mklone { background: repeating-linear-gradient(90deg, var(--reference) 0 6px, transparent 6px 10px); height: 2px; }
.mk.cc-mkwall, .mk.cc-mklim { background: var(--figure-ink); height: 2px; }
.mk-ring.cc-ring { border: 1.5px solid var(--figure-ink); width: 9px; height: 9px; }
.cc-side .tscroll { margin-top: var(--space-2); width: 0; min-width: 100%; }
.cc-side table.data { table-layout: fixed; width: 100%; min-width: 0; font-size: 15px; }
.cc-side table.data th[scope="row"] { width: 26%; font-weight: 700; }
.cc-side table.data td, .cc-side table.data th { text-align: left; vertical-align: top; white-space: normal; }
@media (max-width: 420px) { .cc-side table.data { font-size: 14px; } .cc-side table.data td, .cc-side table.data th { padding-inline: 4px; } }
.cc-try [data-pb]:not(.on) { display: none; }
.cc-try .seg button { min-width: 48px; }
.cc-try .readings { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
  .cc-try .readings { gap: var(--space-2); }
  .cc-try .readings > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); border-bottom: 1px solid var(--figure-rule); padding-bottom: var(--space-1); }
}
.cc-data { margin-top: var(--space-2); font-style: normal; color: var(--figure-ink); }
.cc-data summary { cursor: pointer; font-style: italic; color: var(--figure-ink-2); padding-block: 11px; min-height: 44px; box-sizing: border-box; width: max-content; }
.cc-data summary:focus-visible { outline: 2px solid #2f6b4c; outline-offset: 2px; }
.cc-data[open] summary { margin-bottom: var(--space-2); }
.cc-data .tscroll { width: 0; min-width: 100%; }
.cc-data table.data { font-size: 15px; min-width: 0; }
.cc-data table.data caption { caption-side: top; text-align: left; padding-bottom: var(--space-2); color: var(--figure-muted); }
.cc-data table.data th[scope="row"] { font-weight: 400; }
.cc-data table.data td, .cc-data table.data th { white-space: nowrap; }
.cc-data table.cc-wrap td { white-space: normal; text-align: left; }
.cc-u { font-family: var(--font-text); letter-spacing: 0; }
