/* ---- fonts.css ---- */
/* subsets with their fontsource unicode-range (design-fidelity 2026-10-21: without it the latin, latin-ext and greek files of a face
   formed one composite font and glyphs, spaces included, came from the wrong subset — kerning and line breaks differed from the kit) */
/* source-serif-4-latin-400-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* source-serif-4-latin-ext-400-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* source-serif-4-greek-400-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-greek-400-normal.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}/* source-serif-4-latin-400-italic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-latin-400-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* source-serif-4-latin-ext-400-italic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-latin-ext-400-italic.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* source-serif-4-greek-400-italic */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-serif-4-greek-400-italic.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}/* source-serif-4-latin-600-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-serif-4-latin-600-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* source-serif-4-latin-ext-600-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-serif-4-latin-ext-600-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* source-serif-4-greek-600-normal */
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-serif-4-greek-600-normal.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}/* source-sans-3-latin-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-sans-3-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* source-sans-3-latin-ext-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-sans-3-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* source-sans-3-greek-400-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/source-sans-3-greek-400-normal.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}/* source-sans-3-latin-500-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/source-sans-3-latin-500-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* source-sans-3-latin-ext-500-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/source-sans-3-latin-ext-500-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* source-sans-3-greek-500-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/source-sans-3-greek-500-normal.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}/* source-sans-3-latin-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-sans-3-latin-600-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* source-sans-3-latin-ext-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-sans-3-latin-ext-600-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* source-sans-3-greek-600-normal */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/source-sans-3-greek-600-normal.woff2) format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}/* ibm-plex-mono-latin-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* ibm-plex-mono-latin-ext-400-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}/* ibm-plex-mono-latin-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}/* ibm-plex-mono-latin-ext-500-normal */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* ---- hl.css ---- */
/* headlesslaw reading interface — tokens and components
   Server-rendered, works without JavaScript. Separation by space, tone and soft shadow; no rules or outlines.
   Class prefix: hl-. State modifiers: is-*. Every colour comes from a token. */

/* ---------- 1. Tokens ---------- */
:root{
  /* lane design-system-pre-switch (2026-11-01): shadcn/ui zinc neutrals with the approved chip sheet's values; links EU blue.
     lane w45-theme-no-hairlines (operator 2026-11-02 05:59 "Just no hairlines"): the surfaces are the pre-switch kit's warm
     tones again — page, a tinted side surface, white cards with a soft shadow; no 1 px ring anywhere. ui.css holds the rest. */
  /* surfaces — lane w47-frame-nav-chips (operator 2026-11-07 10:06 "white rule … across the page"; decision 2b): three tones,
     no lines. page < chrome (header, library tree, right panel) and the reader, the one bright surface; white means focus:
     the reader and the current item only. step = a tile or control on the chrome or the reader, and a tree row's hover;
     step-hover = a tile's hover (light: one step back toward the chrome, so muted text keeps 4.5:1). Old names are aliases
     (alias map: .agents/lanes/w47-frame-nav-chips.md "Round 2 adopted"). */
  --hl-page:#F7F7F4; --hl-chrome:#EEEEEA; --hl-step:#E4E4DF; --hl-step-hover:#E9E9E4; --hl-reader:#FFFFFF;
  --hl-bg:var(--hl-page); --hl-surface:var(--hl-reader); --hl-tone:var(--hl-chrome); --hl-tone-2:var(--hl-step);
  /* text */
  --hl-ink:#18181B; --hl-ink-2:#3F3F46; --hl-muted:#63636B; --hl-uline:#A1A1AA;
  /* link and focus */
  --hl-link:#003399; --hl-link-wash:#EEF2FA;
  /* states: fill / text on fill */
  --hl-info:#EEF2FA; --hl-info-ink:#002B80;
  --hl-warn:#FFFAE0; --hl-warn-ink:#6B5200;
  --hl-stop:#FEE2E2; --hl-stop-ink:#B91C1C;
  --hl-calm:#F4F4F5; --hl-calm-ink:#3F3F46;
  --hl-ok:#16A34A;
  /* diff */
  --hl-ins:#DCE4F4; --hl-ins-line:#003399; --hl-del:#FEE2E2; --hl-del-ink:#991B1B;
  --hl-mark:#FFF3B0;
  /* depth: soft shadow, no ring (the pre-switch kit's values) */
  --hl-sh-1:0 1px 2px rgba(23,24,27,.05),0 3px 12px rgba(23,24,27,.06);
  --hl-sh-2:0 2px 6px rgba(23,24,27,.07),0 14px 36px rgba(23,24,27,.12);
  /* type */
  --hl-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --hl-sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;
  --hl-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  /* shape and space (shadcn radius .625rem: md 8, lg 10, xl 14) */
  --hl-r-row:6px; --hl-r-btn:8px; --hl-r-panel:10px; --hl-r-card:12px; --hl-r-sheet:16px;
  --hl-gutter:76px; --hl-gap:18px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --hl-page:#1C1C1B; --hl-chrome:#222220; --hl-step:#2A2A27; --hl-step-hover:#2F2F2C; --hl-reader:#333330;
  --hl-bg:var(--hl-page); --hl-surface:var(--hl-reader); --hl-tone:var(--hl-chrome); --hl-tone-2:var(--hl-step);
  --hl-ink:#F4F4F5; --hl-ink-2:#D4D4D8; --hl-muted:#A1A1AA; --hl-uline:#71717A;
  --hl-link:#8FAEFF; --hl-link-wash:#0E1A3D;
  --hl-info:#0E1A3D; --hl-info-ink:#AFC3FF; --hl-warn:#2A2205; --hl-warn-ink:#FFE07A;
  --hl-stop:#3B1214; --hl-stop-ink:#FCA5A5; --hl-calm:#1C1C20; --hl-calm-ink:#D4D4D8; --hl-ok:#22C55E;
  --hl-ins:#13234F; --hl-ins-line:#8FAEFF; --hl-del:#3B1214; --hl-del-ink:#FCA5A5; --hl-mark:#4A3F1C;
  --hl-sh-1:0 1px 2px rgba(0,0,0,.3),0 3px 12px rgba(0,0,0,.25);
  --hl-sh-2:0 2px 6px rgba(0,0,0,.35),0 14px 36px rgba(0,0,0,.5);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --hl-page:#1C1C1B; --hl-chrome:#222220; --hl-step:#2A2A27; --hl-step-hover:#2F2F2C; --hl-reader:#333330;
  --hl-bg:var(--hl-page); --hl-surface:var(--hl-reader); --hl-tone:var(--hl-chrome); --hl-tone-2:var(--hl-step);
  --hl-ink:#F4F4F5; --hl-ink-2:#D4D4D8; --hl-muted:#A1A1AA; --hl-uline:#71717A;
  --hl-link:#8FAEFF; --hl-link-wash:#0E1A3D;
  --hl-info:#0E1A3D; --hl-info-ink:#AFC3FF; --hl-warn:#2A2205; --hl-warn-ink:#FFE07A;
  --hl-stop:#3B1214; --hl-stop-ink:#FCA5A5; --hl-calm:#1C1C20; --hl-calm-ink:#D4D4D8; --hl-ok:#22C55E;
  --hl-ins:#13234F; --hl-ins-line:#8FAEFF; --hl-del:#3B1214; --hl-del-ink:#FCA5A5; --hl-mark:#4A3F1C;
  --hl-sh-1:0 1px 2px rgba(0,0,0,.3),0 3px 12px rgba(0,0,0,.25);
  --hl-sh-2:0 2px 6px rgba(0,0,0,.35),0 14px 36px rgba(0,0,0,.5);
  color-scheme:dark}

/* ---------- 2. Base ---------- */
body{margin:0;background:var(--hl-bg);color:var(--hl-ink);font:400 15px/1.5 var(--hl-sans);-webkit-font-smoothing:antialiased}
/* the base link colour sits in the `base` layer (lane w47-frame-nav-chips): Basecoat's components (layer `components`) style
   their own anchors (`a.btn`); every other link rule of the kit is unlayered and wins as before */
@layer base{a{color:var(--hl-link)}}
:focus-visible{outline:3px solid var(--hl-link);outline-offset:2px;border-radius:4px}
.hl-mono{font-family:var(--hl-mono)}
.hl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hl-skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--hl-ink);color:var(--hl-bg);padding:10px 14px;border-radius:var(--hl-r-btn)}
.hl-skip:focus{top:12px}
h1,h2,h3{text-wrap:balance}

/* ---------- 3. Page shell ---------- */
.hl-top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:linear-gradient(to bottom,var(--hl-bg) 62%,transparent)}
.hl-top__in{max-width:1400px;margin:0 auto;box-sizing:border-box;padding:16px 32px 30px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.hl-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--hl-ink);font:600 18px/1 var(--hl-sans);letter-spacing:-.01em}
.hl-logo svg{color:var(--hl-ink)}
.hl-search{flex:1 1 320px;max-width:600px;display:flex;align-items:center;gap:10px;height:46px;padding:0 8px 0 16px;background:var(--hl-step);border-radius:16px;transition:box-shadow .2s}
.hl-search:focus-within{box-shadow:var(--hl-sh-2)} @media (hover:hover){.hl-search:hover{box-shadow:var(--hl-sh-2)}}
.hl-search input{flex:1;min-width:0;border:0;background:transparent;font:400 15px var(--hl-sans);color:var(--hl-ink);outline:none}
.hl-search input::placeholder{color:var(--hl-muted)}
.hl-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.hl-layout{max-width:1400px;margin:0 auto;box-sizing:border-box;padding:0 32px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.hl-nav{flex:0 1 224px;min-width:0}
.hl-main{flex:999 1 560px;min-width:0;max-width:800px;padding-bottom:72px}
.hl-aside{flex:0 1 300px;min-width:0;display:flex;flex-direction:column;gap:32px;padding-bottom:72px}
.hl-head{margin-left:calc(var(--hl-gutter) + var(--hl-gap))}
.hl-foot{max-width:1400px;margin:0 auto;box-sizing:border-box;padding:32px 32px 40px;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px;color:var(--hl-muted)}
.hl-foot a{color:var(--hl-ink-2);text-decoration:none}
.hl-foot__release{margin-left:auto;font:400 12px var(--hl-mono)}

/* buttons: tonal, never outlined */
.hl-btn{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:0;border-radius:var(--hl-r-btn);background:var(--hl-tone);color:var(--hl-ink);font:500 14px var(--hl-sans);text-decoration:none;cursor:pointer}
@media (hover:hover){.hl-btn:hover{background:var(--hl-tone-2)}}
.hl-btn.is-ghost{background:transparent;color:var(--hl-ink-2)}
@media (hover:hover){.hl-btn.is-ghost:hover{background:var(--hl-tone)}}
.hl-btn.is-strong{background:var(--hl-ink);color:var(--hl-bg)}
.hl-btn.is-on{background:var(--hl-link-wash);color:var(--hl-link)}

/* reserved slots for account-dependent parts (hydrated after load, fixed size, no layout shift) */
.hl-slot{display:inline-block;min-height:38px;border-radius:var(--hl-r-btn)}
.hl-slot--watch{width:92px}
.hl-slot--account{width:38px;border-radius:50%}
.hl-slot--export{display:block;width:100%;min-height:0}
.hl-slot:empty{background:transparent}
/* header (operator 2026-10-31 E): an empty reserved slot takes no room, so As of today · .md · .json sit together (nothing
   fills a slot until accounts exist; reinstate the reservation with them) */
.hl-actions>.hl-slot:empty{display:none}

/* ---------- 4. Trust line ---------- */
.hl-title{font:600 35px/1.2 var(--hl-serif);letter-spacing:-.012em;margin:0 0 14px}
.hl-trust{font:italic 400 16.5px/1.5 var(--hl-serif);color:var(--hl-ink-2);margin:0 0 18px}
.hl-trust.is-unverified{display:inline-block;color:var(--hl-warn-ink);background:var(--hl-warn);border-radius:var(--hl-r-row);padding:4px 10px}
.hl-trust.is-unverified a{color:inherit}

/* ---------- 5. Limits ---------- */
.hl-limits{background:var(--hl-tone);color:var(--hl-ink-2);border-radius:12px;margin:0 0 14px;font-size:13.5px}
.hl-limits>summary{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;min-height:40px;padding:4px 14px;cursor:pointer}
.hl-limits>summary::-webkit-details-marker{display:none}
.hl-limits__label{font-weight:600;color:var(--hl-ink)}
.hl-limits__more{margin-left:auto;color:var(--hl-muted)}
.hl-limits[open] .hl-limits__more{visibility:hidden}
.hl-limits dl{display:grid;grid-template-columns:112px minmax(0,1fr);gap:6px 14px;margin:0;padding:4px 14px 14px;line-height:1.45}
.hl-limits dt{color:var(--hl-muted)}
.hl-limits dd{margin:0}
.hl-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--hl-ok);margin-right:6px;transform:translateY(-1px)}
.hl-limits.is-warn{background:var(--hl-warn);color:var(--hl-warn-ink)}
.hl-limits.is-stop{background:var(--hl-stop);color:var(--hl-stop-ink)}
.hl-limits.is-info{background:var(--hl-info);color:var(--hl-info-ink)}
.hl-limits.is-warn .hl-limits__label,.hl-limits.is-stop .hl-limits__label,.hl-limits.is-info .hl-limits__label,
.hl-limits.is-warn dt,.hl-limits.is-stop dt,.hl-limits.is-info dt,
.hl-limits.is-warn .hl-limits__more,.hl-limits.is-stop .hl-limits__more,.hl-limits.is-info .hl-limits__more{color:inherit}
.hl-limits a{color:inherit}

/* ---------- 6. Banners (one at most, above the title) ---------- */
.hl-banner{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:flex-start;border-radius:var(--hl-r-card);padding:16px 18px;margin:0 0 26px}
.hl-banner__body{flex:1 1 320px;min-width:0}
.hl-banner__title{display:block;font-weight:600;font-size:16px;margin:0 0 3px}
.hl-banner__text{display:block;font-size:14px;line-height:1.5}
.hl-banner__act{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--hl-r-btn);background:var(--hl-step);color:var(--hl-ink);font-size:14px;font-weight:500;text-decoration:none}
.hl-banner.is-info{background:var(--hl-info);color:var(--hl-info-ink)}
.hl-banner.is-warn{background:var(--hl-warn);color:var(--hl-warn-ink)}
.hl-banner.is-stop{background:var(--hl-stop);color:var(--hl-stop-ink)}
.hl-banner.is-calm{background:var(--hl-calm);color:var(--hl-calm-ink)}
.hl-banner a:not(.hl-banner__act){color:inherit}
/* stands in for text we do not hold — never filled with current text */
.hl-none{border-radius:12px;padding:16px;background:repeating-linear-gradient(135deg,var(--hl-tone) 0 6px,transparent 6px 12px);color:var(--hl-muted);font-size:14px}

/* ---------- 7. Version timeline (an ordered list of links; drawn as a track) ---------- */
.hl-timeline{background:var(--hl-tone);border-radius:var(--hl-r-panel);padding:14px 20px;margin:0 0 40px}
.hl-timeline__head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:10px}
.hl-timeline__head b{font-weight:600}
.hl-timeline ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px;position:relative}
.hl-timeline li{position:relative;padding-top:20px;font:400 12px var(--hl-mono);color:var(--hl-ink-2)}
.hl-timeline li::before{content:"";position:absolute;left:0;top:3px;width:13px;height:13px;border-radius:50%;background:var(--hl-step-hover);box-shadow:inset 0 0 0 2px var(--hl-muted)}
.hl-timeline li.is-shown{color:var(--hl-ink);font-weight:500}
.hl-timeline li.is-shown::before{background:var(--hl-ink);box-shadow:none}
.hl-timeline li.is-date{color:var(--hl-muted)}
.hl-timeline li.is-date::before{width:3px;left:5px;border-radius:2px;background:var(--hl-muted);box-shadow:none}
.hl-timeline li.is-viewing{color:var(--hl-link);font-weight:500}
.hl-timeline li.is-viewing::before{width:3px;left:5px;border-radius:2px;background:var(--hl-link);box-shadow:none}
.hl-timeline a{color:inherit;text-decoration:none}
@media (hover:hover){.hl-timeline a:hover{text-decoration:underline}}

/* date picker: a GET form (?at=YYYY-MM-DD); script only opens it as a popover */
.hl-datepick{background:var(--hl-step);border-radius:var(--hl-r-card);padding:16px;width:min(340px,100%);box-sizing:border-box}
.hl-datepick label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
/* the aside's one versions/date block (operator 2026-10-31 D): version count + compare link on top, in the aside's width */
.hl-datepick.is-versions{width:100%}
.hl-datepick__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;margin:0 0 12px}
.hl-datepick__head b{font-weight:600}
.hl-datepick a.hl-datepick__cmp{display:inline;padding:0;border-radius:0;color:var(--hl-link);font-size:13px;text-decoration:none}
@media (hover:hover){.hl-datepick a.hl-datepick__cmp:hover{background:none;text-decoration:underline}}
.hl-datepick.is-versions label{font-weight:500;color:var(--hl-ink-2)}
.hl-datepick__row{display:flex;gap:8px;margin-bottom:12px}
.hl-datepick input[type=date]{flex:1;min-width:0;height:42px;border:0;border-radius:var(--hl-r-btn);background:var(--hl-tone);padding:0 12px;font:400 15px var(--hl-mono);color:var(--hl-ink)}
.hl-datepick__cap{font:600 12px var(--hl-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--hl-muted);margin:10px 0 4px 12px}
.hl-datepick a{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:var(--hl-r-btn);color:var(--hl-ink);text-decoration:none;font-size:14px}
.hl-datepick a[aria-current]{background:var(--hl-tone)} @media (hover:hover){.hl-datepick a:hover{background:var(--hl-tone)}}
.hl-datepick a span{font:400 12.5px var(--hl-mono);color:var(--hl-muted)}

/* ---------- 8. Provision tree ---------- */
.hl-text{font:400 19px/1.62 var(--hl-serif)}
.hl-text p{margin:0}
/* the phone never scrolls sideways (found by lane design-fixes-pre-switch): an unbroken token (a long URL in an L3 footnote)
   breaks only where it cannot fit a line by itself; a code block scrolls inside its own box */
.hl-text,.hl-main{overflow-wrap:break-word}
.hl-main pre{overflow-x:auto;max-width:100%}
.hl-text p+p{margin-top:12px}
/* a small gap (about half a line) between numbered items of the text: recitals and numbered lists (operator 2026-10-31) */
.hl-text ol>li+li{margin-top:.8em}
.hl-block{display:grid;grid-template-columns:var(--hl-gutter) minmax(0,1fr);column-gap:var(--hl-gap);border-radius:10px;padding:3px 12px 3px 0;position:relative;scroll-margin-top:100px}
.hl-block+.hl-block.is-para{margin-top:22px}
/* the number column holds only the number (.hl-addr): text without a number sits in the text column; bare anchors take no cell */
.hl-block>.hl-addr{grid-column:1}
.hl-block>:not(.hl-addr):not(.hl-copy){grid-column:2}
.hl-block>a[id]:not(.hl-addr){position:absolute;width:0;height:0}
.hl-addr{font:400 12.5px/31px var(--hl-mono);color:var(--hl-muted);text-align:right;text-decoration:none;white-space:nowrap}
@media (hover:hover){.hl-addr:hover{color:var(--hl-link)}}
.hl-n{font-weight:600;margin-right:6px}
.hl-point{display:grid;grid-template-columns:44px minmax(0,1fr)}
.hl-point.is-l2{margin-left:44px}
.hl-point.is-l3{margin-left:88px}
.hl-point>b{font-weight:600}
.hl-note{color:var(--hl-muted)}
.hl-note a{color:inherit}
.hl-block:target{background:var(--hl-link-wash);padding-top:12px;padding-bottom:14px}
.hl-block:target .hl-addr{color:var(--hl-link);font-weight:500}
/* copy bar: visible on hover, keyboard focus and :target; plain links without script */
.hl-copy{position:absolute;right:12px;top:-20px;display:none;gap:2px;background:var(--hl-ink);border-radius:var(--hl-r-btn);padding:3px;box-shadow:var(--hl-sh-2)}
.hl-block:hover .hl-copy,.hl-block:focus-within .hl-copy,.hl-block:target .hl-copy{display:flex}
.hl-copy a,.hl-copy button{border:0;border-radius:8px;background:transparent;color:var(--hl-bg);font:500 13px var(--hl-sans);padding:7px 12px;text-decoration:none;cursor:pointer}
.hl-copy small{font:400 12px var(--hl-mono);opacity:.7;margin-left:4px}
.hl-text.is-unverified{color:var(--hl-ink-2)}
.hl-text.is-unverified .hl-block{grid-template-columns:10px minmax(0,1fr)}
.hl-text.is-unverified .hl-addr{font-size:0;border-radius:5px;background:repeating-linear-gradient(135deg,var(--hl-warn) 0 6px,transparent 6px 12px)}
.hl-text.is-unverified .hl-copy{display:none}
/* tables: zebra by tone, merged cells keep rowspan/colspan, scroll inside their own box */
.hl-scroll{overflow-x:auto;margin:12px 0}
.hl-table{border-collapse:separate;border-spacing:0 6px;font:400 16px/1.5 var(--hl-serif);min-width:100%}
.hl-table th,.hl-table td{text-align:left;vertical-align:top;padding:10px 14px}
.hl-table thead th{font-weight:600;background:var(--hl-tone)}
.hl-table tbody tr:nth-child(even)>*{background:var(--hl-bg)}
.hl-table tr>:first-child{border-radius:10px 0 0 10px}
.hl-table tr>:last-child{border-radius:0 10px 10px 0}

/* defined terms and popover (popover is script-enhanced; the link works alone) */
.hl-term{color:inherit;text-decoration:underline dotted var(--hl-uline);text-decoration-thickness:1.5px;text-underline-offset:4px}
.hl-term:focus{color:var(--hl-link)} @media (hover:hover){.hl-term:hover{color:var(--hl-link)}}
.hl-pop{width:min(440px,90vw);box-sizing:border-box;background:var(--hl-surface);color:var(--hl-ink);border-radius:var(--hl-r-panel);box-shadow:var(--hl-sh-2);padding:16px 18px;font:400 14px/1.5 var(--hl-sans)}
.hl-pop__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.hl-pop__head b{font-weight:600}
.hl-pop__head span{font:400 12px var(--hl-mono);color:var(--hl-muted)}
.hl-pop__text{font:400 16px/1.55 var(--hl-serif)}
.hl-pop a{display:inline-block;margin-top:10px;font-size:13px;text-decoration:none}

/* ---------- 9. Info block (Level 2 and Level 3) ---------- */
.hl-info{display:grid;grid-template-columns:190px minmax(0,1fr);background:var(--hl-step);border-radius:var(--hl-r-card);padding:10px 22px;margin:0 0 36px;font-size:14.5px;line-height:1.5}
.hl-info dt{color:var(--hl-muted);padding:9px 0}
.hl-info dd{margin:0;padding:9px 0}
.hl-info dd.is-empty{color:var(--hl-muted)}
.hl-info a{text-decoration:none}
/* a long legal-nature tag wraps inside the info block (it pushed the phone page sideways; found by lane design-fixes-pre-switch) */
.hl-info .hl-tag{white-space:normal}

/* ---------- 10. Related panel ---------- */
.hl-cap{font:600 12px var(--hl-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--hl-muted);margin:0 0 6px}
.hl-cap span{font:400 12px var(--hl-mono);letter-spacing:0}
.hl-row{display:flex;gap:12px;align-items:baseline;padding:8px 10px;margin:0 -10px;border-radius:var(--hl-r-row);color:var(--hl-ink);text-decoration:none;font-size:14px;line-height:1.4}
@media (hover:hover){.hl-row:hover{background:var(--hl-tone)}}
.hl-row__k{font:400 12px var(--hl-mono);color:var(--hl-muted);flex:0 0 auto;min-width:56px}
.hl-empty{font-size:14px;line-height:1.5;color:var(--hl-ink-2);margin:0}
.hl-empty.is-failed{color:var(--hl-stop-ink);background:var(--hl-stop);border-radius:var(--hl-r-row);padding:8px 10px}
.hl-data{background:var(--hl-tone);border-radius:var(--hl-r-panel);padding:14px 16px;font-size:13px;line-height:1.9}
.hl-data a{display:block;font:400 12.5px var(--hl-mono);text-decoration:none}

/* ---------- 11. Search ---------- */
.hl-result{display:block;padding:18px 22px;border-radius:var(--hl-r-card);text-decoration:none;color:var(--hl-ink)}
@media (hover:hover){.hl-result:hover{background:var(--hl-step)}}
.hl-result__cite{font:500 13px var(--hl-mono);color:var(--hl-link)}
.hl-result__where{font-size:13px;color:var(--hl-muted)}
.hl-result__snip{font:400 17px/1.55 var(--hl-serif);color:var(--hl-ink-2);margin-top:6px}
.hl-result__meta{font-size:13px;color:var(--hl-muted);margin-top:8px}
.hl-result__meta .is-warn{color:var(--hl-warn-ink);background:var(--hl-warn);border-radius:6px;padding:1px 7px}
.hl-result mark{background:var(--hl-mark);color:inherit;border-radius:3px;padding:0 2px}
.hl-cov{margin:8px 0 0;padding:0 0 0 18px;font-size:14px;line-height:1.7;color:var(--hl-ink-2)}

/* ---------- 12. Compare ---------- */
ins{text-decoration:underline;text-decoration-color:var(--hl-ins-line);text-decoration-thickness:2px;text-underline-offset:4px;background:var(--hl-ins);border-radius:4px;padding:1px 2px}
del{color:var(--hl-del-ink);background:var(--hl-del);border-radius:4px;padding:1px 2px}

/* ---------- 13. Imprint ---------- */
.hl-imprint{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 28px;background:var(--hl-step);border-radius:20px;padding:14px 30px 26px;margin:0;font-size:16px;line-height:1.6}
.hl-imprint dt{color:var(--hl-muted);padding:14px 0 0;font-size:14.5px}
.hl-imprint dd{margin:0;padding:14px 0 0}

/* ---------- 14. Phone ---------- */
@media (max-width:720px){
  .hl-top__in{padding:8px 16px 18px}
  .hl-layout,.hl-foot{padding-left:16px;padding-right:16px}
  .hl-title{font-size:27px;line-height:1.22}
  .hl-trust{font-size:15px}
  .hl-head{margin-left:0}
  .hl-text{font-size:18px;line-height:1.6}
  .hl-block{grid-template-columns:minmax(0,1fr);padding-right:0}
  .hl-block>.hl-addr,.hl-block>:not(.hl-addr):not(.hl-copy){grid-column:1}
  .hl-addr{order:-1;text-align:right;line-height:20px}
  .hl-point.is-l2{margin-left:24px} .hl-point.is-l3{margin-left:48px}
  .hl-copy{position:static;display:flex;flex-wrap:wrap;margin-top:12px;background:transparent;box-shadow:none;padding:0;gap:8px}
  .hl-copy a,.hl-copy button{background:var(--hl-ink);min-height:44px;border-radius:12px}
  .hl-block:not(:target) .hl-copy{display:none}
  .hl-info,.hl-imprint,.hl-limits dl{grid-template-columns:minmax(0,1fr)}
  .hl-info dt,.hl-imprint dt{padding-bottom:0}
  .hl-btn{min-height:44px}
  .hl-nav{display:none}
}

/* ---------- 15. Print: the text, its addresses and its trust line ---------- */
@media print{
  :root{--hl-bg:#fff;--hl-ink:#000;--hl-ink-2:#222;--hl-muted:#444}
  .hl-top,.hl-nav,.hl-aside,.hl-actions,.hl-copy,.hl-slot,.hl-timeline,.hl-search{display:none!important}
  .hl-text{font-size:11pt}
  .hl-limits{background:none;padding:0}
  .hl-limits dl{display:grid}
  .hl-main a[href^="http"]::after{content:" <" attr(href) ">";font:9pt var(--hl-mono)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* =====================================================================
   v2 — 18 Oct 2026: L2 article and annex views, source line, front door
   ===================================================================== */

/* ---------- 16. Document context (L2 article and annex views) ---------- */
/* Which act this article belongs to: path, act name and date, the act's official title in full, and the way back. */
.hl-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:start;background:var(--hl-tone);border-radius:var(--hl-r-card);padding:14px 18px 16px;margin:0 0 26px}
.hl-crumbs{grid-column:1/-1;margin:0 0 4px;font-size:13px;color:var(--hl-muted)}
.hl-crumbs a{color:inherit;text-decoration:none}
@media (hover:hover){.hl-crumbs a:hover{color:var(--hl-link);text-decoration:underline}}
.hl-context__act{display:block;font:600 18px/1.35 var(--hl-serif);color:var(--hl-ink);text-decoration:none}
@media (hover:hover){.hl-context__act:hover{color:var(--hl-link)}}
.hl-context__act span{font-weight:400;color:var(--hl-ink-2)}
.hl-context__title{margin:2px 0 0;font:400 15px/1.5 var(--hl-serif);color:var(--hl-ink-2)}
.hl-context__side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:2px}
.hl-context__pos{font:400 12.5px var(--hl-mono);color:var(--hl-muted);white-space:nowrap}
.hl-btn.is-surface{background:var(--hl-step)}
@media (hover:hover){.hl-btn.is-surface:hover{box-shadow:var(--hl-sh-2)}}

/* ---------- 17. Source line (L2 and L3) ---------- */
/* Text = page.source_line, byte for byte. The renderer may wrap the legal-nature segment(s) in .hl-nature and the
   trailing [lifecycle] in .hl-source__life; it never adds, drops or reorders words. Sits between title and trust line. */
.hl-source{max-width:76ch;margin:-4px 0 8px;font:400 15.5px/1.6 var(--hl-sans);color:var(--hl-ink-2)}
.hl-source+.hl-trust{margin-top:0}
.hl-nature{font-weight:600;color:var(--hl-ink);white-space:nowrap}
.hl-source__life{color:var(--hl-muted)}
.hl-source__quote{font-family:var(--hl-serif);color:var(--hl-ink)}
/* not law: a quiet blue label; draft / not adopted: amber. Law (binding) stays plain, like Level 1. */
.hl-source.is-not-law .hl-nature,.hl-tag.is-not-law,.hl-pin.is-not-law{background:var(--hl-info);color:var(--hl-info-ink)}
.hl-source.is-draft .hl-nature,.hl-tag.is-draft,.hl-pin.is-draft{background:var(--hl-warn);color:var(--hl-warn-ink)}
.hl-source.is-not-law .hl-nature,.hl-source.is-draft .hl-nature{border-radius:6px;padding:1px 7px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* the same nature, as a tag in lists and info blocks, and pinned in the sticky header while the page scrolls */
.hl-tag{display:inline-block;border-radius:6px;padding:1px 7px;font:600 12.5px/1.5 var(--hl-sans);white-space:nowrap;background:var(--hl-tone);color:var(--hl-ink-2)}
.hl-tag.is-law{background:var(--hl-tone);color:var(--hl-ink)}
.hl-pin{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:9px;font:600 13px var(--hl-sans);white-space:nowrap;text-decoration:none}

/* ---------- 18. Info block v2: attribution first, dates as a list ---------- */
.hl-info dt.is-gap,.hl-info dt.is-gap+dd{padding-top:22px}
.hl-info .hl-dates{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 14px;margin:0}
.hl-info .hl-dates dt,.hl-info .hl-dates dd{padding:0}
.hl-info .hl-dates dt{color:var(--hl-ink-2)}
.hl-info .hl-dates dd{font-variant-numeric:tabular-nums}
.hl-info strong{font-weight:600}
/* on article views the act's info block folds away; the context card and source line already say what the act is */
.hl-about{margin:0 0 30px}
.hl-about>summary{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:var(--hl-r-btn);background:var(--hl-tone);font-size:14px;font-weight:500;cursor:pointer;list-style:none}
.hl-about>summary::-webkit-details-marker{display:none}
.hl-about>summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--hl-muted);border-bottom:2px solid var(--hl-muted);transform:translateY(-2px) rotate(45deg)}
.hl-about[open]>summary::after{transform:translateY(2px) rotate(225deg)}
.hl-about[open]>.hl-info{margin-top:12px}

/* ---------- 19. Contents column, pager, unit headings ---------- */
.hl-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;overflow-x:hidden;padding:0 6px 24px 0;font-size:13.5px;line-height:1.35}
/* L1 article contents (operator 2026-10-31 C/H): the act's titles folded, the current one open; in the page flow (no box
   scrollbar), starting below the headline */
.hl-toc--l1{position:static;max-height:none;overflow:visible;margin-top:128px;padding-right:0}
.hl-toc--l1.is-below-banner{margin-top:250px}
.hl-toc__part>summary,.hl-toc__ch>summary{list-style:none;cursor:pointer;display:flex;gap:8px;padding:6px 10px;margin:0 -10px;border-radius:var(--hl-r-row);color:var(--hl-ink-2)}
.hl-toc__part>summary::-webkit-details-marker,.hl-toc__ch>summary::-webkit-details-marker{display:none}
.hl-toc__part>summary::before,.hl-toc__ch>summary::before{content:"";flex:0 0 auto;width:0;height:0;margin-top:5px;border:4px solid transparent;border-left:5px solid var(--hl-muted);border-right:0;transition:transform .15s}
.hl-toc__part[open]>summary::before,.hl-toc__ch[open]>summary::before{transform:rotate(90deg)}
@media (hover:hover){.hl-toc__part>summary:hover,.hl-toc__ch>summary:hover{background:var(--hl-tone);color:var(--hl-ink)}}
.hl-toc__part[open]>summary{color:var(--hl-ink);font-weight:600}
.hl-toc__ch{margin-left:13px}
.hl-toc__ch>summary{font-size:12.5px;color:var(--hl-muted)}
.hl-toc__ch[open]>summary{color:var(--hl-ink-2);font-weight:500}
.hl-toc__part>ol,.hl-toc__ch>ol{margin:2px 0 6px 13px}
.hl-toc ol{list-style:none;margin:0;padding:0}
.hl-toc a{display:flex;gap:10px;padding:6px 10px;margin:0 -10px;border-radius:var(--hl-r-row);color:var(--hl-ink-2);text-decoration:none}
@media (hover:hover){.hl-toc a:hover{background:var(--hl-tone);color:var(--hl-ink)}}
.hl-toc a[aria-current]{background:var(--hl-link-wash);color:var(--hl-ink);font-weight:500}
.hl-toc__n{flex:0 0 auto;min-width:30px;font:400 12px/1.6 var(--hl-mono);color:var(--hl-muted)}
.hl-toc__grp{margin:14px 0 4px;font-size:12.5px;font-weight:600;color:var(--hl-muted)}
.hl-toc__act{display:block;margin:0 0 14px;font:600 14px/1.35 var(--hl-sans);color:var(--hl-ink);text-decoration:none}
@media (hover:hover){.hl-toc__act:hover{color:var(--hl-link)}}
.hl-toc-m{display:none}
.hl-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:56px 0 0}
.hl-pager a{display:block;padding:14px 18px;border-radius:var(--hl-r-card);background:var(--hl-step);color:var(--hl-ink);text-decoration:none}
@media (hover:hover){.hl-pager a:hover{box-shadow:var(--hl-sh-2)}}
.hl-pager small{display:block;margin:0 0 3px;font-size:12.5px;color:var(--hl-muted)}
.hl-pager b{font:600 16px/1.35 var(--hl-serif)}
.hl-pager .is-next{grid-column:2;text-align:right}
.hl-pager__all{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin-top:6px;font-size:14px;color:var(--hl-muted)}
.hl-pager__all a{display:inline;padding:0;background:none;box-shadow:none;color:var(--hl-link);font-weight:500}
/* act page: each article and annex heading opens its own page */
.hl-unit-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:44px 0 16px;font:600 22px/1.3 var(--hl-serif);scroll-margin-top:100px}
.hl-unit-head>a:first-child{color:inherit;text-decoration:none}
@media (hover:hover){.hl-unit-head>a:first-child:hover{text-decoration:underline;text-decoration-color:var(--hl-uline);text-underline-offset:5px}}
.hl-unit-head__open{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:8px;background:var(--hl-tone);color:var(--hl-ink-2);font:500 13px var(--hl-sans);text-decoration:none}
@media (hover:hover){.hl-unit-head__open:hover{background:var(--hl-tone-2);color:var(--hl-ink)}}
.hl-row__scope{flex:0 0 auto;margin-left:auto;font-size:12px;color:var(--hl-muted)}

/* ---------- 20. Home ---------- */
.hl-links{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px}
.hl-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:var(--hl-r-btn);color:var(--hl-ink-2);text-decoration:none;font-size:14.5px}
@media (hover:hover){.hl-links a:hover{background:var(--hl-tone);color:var(--hl-ink)}}
.hl-wrap{max-width:1180px;margin:0 auto;box-sizing:border-box;padding:0 32px 72px}
.hl-hero{max-width:780px;margin:44px auto 72px;text-align:center}
.hl-hero h1{margin:0 0 16px;font:600 52px/1.08 var(--hl-serif);letter-spacing:-.02em}
.hl-hero>p{max-width:62ch;margin:0 auto 30px;font-size:18px;line-height:1.55;color:var(--hl-ink-2)}
.hl-search.is-hero{max-width:none;height:60px;padding:0 8px 0 20px;border-radius:20px}
.hl-search.is-hero input{font-size:17px}
.hl-search__go{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:12px;background:var(--hl-ink);color:var(--hl-bg);cursor:pointer}
.hl-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 0}
.hl-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:8px;background:var(--hl-tone);color:var(--hl-ink-2);font:400 13px var(--hl-mono);text-decoration:none}
@media (hover:hover){.hl-chip:hover{background:var(--hl-tone-2);color:var(--hl-ink)}}
.hl-group{margin:0 0 36px}
.hl-acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.hl-act{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:var(--hl-r-card);background:var(--hl-step);color:var(--hl-ink);text-decoration:none}
@media (hover:hover){.hl-act:hover{box-shadow:var(--hl-sh-2)}}
.hl-act b{font:600 17px/1.3 var(--hl-sans)}
.hl-act span{font-size:14px;line-height:1.4;color:var(--hl-ink-2)}
.hl-act small{margin-top:auto;padding-top:8px;font:400 12px var(--hl-mono);color:var(--hl-muted)}
.hl-act__cov{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12.5px;color:var(--hl-muted)}
.hl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin:8px 0 48px}
.hl-tile{display:block;padding:18px 22px;border-radius:var(--hl-r-card);background:var(--hl-tone);color:var(--hl-ink);text-decoration:none}
.hl-tile b{display:block;margin:0 0 4px;font:600 17px var(--hl-sans)}
.hl-tile p{margin:0;font-size:14.5px;line-height:1.5;color:var(--hl-ink-2)}
.hl-tile code{font:400 13px var(--hl-mono)}
.hl-fine{max-width:76ch;font-size:14px;line-height:1.6;color:var(--hl-ink-2)}
.hl-fine h2{margin:28px 0 6px;font:600 15px var(--hl-sans);color:var(--hl-ink)}
.hl-fine p{margin:0 0 8px}

/* ---------- 21. Act landing and document lists ---------- */
.hl-eyebrow{margin:0 0 8px;font:400 12.5px var(--hl-mono);color:var(--hl-muted)}
.hl-eyebrow a{color:inherit;text-decoration:none}
.hl-keydates{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:4px 0 36px}
.hl-keydate{padding:10px 14px;border-radius:12px;background:var(--hl-tone)}
.hl-keydate small{display:block;font-size:12.5px;color:var(--hl-ink-2)}
.hl-keydate b{display:block;margin:2px 0;font:500 15px var(--hl-mono)}
.hl-keydate span{font-size:12.5px;color:var(--hl-muted)}
.hl-part{margin:0 0 8px;border-radius:var(--hl-r-card);background:var(--hl-step)}
.hl-part>summary{display:flex;align-items:baseline;gap:14px;min-height:28px;padding:14px 18px;list-style:none;cursor:pointer}
.hl-part>summary::-webkit-details-marker{display:none}
.hl-part__k{flex:0 0 auto;min-width:64px;font:400 12.5px var(--hl-mono);color:var(--hl-muted)}
.hl-part__t{flex:1;min-width:0;font:500 16px/1.35 var(--hl-sans)}
.hl-part__r{flex:0 0 auto;font:400 12px var(--hl-mono);color:var(--hl-muted)}
.hl-part__body{padding:0 18px 16px 96px}
.hl-chapter{margin:12px 0 4px;font-size:13px;font-weight:600;color:var(--hl-ink-2)}
.hl-art{display:flex;gap:14px;align-items:baseline;padding:5px 8px;margin:0 -8px;border-radius:var(--hl-r-row);color:var(--hl-ink);text-decoration:none;font-size:14.5px;line-height:1.4}
@media (hover:hover){.hl-art:hover{background:var(--hl-tone)}}
.hl-art>span:first-child{flex:0 0 auto;min-width:30px;font:400 12.5px var(--hl-mono);color:var(--hl-muted)}
.hl-art em{font-style:normal;font-size:12.5px;color:var(--hl-muted)}
.hl-pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.hl-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:9px;background:var(--hl-tone);color:var(--hl-ink);font-size:13.5px;text-decoration:none}
.hl-pill span{font:400 12px var(--hl-mono);color:var(--hl-muted)}
@media (hover:hover){.hl-pill:hover{background:var(--hl-tone-2)}}
.hl-doc{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 14px;padding:9px 10px;margin:0 -10px;border-radius:var(--hl-r-row);color:var(--hl-ink);text-decoration:none;font-size:14px;line-height:1.4}
@media (hover:hover){.hl-doc:hover{background:var(--hl-tone)}}
.hl-doc__k{grid-row:span 2;min-width:76px;font:400 12px/1.7 var(--hl-mono);color:var(--hl-muted)}
.hl-doc__meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:12.5px;color:var(--hl-muted)}
.hl-more{display:inline-block;margin-top:8px;font-size:14px;font-weight:500;text-decoration:none}
/* act landing side column (operator 2026-10-31 B): Level 2 and Level 3 as two cards in the column's full width; one key
   column width so every row's title starts at the same place */
.hl-layer{background:var(--hl-step);border-radius:var(--hl-r-card);padding:18px 22px 16px}
.hl-layer .hl-doc{grid-template-columns:156px minmax(0,1fr)}
.hl-layer .hl-doc__k{min-width:0;overflow-wrap:anywhere}

/* ---------- 22. Search page ---------- */
.hl-searchpage{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
/* a word a tooltip explains (lane w47-frame-polish-2c: the site pages' legends on the words they explain): a dotted
   underline says there is more; Basecoat's data-tooltip shows it on hover and focus */
.hl-tip{text-decoration:underline dotted var(--hl-muted);text-underline-offset:3px;text-decoration-thickness:1px;cursor:help;border-radius:3px}
.hl-tip:focus-visible{outline:2px solid var(--hl-link);outline-offset:2px}
.hl-filters fieldset{margin:0 0 22px;padding:0;border:0;min-width:0}
.hl-filters legend{padding:0;margin:0 0 6px;font:600 12px var(--hl-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--hl-muted)}
.hl-check{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:15px;line-height:1.35;cursor:pointer}
.hl-check input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--hl-link)}
.hl-check span{font:400 12px var(--hl-mono);color:var(--hl-muted)}
.hl-filters input[type=date]{width:100%;box-sizing:border-box;height:42px;border:0;border-radius:var(--hl-r-btn);background:var(--hl-tone);padding:0 12px;font:400 15px var(--hl-mono);color:var(--hl-ink)}
.hl-filters details>summary{display:inline-block;margin-top:4px;font-size:14px;color:var(--hl-link);cursor:pointer;list-style:none}
.hl-filters-m{display:none}
.hl-result__source{margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--hl-ink-2)}
.hl-result__title{display:block;margin-top:4px;font:500 17px/1.4 var(--hl-sans);color:var(--hl-ink)}

/* ---------- 23. Error pages ---------- */
.hl-error{max-width:640px;margin:48px auto 96px;padding:0 16px}
.hl-error .hl-path{display:inline-block;margin:0 0 18px;padding:4px 10px;border-radius:8px;background:var(--hl-tone);font:400 14px var(--hl-mono);color:var(--hl-ink-2);word-break:break-all}
.hl-error p{font-size:16px;line-height:1.6;color:var(--hl-ink-2);margin:0 0 14px}
.hl-error .hl-search{max-width:none;margin:24px 0 16px}
.hl-error__links{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- 24. Phone and print for v2 ---------- */
@media (max-width:720px){
  .hl-context{grid-template-columns:minmax(0,1fr);padding:12px 14px 14px;margin-bottom:20px}
  .hl-context__side{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .hl-source{font-size:15px}
  .hl-context__title{font-size:14px}
  .hl-info dd{padding-top:2px}
  .hl-info dt.is-gap{padding-top:22px}
  .hl-info dt.is-gap+dd{padding-top:2px}
  .hl-toc-m{display:block;margin:0 0 22px}
  .hl-toc-m>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 14px;border-radius:12px;background:var(--hl-tone);font-size:15px;font-weight:500;list-style:none;cursor:pointer}
  .hl-toc-m>summary::-webkit-details-marker{display:none}
  .hl-toc-m>summary span{font:400 12.5px var(--hl-mono);color:var(--hl-muted)}
  .hl-toc-m .hl-toc{position:static;max-height:none;padding:10px 12px 4px}
  .hl-toc-m .hl-toc a{min-height:40px;align-items:center}
  .hl-pager{grid-template-columns:minmax(0,1fr)}
  .hl-pager .is-next{grid-column:1;text-align:left}
  .hl-unit-head{font-size:20px}
  .hl-wrap{padding:0 16px 56px}
  .hl-hero{margin:20px auto 44px;text-align:left}
  .hl-hero h1{font-size:36px}
  .hl-hero>p{font-size:16.5px;margin-bottom:22px}
  .hl-chips{justify-content:flex-start}
  .hl-search.is-hero{height:56px;padding-left:16px}
  .hl-links{gap:0}
  .hl-part__body{padding:0 14px 14px 14px}
  .hl-part>summary{padding:14px}
  .hl-part__k{min-width:0}
  .hl-searchpage{grid-template-columns:minmax(0,1fr);gap:0}
  .hl-filters{display:none}
  .hl-filters-m{display:block;margin:0 0 14px}
  .hl-filters-m>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;background:var(--hl-tone);font-size:15px;font-weight:500;list-style:none;cursor:pointer}
  .hl-filters-m>summary::-webkit-details-marker{display:none}
  .hl-filters-m .hl-filters{display:block;padding:14px 4px 0}
  .hl-result{padding:16px 4px}
  .hl-check{min-height:44px;box-sizing:border-box;padding:11px 0}
}
@media print{
  .hl-context{background:none;padding:0}
  .hl-context__side,.hl-pager,.hl-toc,.hl-toc-m,.hl-pin,.hl-unit-head__open,.hl-filters,.hl-filters-m{display:none!important}
  .hl-source .hl-nature{background:none!important;color:#000!important;padding:0!important;text-decoration:underline}
  .hl-about>.hl-info{display:grid}
}
.hl-main>.hl-crumbs{margin-bottom:8px}
/* v2.1 (18 Oct 2026) contrast fix: light underline token reaches 3:1 on bg, surface and tone (was #9A9DA6, 2.53:1). See docs/contrast-audit.md. */
:root{--hl-uline:#84878F}
/* ---------- 25. Reading layout (operator's mobile review 2026-10-31 16:24; lane design-fixes-2) ---------- */
/* 1. one head line (status · Official source); the rest of the head in the folded `About this text` panel, the aside's
   first block (on a phone the aside follows the text, so the panel comes after the article) */
.hl-trust.is-head{margin:0 0 22px}
.hl-trust__about{display:none}
.hl-abt{background:var(--hl-tone);border-radius:var(--hl-r-card);font-size:14px;line-height:1.5}
.hl-abt>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 16px;font-weight:600;color:var(--hl-ink);cursor:pointer;border-radius:var(--hl-r-card)}
.hl-abt>summary::-webkit-details-marker{display:none}
.hl-abt>summary::after{content:"";flex:0 0 auto;width:7px;height:7px;border-right:2px solid var(--hl-muted);border-bottom:2px solid var(--hl-muted);transform:translateY(-2px) rotate(45deg)}
.hl-abt[open]>summary::after{transform:translateY(2px) rotate(225deg)}
@media (hover:hover){.hl-abt>summary:hover{background:var(--hl-tone-2)}}
.hl-abt__body{padding:2px 16px 16px}
.hl-abt .hl-source{margin:0 0 10px;font-size:14px;line-height:1.55}
.hl-abt__trust{margin:0 0 12px;color:var(--hl-ink-2)}
.hl-abt .hl-limits{background:var(--hl-step-hover);margin:0 0 12px;font-size:13px}
.hl-abt .hl-limits dl{grid-template-columns:minmax(0,1fr)}
.hl-abt .hl-info{grid-template-columns:minmax(0,1fr);margin:0;padding:8px 14px;box-shadow:none;font-size:13.5px}
.hl-abt .hl-info dt{padding:8px 0 0}
.hl-abt .hl-info dd{padding:1px 0 4px}
.hl-abt .hl-info dt.is-gap{padding-top:14px}
.hl-abt .hl-info dt.is-gap+dd{padding-top:1px}
.hl-abt .hl-cap{margin:14px 0 6px}
/* 4. surfaces: the text on a white raised tile; navigation (contents, previous / next, related) on tinted tiles */
.hl-text.is-tile{background:none;border-radius:0;box-shadow:none;padding:4px 0 8px}
.hl-text.is-tile>:first-child{margin-top:0}
/* the L1 contents tile starts below the head (a title of two lines included), below a banner lower by the banner */
.hl-toc--l1{margin-top:150px}
.hl-toc--l1.is-below-banner{margin-top:272px}
.hl-nav>.hl-toc{background:var(--hl-tone);border-radius:var(--hl-r-card);padding:16px 18px 14px}
@media (hover:hover){.hl-nav>.hl-toc a:hover,.hl-nav>.hl-toc .hl-toc__part>summary:hover,.hl-nav>.hl-toc .hl-toc__ch>summary:hover{background:var(--hl-tone-2)}}
.hl-nav>.hl-toc a[aria-current]{background:var(--hl-surface)}
.hl-aside>section:not(.hl-data):not(.hl-layer):not(.hl-map__panel):not(.ui-tile){background:var(--hl-tone);border-radius:var(--hl-r-card);padding:14px 16px}
@media (hover:hover){.hl-aside>section .hl-row:hover{background:var(--hl-tone-2)}}
/* 3. previous / next: two tinted tiles under the text, side by side (stacked on a phone) */
.hl-pager{margin:20px 0 0;gap:12px}
.hl-pager>a{background:var(--hl-tone);box-shadow:none;padding:14px 18px 16px}
@media (hover:hover){.hl-pager>a:hover{background:var(--hl-tone-2);box-shadow:none}}
.hl-pager__where{grid-column:1/-1;grid-row:1;margin:0 0 -2px;font-size:13.5px;line-height:1.45;color:var(--hl-muted)}
.hl-pager__where a{display:inline;padding:0;border-radius:0;background:none;box-shadow:none;color:var(--hl-ink-2);text-decoration:underline;text-decoration-color:var(--hl-uline)}
.hl-pager small{font-weight:500}
.hl-pager b{display:block}
/* the page's Related lists (definitions used, related Level 1 / 2 / 3): a tinted tile under the text */
.hl-reltile{box-sizing:border-box;width:100%;margin:20px 0 0;padding:6px 22px 18px;background:var(--hl-tone);border-radius:var(--hl-r-card);font-size:15px;line-height:1.5}
.hl-reltile h2,.hl-reltile h3{margin:14px 0 6px;font:600 12px var(--hl-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--hl-muted)}
.hl-reltile ul{margin:0;padding:0 0 0 18px}
.hl-reltile li+li{margin-top:4px}
/* 2. a small gap between numbered paragraphs, recitals and list items (about a third of a line), not a blank line */
.hl-block+.hl-block.is-para{margin-top:6px}
.hl-text ol>li+li{margin-top:.55em}
@media (max-width:720px){
  .hl-aside{flex-basis:100%}
  /* the aside (About this text first) follows the text on a phone: no long empty run between them */
  .hl-layout>.hl-main{padding-bottom:8px}
  .hl-trust__about{display:inline;margin-left:4px;font:500 13.5px var(--hl-sans);font-style:normal}
  .hl-text.is-tile{padding:16px 16px 20px;border-radius:14px}
  /* the paragraph's number sits at the right of its first line, not on a line of its own */
  .hl-block{display:block}
  .hl-block>.hl-addr{float:right;margin:0 0 0 10px;line-height:28.8px}
  /* a point flows around that number too: its label hangs in a 44 px indent (a grid would keep the whole point clear of it) */
  .hl-point{display:block;padding-left:44px}
  .hl-point>b{float:left;width:44px;margin-left:-44px}
  .hl-point.is-l2{margin-left:24px} .hl-point.is-l3{margin-left:48px}
  .hl-reltile{padding:4px 16px 16px}
}
@media print{
  /* the printed page keeps what the head had: the panel's contents print, open, after the text */
  .hl-layout>.hl-aside{display:block!important}
  .hl-aside>:not(.hl-abt):not(.ui-about){display:none!important}
  .hl-abt,.ui-about{background:none}
  .hl-abt>summary,.ui-about>summary{display:none}
  .hl-abt::details-content{content-visibility:visible;display:block}
  .ui-tile::details-content{content-visibility:visible;display:block}
  details.ui-tile>summary::after{display:none}
  .hl-text.is-tile{box-shadow:none;padding:0}
  .hl-reltile{background:none;padding:0}
}
/* ---------- 26. Status and stage, even columns, compact date line (operator 2026-11-01 07:34; lane ux-pass-pre-switch) ---------- */
/* nature chip (what weight the text has: the source line's own nature word, a dot) and stage chip (where the text is in
   its life: a funnel of steps, only the current one filled, then the word). Kit §26 proposal; colours are kit tokens. */
.hl-nat,.hl-stage{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px;border-radius:999px;font:600 12.5px/1.2 var(--hl-sans);font-style:normal;white-space:nowrap;vertical-align:middle;background:var(--hl-tone);color:var(--hl-ink-2)}
.hl-nat__dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:currentColor}
.hl-nat.is-not-law{background:var(--hl-info);color:var(--hl-info-ink)}
.hl-nat.is-draft{background:var(--hl-warn);color:var(--hl-warn-ink)}
.hl-stage{font-weight:500;color:var(--hl-ink)}
.hl-stage__steps{display:inline-flex;gap:1px}
.hl-stage__steps{align-items:center}
.hl-stage__steps i{width:10px;height:7px;background:var(--hl-muted);clip-path:polygon(0 0,70% 0,100% 50%,70% 100%,0 100%,30% 50%)}
.hl-stage__steps i:first-child{clip-path:polygon(0 0,70% 0,100% 50%,70% 100%,0 100%)}
.hl-stage__steps i.is-now{height:12px;width:12px;background:var(--hl-ink-2)}
.hl-stage.is-live .hl-stage__steps i.is-now{background:var(--hl-ok)}
.hl-stage.is-early .hl-stage__steps i.is-now{background:var(--hl-warn-ink)}
.hl-stage.is-ended{color:var(--hl-ink-2)}
.hl-stage__steps i.is-end{margin-left:3px;border-radius:2px;clip-path:none;width:8px;background:var(--hl-muted)}
.hl-trust.is-head.has-chips{line-height:2}
.hl-trust.is-head.has-chips>.hl-nat{margin-right:2px}
/* not yet verified, with chips: the warning on its own words, not a box around the chips */
.hl-trust.is-head.has-chips.is-unverified{display:block;background:none;padding:0;color:var(--hl-ink-2)}
.hl-trust__unv{color:var(--hl-warn-ink);background:var(--hl-warn);border-radius:var(--hl-r-row);padding:2px 8px}
.hl-doc__meta .hl-nat,.hl-doc__meta .hl-stage,.hl-result__meta .hl-nat,.hl-result__meta .hl-stage{min-height:22px;font-size:12px;padding:0 8px}
.hl-doc__life{color:var(--hl-muted);font-size:.9em}
/* the compact date line: one line with a dot, the date facts and the way back (informational states only) */
.hl-banner.is-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 6px 6px 14px;margin:0 0 16px;border-radius:12px}
.hl-banner__dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:currentColor}
.hl-banner.is-line .hl-banner__text{display:inline;flex:1 1 240px;font-size:14px;line-height:1.45}
.hl-banner.is-line .hl-banner__act{min-height:32px;padding:0 12px;font-size:13.5px}
/* even side columns: one width (the same basis and shrink), all three columns start at the top of the layout */
.hl-nav{flex:0 1 272px}
.hl-aside{flex:0 1 272px}
.hl-toc--l1,.hl-toc--l1.is-below-banner{margin-top:0}
/* the act landing: key dates as one compact list; `Contents on a date` as a small date form with its purpose line */
.hl-keydates.is-compact{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 30px}
.hl-keydates.is-compact .hl-keydate{flex:1 1 150px;margin:0;padding:8px 12px;border-radius:12px}
.hl-keydates.is-compact dt{font-size:12.5px;color:var(--hl-ink-2)}
.hl-keydates.is-compact dd{margin:1px 0 0}
.hl-keydates.is-compact dd b{display:inline;font:500 14.5px var(--hl-mono)}
.hl-keydates.is-compact dd span{display:block;font-size:12px;color:var(--hl-muted)}
.hl-ondate{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 16px;padding:10px 12px;border-radius:12px;background:var(--hl-tone);font-size:14px}
.hl-ondate>label{font-weight:600;color:var(--hl-ink)}
.hl-ondate__row{display:inline-flex;gap:6px;align-items:center}
.hl-ondate input{min-height:36px;padding:0 10px;border:0;border-radius:var(--hl-r-btn);background:var(--hl-step);color:var(--hl-ink);font:400 14px var(--hl-mono)}
.hl-ondate .hl-btn{min-height:36px}
.hl-ondate__why{flex:1 1 100%;font-size:13px;color:var(--hl-muted)}
.hl-art.has-tag .hl-tag,.hl-art .hl-stage{margin-left:6px}
.hl-datepick a>span{white-space:nowrap}
.hl-result__meta .hl-nat{margin-right:4px}
.hl-result__meta .hl-stage{margin-right:6px}
/* a list page (recitals, annexes, Level 2/3 lists, definitions): navigation, no text tile; document rows as doc-list rows */
.hl-text.is-list{font-size:17px;line-height:1.55}
.hl-text.is-list li:has(>.hl-doc){list-style:none}
.hl-text.is-list ul:has(>li>.hl-doc){padding:0}
.hl-text.is-list .hl-doc{grid-template-columns:150px minmax(0,1fr);margin:0;padding:10px 12px;font:400 15.5px/1.45 var(--hl-sans)}
.hl-text.is-list .hl-doc__k{overflow-wrap:anywhere;font-size:12.5px}
.hl-text.is-list li+li{margin-top:2px}
.hl-text.is-list ul:has(>li.is-link){padding:0;list-style:none}
.hl-text.is-list li.is-link>a:not(.hl-doc){display:block;padding:8px 12px;border-radius:var(--hl-r-row);color:var(--hl-ink);text-decoration:none;font:400 16px/1.4 var(--hl-sans)}
@media (hover:hover){.hl-text.is-list li.is-link>a:not(.hl-doc):hover{background:var(--hl-tone)}}
.hl-text.is-list ul.hl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}
.hl-text.is-list ul.hl-grid>li+li{margin-top:0}
.hl-text.is-list ul.hl-grid a{background:var(--hl-tone);text-align:center;min-height:28px}
@media (hover:hover){.hl-text.is-list ul.hl-grid a:hover{background:var(--hl-tone-2)}}
@media (max-width:720px){
  .hl-aside{flex-basis:100%}
  .hl-keydates.is-compact{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .hl-keydates.is-compact .hl-keydate{padding:7px 10px}
  .hl-ondate input,.hl-ondate .hl-btn{min-height:44px}
  .hl-text.is-list .hl-doc{grid-template-columns:minmax(0,1fr);padding:10px 4px;min-height:44px}
  .hl-text.is-list .hl-doc__k{grid-row:auto}
  .hl-banner.is-line{padding:8px 8px 8px 12px}
  .hl-banner.is-line .hl-banner__act{min-height:44px}
}
@media print{
  .hl-stage__steps,.hl-nat__dot,.hl-banner__dot{display:none}
  .hl-nat,.hl-stage{padding:0;background:none}
}

/* w45-mcp-quality: an L2/L3 document's own headings in the left column — an h3 sits one step in under its h2 */
.hl-nav>.hl-toc--doc li.hl-toc__sub>a{padding-left:22px;font-size:.92em}


/* ---------- 29. The frame (lane w47-frame-nav-chips; operator 2026-11-07 09:53/10:06; sketch D; principle 6) ----------
   One frame for every page type: the header and the library tree on the chrome tone, the reader — the one bright surface —
   in the centre, the right panel on the chrome tone with its tiles as tone steps. White means focus: the reader and the
   current item, nothing else. No lines: tone, space and radius. Without script the tree is nested lists of links and
   <details>; at ≤ 820 px it follows the text (no fixed element, no scrim). hl.js adds `html.hl-js`, the ARIA tree and the
   drawer (`html[data-drawer]`). The `>` marks are CSS content with empty alternative text: not read, not copied, not printed. */
:root{--hl-top-h:64px;--hl-tree-w:288px;--hl-logo-w:168px;--hl-act-w:200px;--hl-sh-here:0 1px 2px rgba(24,24,27,.07),0 1px 6px rgba(24,24,27,.06)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--hl-sh-here:0 1px 2px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--hl-sh-here:0 1px 2px rgba(0,0,0,.35)}
body{background:var(--hl-page)}
.hl-top{background:var(--hl-chrome)}
.hl-top__in{max-width:none;min-height:var(--hl-top-h);box-sizing:border-box;padding:10px 20px;flex-wrap:nowrap}
/* the header's search box on the reader's column (lane w47-frame-polish): .hl-top__main is the content group's box
   (the same maximum width, centring and padding as .hl-layout below, from the numbers Shell sets on <body>), the search box
   the reader's flex and maximum width, the actions the right panel's width — so the box starts where the reader starts
   and is as wide as the reader wherever the actions fit beside it */
.hl-top__main{display:flex;align-items:center;gap:20px;width:100%;max-width:var(--hl-group,1220px);margin:0 auto;padding:0 20px;box-sizing:border-box;min-width:0}
.hl-top .hl-search{flex:999 1 560px;min-width:0;max-width:var(--hl-rmax,840px);margin:0;height:44px}
.hl-top .hl-actions{flex:0 1 var(--hl-aw,auto);justify-content:flex-end;margin-left:auto}
@media (min-width:821px){
  .hl-top:not(.is-home) .hl-top__in{display:grid;grid-template-columns:var(--hl-tree-w) minmax(0,1fr);align-items:center;gap:0;padding:10px 0}
  .hl-top:not(.is-home) .hl-logo{margin-left:20px}
  /* a page without a right panel: the actions sit at the header's right end, out of the group, so the search box keeps the
     reader's whole width wherever they fit beside it (else it ends before them); 100cqw = the header's width */
  .hl-top.is-solo .hl-top__in{position:relative;container-type:inline-size}
  .hl-top.is-solo .hl-actions{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:var(--hl-act-w)}
  .hl-top.is-solo .hl-search{max-width:min(var(--hl-rmax,840px), 100cqw - var(--hl-tree-w) - max(0px, (100cqw - var(--hl-tree-w) - var(--hl-group,1220px)) / 2) - 80px - var(--hl-act-w))}
  /* a page outside the Library (lane w47-frame-polish-2b; operator 2026-11-08 18:52 "They should behave just like the
     landing page"): the logo at the left and the actions at the right end, as the home page's logo and links; the header's
     box is the content group's (centred on the whole width, below), so the search box starts where the reader starts —
     where the logo's column is in the way (below ~1560 px) it starts right of it — and ends where the reader ends (the
     reader: its maximum, or the group less the panel), 20 px before the actions at the latest */
  .hl-off-library .hl-top:not(.is-home) .hl-top__in{grid-template-columns:var(--hl-logo-w) minmax(0,1fr);position:relative;container-type:inline-size}
  .hl-off-library .hl-top:not(.is-home) .hl-logo{position:relative;z-index:1}
  .hl-off-library .hl-top:not(.is-home) .hl-actions{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:var(--hl-act-w)}
  .hl-off-library .hl-top:not(.is-home) .hl-top__main{--hl-cl:max(0px, (100cqw - var(--hl-group)) / 2);--hl-cut:max(0px, var(--hl-logo-w) - var(--hl-cl));
    width:auto;max-width:none;margin:0 var(--hl-cl) 0 calc(var(--hl-cl) - var(--hl-logo-w));padding-left:calc(20px + var(--hl-cut))}
  .hl-off-library .hl-top:not(.is-home) .hl-search{box-sizing:border-box;max-width:min(min(var(--hl-rmax), 100cqw - 2 * var(--hl-cl) - 60px - var(--hl-aw, -20px)) - var(--hl-cut),
    100cqw - var(--hl-cl) - var(--hl-cut) - 60px - var(--hl-act-w))}
}
.hl-search__key{flex:none}
.hl-frame{display:grid;grid-template-columns:var(--hl-tree-w) minmax(0,1fr);align-items:start}
/* the content group: centred in the space right of the library at its own maximum width (lane w47-frame-polish; Shell) */
.hl-frame>.hl-layout{width:100%;max-width:var(--hl-group,1220px);margin:0 auto;padding:16px 20px 0;gap:20px;flex-wrap:wrap}
.hl-main.hl-reader{background:var(--hl-reader);border-radius:var(--hl-r-sheet);padding:24px 36px 48px;box-sizing:border-box;flex:999 1 560px;max-width:var(--hl-rmax,840px)}
.hl-frame.is-home .hl-main.hl-reader,.hl-frame.is-wrap .hl-main.hl-reader{margin:0;flex-basis:100%}
.hl-aside{background:var(--hl-chrome);border-radius:var(--hl-r-sheet);padding:12px;box-sizing:border-box;gap:10px}
.hl-aside>section.ui-tile,.hl-aside>section:not(.hl-data):not(.hl-layer):not(.hl-map__panel):not(.ui-tile){background:var(--hl-step)}
.hl-foot{max-width:none;padding-left:calc(var(--hl-tree-w) + max(20px, (100% - var(--hl-tree-w) - var(--hl-group,1220px)) / 2 + 20px));
  padding-right:max(32px, (100% - var(--hl-tree-w) - var(--hl-group,1220px)) / 2 + 20px)}
/* a page outside the Library (lane w47-frame-polish-2; operator 2026-11-08 13:34 "No left nav on the non-Library pages"):
   no tree column; the tree is the drawer the header's Library link opens (hl.js), without script it follows the text. The
   class comes from the tree's data (treeplace.mjs, index.tsx withTree), never from a list of pages. One layout for the home
   page and these pages (lane w47-frame-polish-2b; operator 2026-11-08 18:52 "They should behave just like the landing
   page"): the home page's column at every width — its group (1220 px: the 1180 px reader + 2 × 20) centred on the whole
   width, the reader filling it beside the right panel where there is one (1180 − 20 − the panel). Set on the body's
   children: the body carries the page's own numbers (Shell), which a Library page keeps */
.hl-off-library>.hl-top,.hl-off-library>.hl-frame,.hl-off-library>.hl-foot{--hl-group:1220px;--hl-rmax:calc(1180px - var(--hl-aw, -20px) - 20px)}
.hl-off-library .hl-frame{grid-template-columns:minmax(0,1fr)}
.hl-off-library .hl-frame>.hl-layout{grid-row:1}
.hl-off-library .hl-frame>.hl-tree{grid-row:2;position:static;height:auto;width:auto;max-width:calc(var(--hl-group,1220px) - 40px);margin:16px auto 0;border-radius:var(--hl-r-sheet)}
.hl-off-library .hl-frame>.hl-tree .hl-tree__scroll{overflow:visible}
@media (min-width:821px){
  .hl-off-library .hl-frame>.hl-tree{margin:16px max(20px, (100% - var(--hl-group,1220px)) / 2 + 20px) 0}
  .hl-off-library .hl-foot{padding-left:max(20px, (100% - var(--hl-group,1220px)) / 2 + 20px);padding-right:max(20px, (100% - var(--hl-group,1220px)) / 2 + 20px)}
}
/* with script: the drawer at every width (the phone's, below) */
.hl-js .hl-off-library .hl-frame>.hl-tree{position:fixed;z-index:50;top:0;bottom:0;left:0;margin:0;width:min(320px,86vw);max-width:none;height:auto;border-radius:0 var(--hl-r-sheet) var(--hl-r-sheet) 0;
  padding-top:env(safe-area-inset-top,0px);transform:translateX(-102%);transition:transform .2s,visibility 0s linear .2s;visibility:hidden}
.hl-js .hl-off-library .hl-frame>.hl-tree .hl-tree__scroll{overflow:auto}
html[data-drawer="open"] .hl-off-library .hl-frame>.hl-tree{transform:none;visibility:visible;transition:transform .2s,visibility 0s}
.hl-off-library .hl-scrim{position:fixed;inset:0;z-index:45;background:rgba(24,24,27,.32)}
/* the tree */
.hl-tree{position:sticky;top:calc(var(--hl-top-h) + env(safe-area-inset-top,0px));height:calc(100vh - var(--hl-top-h) - env(safe-area-inset-top,0px));
  display:flex;flex-direction:column;box-sizing:border-box;background:var(--hl-chrome);min-width:0;font:400 14px/1.35 var(--hl-sans)}
.hl-tree__head{display:flex;align-items:center;gap:2px;padding:12px 10px 6px 16px}
.hl-tree__title{flex:1;margin:0;font:600 13px/1 var(--hl-sans);color:var(--hl-ink-2)}
.hl-tree__btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--hl-r-btn);background:transparent;color:var(--hl-muted);cursor:pointer}
@media (hover:hover){.hl-tree__btn:hover{background:var(--hl-step);color:var(--hl-ink)}}
.hl-tree__btn[hidden],.hl-tree__filter[hidden]{display:none}
.hl-tree__filter{display:flex;align-items:center;gap:8px;margin:2px 10px 6px;height:36px;padding:0 10px;border-radius:var(--hl-r-btn);background:var(--hl-step)}
.hl-tree__filter:focus-within{box-shadow:0 0 0 2px var(--hl-link)}
.hl-tree__filter input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;font:400 14px var(--hl-sans);color:var(--hl-ink);outline:none;box-shadow:none}
.hl-tree__filter input::placeholder{color:var(--hl-muted)}
.hl-tree__scroll{flex:1;min-height:0;overflow:auto;padding:0 8px 24px;overscroll-behavior:contain}
.hl-tree__cap{margin:14px 8px 6px;font:600 11px/1 var(--hl-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--hl-muted)}
.hl-tree__sec:first-child .hl-tree__cap{margin-top:6px}
.hl-tree ul{list-style:none;margin:0;padding:0}
/* the levels (lane w47-tree-levels; operator 2026-11-08 20:32 "There should be different indents/levels"): every group
   one step in from its folder's row, from the nesting itself (area → act → part → chapter → article; no class per level);
   an open act on its own surface, the page tone (white stays the current row), with space before the next act. A row's
   label wraps under its own text (after the number), the chevron and the counts on its first line */
.hl-tree{--hl-tree-step:16px;--hl-tree-py:5.5px}
.hl-tree .hl-tree__group{padding-left:var(--hl-tree-step)}
.hl-tree__list>.hl-tree__item:is(:has(>details[open]),:has(>.hl-tree__row[aria-expanded="true"])){margin:6px 0;padding:2px 0 4px;border-radius:var(--hl-r-panel);background:var(--hl-page)}
.hl-tree__item{position:relative}
/* a folder's toggle without script: the <summary> after its row, drawn as the chevron over the row's chevron slot */
.hl-tree__tog{position:absolute;left:2px;top:0;width:18px;height:30px;display:grid;place-items:center;list-style:none;cursor:pointer;color:var(--hl-muted);border-radius:var(--hl-r-row)}
.hl-tree__tog::-webkit-details-marker{display:none}
.hl-tree__tog::before{content:"";width:5px;height:5px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.hl-tree details[open]>.hl-tree__tog::before{transform:rotate(45deg)}
.hl-tree__row{display:flex;align-items:flex-start;gap:2px;min-height:30px;padding:0 8px 0 2px;line-height:19px;border-radius:var(--hl-r-btn);color:var(--hl-ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative}
.hl-tree__row>a,.hl-tree__nolink{flex:1;min-width:0;display:flex;align-items:flex-start;align-self:stretch;box-sizing:border-box;padding:var(--hl-tree-py) 0;color:inherit;text-decoration:none}
.hl-tree__lbl{min-width:0;overflow-wrap:break-word}
.hl-tree__lbl:has(>.hl-tree__num){padding-left:calc(2.2em + 4px);text-indent:calc(-2.2em - 4px)}
.hl-tree__num{display:inline-block;min-width:2.2em;margin-right:4px;text-indent:0;color:var(--hl-muted);font-variant-numeric:tabular-nums}
.hl-tree__n,.hl-tree__code{flex:none;margin:var(--hl-tree-py) 0 0 6px;font:500 11.5px/19px var(--hl-sans);color:var(--hl-muted);font-variant-numeric:tabular-nums}
.hl-tree__code{font:400 11.5px/19px var(--hl-mono)}
.hl-tree__chev{flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:calc(var(--hl-tree-py) + .5px);color:var(--hl-muted)}
.hl-tree__chev[hidden]{display:grid;visibility:hidden}
.hl-tree__chev::before{content:"";width:5px;height:5px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.hl-tree__row[aria-expanded="true"]>.hl-tree__chev::before{transform:rotate(45deg)}
@media (hover:hover){.hl-tree__row:hover{background:var(--hl-step);color:var(--hl-ink)}}
@media (hover:none){.hl-tree__row:active{background:var(--hl-step)}}
.hl-tree__item.is-trail>.hl-tree__row{color:var(--hl-ink);font-weight:600}
/* you are here: the white bubble with a blue > at its start (operator 2026-11-07: "a blue '>' inside the white bubble") */
.hl-tree__row.is-here{background:var(--hl-reader);color:var(--hl-ink);font-weight:600;box-shadow:var(--hl-sh-here)}
.hl-tree__row.is-here>a::before{content:">" / "";flex:none;margin-right:6px;color:var(--hl-link);font:700 13px/19px var(--hl-sans)}
/* on a current row without a folder the > sits in the chevron's column, so the numbers stay in one column */
.hl-tree__item:not(:has(>details))>.hl-tree__row.is-here:not([aria-expanded])>a::before{position:absolute;left:2px;top:var(--hl-tree-py);width:18px;margin:0;text-align:center}
.hl-tree__row.is-here>a .hl-tree__num{color:var(--hl-ink-2)}
.hl-tree mark{background:var(--hl-mark);color:inherit;border-radius:3px;padding:0 1px}
.hl-tree__item[hidden],.hl-tree__group[hidden],.hl-tree__sec[hidden]{display:none}
.hl-tree__note{display:block;padding:6px 8px 6px 24px;color:var(--hl-muted);font-size:13px}
.hl-tree__none{margin:10px 8px;color:var(--hl-muted);font-size:13px}
.hl-tree__row[role="treeitem"]{outline:none}
.hl-tree__row[role="treeitem"]:focus-visible{outline:3px solid var(--hl-link);outline-offset:-3px}
.hl-scrim[hidden]{display:none}
/* a provision you jump to: a faint blue tint and a > in the margin, left of the address (never another white) */
.hl-block:target::before{content:">" / "";position:absolute;left:-18px;top:3px;color:var(--hl-link);font:700 14px/31px var(--hl-sans)}
.hl-block:target{scroll-margin-top:calc(var(--hl-top-h) + 24px)}
/* one breakpoint for the drawer: 820 px */
@media (max-width:820px){
  .hl-top__in{padding:6px 12px 10px;gap:6px 8px;flex-wrap:wrap}
  .hl-top__main{display:contents}
  .hl-top .hl-actions{flex:none;margin-left:auto}
  /* the reader's edges on a phone: 8 px from the screen (the header's padding is 12) */
  .hl-top .hl-search{order:3;flex:1 1 100%;min-width:0;max-width:none;height:44px;margin:0 -4px}
  .hl-search__key{display:none}
  .hl-frame{grid-template-columns:minmax(0,1fr)}
  .hl-frame>.hl-layout{grid-row:1;padding:8px 8px 0}
  .hl-frame>.hl-tree{grid-row:2;position:static;height:auto;margin:16px 8px 0;border-radius:var(--hl-r-sheet)}
  .hl-tree__scroll{overflow:visible}
  .hl-main.hl-reader{padding:18px 16px 32px;border-radius:var(--hl-r-card)}
  .hl-foot{padding-left:16px}
  .hl-tree{--hl-tree-py:12.5px}
  .hl-tree__row,.hl-tree__row>a,.hl-tree__nolink{min-height:44px}
  .hl-tree__tog{height:44px}
  .hl-tree__btn{width:44px;height:44px}
  .hl-tree__filter{height:44px}
  .hl-block:target::before{left:-12px}
  /* the breadcrumb on one line: a long ancestor is cut, never pushes the title down (designer result review) */
  .hl-crumbs>ol{flex-wrap:nowrap;overflow:hidden}
  .hl-crumbs li{min-width:0;flex:0 1 auto}
  .hl-crumbs li:first-child{flex:none}
  .hl-crumbs li>a,.hl-crumbs li>span:not([aria-hidden]){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* a chip with a tooltip is a tap target: 44 px tall by a hit extension (designer spec review r2 note); a wrapped head row
     leaves 22 px between its lines so two lines' extensions never overlap */
  .chip[data-tooltip]{position:relative}
  .chip[data-tooltip]::after{content:"";position:absolute;left:0;right:0;top:-11px;bottom:-11px}
  /* a tooltip word (lane w47-frame-polish-2c) likewise: a tap focuses it and shows its tooltip */
  .hl-tip[data-tooltip]::after{content:"";position:absolute;left:0;right:0;top:-11px;bottom:-11px}
  .hl-trust.is-head.has-chips{row-gap:22px}
  .hl-trust.is-head .chips{row-gap:22px}
  /* the attribute chips on their own row; the status, the check and Official source together on the next (31 Oct ruling) */
  .hl-trust.is-head .chips.is-attrs{flex-basis:100%}
  /* without script a folder's toggle is a 44 px target; the rows make room for it (with script the row is the target) */
  html:not(.hl-js) .hl-tree__tog{left:0;width:44px}
  html:not(.hl-js) .hl-tree__row{padding-left:28px}
  html:not(.hl-js) .hl-tree__row.is-here>a::before{left:28px}
  /* with script: the drawer (off-canvas and hidden while closed; hl.js) */
  .hl-js .hl-frame>.hl-tree{position:fixed;z-index:50;top:0;bottom:0;left:0;margin:0;width:min(320px,86vw);height:auto;border-radius:0 var(--hl-r-sheet) var(--hl-r-sheet) 0;
    padding-top:env(safe-area-inset-top,0px);transform:translateX(-102%);transition:transform .2s,visibility 0s linear .2s;visibility:hidden}
  .hl-js .hl-frame>.hl-tree .hl-tree__scroll{overflow:auto}
  html[data-drawer="open"] .hl-frame>.hl-tree{transform:none;visibility:visible;transition:transform .2s,visibility 0s}
  .hl-scrim{position:fixed;inset:0;z-index:45;background:rgba(24,24,27,.32)}
}
@media (prefers-reduced-motion:reduce){.hl-tree,.hl-tree__chev::before{transition:none}}
@media print{
  .hl-tree,.hl-libtoggle,.hl-scrim{display:none!important}
  .hl-frame{display:block}
  .hl-main.hl-reader{background:none;padding:0;border-radius:0;max-width:none}
  .hl-aside{background:none;padding:0}
  .hl-block:target::before,.hl-tree__row.is-here>a::before{content:none!important;display:none!important}
}

/* ---- ui.css ---- */
/* generated by platform/worker/ui/tailwind/build.mjs from ui.css (Tailwind CSS v4) — do not edit */
/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
:root {
  --eu-blue: #003399;
  --eu-gold: #FFCC00;
  --blue-50: #EEF2FA;
  --blue-100: #DCE4F4;
  --blue-200: #B9C9E9;
  --blue-700: #002B80;
  --gold-50: #FFFAE0;
  --gold-200: #FFE680;
  --gold-dot: #E0B000;
  --gold-text: #6B5200;
  --bg: var(--hl-page);
  --card: var(--hl-step);
  --muted: var(--hl-step);
  --border: transparent;
  --fg: var(--hl-ink);
  --fg-muted: #71717A;
  --dot-green: #16A34A;
  --dot-red: #DC2626;
  --dot-grey: #A1A1AA;
  --st1-bg: #F4F4F5;
  --st1-fg: #52525B;
  --st1-bd: #E4E4E7;
  --st2-bg: #ECF3EE;
  --st2-fg: #3F6B4E;
  --st2-bd: #D5E6DA;
  --st3-bg: #D8EFDF;
  --st3-fg: #1F6B3A;
  --st3-bd: #B9E0C5;
  --st4-bg: #B4E2C2;
  --st4-fg: #14532D;
  --st4-bd: #93D3A8;
  --st5-bg: #15803D;
  --st5-fg: #FFFFFF;
  --st5-bd: #15803D;
  --end-bg: #FEE2E2;
  --end-fg: #B91C1C;
  --end-bd: #FCA5A5;
  --link: #003399;
  --lv1-bg: #003399;
  --muted-text: #63636B;
  --background: var(--hl-page);
  --foreground: var(--hl-ink);
  --muted-foreground: var(--hl-muted);
  --input: transparent;
  --primary: var(--hl-ink);
  --primary-foreground: var(--hl-page);
  --ring: var(--hl-link);
  --radius: .625rem;
  --card-foreground: var(--hl-ink);
  --popover: var(--hl-step);
  --popover-foreground: var(--hl-ink);
  --secondary: var(--hl-step);
  --secondary-foreground: var(--hl-ink);
  --accent: var(--hl-step);
  --accent-foreground: var(--hl-ink);
  --destructive: var(--hl-stop-ink);
  --sidebar: var(--hl-chrome);
  --sidebar-foreground: var(--hl-ink);
  --sidebar-accent: var(--hl-step);
  --sidebar-accent-foreground: var(--hl-ink);
  --sidebar-border: transparent;
  --sidebar-ring: var(--hl-link);
  --sidebar-primary: var(--hl-link);
  --sidebar-primary-foreground: var(--hl-page);
  --surf: var(--hl-page);
  --c-neutral: #18181B;
  --c-blue: #003399;
  --c-gold: #E0B000;
  --c-green: #15803D;
  --c-red: #DC2626;
  --p-neutral: 9%;
  --p-lv3: 9%;
  --p-lv2: 18%;
  --p-soft: 30%;
  --p-s2: 12%;
  --p-s3: 20%;
  --p-s4: 32%;
  --p-se: 12%;
  --t-neutral: #18181B;
  --t-s1: #3F3F46;
  --t-lv3: #002B80;
  --t-lv2: #002B80;
  --t-soft: #5C4600;
  --t-s2: #24502F;
  --t-s3: #1A4A2A;
  --t-s4: #0F3A1F;
  --t-se: #9B1515;
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --blue-50: #0E1A3D;
    --blue-100: #13234F;
    --blue-200: #2A3F7A;
    --blue-700: #AFC3FF;
    --gold-50: #2A2205;
    --gold-200: #5C4A0A;
    --gold-dot: #FFCC00;
    --gold-text: #FFE07A;
    --fg-muted: #A1A1AA;
    --dot-green: #22C55E;
    --dot-red: #F87171;
    --dot-grey: #71717A;
    --st1-bg: #1C1C20;
    --st1-fg: #A1A1AA;
    --st1-bd: #2A2A30;
    --st2-bg: #16241B;
    --st2-fg: #9CC7A9;
    --st2-bd: #22382A;
    --st3-bg: #173823;
    --st3-fg: #A7E3BA;
    --st3-bd: #245236;
    --st4-bg: #1B5631;
    --st4-fg: #D2F5DD;
    --st4-bd: #2A7445;
    --st5-bg: #15803D;
    --st5-fg: #FFFFFF;
    --st5-bd: #15803D;
    --end-bg: #3B1214;
    --end-fg: #FCA5A5;
    --end-bd: #5C1D20;
    --link: #8FAEFF;
    --lv1-bg: #2448B8;
    --muted-text: #A1A1AA;
    --c-neutral: #F4F4F5;
    --c-blue: #8FAEFF;
    --c-gold: #FFCC00;
    --c-green: #22C55E;
    --c-red: #F87171;
    --p-neutral: 8%;
    --p-lv3: 9%;
    --p-lv2: 18%;
    --p-soft: 12%;
    --p-s2: 10%;
    --p-s3: 18%;
    --p-s4: 28%;
    --p-se: 12%;
    --t-neutral: #F4F4F5;
    --t-s1: #D4D4D8;
    --t-lv3: #C9D7FF;
    --t-lv2: #DCE5FF;
    --t-soft: #FFE07A;
    --t-s2: #B5E3C3;
    --t-s3: #C8F2D5;
    --t-s4: #E3FAEA;
    --t-se: #FECACA;
    --primary: var(--hl-ink);
    --primary-foreground: var(--hl-page);
    --ring: var(--hl-link);
  }
}
:root[data-theme="dark"] {
  --blue-50: #0E1A3D;
  --blue-100: #13234F;
  --blue-200: #2A3F7A;
  --blue-700: #AFC3FF;
  --gold-50: #2A2205;
  --gold-200: #5C4A0A;
  --gold-dot: #FFCC00;
  --gold-text: #FFE07A;
  --fg-muted: #A1A1AA;
  --dot-green: #22C55E;
  --dot-red: #F87171;
  --dot-grey: #71717A;
  --st1-bg: #1C1C20;
  --st1-fg: #A1A1AA;
  --st1-bd: #2A2A30;
  --st2-bg: #16241B;
  --st2-fg: #9CC7A9;
  --st2-bd: #22382A;
  --st3-bg: #173823;
  --st3-fg: #A7E3BA;
  --st3-bd: #245236;
  --st4-bg: #1B5631;
  --st4-fg: #D2F5DD;
  --st4-bd: #2A7445;
  --st5-bg: #15803D;
  --st5-fg: #FFFFFF;
  --st5-bd: #15803D;
  --end-bg: #3B1214;
  --end-fg: #FCA5A5;
  --end-bd: #5C1D20;
  --link: #8FAEFF;
  --lv1-bg: #2448B8;
  --muted-text: #A1A1AA;
  --c-neutral: #F4F4F5;
  --c-blue: #8FAEFF;
  --c-gold: #FFCC00;
  --c-green: #22C55E;
  --c-red: #F87171;
  --p-neutral: 8%;
  --p-lv3: 9%;
  --p-lv2: 18%;
  --p-soft: 12%;
  --p-s2: 10%;
  --p-s3: 18%;
  --p-s4: 28%;
  --p-se: 12%;
  --t-neutral: #F4F4F5;
  --t-s1: #D4D4D8;
  --t-lv3: #C9D7FF;
  --t-lv2: #DCE5FF;
  --t-soft: #FFE07A;
  --t-s2: #B5E3C3;
  --t-s3: #C8F2D5;
  --t-s4: #E3FAEA;
  --t-se: #FECACA;
  --primary: var(--hl-ink);
  --primary-foreground: var(--hl-page);
  --ring: var(--hl-link);
}
.chips {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  vertical-align: middle;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  border: 0;
  box-sizing: border-box;
  font: 500 12px/1 var(--hl-sans);
  white-space: nowrap;
  text-decoration: none;
  vertical-align: middle;
}
.chip.pill {
  border-radius: 999px;
}
.chip.lv1 {
  background: var(--lv1-bg);
  color: #fff;
}
.chip.lv1 .star {
  color: var(--eu-gold);
  font-size: 11px;
  line-height: 1;
}
.chip.lv2 {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-blue) var(--p-lv2));
  }
  color: var(--t-lv2);
}
.chip.lv3 {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-blue) var(--p-lv3));
  }
  color: var(--t-lv3);
}
.chip.act {
  background: var(--eu-gold);
  color: #002266;
  font-weight: 600;
}
.chip.act.soft {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-gold) var(--p-soft));
  }
  color: var(--t-soft);
}
@media (hover:hover) {
  a.chip.act:hover {
    filter: brightness(.96);
  }
}
.chip.type,.chip.cat,.chip.status,.chip.topic,.chip.check {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-neutral) var(--p-neutral));
  }
  color: var(--t-neutral);
}
.seg {
  display: inline-flex;
  align-items: stretch;
  gap: 2px;
  vertical-align: middle;
}
.seg>.chip:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.seg>.chip:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.chip.topic {
  border-radius: 6px;
}
.chip .glyph {
  flex: none;
  color: var(--hl-muted);
  font-weight: 600;
}
.dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: none;
  display: block;
}
.dot.g {
  background: var(--dot-green);
}
.dot.y {
  background: var(--gold-dot);
}
.dot.r {
  background: var(--dot-red);
}
.dot.n {
  background: var(--dot-grey);
}
.chip.s1 {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-neutral) var(--p-neutral));
  }
  color: var(--t-s1);
}
.chip.s2 {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-green) var(--p-s2));
  }
  color: var(--t-s2);
}
.chip.s3 {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-green) var(--p-s3));
  }
  color: var(--t-s3);
}
.chip.s4 {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-green) var(--p-s4));
  }
  color: var(--t-s4);
}
.chip.s5 {
  background: var(--st5-bg);
  color: var(--st5-fg);
}
.chip.se {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-red) var(--p-se));
  }
  color: var(--t-se);
}
.ramp {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.ramp .chip:not(.on) {
  background: none;
  color: var(--hl-ink-2);
  font-weight: 400;
  padding: 0 3px;
}
.ramp .chip.on {
  font-weight: 600;
}
.ramp .sep {
  color: var(--muted-text);
  font-size: 11px;
}
.chip .hl-sr {
  position: absolute;
}
.basis {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 500 12px/1 var(--hl-sans);
  color: var(--muted-text);
  vertical-align: middle;
}
.basis>.dot {
  width: 7px;
  height: 7px;
}
.dot.t-official {
  background: var(--hl-link);
}
.dot.t-parsed {
  background: var(--dot-green);
}
.dot.t-derived {
  background: var(--gold-dot);
}
@media print {
  .chip {
    border-color: #999 !important;
    background: none !important;
    color: #000 !important;
  }
  .dot {
    border: 1px solid #000;
  }
}
.hl-reader {
  --surf: var(--hl-reader);
}
.hl-top,.hl-tree,.hl-aside {
  --surf: var(--hl-chrome);
}
details.ui-tile,.ui-tile.is-static,.card,.hl-act,.hl-part,.hl-layer,.hl-info,.hl-datepick,.hl-cattile,.hl-stat,.hl-pager a,.ui-table-wrap {
  --surf: var(--hl-step);
}
.ui-table tbody tr:nth-child(even)>* {
  --surf: var(--hl-chrome);
}
@media (hover:hover) {
  .ui-table tbody tr:hover>* {
    --surf: var(--hl-step-hover);
  }
}
details.ui-tile {
  background: var(--hl-step);
  border-radius: calc(var(--radius) + 2px);
}
details.ui-tile>summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  cursor: pointer;
  font: 600 14px/1.3 var(--hl-sans);
  color: var(--fg);
  border-radius: calc(var(--radius) + 2px);
  -webkit-tap-highlight-color: transparent;
}
details.ui-tile>summary::-webkit-details-marker {
  display: none;
}
details.ui-tile>summary::after {
  content: "";
  margin-left: auto;
  flex: none;
  width: 8px;
  height: 8px;
  border-right: 1.6px solid var(--muted-text);
  border-bottom: 1.6px solid var(--muted-text);
  transform: translateY(-2px) rotate(45deg);
  transition: transform .15s;
}
details.ui-tile[open]>summary::after {
  transform: translateY(2px) rotate(-135deg);
}
@media (hover:hover) {
  details.ui-tile>summary:hover {
    background: var(--hl-step-hover);
  }
}
@media (hover:none) {
  details.ui-tile>summary:active {
    background: var(--hl-step-hover);
  }
}
details.ui-tile[open]>summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.ui-tile__n {
  font: 500 12px/1 var(--hl-sans);
  color: var(--muted-text);
  background: none;
  border-radius: 999px;
  padding: 3px 4px;
  font-variant-numeric: tabular-nums;
}
.ui-tile__body {
  padding: 4px 14px 14px;
  font-size: 14px;
  line-height: 1.5;
  min-width: 0;
}
.ui-tile__body>:first-child {
  margin-top: 4px;
}
.ui-tile__body .hl-row {
  margin: 0 -8px;
}
.ui-tile.is-static {
  display: block;
  padding: 12px 14px;
  background: var(--hl-step);
  border-radius: calc(var(--radius) + 2px);
}
.ui-tile.is-static>h2 {
  font: 600 14px/1.3 var(--hl-sans);
  margin: 0 0 8px;
}
.ui-kv {
  display: grid;
  grid-template-columns: minmax(84px,max-content) 1fr;
  gap: 8px 14px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.45;
}
.ui-kv>dt {
  color: var(--muted-text);
  font-weight: 500;
}
.ui-kv>dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--fg);
}
.ui-kv>dd.is-empty {
  color: var(--muted-text);
}
.ui-kv .hl-dates {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 2px 10px;
  margin: 0;
}
.ui-kv .hl-dates dt {
  color: var(--muted-text);
}
.ui-kv .hl-dates dd {
  margin: 0;
}
.ui-kv .ramp {
  margin-top: 6px;
}
.ui-about .hl-source {
  margin: 0 0 10px;
  font-size: 13.5px;
}
@media print {
  details.ui-tile>summary::after {
    display: none;
  }
}
.ui-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}
.ui-table th,.ui-table td {
  text-align: left;
  padding: 9px 10px;
  vertical-align: top;
}
.ui-table thead th {
  font-weight: 600;
  color: var(--muted-text);
  font-size: 12.5px;
  white-space: nowrap;
}
.ui-table tbody tr:nth-child(even)>* {
  background: var(--hl-tone);
}
@media (hover:hover) {
  .ui-table tbody tr:hover>* {
    background: var(--hl-step-hover);
  }
}
.ui-table tbody tr>:first-child {
  border-radius: 8px 0 0 8px;
}
.ui-table tbody tr>:last-child {
  border-radius: 0 8px 8px 0;
}
.ui-table-wrap {
  overflow-x: auto;
  padding: 4px 6px 6px;
  border-radius: calc(var(--radius) + 2px);
  background: var(--hl-step);
}
.ui-copy {
  display: flex;
  align-items: stretch;
  gap: 0;
  border-radius: calc(var(--radius) - 2px);
  background: var(--hl-step);
  overflow: hidden;
  max-width: 100%;
}
.ui-copy code {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 0 12px;
  font: 400 14px var(--hl-mono);
  color: var(--fg);
  overflow-x: auto;
  white-space: nowrap;
  user-select: all;
  background: none;
}
.ui-copy button {
  flex: none;
  min-height: 44px;
  padding: 0 14px;
  border: 0;
  background: var(--hl-tone);
  color: var(--fg);
  font: 500 13px var(--hl-sans);
  cursor: pointer;
}
@media (hover:hover) {
  .ui-copy button:hover {
    background: var(--hl-step-hover);
  }
}
.ui-copy button[data-done]::after {
  content: " ✓";
}
.hl-foot__meta {
  margin-left: auto;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  font: 400 12px var(--hl-mono);
  color: var(--muted-text);
}
.hl-foot__meta a {
  color: var(--muted-text) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hl-foot__meta>*+*::before {
  content: "·";
  margin-right: 10px;
  color: var(--muted-text);
}
.hl-logo svg {
  color: var(--fg);
}
.hl-search {
  border-radius: calc(var(--radius) + 2px);
  box-shadow: var(--hl-sh-1);
  height: 44px;
}
@media (hover:hover) {
  .hl-search:hover {
    box-shadow: var(--hl-sh-2);
  }
}
.hl-search:focus-within {
  box-shadow: 0 0 0 2px var(--link),var(--hl-sh-1);
}
.hl-toplink,.hl-links>a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border-radius: calc(var(--radius) - 2px);
  color: var(--fg);
  font: 500 14px var(--hl-sans);
  text-decoration: none;
}
@media (hover:hover) {
  .hl-toplink:hover,.hl-links>a:hover {
    background: var(--hl-step);
  }
}
.hl-foot {
  margin-top: 40px;
  align-items: center;
}
.hl-foot__brand {
  font: 600 15px var(--hl-sans);
  color: var(--fg);
  letter-spacing: -.01em;
}
.hl-aside {
  gap: 12px;
}
.hl-aside>section.ui-tile {
  background: var(--hl-step);
  padding: 12px 14px;
  border-radius: calc(var(--radius) + 2px);
}
.hl-nav>.hl-toc {
  background: var(--hl-tone);
  box-shadow: none;
}
@media (hover:hover) {
  .hl-nav>.hl-toc a:hover,.hl-nav>.hl-toc .hl-toc__part>summary:hover,.hl-nav>.hl-toc .hl-toc__ch>summary:hover {
    background: var(--hl-tone-2);
  }
}
.hl-nav>.hl-toc a[aria-current] {
  background: var(--hl-surface);
  font-weight: 600;
}
.hl-pager>a {
  background: var(--hl-step);
  box-shadow: none;
}
@media (hover:hover) {
  .hl-pager>a:hover {
    background: var(--hl-step-hover);
    box-shadow: none;
  }
}
.hl-reltile {
  background: var(--hl-step);
  box-shadow: none;
}
.hl-trust.is-head {
  font: 400 14px/1.5 var(--hl-sans);
  color: var(--muted-text);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 20px;
}
.hl-trust.is-head.has-chips {
  line-height: 1.5;
}
.hl-trust.is-head a {
  color: var(--link);
  font-weight: 500;
}
.hl-trust__sep {
  color: var(--muted-text);
}
.ui-tt .hl-datepick {
  background: none;
  box-shadow: none;
  padding: 0;
  width: auto;
}
.ui-tt .hl-datepick label {
  font-weight: 500;
  color: var(--muted-text);
}
.hl-datepick input[type=date] {
  background: var(--hl-step-hover);
  border: 0;
  height: 40px;
}
.hl-datepick .hl-btn.is-strong {
  background: var(--primary);
  color: var(--primary-foreground);
  min-height: 40px;
  border-radius: calc(var(--radius) - 2px);
}
.hl-datepick.is-list {
  background: none;
  box-shadow: none;
  padding: 0;
  width: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hl-datepick.is-list a {
  margin: 0 -8px;
  padding: 8px;
}
.hl-datepick.is-list .hl-datepick__cmp {
  margin-top: 6px;
}
.hl-btn {
  border-radius: calc(var(--radius) - 2px);
}
.hl-btn.is-strong {
  background: var(--primary);
  color: var(--primary-foreground);
}
.hl-pills .hl-pill,.hl-pill {
  border-radius: 999px;
}
.hl-text.is-tile {
  border-radius: calc(var(--radius) + 4px);
}
.hl-recgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(44px,1fr));
  gap: 4px;
  margin: 4px 0 8px;
}
.hl-recgrid a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: calc(var(--radius) - 4px);
  background: var(--hl-step);
  color: var(--fg);
  font: 400 13px var(--hl-mono);
  text-decoration: none;
}
@media (hover:hover) {
  .hl-recgrid a:hover {
    background: var(--hl-step-hover);
  }
}
.hl-maptile p {
  margin: 0 0 10px;
  font-size: 13.5px;
  color: var(--muted-text);
  line-height: 1.45;
}
.hl-aside>.hl-layer.ui-tile {
  background: var(--hl-step);
  padding: 12px 14px;
  box-shadow: none;
}
.hl-layer.ui-tile>h2 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hl-layer .hl-more {
  display: inline-block;
  margin-top: 10px;
  font-size: 13.5px;
}
.hl-natword {
  font: 500 13px var(--hl-sans);
  color: var(--muted-text);
  margin-left: 2px;
}
.hl-hero.is-centred {
  max-width: 760px;
  margin: 40px auto 56px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hl-hero.is-centred h1 {
  font: 600 clamp(34px,5vw,54px)/1.08 var(--hl-serif);
  letter-spacing: -.02em;
  margin: 0 0 18px;
  color: var(--fg);
}
.hl-hero__sub {
  font-size: 18px;
  line-height: 1.55;
  color: var(--hl-ink-2);
  max-width: 640px;
  margin: 0 0 28px;
}
.hl-connects {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 12px;
}
.hl-connect {
  min-width: 120px;
}
.hl-hero__note {
  font-size: 13.5px;
  color: var(--muted-text);
  max-width: 560px;
  margin: 0 0 12px;
  line-height: 1.5;
}
.hl-hero .ui-copy {
  margin: 0 0 36px;
  width: min(460px,100%);
}
.hl-hero .hl-search.is-hero {
  width: 100%;
  max-width: 620px;
  margin: 0 0 12px;
}
.hl-hero .hl-chips {
  justify-content: center;
  margin-bottom: 32px;
}
.hl-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 0;
  font-size: 13.5px;
  color: var(--muted-text);
}
.hl-facts li+li::before {
  content: "·";
  margin: 0 10px;
}
.hl-quick {
  font: 600 22px/1.2 var(--hl-serif);
  margin: 0 0 18px;
  text-align: left;
}
.hl-group__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 28px 0 12px;
  font: 500 13px var(--hl-sans);
  color: var(--muted-text);
}
.hl-act {
  background: var(--hl-step);
  box-shadow: none;
  border-radius: calc(var(--radius) + 4px);
}
@media (hover:hover) {
  .hl-act:hover {
    box-shadow: var(--hl-sh-2);
  }
}
.hl-act__top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.hl-act__top small {
  font: 400 12px var(--hl-mono);
  color: var(--muted-text);
  padding-top: 0 !important;
  margin: 0 !important;
}
.hl-act b {
  font: 600 15px/1.35 var(--hl-sans);
  color: var(--fg);
}
.hl-hero.is-centred .hl-search {
  flex: none;
}
.hl-foot__meta>*+*::before {
  display: inline-block;
  text-decoration: none;
}
.hl-cattiles {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
  gap: 10px;
  margin: 14px 0 22px;
}
.hl-cattile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 56px;
  padding: 0 16px;
  background: var(--hl-step);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: var(--hl-sh-1);
  color: var(--fg) !important;
  text-decoration: none !important;
  font: 500 15px var(--hl-sans);
}
@media (hover:hover) {
  .hl-cattile:hover {
    box-shadow: var(--hl-sh-2);
  }
}
.hl-sub {
  margin: -8px 0 20px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--hl-ink-2);
}
.hl-text.is-site {
  font-family: var(--hl-sans);
  font-size: 15px;
  line-height: 1.55;
}
.hl-text.is-site>h2 {
  font: 600 20px/1.3 var(--hl-serif);
  margin: 28px 0 12px;
}
.hl-week {
  margin: 0 0 10px;
}
.hl-week>summary {
  font-size: 15px;
}
.hl-week h3 {
  font: 600 12px var(--hl-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-text);
  margin: 14px 0 6px;
}
.hl-week ul {
  margin: 0;
  padding-left: 18px;
}
.hl-week li+li {
  margin-top: 6px;
}
.hl-cattile.is-def>span:first-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hl-cattile.is-def small {
  font: 400 12.5px var(--hl-sans);
  color: var(--muted-text);
}
.hl-verif td.is-num,.hl-verif th.is-num {
  text-align: right;
}
.hl-verif td {
  vertical-align: middle;
  white-space: nowrap;
}
.hl-actcell {
  text-decoration: none;
}
.hl-zero {
  color: var(--muted-text);
  font-size: 13px;
  padding-right: 8px;
}
.hl-legend ul {
  margin: 0;
  padding-left: 16px;
  font-size: 13.5px;
  line-height: 1.5;
}
.hl-legend li+li {
  margin-top: 8px;
}
.hl-nav>.hl-legend {
  position: sticky;
  top: 90px;
}
.hl-connects.is-left {
  justify-content: flex-start;
  margin: 6px 0 8px;
}
.hl-hero__note.is-left {
  text-align: left;
  margin: 0 0 16px;
}
.hl-clients {
  padding-left: 18px;
}
.hl-clients li+li {
  margin-top: 6px;
}
.hl-text .ui-copy {
  margin: 8px 0 16px;
  max-width: 520px;
}
a.chip {
  position: relative;
}
a.chip::after {
  content: "";
  position: absolute;
  left: -3px;
  right: -3px;
  top: -11px;
  bottom: -11px;
}
.hl-recgrid.is-toc {
  grid-template-columns: repeat(auto-fill,minmax(38px,1fr));
  margin: 6px 0 8px;
}
.hl-recgrid.is-toc a {
  min-height: 32px;
  padding: 0;
  font-size: 12px;
}
.hl-recgrid a[aria-current] {
  background: var(--fg);
  color: var(--bg);
}
.hl-part__body.is-index {
  padding: 0;
}
.hl-morelist {
  margin: 0;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.45;
}
.hl-morelist li+li {
  margin-top: 6px;
}
.hl-recgrid .hl-toc a[aria-current],.hl-toc .hl-recgrid a[aria-current],.hl-nav>.hl-toc .hl-recgrid a[aria-current] {
  background: var(--fg);
  color: var(--bg);
}
.hl-toplink,.hl-links>a {
  min-height: 44px;
}
.hl-datepick .hl-btn.is-strong,.hl-datepick input[type=date] {
  min-height: 44px;
  height: 44px;
}
@media (max-width:720px) {
  .hl-logo {
    min-height: 44px;
  }
  .hl-foot a,.hl-foot__meta a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .hl-crumbs a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .hl-row,.hl-datepick.is-list a {
    min-height: 44px;
    box-sizing: border-box;
    align-items: center;
  }
  .hl-recgrid a {
    min-height: 44px;
  }
  .hl-chip {
    min-height: 44px;
  }
  .hl-trust.is-head a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .hl-toc summary,.hl-toc a {
    min-height: 44px;
    box-sizing: border-box;
  }
  .hl-pill,.btn,.hl-more {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
  }
  .hl-art {
    min-height: 44px;
    box-sizing: border-box;
    align-items: center;
  }
  .hl-pager__where a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .hl-search summary,.hl-filters summary,details>summary {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
.hl-toc__h {
  font-size: 12px;
  letter-spacing: .01em;
}
.hl-art>span:first-child {
  white-space: nowrap;
}
.hl-trust.is-head .hl-trust__sep {
  display: none;
}
.hl-trust.is-head {
  gap: 6px 12px;
}
.hl-trust.is-head.has-chips.is-unverified {
  display: flex;
}
@media (max-width:720px) {
  .hl-top__in {
    gap: 8px 12px;
    padding-bottom: 16px;
  }
  .hl-top__in .hl-actions {
    margin-left: auto;
    order: 2;
  }
  .hl-top__in .hl-search {
    order: 3;
    flex: 1 1 100%;
    max-width: none;
  }
}
.ui-about .hl-abt__trust {
  margin: 0 0 12px;
  font: 400 13.5px/1.5 var(--hl-sans);
  color: var(--hl-ink-2);
}
.hl-toc .hl-recgrid a,.hl-recgrid a {
  margin: 0;
  padding: 0;
  gap: 0;
  min-width: 0;
  box-sizing: border-box;
  justify-content: center;
}
.hl-recgrid.is-toc {
  grid-template-columns: repeat(auto-fill,minmax(40px,1fr));
}
.ui-table-wrap.is-fit {
  overflow: visible;
}
.ui-table.is-stack thead th {
  white-space: normal;
  vertical-align: bottom;
}
.hl-verif {
  font-size: 13px;
}
.hl-verif th,.hl-verif td {
  padding: 8px 6px;
}
.hl-verif th:first-child,.hl-verif td:first-child {
  padding-left: 10px;
}
.hl-verif th:last-child,.hl-verif td:last-child {
  padding-right: 10px;
}
.hl-verif td {
  white-space: normal;
}
.hl-verif td.is-num {
  white-space: nowrap;
}
.hl-deftable th[scope=row] a {
  color: var(--link);
  text-decoration: underline;
  text-decoration-color: var(--link);
  @supports (color: color-mix(in lab, red, red)) {
    text-decoration-color: color-mix(in srgb,var(--link) 35%,transparent);
  }
  text-underline-offset: 3px;
  font-weight: 600;
}
@media (hover:hover) {
  .hl-deftable th[scope=row] a:hover {
    text-decoration-color: currentColor;
  }
}
.hl-deftable td {
  width: 55%;
}
@media (max-width:640px) {
  .ui-table.is-stack,.ui-table.is-stack tbody,.ui-table.is-stack tr {
    display: block;
    width: 100%;
  }
  .ui-table.is-stack thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .ui-table.is-stack tr {
    padding: 10px 12px;
    border-radius: 8px;
  }
  .ui-table.is-stack tbody tr:nth-child(even) {
    background: var(--hl-tone);
    --surf: var(--hl-tone);
  }
  .ui-table.is-stack tbody tr>* {
    background: none !important;
  }
  .ui-table.is-stack th,.ui-table.is-stack td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: auto;
    padding: 4px 0;
    border: 0;
    text-align: left;
  }
  .ui-table.is-stack td[data-label]::before {
    content: attr(data-label);
    flex: none;
    font: 500 12.5px var(--hl-sans);
    color: var(--muted-text);
  }
  .ui-table.is-stack td:first-child,.ui-table.is-stack th:first-child {
    padding: 2px 0 6px;
  }
  .ui-table.is-stack td:first-child::before {
    content: none;
  }
  .hl-verif td.is-num {
    justify-content: space-between;
  }
  .hl-deftable td {
    width: auto;
    justify-content: flex-start;
  }
  .hl-deftable td::before {
    content: none !important;
  }
  .hl-deftable th[scope=row] a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
.hl-verif td:nth-child(-n+2),.hl-verif td:nth-child(7) {
  white-space: nowrap;
}
@media (max-width:640px) {
  .ui-table.is-stack tr {
    box-sizing: border-box;
  }
  .hl-verif td:nth-child(7) {
    white-space: normal;
  }
}
.hl-hero__note {
  font-size: 13px;
}
.hl-hero .ui-copy {
  margin: 0 0 8px;
}
.hl-hero .ui-copy+.hl-hero__note {
  margin: 0 0 36px;
}
.hl-facts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  width: min(960px,calc(100vw - 32px));
  margin: 8px 0 10px;
  font-size: inherit;
  color: var(--fg);
}
.hl-facts li+li::before {
  content: none;
}
.hl-fact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 6px;
  padding: 16px 16px 14px;
  text-align: left;
  margin: 0;
}
.hl-fact b {
  font: 600 26px/1.1 var(--hl-sans);
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  color: var(--fg);
}
.hl-fact span {
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted-text);
}
@media (max-width:900px) {
  .hl-facts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
.hl-cdlg {
  display: contents;
}
.hl-cdlg>summary {
  list-style: none;
}
.hl-cdlg::details-content {
  display: contents;
}
.hl-cdlg:not([open])>.hl-cdlg__panel {
  display: none;
}
.hl-cdlg>summary::-webkit-details-marker {
  display: none;
}
.hl-cdlg[open] {
  display: contents;
}
.hl-cdlg[open]>.hl-cdlg__panel {
  flex: 1 1 100%;
  order: 9;
  grid-column: 1/-1;
}
.hl-connects:has(.hl-cdlg[open])+.ui-copy {
  display: none;
}
.hl-cdlg__panel {
  text-align: left;
  max-width: 520px;
  margin: 10px auto 0;
  padding: 20px;
  background: var(--hl-step);
  color: var(--fg);
  border-radius: calc(var(--radius) + 4px);
}
.hl-cdlg__h {
  font: 600 18px/1.3 var(--hl-sans);
  margin: 0 0 6px;
}
.hl-cdlg__lead,.hl-cdlg__note {
  font-size: 14px;
  line-height: 1.5;
  color: var(--hl-ink-2);
  margin: 0 0 12px;
}
.hl-cdlg__note {
  font-size: 13px;
  color: var(--muted-text);
  margin: 12px 0 16px;
}
.hl-cdlg__steps {
  margin: 14px 0 0;
  padding-left: 20px;
  font-size: 14.5px;
  line-height: 1.5;
}
.hl-cdlg__steps li+li {
  margin-top: 6px;
}
.hl-cdlg__panel .ui-copy {
  width: 100%;
  margin: 0;
}
.hl-cdlg__x {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: calc(var(--radius) - 2px);
  background: transparent;
  color: var(--muted-text);
  font: 400 24px/1 var(--hl-sans);
  cursor: pointer;
}
@media (hover:hover) {
  .hl-cdlg__x:hover {
    background: var(--hl-step);
    color: var(--fg);
  }
}
.dialog>.hl-cdlg__panel {
  box-sizing: border-box;
  margin: 0;
  width: min(560px,calc(100vw - 24px));
  max-width: none;
  padding: 24px 24px 22px;
  background: var(--hl-reader);
  box-shadow: var(--hl-sh-2);
}
.dialog .hl-cdlg__h {
  padding-right: 44px;
}
.hl-hero>p.hl-hero__note {
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted-text);
  margin: 0 auto 12px;
}
.hl-hero>.ui-copy+p.hl-hero__note {
  margin: 0 auto 36px;
}
.hl-hero>.hl-facts+p.hl-hero__note {
  margin: 0 auto;
}
.hl-hero .hl-connects {
  max-width: none;
  width: min(960px,calc(100vw - 32px));
}
@media (max-width:720px) {
  .hl-hero>p.hl-hero__note {
    text-align: left;
    margin-left: 0;
  }
  .hl-hero .hl-connects {
    justify-content: flex-start;
  }
}
.hl-cdlg__panel .ui-copy code {
  white-space: normal;
  overflow-wrap: anywhere;
  padding: 8px 12px;
}
.hl-text.is-def>blockquote {
  margin: 0;
  padding: 0;
  border: 0;
}
@media (max-width:720px) {
  .hl-hero .hl-connects,.hl-connects.is-left {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }
  .hl-connects>.hl-connect,.hl-connects>.hl-cdlg>summary {
    width: 100%;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }
  .hl-connects>.btn[data-variant="ghost"] {
    grid-column: 1/-1;
    justify-self: center;
  }
}
@media (max-width:420px) {
  .hl-cdlg__panel .ui-copy code {
    font-size: 12.5px;
    overflow-wrap: normal;
    word-break: normal;
  }
}
.ui-tile__body>p:only-child>a:only-child {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.hl-text hr {
  border: 0;
  height: 4px;
  width: 64px;
  margin: 28px 0;
  border-radius: 2px;
  background: var(--hl-tone-2);
}
.hl-tblock {
  margin: 0 0 34px;
}
.hl-text.is-site .hl-tblock>h2 {
  font: 600 20px/1.3 var(--hl-serif);
  margin: 28px 0 12px;
}
.hl-tblock h3 {
  font: 600 15px/1.35 var(--hl-sans);
  margin: 24px 0 8px;
}
.hl-tblock__note {
  font-size: 13.5px;
  color: var(--muted-text);
  margin: 0 0 14px;
}
.hl-stats {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.hl-stats.is-usage {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.hl-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 16px 14px;
  background: var(--hl-step);
  border-radius: calc(var(--radius) + 2px);
}
.hl-stat b {
  font: 600 26px/1.1 var(--hl-sans);
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  color: var(--fg);
}
.hl-stat span {
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted-text);
}
@media (max-width:900px) {
  .hl-stats,.hl-stats.is-usage {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
.hl-legend h3 {
  font: 600 12px var(--hl-sans);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted-text);
  margin: 14px 0 6px;
}
.hl-legend h3:first-of-type {
  margin-top: 4px;
}
.hl-trust-units td.is-num,.hl-trust-geo td.is-num,.hl-trust-ai td.is-num,.hl-trust-units th.is-num,.hl-trust-geo th.is-num,.hl-trust-ai th.is-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.hl-trust-geo caption {
  caption-side: top;
  text-align: left;
  font-size: 13px;
  color: var(--muted-text);
  padding: 0 10px 6px;
}
.hl-geo {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 12px;
  margin: 0 0 12px;
}
.hl-geo .hl-wmap {
  margin: 0;
}
.hl-trust-cur {
  font-size: 13px;
}
.hl-trust-cur th,.hl-trust-cur td {
  padding: 8px 6px;
  vertical-align: top;
}
.hl-trust-cur td:first-child,.hl-trust-cur th:first-child {
  padding-left: 10px;
}
.hl-wmap {
  margin: 0 0 12px;
  padding: 14px;
  background: var(--hl-step);
  border-radius: calc(var(--radius) + 2px);
}
.hl-wmap svg {
  display: block;
  width: 100%;
  height: auto;
}
.hl-wmap path,.hl-wmap circle {
  stroke: var(--hl-step);
  stroke-width: .6;
  stroke-linejoin: round;
}
.hl-wmap .q0 {
  fill: var(--hl-chrome);
}
.hl-wmap .q1 {
  fill: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    fill: color-mix(in oklab,var(--hl-link) 30%,var(--hl-tone));
  }
}
.hl-wmap .q2 {
  fill: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    fill: color-mix(in oklab,var(--hl-link) 48%,var(--hl-tone));
  }
}
.hl-wmap .q3 {
  fill: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    fill: color-mix(in oklab,var(--hl-link) 64%,var(--hl-tone));
  }
}
.hl-wmap .q4 {
  fill: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    fill: color-mix(in oklab,var(--hl-link) 82%,var(--hl-tone));
  }
}
.hl-wmap .q5 {
  fill: var(--hl-link);
}
@media (hover:hover) {
  .hl-wmap path[class]:not(.q0):hover,.hl-wmap circle:hover {
    stroke: var(--fg);
    stroke-width: 1.2;
  }
}
.hl-wmap figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted-text);
}
.hl-wmap__scale {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.hl-wmap__key i {
  display: inline-block;
  width: 18px;
  height: 10px;
  border-radius: 3px;
}
.hl-wmap__key i.q1 {
  background: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in oklab,var(--hl-link) 30%,var(--hl-tone));
  }
}
.hl-wmap__key i.q2 {
  background: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in oklab,var(--hl-link) 48%,var(--hl-tone));
  }
}
.hl-wmap__key i.q3 {
  background: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in oklab,var(--hl-link) 64%,var(--hl-tone));
  }
}
.hl-wmap__key i.q4 {
  background: var(--hl-link);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in oklab,var(--hl-link) 82%,var(--hl-tone));
  }
}
.hl-wmap__key i.q5 {
  background: var(--hl-link);
}
.hl-wmap__key i.q0 {
  background: var(--hl-chrome);
}
.hl-geo__table {
  margin: 0 0 12px;
}
@media (forced-colors:active) {
  .hl-wmap .q0 {
    fill: Canvas;
  }
  .hl-wmap [class^=q]:not(.q0) {
    fill: Highlight;
  }
}
.hl-wmap__scale {
  flex-wrap: wrap;
  row-gap: 4px;
}
.hl-wmap__key {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-right: 6px;
  white-space: nowrap;
}
.hl-wmap__key small {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
:root {
  --hl-chart-1: #2a78d6;
  --hl-chart-2: #eb6834;
  --hl-chart-3: #1baf7a;
  --hl-chart-4: #eda100;
}
@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --hl-chart-1: #3987e5;
    --hl-chart-2: #d95926;
    --hl-chart-3: #199e70;
    --hl-chart-4: #c98500;
  }
}
:root[data-theme="dark"] {
  --hl-chart-1: #3987e5;
  --hl-chart-2: #d95926;
  --hl-chart-3: #199e70;
  --hl-chart-4: #c98500;
}
.hl-charts {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
}
.hl-chart {
  margin: 0 0 12px;
  padding: 12px 14px 8px;
  background: var(--hl-step);
  border-radius: calc(var(--radius) + 2px);
}
.hl-charts .hl-chart {
  margin: 0;
}
.hl-chart figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 13.5px;
  color: var(--fg);
}
.hl-chart figcaption b {
  font-weight: 600;
}
.hl-chart svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.hl-chart.is-narrow {
  display: none;
}
@media (max-width:600px) {
  .hl-chart.is-wide {
    display: none;
  }
  .hl-chart.is-narrow {
    display: block;
  }
}
.hl-chart__grid,.hl-chart__axis {
  stroke: var(--hl-tone-2);
  stroke-width: 1;
}
.hl-chart__tick,.hl-chart__cat {
  font: 12px var(--hl-sans);
  fill: var(--muted-text);
  font-variant-numeric: tabular-nums;
}
.hl-chart__val {
  font: 600 12px var(--hl-sans);
  fill: var(--fg);
  font-variant-numeric: tabular-nums;
}
.hl-chart__sname {
  font-weight: 400;
  fill: var(--muted-text);
}
.hl-chart__line {
  fill: none;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.hl-chart__end,.hl-chart__dot {
  stroke: var(--hl-step);
  stroke-width: 2;
}
.hl-chart__hit {
  fill: transparent;
  stroke: none;
}
@media (hover:hover) {
  .hl-chart__hit:hover {
    fill: var(--fg);
    @supports (color: color-mix(in lab, red, red)) {
      fill: color-mix(in oklab,var(--fg) 12%,transparent);
    }
  }
  .hl-chart__bar:hover {
    opacity: .85;
  }
}
.hl-chart .c1 {
  stroke: var(--hl-chart-1);
}
.hl-chart .c2 {
  stroke: var(--hl-chart-2);
}
.hl-chart .c3 {
  stroke: var(--hl-chart-3);
}
.hl-chart .c4 {
  stroke: var(--hl-chart-4);
}
.hl-chart__end.c1,.hl-chart__dot.c1,.hl-chart__bar.c1,.hl-chart__legend i.c1 {
  fill: var(--hl-chart-1);
}
.hl-chart__end.c2,.hl-chart__dot.c2,.hl-chart__bar.c2,.hl-chart__legend i.c2 {
  fill: var(--hl-chart-2);
  background: var(--hl-chart-2);
}
.hl-chart__end.c3,.hl-chart__dot.c3,.hl-chart__bar.c3 {
  fill: var(--hl-chart-3);
}
.hl-chart__end.c4,.hl-chart__dot.c4,.hl-chart__bar.c4 {
  fill: var(--hl-chart-4);
}
.hl-chart__bar {
  stroke: none;
}
.hl-chart__legend {
  display: inline-flex;
  gap: 12px;
  font-size: 12.5px;
  color: var(--muted-text);
}
.hl-chart__legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hl-chart__legend i {
  display: inline-block;
  width: 14px;
  height: 3px;
  border-radius: 2px;
}
.hl-chart__legend i.c1 {
  background: var(--hl-chart-1);
}
.hl-stats-days td.is-num,.hl-stats-days th.is-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.hl-trust-up td:first-child {
  white-space: nowrap;
}
@media (forced-colors:active) {
  .hl-chart__line {
    stroke: CanvasText;
  }
  .hl-chart__bar,.hl-chart__end,.hl-chart__dot {
    fill: CanvasText;
  }
}
.hl-hero>.hl-connect-main {
  min-width: 240px;
  margin: 4px auto 10px;
  font-size: 16px;
}
.hl-connect-dlg>.hl-cdlg__panel {
  gap: 0;
  overflow: auto;
}
.hl-connect-dlg .hl-cdlg__lead {
  margin: 0 0 16px;
}
.hl-connect-dlg .hl-connects {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  width: auto;
  margin: 0 0 16px;
}
.hl-connect-dlg .hl-connects>.hl-connect,.hl-connect-dlg .hl-connects>.hl-cdlg>summary {
  width: 100%;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}
.hl-connect-dlg .hl-cdlg[open]>.hl-cdlg__panel {
  margin: 0;
  max-width: none;
  background: var(--hl-step);
}
.hl-connect-dlg .hl-cdlg[open]>summary {
  background: var(--hl-step-hover);
}
.hl-connect-dlg:has(.hl-cdlg[open]) .hl-connect-addr {
  display: none;
}
.hl-connect-addr .hl-cdlg__note {
  margin: 0 0 6px;
}
.hl-connect-addr .ui-copy {
  width: 100%;
  margin: 0 0 14px;
}
.hl-connect-dlg .hl-cdlg__panel>.btn[data-variant="ghost"] {
  align-self: flex-start;
  margin-left: -12px;
}
.hl-hero>.hl-connect-main+p.hl-hero__note {
  text-align: center;
  margin: 0 auto 28px;
}
@media (max-width:420px) {
  .hl-connect-dlg>.hl-cdlg__panel {
    padding: 20px 16px 18px;
  }
  .hl-connect-dlg .hl-cdlg[open]>.hl-cdlg__panel {
    padding: 16px 14px;
  }
  .hl-connect-dlg .ui-copy code {
    overflow-wrap: anywhere;
  }
}
.hl-stats.is-trust {
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
}
@media (max-width:900px) {
  .hl-stats.is-trust {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
.hl-stat span {
  white-space: nowrap;
}
.hl-stat>span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.hl-gap {
  font-size: 12.5px;
  color: var(--muted-text);
  white-space: nowrap;
}
.hl-folds {
  display: grid;
  gap: 10px;
}
.hl-trust-acts td.is-num,.hl-trust-acts th.is-num {
  text-align: right;
}
.hl-trust-acts td.is-num .chip {
  display: inline-flex;
}
@media print {
  details.hl-fold::details-content {
    content-visibility: visible;
    display: block;
    block-size: auto;
  }
  details.hl-fold>summary {
    list-style: none;
  }
}
.hl-stats.is-ai,.hl-stats.is-search {
  grid-template-columns: repeat(4,minmax(0,1fr));
}
@media (max-width:900px) {
  .hl-stats.is-ai,.hl-stats.is-search {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
.hl-tblock>h3 {
  font: 600 15px/1.35 var(--hl-sans);
  margin: 22px 0 10px;
}
.hl-weekly td .chips {
  display: inline-flex;
  gap: 4px;
  vertical-align: middle;
  margin-left: 4px;
}
.hl-weekly__when {
  font: 600 13.5px/1.35 var(--hl-sans);
  margin: 14px 0 6px;
}
.hl-trust-top {
  position: relative;
}
.hl-trust-next {
  margin: 0 0 6px;
  text-align: right;
  font-size: 13px;
  color: var(--muted-text);
}
.hl-trust-next time {
  color: var(--hl-ink);
  font-weight: 600;
}
.hl-trust-next .chip {
  margin-left: 6px;
}
.hl-donuts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px 28px;
  align-items: end;
}
@media (max-width:760px) {
  .hl-donuts {
    grid-template-columns: minmax(0,1fr);
  }
}
.hl-donut {
  margin: 0;
  min-width: 0;
}
.hl-donut__cap {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  margin: 0 0 4px;
  font-size: 13px;
  color: var(--muted-text);
}
.hl-donut__cap b {
  font: 600 15px/1.35 var(--hl-sans);
  color: var(--hl-ink);
}
.hl-donut__plot {
  position: relative;
  width: 100%;
  max-width: 360px;
  aspect-ratio: 360/176;
}
.hl-donut__plot svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.hl-donut__track {
  fill: none;
  stroke: none;
}
.hl-donut__seg {
  fill: none;
  stroke-width: 20;
}
.hl-donut__seg.is-g {
  stroke: var(--dot-green);
}
.hl-donut__seg.is-y {
  stroke: var(--gold-dot);
}
.hl-donut__seg.is-n {
  stroke: var(--dot-grey);
}
.hl-donut__seg.is-r {
  stroke: var(--dot-red);
}
.hl-donut__lead {
  fill: none;
  stroke: var(--hl-muted);
  stroke-width: 1;
}
.hl-donut__tip {
  fill: var(--hl-ink);
}
.hl-donut__n {
  font: 700 22px/1 var(--hl-sans);
  fill: var(--hl-ink);
}
.hl-donut__u {
  font: 400 12px/1 var(--hl-sans);
  fill: var(--hl-muted);
}
.hl-donut__call {
  position: absolute;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-size: 13px;
}
.hl-donut__count {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.hl-donut__call {
  z-index: 1;
}
.hl-donut__call:hover,.hl-donut__call:focus-within {
  z-index: 3;
}
@media print {
  .hl-donut__seg {
    stroke: var(--hl-ink) !important;
  }
  .hl-donut__seg.is-g {
    stroke: var(--hl-muted) !important;
  }
}
.chip.check.hl-trust__unv {
  background: var(--surf);
  @supports (color: color-mix(in lab, red, red)) {
    background: color-mix(in srgb,var(--surf),var(--c-gold) var(--p-soft));
  }
  color: var(--t-soft);
}
.hl-donut__count {
  position: relative;
  padding: 0 2px;
}
.hl-donut__count::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: max(44px,100% + 16px);
  height: 44px;
  transform: translate(-50%,-50%);
}
.hl-move {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  color: var(--muted-text);
}
.hl-move.is-up {
  color: var(--fg);
}
.hl-move.is-new {
  font-size: 12.5px;
}
@media (max-width:820px) {
  .hl-stat .hl-tip[data-tooltip]::after {
    top: -13px;
    bottom: -13px;
  }
}

/* Basecoat 1.1.0 (vendored, ui/vendor/basecoat-css-1.1.0; ui/tailwind/basecoat.css) */
/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-black: #000;
  --spacing: 0.25rem;
  --container-xs: 20rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --leading-normal: 1.5;
  --radius-md: calc(var(--radius) - 2px);
  --radius-4xl: 2rem;
  --blur-xs: 4px;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
@layer components {
  .btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-outline-style: none;
    outline-style: none;
    -webkit-user-select: none;
    user-select: none;
    &:disabled {
      pointer-events: none;
    }
    &:disabled {
      opacity: 50%;
    }
    & svg {
      pointer-events: none;
    }
    & svg {
      flex-shrink: 0;
    }
  }
}
@layer components {
  .field > input[type='text']:not(:is(.command > header input, .dialog > * > header input)), .field > input[type='email'], .field > input[type='password'], .field > input[type='number'], .field > input[type='file'], .field > input[type='tel'], .field > input[type='url'], .field > input[type='search']:not(:is(.command > header input, .dialog > * > header input)), .field > input[type='date'], .field > input[type='datetime-local'], .field > input[type='month'], .field > input[type='week'], .field > input[type='time'], .input[type='text'], .input[type='email'], .input[type='password'], .input[type='number'], .input[type='file'], .input[type='tel'], .input[type='url'], .input[type='search'], .input[type='date'], .input[type='datetime-local'], .input[type='month'], .input[type='week'], .input[type='time'], .input:not([type]) {
    width: 100%;
    min-width: 0;
    --tw-outline-style: none;
    outline-style: none;
    &::file-selector-button {
      display: inline-flex;
    }
    &::file-selector-button {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
    &::file-selector-button {
      background-color: transparent;
    }
    &::file-selector-button {
      color: var(--foreground);
    }
    &::placeholder {
      color: var(--muted-foreground);
    }
    &:disabled {
      pointer-events: none;
    }
    &:disabled {
      cursor: not-allowed;
    }
    &:disabled {
      opacity: 50%;
    }
  }
}
@layer components {
  .badge {
    display: inline-flex;
    width: fit-content;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    white-space: nowrap;
    &:focus-visible {
      border-color: var(--ring);
    }
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &[aria-invalid="true"] {
          --tw-ring-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    &>svg {
      pointer-events: none;
    }
  }
}
@layer components {
  .breadcrumb > ol {
    margin: 0;
    display: flex;
    list-style-type: none;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    overflow-wrap: break-word;
  }
  .breadcrumb li {
    display: inline-flex;
    align-items: center;
  }
  .breadcrumb a {
    border-radius: calc(var(--radius) - 4px);
    --tw-outline-style: none;
    outline-style: none;
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .breadcrumb [aria-current='page'] {
    cursor: default;
  }
  .breadcrumb li[aria-hidden='true'] {
    -webkit-user-select: none;
    user-select: none;
  }
  .breadcrumb li > span[aria-hidden='true'] {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .breadcrumb [data-rtl-flip] {
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      rotate: 180deg;
    }
  }
}
@keyframes dialog-scroll-lock {
  from, to {
    scrollbar-gutter: stable;
  }
}
@layer components {
  html:has(:is(.dialog, .alert-dialog, .command-dialog, .drawer):modal) {
    overflow: hidden;
    animation: dialog-scroll-lock linear both;
    animation-timeline: scroll(self);
  }
  .dialog, .alert-dialog {
    background-color: transparent;
    padding: 0;
    color: inherit;
    opacity: 0%;
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    transition-behavior: allow-discrete;
    &::backdrop {
      opacity: 0%;
    }
    &::backdrop {
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
    &::backdrop {
      transition-behavior: allow-discrete;
    }
    max-width: none;
    max-height: none;
    &:is([open], :popover-open) {
      opacity: 100%;
      &::backdrop {
        opacity: 100%;
      }
      > * {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
      @starting-style {
        opacity: 0%;
        &::backdrop {
          opacity: 0%;
        }
        > * {
          --tw-scale-x: 95%;
          --tw-scale-y: 95%;
          --tw-scale-z: 95%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
        }
      }
    }
    > * {
      position: fixed;
      top: calc(1 / 2 * 100%);
      left: calc(1 / 2 * 100%);
      z-index: 50;
      display: flex;
      max-height: calc(100% - 2rem);
      width: 100%;
      --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      flex-direction: column;
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .dialog {
    > * > header {
      display: flex;
      flex-direction: column;
    }
    > * > section {
      flex: 1;
    }
    > * > footer {
      display: flex;
      flex-direction: column-reverse;
      @media (width >= 40rem) {
        flex-direction: row;
      }
      @media (width >= 40rem) {
        justify-content: flex-end;
      }
    }
    > * > :is(button, form[method='dialog']) {
      position: absolute;
    }
    > * > :is(button, form[method='dialog'] > button) {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      opacity: 70%;
      transition-property: opacity;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      &:hover {
        @media (hover: hover) {
          opacity: 100%;
        }
      }
      &:focus-visible {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:disabled {
        pointer-events: none;
      }
      & svg {
        pointer-events: none;
      }
      & svg {
        flex-shrink: 0;
      }
    }
    > * > :is(button, form[method='dialog'] > button) > svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .alert-dialog {
    > * > header {
      display: grid;
      grid-template-rows: auto 1fr;
      place-items: center;
      text-align: center;
      @media (width >= 40rem) {
        place-items: start;
      }
      @media (width >= 40rem) {
        text-align: start;
      }
    }
    > * > header:has(> figure) {
      grid-template-rows: auto auto 1fr;
      @media (width >= 40rem) {
        grid-template-rows: auto 1fr;
      }
    }
    > * > header > figure {
      margin: 0;
      flex-shrink: 0;
      @media (width >= 40rem) {
        grid-row: span 2 / span 2;
      }
      & svg {
        pointer-events: none;
      }
      & svg {
        flex-shrink: 0;
      }
    }
    > * > header > figure:has(img) {
      overflow: hidden;
      & img {
        width: 100%;
        height: 100%;
      }
      & img {
        object-fit: cover;
      }
    }
    > * > header:has(> figure) > :is(h2, p) {
      @media (width >= 40rem) {
        grid-column-start: 2;
      }
    }
    > * > footer {
      display: flex;
      flex-direction: column-reverse;
      @media (width >= 40rem) {
        flex-direction: row;
      }
      @media (width >= 40rem) {
        justify-content: flex-end;
      }
    }
    &:is([data-size='sm']) > * > header, > [data-size='sm'] > header {
      @media (width >= 40rem) {
        place-items: center;
      }
      @media (width >= 40rem) {
        text-align: center;
      }
    }
    &:is([data-size='sm']) > * > header:has(> figure), > [data-size='sm'] > header:has(> figure) {
      @media (width >= 40rem) {
        grid-template-rows: auto auto 1fr;
      }
    }
    &:is([data-size='sm']) > * > header:has(> figure) > :is(h2, p), > [data-size='sm'] > header:has(> figure) > :is(h2, p) {
      @media (width >= 40rem) {
        grid-column-start: auto;
      }
    }
    &:is([data-size='sm']) > * > footer, > [data-size='sm'] > footer {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      @media (width >= 40rem) {
        display: grid;
      }
      @media (width >= 40rem) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
  }
}
@layer components {
  .card {
    display: flex;
    flex-direction: column;
    > header {
      container-type: inline-size;
      container-name: card-header;
      display: grid;
      grid-auto-rows: min-content;
      align-items: flex-start;
      &:has(>[data-slot=card-action],>.card-action) {
        grid-template-columns: 1fr auto;
      }
      &:has(>p) {
        grid-template-rows: auto auto;
      }
    }
    > header > :is(h2, h3, [data-title], .card-title) {
      --tw-leading: 1;
      line-height: 1;
    }
    > header > :is([data-slot='card-action'], .card-action) {
      grid-column-start: 2;
      grid-row: span 2 / span 2;
      grid-row-start: 1;
      align-self: flex-start;
      justify-self: flex-end;
    }
    > header > menu.card-action {
      margin: 0;
      list-style-type: none;
      padding: 0;
    }
    > footer {
      display: flex;
      align-items: center;
    }
  }
}
@layer components {
  .kbd {
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-user-select: none;
    user-select: none;
  }
}
@layer components {
  [data-tooltip] {
    position: relative;
    &:before {
      pointer-events: none;
      visibility: hidden;
      position: absolute;
      z-index: 60;
      display: block;
      width: fit-content;
      max-width: var(--container-xs);
      transform-origin: var(--transform-origin);
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      opacity: 0%;
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-content: attr(data-tooltip);
      content: var(--tw-content);
    }
    &:hover:before {
      visibility: visible;
      --tw-scale-x: 100%;
      --tw-scale-y: 100%;
      --tw-scale-z: 100%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
      opacity: 100%;
    }
    &:focus-visible:not(:hover):before {
      display: none;
    }
    &:not([data-side]), &[data-side='top'] {
      &::before {
        content: var(--tw-content);
        bottom: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-bottom: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-y: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-y: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='bottom'] {
      &::before {
        content: var(--tw-content);
        top: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-top: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-y: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-y: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &:not([data-side]), &[data-side='top'], &[data-side='bottom'] {
      &[data-align='start'] {
        &::before {
          content: var(--tw-content);
          left: 0;
        }
      }
      &[data-align='end'] {
        &::before {
          content: var(--tw-content);
          right: 0;
        }
      }
      &:not([data-align]), &[data-align='center'] {
        &::before {
          content: var(--tw-content);
          left: calc(1 / 2 * 100%);
        }
        &::before {
          content: var(--tw-content);
          --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    &[data-side='left'] {
      &::before {
        content: var(--tw-content);
        right: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-right: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='right'] {
      &::before {
        content: var(--tw-content);
        left: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-left: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='inline-start'] {
      &::before {
        content: var(--tw-content);
        right: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-right: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='inline-start']:dir(rtl) {
      &::before {
        content: var(--tw-content);
        right: auto;
      }
      &::before {
        content: var(--tw-content);
        left: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-right: 0;
      }
      &::before {
        content: var(--tw-content);
        margin-left: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='inline-end'] {
      &::before {
        content: var(--tw-content);
        left: 100%;
      }
      &::before {
        content: var(--tw-content);
        margin-left: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * -2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='inline-end']:dir(rtl) {
      &::before {
        content: var(--tw-content);
        right: 100%;
      }
      &::before {
        content: var(--tw-content);
        left: auto;
      }
      &::before {
        content: var(--tw-content);
        margin-right: calc(var(--spacing) * 1.5);
      }
      &::before {
        content: var(--tw-content);
        margin-left: 0;
      }
      &::before {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 2);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      &:hover {
        @media (hover: hover) {
          &::before {
            content: var(--tw-content);
            --tw-translate-x: 0;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
        }
      }
    }
    &[data-side='left'], &[data-side='right'], &[data-side='inline-start'], &[data-side='inline-end'] {
      &[data-align='start'] {
        &::before {
          content: var(--tw-content);
          top: 0;
        }
      }
      &[data-align='end'] {
        &::before {
          content: var(--tw-content);
          bottom: 0;
        }
      }
      &:not([data-align]), &[data-align='center'] {
        &::before {
          content: var(--tw-content);
          top: calc(1 / 2 * 100%);
        }
        &::before {
          content: var(--tw-content);
          --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
  }
}
@layer components {
  .btn {
    border-radius: calc(var(--radius) - 2px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: transparent;
    background-clip: padding-box;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    &:focus-visible {
      border-color: var(--ring);
    }
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &:active {
      &:not(*[aria-haspopup]) {
        --tw-translate-y: 1px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &[aria-invalid="true"] {
          border-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &[aria-invalid="true"] {
        border-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
        }
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &[aria-invalid="true"] {
          --tw-ring-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .btn:not([data-size]), .btn[data-size='default'] {
    height: calc(var(--spacing) * 9);
    gap: calc(var(--spacing) * 1.5);
    padding-inline: calc(var(--spacing) * 2.5);
    &:has(*:is([data-icon='inline-end'])) {
      padding-right: calc(var(--spacing) * 2);
    }
    &:has(*:is([data-icon='inline-start'])) {
      padding-left: calc(var(--spacing) * 2);
    }
  }
  .btn[data-size='xs'] {
    height: calc(var(--spacing) * 6);
    gap: var(--spacing);
    border-radius: min(var(--radius-md), 8px);
    padding-inline: calc(var(--spacing) * 2);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    &:has(*:is([data-icon='inline-end'])) {
      padding-right: calc(var(--spacing) * 1.5);
    }
    &:has(*:is([data-icon='inline-start'])) {
      padding-left: calc(var(--spacing) * 1.5);
    }
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .btn[data-size='sm'] {
    height: calc(var(--spacing) * 8);
    gap: var(--spacing);
    border-radius: min(var(--radius-md), 10px);
    padding-inline: calc(var(--spacing) * 2.5);
    &:has(*:is([data-icon='inline-end'])) {
      padding-right: calc(var(--spacing) * 1.5);
    }
    &:has(*:is([data-icon='inline-start'])) {
      padding-left: calc(var(--spacing) * 1.5);
    }
  }
  .btn[data-size='lg'] {
    height: calc(var(--spacing) * 10);
    gap: calc(var(--spacing) * 1.5);
    padding-inline: calc(var(--spacing) * 2.5);
    &:has(*:is([data-icon='inline-end'])) {
      padding-right: calc(var(--spacing) * 2);
    }
    &:has(*:is([data-icon='inline-start'])) {
      padding-left: calc(var(--spacing) * 2);
    }
  }
  .btn[data-size='icon'] {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .btn[data-size='icon-xs'] {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
    border-radius: min(var(--radius-md), 8px);
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  .btn[data-size='icon-sm'] {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
    border-radius: min(var(--radius-md), 10px);
  }
  .btn[data-size='icon-lg'] {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .btn:not([data-variant]), .btn[data-variant='primary'] {
    background-color: var(--primary);
    color: var(--primary-foreground);
    &:hover {
      @media (hover: hover) {
        background-color: var(--primary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--primary) 80%, transparent);
        }
      }
    }
  }
  .btn[data-variant='secondary'] {
    background-color: var(--secondary);
    color: var(--secondary-foreground);
    &:hover {
      @media (hover: hover) {
        background-color: var(--secondary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
        }
      }
    }
    &[aria-expanded="true"] {
      background-color: var(--secondary);
    }
    &[aria-expanded="true"] {
      color: var(--secondary-foreground);
    }
  }
  .btn[data-variant='outline'] {
    border-color: var(--border);
    background-color: var(--background);
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
    &[aria-expanded="true"] {
      background-color: var(--muted);
    }
    &[aria-expanded="true"] {
      color: var(--foreground);
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        border-color: var(--input);
      }
    }
    &:where([data-theme="dark"] *) {
      border-color: var(--input);
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        background-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
    &:where([data-theme="dark"] *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--input);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--input) 50%, transparent);
            }
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--input);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--input) 50%, transparent);
          }
        }
      }
    }
  }
  .btn[data-variant='ghost'] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
    &[aria-expanded="true"] {
      background-color: var(--muted);
    }
    &[aria-expanded="true"] {
      color: var(--foreground);
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--muted);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--muted) 50%, transparent);
            }
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--muted);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--muted) 50%, transparent);
          }
        }
      }
    }
  }
  .btn[data-variant='link'] {
    color: var(--primary);
    text-underline-offset: 4px;
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .btn[data-variant='destructive'] {
    background-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
    color: var(--destructive);
    &:hover {
      @media (hover: hover) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
        }
      }
    }
    &:focus-visible {
      border-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--destructive) 40%, transparent);
      }
    }
    &:focus-visible {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
        }
      }
    }
    &:where([data-theme="dark"] *) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--destructive);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--destructive) 30%, transparent);
            }
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--destructive) 30%, transparent);
          }
        }
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &:focus-visible {
          --tw-ring-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .field > input[type='text']:not(:is(.command > header input, .dialog > * > header input)), .field > input[type='email'], .field > input[type='password'], .field > input[type='number'], .field > input[type='file'], .field > input[type='tel'], .field > input[type='url'], .field > input[type='search']:not(:is(.command > header input, .dialog > * > header input)), .field > input[type='date'], .field > input[type='datetime-local'], .field > input[type='month'], .field > input[type='week'], .field > input[type='time'], .field > input:not([type]), .input[type='text'], .input[type='email'], .input[type='password'], .input[type='number'], .input[type='file'], .input[type='tel'], .input[type='url'], .input[type='search'], .input[type='date'], .input[type='datetime-local'], .input[type='month'], .input[type='week'], .input[type='time'], .input:not([type]) {
    height: calc(var(--spacing) * 9);
    border-radius: calc(var(--radius) - 2px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--input);
    background-color: transparent;
    padding-inline: calc(var(--spacing) * 2.5);
    padding-block: var(--spacing);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    transition-property: color,box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    &::file-selector-button {
      height: calc(var(--spacing) * 7);
    }
    &::file-selector-button {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    &::file-selector-button {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
    &:focus-visible {
      border-color: var(--ring);
    }
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
    &[aria-invalid="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        background-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
    &:where([data-theme="dark"] *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &[aria-invalid="true"] {
          border-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &[aria-invalid="true"] {
        border-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
        }
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &[aria-invalid="true"] {
          --tw-ring-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .badge {
    height: calc(var(--spacing) * 5);
    gap: var(--spacing);
    border-radius: var(--radius-4xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: transparent;
    padding-inline: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 0.5);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    &>svg {
      width: calc(var(--spacing) * 3) !important;
      height: calc(var(--spacing) * 3) !important;
    }
  }
  .badge:not([data-variant]), .badge[data-variant='primary'] {
    background-color: var(--primary);
    color: var(--primary-foreground);
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--primary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--primary) 80%, transparent);
          }
        }
      }
    }
  }
  .badge[data-variant='secondary'] {
    background-color: var(--secondary);
    color: var(--secondary-foreground);
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--secondary);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
          }
        }
      }
    }
  }
  .badge[data-variant='outline'] {
    border-color: var(--border);
    color: var(--foreground);
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--muted);
        }
      }
    }
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          color: var(--muted-foreground);
        }
      }
    }
  }
  .badge[data-variant='destructive'] {
    background-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
    color: var(--destructive);
    &:focus-visible {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
        }
      }
    }
    &:where([data-theme="dark"] *) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &:focus-visible {
          --tw-ring-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
    &:is(a) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
          }
        }
      }
    }
  }
  .badge[data-variant='ghost'] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--muted-foreground);
      }
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--muted);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--muted) 50%, transparent);
            }
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--muted);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--muted) 50%, transparent);
          }
        }
      }
    }
  }
  .badge[data-variant='link'] {
    color: var(--primary);
    text-underline-offset: 4px;
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .breadcrumb > ol {
    gap: calc(var(--spacing) * 1.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--muted-foreground);
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 2.5);
    }
  }
  .breadcrumb li {
    gap: calc(var(--spacing) * 1.5);
  }
  .breadcrumb a {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
  }
  .breadcrumb [aria-current='page'] {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
    color: var(--foreground);
  }
  .breadcrumb li[aria-hidden='true'] > svg {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .breadcrumb li > span[aria-hidden='true'] {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    &>svg {
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
    }
  }
  .dialog::backdrop, .alert-dialog::backdrop, .command-dialog::backdrop {
    background-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .alert-dialog > * {
    max-width: var(--container-xs);
    gap: calc(var(--spacing) * 6);
    border-radius: calc(var(--radius) + 4px);
    background-color: var(--popover);
    padding: calc(var(--spacing) * 6);
    color: var(--popover-foreground);
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    }
    --tw-duration: 100ms;
    transition-duration: 100ms;
    @media (width >= 40rem) {
      max-width: var(--container-lg);
    }
  }
  .alert-dialog:is([data-size='sm']) > *, .alert-dialog > [data-size='sm'] {
    @media (width >= 40rem) {
      max-width: var(--container-xs);
    }
  }
  .dialog > * {
    max-width: calc(100% - 2rem);
    gap: calc(var(--spacing) * 6);
    border-radius: calc(var(--radius) + 4px);
    background-color: var(--popover);
    padding: calc(var(--spacing) * 6);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--popover-foreground);
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    }
    --tw-duration: 100ms;
    transition-duration: 100ms;
    @media (width >= 40rem) {
      max-width: var(--container-md);
    }
  }
  .dialog > * > :is(button, form[method='dialog']) {
    inset-inline-end: calc(var(--spacing) * 4);
    top: calc(var(--spacing) * 4);
  }
  .dialog > * > header {
    gap: calc(var(--spacing) * 2);
  }
  .alert-dialog > * > header {
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 1.5);
  }
  .alert-dialog > * > header > figure {
    margin-bottom: calc(var(--spacing) * 2);
    display: inline-flex;
    width: calc(var(--spacing) * 16);
    height: calc(var(--spacing) * 16);
    align-items: center;
    justify-content: center;
    border-radius: calc(var(--radius) - 2px);
    background-color: var(--muted);
    &>svg:not([class*='size-']) {
      width: calc(var(--spacing) * 8);
      height: calc(var(--spacing) * 8);
    }
  }
  .alert-dialog > * > footer, .dialog > * > footer {
    gap: calc(var(--spacing) * 2);
  }
  .dialog > * > header > h2, .dialog > * > [data-title] {
    --tw-leading: 1;
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .alert-dialog > * > header > h2, .alert-dialog > * > [data-title] {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .dialog > * > header > p, .dialog > * > [data-description] {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    color: var(--muted-foreground);
    & a {
      text-decoration-line: underline;
    }
    & a {
      text-underline-offset: 3px;
    }
    & a:hover {
      color: var(--foreground);
    }
  }
  .alert-dialog > * > header > p, .alert-dialog > * > [data-description] {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    text-wrap: balance;
    color: var(--muted-foreground);
    @media (width >= 48rem) {
      text-wrap: pretty;
    }
    & a {
      text-decoration-line: underline;
    }
    & a {
      text-underline-offset: 3px;
    }
    & a:hover {
      color: var(--foreground);
    }
  }
  .card {
    overflow: hidden;
    border-radius: calc(var(--radius) + 4px);
    background-color: var(--card);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--card-foreground);
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    &:has(>img:first-child) {
      padding-top: 0;
    }
    &>img:first-child {
      border-top-left-radius: calc(var(--radius) + 4px);
      border-top-right-radius: calc(var(--radius) + 4px);
    }
    &>img:last-child {
      border-bottom-right-radius: calc(var(--radius) + 4px);
      border-bottom-left-radius: calc(var(--radius) + 4px);
    }
  }
  .card {
    gap: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 6);
  }
  .card[data-size='sm'] {
    gap: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 4);
  }
  .card > header {
    gap: var(--spacing);
    border-top-left-radius: calc(var(--radius) + 4px);
    border-top-right-radius: calc(var(--radius) + 4px);
    padding-inline: calc(var(--spacing) * 6);
    &:is(.border-b) {
      padding-bottom: calc(var(--spacing) * 6);
    }
  }
  .card[data-size='sm'] > header {
    padding-inline: calc(var(--spacing) * 4);
    &:is(.border-b) {
      padding-bottom: calc(var(--spacing) * 4);
    }
  }
  .card > header > :is(h2, h3, [data-title], .card-title) {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-leading: var(--leading-normal);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .card[data-size='sm'] > header > :is(h2, h3, [data-title], .card-title) {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .card > header > :is(p, [data-description], .card-description) {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    color: var(--muted-foreground);
  }
  .card > section {
    padding-inline: calc(var(--spacing) * 6);
  }
  .card[data-size='sm'] > section {
    padding-inline: calc(var(--spacing) * 4);
  }
  .card > footer {
    border-bottom-right-radius: calc(var(--radius) + 4px);
    border-bottom-left-radius: calc(var(--radius) + 4px);
    padding-inline: calc(var(--spacing) * 6);
    &:is(.border-t) {
      padding-top: calc(var(--spacing) * 6);
    }
  }
  .card[data-size='sm'] > footer {
    padding-inline: calc(var(--spacing) * 4);
    &:is(.border-t) {
      padding-top: calc(var(--spacing) * 4);
    }
  }
  .kbd {
    height: calc(var(--spacing) * 5);
    width: fit-content;
    min-width: calc(var(--spacing) * 5);
    gap: var(--spacing);
    border-radius: calc(var(--radius) - 4px);
    background-color: var(--muted);
    padding-inline: var(--spacing);
    font-family: var(--hl-sans);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--muted-foreground);
    :where(*[data-slot="tooltip-content"]) & {
      background-color: var(--background);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--background) 20%, transparent);
      }
    }
    :where(*[data-slot="tooltip-content"]) & {
      color: var(--background);
    }
    @media (prefers-color-scheme: dark) {
      &:where(:root:not([data-theme="light"]) *) {
        :where(*[data-slot="tooltip-content"]) & {
          background-color: var(--background);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--background) 10%, transparent);
          }
        }
      }
    }
    &:where([data-theme="dark"] *) {
      :where(*[data-slot="tooltip-content"]) & {
        background-color: var(--background);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--background) 10%, transparent);
        }
      }
    }
    & svg:not([class*='size-']) {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
    }
  }
  [data-tooltip]::before {
    border-radius: calc(var(--radius) - 2px);
    background-color: var(--foreground);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 1.5);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    color: var(--background);
  }
  [data-tooltip][data-arrow]::after {
    position: absolute;
    z-index: 60;
    width: calc(var(--spacing) * 2.5);
    height: calc(var(--spacing) * 2.5);
    rotate: 45deg;
    border-radius: 2px;
    background-color: var(--foreground);
  }
}
:where(a.btn, a.badge) {
  text-decoration: none;
}
.card, [data-popover], .dialog > *, .alert-dialog > * {
  --tw-ring-color: transparent;
}
[data-tooltip]:not(:hover):not(:focus):not(:focus-visible)::before {
  display: none;
}
[data-tooltip][data-tooltip]:is(:focus, :focus-visible)::before {
  display: block;
  visibility: visible;
  opacity: 1;
  scale: 1;
  --tw-translate-y: 0;
}
[data-tooltip]::before {
  white-space: normal;
  width: max-content;
  max-width: min(18rem, 80vw);
  text-align: left;
  font-weight: 400;
  line-height: 1.35;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-leading: initial;
      --tw-content: "";
      --tw-font-weight: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
    }
  }
}

/* ---- map.css ---- */
/* map.css — map of the law (lane map-of-the-law, 20 Oct 2026); loaded on /<act>/map only, after the kit hl.css. Not kit yet
   (designer spec review B1: kit hl.css stays byte-identical). Level colours validated for colour-vision
   deficiency (docs/design/map-palette-validation.md); kit additions recorded in ui/WORDING-GAPS.md. Shape + line style carry the level too. */
:root{--hl-map-1:#2a78d6;--hl-map-2:#eb6834;--hl-map-3:#1baf7a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--hl-map-1:#3987e5;--hl-map-2:#d95926;--hl-map-3:#199e70}}
:root[data-theme="dark"]{--hl-map-1:#3987e5;--hl-map-2:#d95926;--hl-map-3:#199e70}
.hl-layout.is-map .hl-nav{display:none}
.hl-layout.is-map .hl-main{max-width:960px}
.hl-layout.is-map .hl-aside{flex:0 1 320px}
.hl-map__sub{margin:-6px 0 14px;font:400 14.5px var(--hl-sans);color:var(--hl-muted)}
.hl-map__f{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
.hl-map__f select.hl-btn,.hl-map__f input.hl-btn{font:500 14px var(--hl-sans);appearance:auto}
.hl-map__tog{position:relative}
.hl-map__tog input{position:absolute;opacity:0;width:1px;height:1px}
.hl-map__tog:has(input:checked){background:var(--hl-link-wash);color:var(--hl-link)}
.hl-map__tog:not(:has(input:checked)).is-on{background:var(--hl-tone);color:var(--hl-ink)}
.hl-map__tog:focus-within{outline:2px solid var(--hl-link);outline-offset:2px}
.hl-map__fm{display:none}
.hl-map{background:var(--hl-step);border-radius:20px;padding:18px 22px;margin:0 0 24px}
.hl-map__legend{display:flex;flex-wrap:wrap;gap:6px 20px;font:400 13px var(--hl-sans);color:var(--hl-ink-2);margin:0 0 4px}
.hl-map__legend span{display:inline-flex;align-items:center;gap:6px}
.hl-map__scroll{margin:0}
.hl-map__svg{display:block;width:100%;height:auto;overflow:visible}
.hl-map__svg .m-bar{fill:var(--hl-map-1)}
.hl-map__svg .m-bar.is-deleted{fill:none;stroke:var(--hl-map-1);stroke-width:.8}
.hl-map__svg .m-bar.is-act{fill:var(--hl-ink-2)}
.hl-map__svg .m-bar.m-dim{opacity:.55}
.hl-map__svg .m-n2{fill:var(--hl-map-2)}
.hl-map__svg .m-n3{fill:var(--hl-map-3)}
.hl-map__svg .m-fade{opacity:.45}
.hl-map__svg .m-edge{fill:none;stroke:var(--hl-uline);stroke-width:1;opacity:.28}
.hl-map__svg .m-edge.is-hi{opacity:1;stroke-width:2}
.hl-map__svg .m-edge.is-hi.m-l2{stroke:var(--hl-map-2)}
.hl-map__svg .m-edge.is-hi.m-l3{stroke:var(--hl-map-3);stroke-dasharray:5 3}
.hl-map__legend .m-bar{fill:var(--hl-map-1)} .hl-map__legend .m-n2{fill:var(--hl-map-2)} .hl-map__legend .m-n3{fill:var(--hl-map-3)}
.hl-map__legend .m-l2{stroke:var(--hl-map-2);stroke-width:2;fill:none} .hl-map__legend .m-l3{stroke:var(--hl-map-3);stroke-width:2;stroke-dasharray:5 3;fill:none}
.hl-map__svg .m-hit{fill:transparent;stroke:none}
.hl-map__svg a:focus{outline:none}
.hl-map__svg a:focus-visible .m-hit{stroke:var(--hl-link);stroke-width:3}
.hl-map__svg a:hover .m-bar{opacity:1}
.hl-map__svg .m-key{font:400 11px var(--hl-mono);fill:var(--hl-muted)}
.hl-map__svg .m-grp{font:600 11px var(--hl-sans);letter-spacing:.06em;text-transform:uppercase;fill:var(--hl-muted)}
.hl-map__svg .m-sel{font:500 11px var(--hl-mono);fill:var(--hl-ink)}
.hl-map__date{margin:10px 0 0;font:400 13.5px var(--hl-sans);color:var(--hl-ink-2)}
.hl-map__date p{margin:0 0 4px}
.hl-map__date p span{color:var(--hl-muted)}
.hl-map__track{position:relative;height:36px;margin:0 28px 0 8px}
.hl-map__track::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;border-radius:1px;background:var(--hl-tone-2)}
.hl-map__now{position:absolute;top:3px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--hl-ink);box-shadow:0 0 0 3px var(--hl-step)}
.hl-map__tick{position:absolute;top:0;width:20px;height:20px;margin-left:-10px;text-decoration:none;color:var(--hl-muted)}
.hl-map__tick::before{content:"";position:absolute;left:9px;top:5px;width:2px;height:10px;border-radius:1px;background:var(--hl-uline)}
.hl-map__tick.is-on::before{background:var(--hl-ink)}
.hl-map__tick span{position:absolute;top:19px;left:50%;transform:translateX(-50%);white-space:nowrap;font:400 11px var(--hl-mono)}
.hl-map__tick.is-bare{width:8px;margin-left:-4px;z-index:0}
.hl-map__tick.is-bare::before{left:3px}
.hl-map__tick:not(.is-bare){z-index:1}
.hl-map__tick span.is-start{left:0;transform:none}
.hl-map__tick span.is-end{left:auto;right:0;transform:none}
.hl-map__tick:hover,.hl-map__tick:focus-visible{color:var(--hl-link)}
.hl-map__knob{position:absolute;top:1px;width:18px;height:18px;margin-left:-9px;border:0;border-radius:50%;background:var(--hl-ink);box-shadow:0 0 0 3px var(--hl-step);cursor:grab;touch-action:none;padding:0}
.hl-map__knob:focus-visible{outline:2px solid var(--hl-link);outline-offset:2px}
.hl-map__panel{background:var(--hl-step);border-radius:20px;padding:18px 22px;display:flex;flex-direction:column;gap:18px}
.hl-map__panel>section{display:flex;flex-direction:column}
.hl-map__h{margin:0;font:600 20px/1.3 var(--hl-serif);color:var(--hl-ink)}
.hl-map__panel .hl-trust{margin:-8px 0 0}
.hl-map__counts{margin:0;font:500 14.5px var(--hl-sans);color:var(--hl-ink)}
.hl-map__panel .hl-empty{margin:0}
.hl-map__btns{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.hl-map__table{margin:0 0 24px}
.hl-map__table>summary{cursor:pointer;font:500 15px var(--hl-sans);min-height:44px;display:flex;align-items:center}
.hl-map__t{color:var(--hl-ink-2)}
@media (max-width:720px){
  .hl-map__fd{display:none}
  .hl-map__fm{display:block;margin:0 0 14px}
  .hl-map__fm>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;background:var(--hl-tone);font-size:15px;font-weight:500;list-style:none;cursor:pointer}
  .hl-map__fm>summary::-webkit-details-marker{display:none}
  .hl-map__fm .hl-map__f{padding:14px 0 0}
  .hl-map{padding:14px 12px}
  .hl-map__scroll{overflow-x:auto}
  .hl-map__scroll .hl-map__svg{width:900px;max-width:none}
  .hl-layout.is-map .hl-aside{flex:1 1 100%}
  .hl-map__tick span.is-minor{display:none}
}
@media print{.hl-map__f,.hl-map__fd,.hl-map__fm,.hl-map__knob{display:none!important}}
.hl-map__nd{color:var(--hl-muted);font-family:var(--hl-sans)}
.hl-map .hl-skip:focus{position:static;display:inline-block;margin:0 0 8px}
@media print{
  .hl-map__fd,.hl-map__fm,.hl-map__date,.hl-map .hl-skip,.hl-aside{display:none!important}
  .hl-map{box-shadow:none;padding:0}
  .hl-map__scroll .hl-map__svg{width:100%!important}
}
