/* Kosken. Tokens first, then shell, surfaces, forms, tables. Direction: DESIGN.md. Marked blocks use tokens only. */

/* fonts: variable WOFF2, self-hosted. Each family has a metric-matched fallback so swap does not move the layout. */
@font-face { font-family: "Hanken Grotesk"; font-weight: 100 900; font-style: normal; font-display: swap; src: url("/static/hanken-grotesk-latin-wght-normal.woff2") format("woff2-variations"), url("/static/hanken-grotesk-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Hanken Grotesk"; font-weight: 100 900; font-style: normal; font-display: swap; src: url("/static/hanken-grotesk-latin-ext-wght-normal.woff2") format("woff2-variations"), url("/static/hanken-grotesk-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Newsreader"; font-weight: 200 800; font-style: normal; font-display: swap; src: url("/static/newsreader-latin-wght-normal.woff2") format("woff2-variations"), url("/static/newsreader-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Newsreader"; font-weight: 200 800; font-style: normal; font-display: swap; src: url("/static/newsreader-latin-ext-wght-normal.woff2") format("woff2-variations"), url("/static/newsreader-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Red Hat Mono"; font-weight: 300 700; font-style: normal; font-display: swap; src: url("/static/red-hat-mono-latin-wght-normal.woff2") format("woff2-variations"), url("/static/red-hat-mono-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Red Hat Mono"; font-weight: 300 700; font-style: normal; font-display: swap; src: url("/static/red-hat-mono-latin-ext-wght-normal.woff2") format("woff2-variations"), url("/static/red-hat-mono-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Hanken Fallback"; src: local("Arial"), local("Liberation Sans"), local("Helvetica"); size-adjust: 101.7%; ascent-override: 98.3%; descent-override: 29.8%; line-gap-override: 0%; }
@font-face { font-family: "Newsreader Fallback"; src: local("Times New Roman"), local("Liberation Serif"), local("Times"); size-adjust: 108.3%; ascent-override: 67.9%; descent-override: 24.5%; line-gap-override: 0%; }
@font-face { font-family: "Red Hat Mono Fallback"; src: local("Courier New"), local("Liberation Mono"), local("Courier"); size-adjust: 100%; ascent-override: 101.8%; descent-override: 30.5%; line-gap-override: 0%; }

:root {
  /* type scale: one set of sizes, three weights */
  --font: "Hanken Grotesk", "Hanken Fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: "Newsreader", "Newsreader Fallback", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --mono: "Red Hat Mono", "Red Hat Mono Fallback", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --fs-caption: .75rem; --fs-small: .8125rem; --fs-body: .9375rem; --fs-h3: 1rem; --fs-h2: 1.25rem; --fs-h1: 2rem; --fs-metric: 2rem;
  --fs-display: clamp(2.25rem, 4.2vw, 3.25rem);
  --fw-regular: 400; --fw-medium: 500; --fw-semi: 600;
  --lh-tight: 1.2; --lh-body: 1.55;
  /* spacing scale */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px;
  --gap: var(--sp-4); --card-pad: var(--sp-4); --page-pad: var(--sp-5);
  /* shape and size */
  --r-chip: 4px; --r-ctl: 6px; --r-panel: 10px; --radius: var(--r-panel); --radius-sm: var(--r-ctl);
  --chip-h: 22px; --ctl-h: 40px; --ctl-h-sm: 32px; --row-h: 36px; --head-h: 68px;
  --side: 240px; --top: 52px;
  /* light: warm paper */
  --bg: #f4efe6; --surface: #fbf8f2; --surface-2: #ede6d9; --border: #ddd3c2; --border-strong: #8a7c66;
  --text: #2a231c; --muted: #665a4c;
  --accent: #b04a22; --accent-text: #fff8f0; --accent-soft: #f6e4d8; --accent-ink: #8f3a18;
  --ok: #2f6b3b; --ok-bg: #e1ecd9; --warn: #7a4e00; --warn-bg: #f6e3b5; --bad: #a3281f; --bad-bg: #f6d9d2; --info: #2f5f8a; --info-bg: #dce7ee;
  --focus: #8f3a18; --focus-rail: #e7a07a; --pop: 0 10px 30px rgba(42, 35, 28, .22); --scrim: rgba(26, 21, 17, .55);
  --rail: #2b221b; --rail-2: #3a2f26; --rail-line: #55473a; --rail-text: #f1e8da; --rail-muted: #b9aa95; --rail-accent: #e7a07a; --rail-ink: #2b221b; --rail-ok: #8fc08a; --rail-warn: #e8b861; --rail-bad: #f09a8c;
  --s1: #b04a22; --s2: #3f7f6b; --s3: #b7791f; --s4: #4a78a8; --s5: #8a5a83;
  --thumb: #b9ab94;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* dark: sepia */
    --bg: #1a1511; --surface: #231d18; --surface-2: #2d2520; --border: #3b3128; --border-strong: #7d6d5b;
    --text: #ede3d3; --muted: #b3a491;
    --accent: #e08a5c; --accent-text: #1a1511; --accent-soft: #3a2a20; --accent-ink: #f0a47c;
    --ok: #8fc08a; --ok-bg: #1f2a1c; --warn: #e8b861; --warn-bg: #36290f; --bad: #f09a8c; --bad-bg: #3c1e1a; --info: #8db6d8; --info-bg: #1b2733;
    --focus: #f0a47c; --focus-rail: #f0a47c; --pop: 0 10px 30px rgba(0, 0, 0, .55); --scrim: rgba(0, 0, 0, .6);
    --rail: #14100d; --rail-2: #241d17; --rail-line: #3b3128; --rail-text: #ede3d3; --rail-muted: #a8987f; --rail-accent: #e7a07a; --rail-ink: #14100d;
    --s1: #e08a5c; --s2: #7db59a; --s3: #e8b861; --s4: #8db6d8; --s5: #c99ac0; --thumb: #4a3d31; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #1a1511; --surface: #231d18; --surface-2: #2d2520; --border: #3b3128; --border-strong: #7d6d5b;
  --text: #ede3d3; --muted: #b3a491;
  --accent: #e08a5c; --accent-text: #1a1511; --accent-soft: #3a2a20; --accent-ink: #f0a47c;
  --ok: #8fc08a; --ok-bg: #1f2a1c; --warn: #e8b861; --warn-bg: #36290f; --bad: #f09a8c; --bad-bg: #3c1e1a; --info: #8db6d8; --info-bg: #1b2733;
  --focus: #f0a47c; --focus-rail: #f0a47c; --pop: 0 10px 30px rgba(0, 0, 0, .55); --scrim: rgba(0, 0, 0, .6);
  --rail: #14100d; --rail-2: #241d17; --rail-line: #3b3128; --rail-text: #ede3d3; --rail-muted: #a8987f; --rail-accent: #e7a07a; --rail-ink: #14100d;
  --s1: #e08a5c; --s2: #7db59a; --s3: #e8b861; --s4: #8db6d8; --s5: #c99ac0; --thumb: #4a3d31; color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scrollbar-width: thin; scrollbar-color: var(--thumb) transparent; }
body { margin: 0; background: var(--bg); color: var(--text); font: var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font); font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
::selection { background: var(--accent-soft); color: var(--text); }
a { color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: var(--r-chip); }
.top :focus-visible, .side :focus-visible { outline-color: var(--focus-rail); }
h1, h2 { font-family: var(--serif); font-weight: var(--fw-medium); }
h1 { font-size: var(--fs-h1); line-height: var(--lh-tight); letter-spacing: -.01em; margin: 0 0 var(--sp-1); }
h2 { font-size: var(--fs-h2); line-height: 1.3; margin: 0 0 var(--sp-3); }
h3 { font-size: var(--fs-h3); line-height: 1.4; font-weight: var(--fw-semi); margin: 0 0 var(--sp-2); }
p { margin: 0 0 var(--sp-3); }
code, pre, .mono, kbd { font-family: var(--mono); font-size: .9em; }
code { background: var(--surface-2); padding: .1em .35em; border-radius: var(--r-chip); }
pre { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--r-ctl); padding: var(--sp-3) var(--sp-4); overflow: auto; white-space: pre-wrap; word-break: break-word; }
pre code { background: none; padding: 0; }
.skip { position: absolute; left: -999px; top: 0; background: var(--accent); color: var(--accent-text); padding: var(--sp-2) var(--sp-3); z-index: 100; }
.skip:focus { left: var(--sp-2); top: var(--sp-2); }
.muted { color: var(--muted); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* shell: a dark rail and top bar frame the work area. A page without a side bar is a normal document. */
.top { display: flex; align-items: center; gap: var(--sp-3); flex: 0 0 auto; height: var(--top); padding: 0 var(--sp-4); background: var(--rail); color: var(--rail-text); position: sticky; top: 0; z-index: 20; }
.brand { font-family: var(--serif); font-weight: var(--fw-semi); color: var(--rail-text); text-decoration: none; font-size: var(--fs-h2); line-height: 1; display: flex; align-items: center; gap: var(--sp-2); }
.brand-mark { width: 22px; height: 22px; display: inline-block; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22%3E%3Crect width=%2232%22 height=%2232%22 rx=%228%22 fill=%22%23e7a07a%22/%3E%3Cg fill=%22%232b221b%22%3E%3Cpath d=%22M5.00 14.00 L5.23 13.98 L5.43 13.93 L5.62 13.88 L5.81 13.84 L6.00 13.79 L6.17 13.75 L6.35 13.71 L6.52 13.68 L6.69 13.65 L6.86 13.62 L7.03 13.60 L7.19 13.58 L7.36 13.57 L7.52 13.56 L7.68 13.55 L7.83 13.54 L7.99 13.54 L8.14 13.54 L8.30 13.54 L8.45 13.55 L8.60 13.56 L8.76 13.57 L8.91 13.58 L9.06 13.60 L9.21 13.61 L9.36 13.63 L9.51 13.66 L9.66 13.68 L9.81 13.70 L9.96 13.73 L10.11 13.76 L10.27 13.79 L10.42 13.82 L10.57 13.85 L10.72 13.89 L10.88 13.92 L11.03 13.96 L11.18 14.00 L11.34 14.04 L11.50 14.07 L11.65 14.11 L11.81 14.15 L11.97 14.19 L12.13 14.24 L12.29 14.28 L12.45 14.32 L12.61 14.36 L12.78 14.40 L12.94 14.45 L13.11 14.49 L13.28 14.53 L13.44 14.57 L13.61 14.61 L13.78 14.65 L13.96 14.69 L14.13 14.72 L14.30 14.76 L14.48 14.80 L14.66 14.83 L14.84 14.86 L15.02 14.89 L15.20 14.92 L15.38 14.95 L15.57 14.97 L15.75 14.99 L15.94 15.01 L16.13 15.03 L16.32 15.04 L16.52 15.03 L16.71 15.02 L16.91 15.01 L17.10 14.99 L17.30 14.97 L17.50 14.94 L17.70 14.92 L17.90 14.89 L18.10 14.85 L18.30 14.81 L18.50 14.76 L18.70 14.71 L18.90 14.66 L19.10 14.60 L19.31 14.53 L19.51 14.46 L19.71 14.39 L19.91 14.31 L20.11 14.22 L20.31 14.13 L20.51 14.03 L20.70 13.93 L20.90 13.82 L21.10 13.71 L21.29 13.60 L21.48 13.49 L21.67 13.37 L21.85 13.26 L22.03 13.14 L22.21 13.02 L22.38 12.89 L22.55 12.77 L22.72 12.64 L22.88 12.52 L23.04 12.39 L23.20 12.26 L23.35 12.13 L23.50 12.00 L23.64 11.86 L23.79 11.73 L23.92 11.59 L24.06 11.46 L24.19 11.32 L24.32 11.18 L24.44 11.04 L24.56 10.90 L24.68 10.76 L24.79 10.62 L24.90 10.48 L25.01 10.34 L25.11 10.20 L25.21 10.05 L25.31 9.91 L25.40 9.77 L25.49 9.62 L25.57 9.48 L25.65 9.33 L25.73 9.19 L25.80 9.04 L25.87 8.90 L25.93 8.75 L25.99 8.60 L26.05 8.46 L26.10 8.31 L26.15 8.17 L26.19 8.02 L26.23 7.87 L26.26 7.73 L26.29 7.58 L26.32 7.43 L26.34 7.28 L26.36 7.14 L26.37 6.99 L26.37 6.84 L26.37 6.70 L26.37 6.55 L26.36 6.41 L26.34 6.26 L26.32 6.12 L26.29 5.97 L26.25 5.83 L26.21 5.69 L26.16 5.55 L26.10 5.42 L26.04 5.28 L25.97 5.15 L25.89 5.02 L25.81 4.90 L25.71 4.78 L25.62 4.67 L25.51 4.56 L25.41 4.46 L25.29 4.36 L25.17 4.27 L25.05 4.19 L24.92 4.11 L24.79 4.04 L24.66 3.98 L24.52 3.92 L24.38 3.87 L24.23 3.82 L24.09 3.78 L23.94 3.74 L23.79 3.71 L23.63 3.69 L23.48 3.67 L23.32 3.65 L23.15 3.64 L22.99 3.64 L22.82 3.64 L22.65 3.64 L22.48 3.65 L22.34 3.67 L22.22 3.68 L22.10 3.71 L21.99 3.73 L21.87 3.76 L21.76 3.79 L21.65 3.83 L21.54 3.86 L21.43 3.91 L21.33 3.95 L21.23 4.00 L21.14 4.05 L21.04 4.10 L20.95 4.16 L20.86 4.22 L20.78 4.28 L20.69 4.34 L20.61 4.41 L20.54 4.48 L20.46 4.55 L20.39 4.62 L20.33 4.69 L20.26 4.77 L20.20 4.84 L20.15 4.92 L20.09 5.00 L20.04 5.08 L19.99 5.16 L19.95 5.24 L19.91 5.33 L19.87 5.41 L19.83 5.50 L19.80 5.58 L19.77 5.67 L19.74 5.75 L19.72 5.84 L19.70 5.92 L19.68 6.01 L19.66 6.10 L19.65 6.18 L19.64 6.27 L19.63 6.36 L19.63 6.44 L19.63 6.53 L19.63 6.61 L19.63 6.70 L19.64 6.78 L19.64 6.87 L19.66 6.95 L19.67 7.03 L19.69 7.11 L19.70 7.20 L19.73 7.27 L19.75 7.35 L19.78 7.43 L19.80 7.51 L19.84 7.58 L19.87 7.66 L19.91 7.73 L19.94 7.80 L19.99 7.87 L20.03 7.94 L20.07 8.00 L20.12 8.07 L20.17 8.13 L20.22 8.19 L20.28 8.25 L20.34 8.30 L20.39 8.36 L20.46 8.41 L20.52 8.46 L20.58 8.50 L20.65 8.55 L20.72 8.59 L20.79 8.63 L20.86 8.66 L20.93 8.69 L21.01 8.72 L21.08 8.75 L21.16 8.77 L21.24 8.79 L21.32 8.81 L21.40 8.82 L21.48 8.83 L21.57 8.84 L21.65 8.84 L21.74 8.84 L21.82 8.84 L21.91 8.82 L22.00 8.80 L22.00 8.80 L21.92 8.76 L21.84 8.73 L21.76 8.70 L21.69 8.66 L21.62 8.63 L21.55 8.59 L21.49 8.56 L21.43 8.52 L21.37 8.48 L21.31 8.44 L21.26 8.40 L21.21 8.36 L21.17 8.32 L21.12 8.27 L21.08 8.23 L21.04 8.18 L21.00 8.14 L20.97 8.09 L20.94 8.04 L20.91 7.99 L20.88 7.94 L20.85 7.89 L20.83 7.85 L20.81 7.80 L20.79 7.74 L20.77 7.69 L20.75 7.64 L20.74 7.59 L20.73 7.54 L20.71 7.49 L20.71 7.44 L20.70 7.38 L20.69 7.33 L20.69 7.28 L20.69 7.23 L20.69 7.17 L20.69 7.12 L20.69 7.07 L20.69 7.02 L20.70 6.97 L20.71 6.91 L20.71 6.86 L20.72 6.81 L20.74 6.76 L20.75 6.71 L20.76 6.66 L20.78 6.61 L20.80 6.56 L20.82 6.52 L20.83 6.47 L20.86 6.42 L20.88 6.38 L20.90 6.33 L20.93 6.29 L20.95 6.25 L20.98 6.21 L21.01 6.17 L21.04 6.13 L21.07 6.09 L21.10 6.05 L21.13 6.01 L21.17 5.98 L21.20 5.95 L21.24 5.91 L21.28 5.88 L21.31 5.85 L21.35 5.83 L21.39 5.80 L21.43 5.77 L21.47 5.75 L21.51 5.73 L21.56 5.70 L21.60 5.68 L21.64 5.66 L21.69 5.65 L21.74 5.63 L21.78 5.62 L21.83 5.60 L21.88 5.59 L21.93 5.58 L21.99 5.57 L22.04 5.56 L22.10 5.55 L22.15 5.55 L22.21 5.54 L22.27 5.54 L22.34 5.54 L22.40 5.54 L22.46 5.54 L22.52 5.55 L22.64 5.55 L22.76 5.56 L22.87 5.58 L22.98 5.59 L23.07 5.61 L23.17 5.63 L23.25 5.66 L23.33 5.68 L23.41 5.71 L23.47 5.73 L23.54 5.76 L23.59 5.79 L23.64 5.82 L23.69 5.85 L23.73 5.88 L23.76 5.91 L23.79 5.94 L23.82 5.97 L23.84 6.00 L23.86 6.03 L23.88 6.06 L23.89 6.08 L23.90 6.11 L23.91 6.14 L23.92 6.17 L23.93 6.19 L23.93 6.22 L23.94 6.25 L23.94 6.28 L23.94 6.32 L23.94 6.35 L23.94 6.39 L23.94 6.43 L23.94 6.47 L23.93 6.52 L23.93 6.57 L23.92 6.62 L23.91 6.67 L23.90 6.73 L23.88 6.79 L23.87 6.85 L23.85 6.92 L23.82 6.99 L23.80 7.06 L23.77 7.13 L23.74 7.20 L23.71 7.28 L23.67 7.36 L23.63 7.44 L23.58 7.52 L23.54 7.60 L23.49 7.69 L23.43 7.77 L23.38 7.86 L23.32 7.95 L23.26 8.04 L23.19 8.13 L23.12 8.22 L23.05 8.31 L22.97 8.41 L22.89 8.50 L22.81 8.59 L22.73 8.69 L22.64 8.78 L22.55 8.88 L22.45 8.97 L22.36 9.06 L22.26 9.16 L22.15 9.25 L22.04 9.35 L21.93 9.44 L21.82 9.53 L21.71 9.63 L21.59 9.72 L21.47 9.81 L21.34 9.90 L21.21 9.99 L21.08 10.08 L20.95 10.17 L20.81 10.26 L20.67 10.35 L20.53 10.43 L20.39 10.52 L20.24 10.60 L20.09 10.68 L19.94 10.76 L19.78 10.84 L19.62 10.92 L19.46 10.99 L19.30 11.07 L19.15 11.13 L19.02 11.19 L18.89 11.23 L18.76 11.28 L18.62 11.32 L18.49 11.36 L18.36 11.39 L18.23 11.42 L18.10 11.45 L17.97 11.48 L17.84 11.50 L17.70 11.52 L17.57 11.53 L17.44 11.54 L17.30 11.56 L17.17 11.56 L17.03 11.57 L16.90 11.57 L16.76 11.57 L16.62 11.57 L16.48 11.57 L16.34 11.56 L16.20 11.56 L16.06 11.57 L15.91 11.58 L15.77 11.58 L15.62 11.58 L15.47 11.58 L15.32 11.58 L15.16 11.58 L15.01 11.58 L14.85 11.58 L14.70 11.57 L14.54 11.57 L14.38 11.56 L14.22 11.55 L14.05 11.54 L13.89 11.54 L13.72 11.53 L13.56 11.52 L13.39 11.51 L13.22 11.50 L13.05 11.49 L12.88 11.48 L12.71 11.47 L12.54 11.46 L12.36 11.46 L12.19 11.45 L12.01 11.44 L11.84 11.44 L11.66 11.44 L11.48 11.44 L11.30 11.44 L11.12 11.44 L10.94 11.44 L10.76 11.45 L10.58 11.45 L10.40 11.46 L10.22 11.48 L10.04 11.49 L9.85 11.51 L9.67 11.53 L9.49 11.55 L9.31 11.58 L9.12 11.61 L8.94 11.65 L8.76 11.69 L8.58 11.73 L8.40 11.77 L8.22 11.83 L8.04 11.88 L7.86 11.94 L7.68 12.00 L7.50 12.07 L7.32 12.15 L7.15 12.23 L6.98 12.31 L6.81 12.40 L6.64 12.49 L6.47 12.59 L6.31 12.70 L6.14 12.81 L5.98 12.93 L5.83 13.05 L5.67 13.18 L5.52 13.32 L5.38 13.47 L5.24 13.62 L5.10 13.79 L5.00 14.00Z%22/%3E%3Cpath d=%22M4.00 20.00 L4.22 19.99 L4.42 19.96 L4.61 19.93 L4.80 19.90 L4.99 19.87 L5.17 19.85 L5.35 19.82 L5.54 19.81 L5.72 19.79 L5.90 19.78 L6.08 19.77 L6.26 19.76 L6.44 19.75 L6.62 19.75 L6.80 19.75 L6.98 19.75 L7.16 19.75 L7.34 19.76 L7.52 19.77 L7.71 19.78 L7.89 19.79 L8.08 19.80 L8.26 19.81 L8.45 19.83 L8.64 19.84 L8.83 19.86 L9.02 19.88 L9.22 19.90 L9.41 19.92 L9.61 19.94 L9.81 19.96 L10.01 19.98 L10.21 20.00 L10.42 20.02 L10.62 20.04 L10.83 20.07 L11.04 20.09 L11.25 20.11 L11.46 20.13 L11.68 20.15 L11.90 20.17 L12.11 20.19 L12.34 20.21 L12.56 20.23 L12.78 20.25 L13.01 20.26 L13.24 20.28 L13.47 20.29 L13.70 20.30 L13.93 20.31 L14.17 20.32 L14.40 20.33 L14.64 20.34 L14.88 20.34 L15.12 20.34 L15.37 20.34 L15.61 20.33 L15.86 20.33 L16.10 20.32 L16.35 20.31 L16.60 20.29 L16.85 20.28 L17.11 20.25 L17.36 20.23 L17.61 20.20 L17.87 20.17 L18.12 20.14 L18.38 20.10 L18.64 20.06 L18.90 20.01 L19.15 19.96 L19.41 19.91 L19.67 19.85 L19.93 19.79 L20.19 19.72 L20.45 19.65 L20.71 19.57 L20.97 19.49 L21.23 19.40 L21.49 19.31 L21.74 19.21 L22.00 19.11 L22.26 19.00 L22.51 18.88 L22.77 18.76 L23.02 18.63 L23.27 18.50 L23.52 18.35 L23.77 18.19 L24.00 18.00 L24.00 18.00 L23.70 18.00 L23.41 18.03 L23.13 18.06 L22.86 18.09 L22.58 18.11 L22.31 18.14 L22.05 18.16 L21.78 18.18 L21.52 18.20 L21.26 18.21 L21.00 18.22 L20.74 18.23 L20.49 18.24 L20.24 18.24 L19.99 18.25 L19.74 18.24 L19.49 18.24 L19.24 18.24 L19.00 18.23 L18.76 18.22 L18.51 18.21 L18.27 18.20 L18.03 18.19 L17.80 18.17 L17.56 18.16 L17.32 18.14 L17.09 18.12 L16.85 18.10 L16.62 18.08 L16.39 18.06 L16.16 18.04 L15.92 18.02 L15.69 18.00 L15.46 17.98 L15.23 17.96 L15.01 17.93 L14.78 17.91 L14.55 17.89 L14.32 17.87 L14.10 17.85 L13.87 17.83 L13.64 17.81 L13.42 17.79 L13.19 17.77 L12.97 17.75 L12.74 17.74 L12.52 17.72 L12.30 17.71 L12.07 17.70 L11.85 17.69 L11.63 17.68 L11.41 17.67 L11.18 17.67 L10.96 17.66 L10.74 17.66 L10.52 17.66 L10.30 17.67 L10.08 17.67 L9.87 17.68 L9.65 17.69 L9.43 17.71 L9.22 17.72 L9.00 17.75 L8.79 17.77 L8.58 17.80 L8.36 17.83 L8.15 17.86 L7.94 17.90 L7.74 17.94 L7.53 17.99 L7.33 18.04 L7.12 18.10 L6.92 18.16 L6.72 18.22 L6.53 18.29 L6.33 18.36 L6.14 18.44 L5.95 18.52 L5.76 18.61 L5.58 18.70 L5.40 18.80 L5.22 18.91 L5.05 19.02 L4.88 19.13 L4.72 19.25 L4.56 19.38 L4.40 19.52 L4.26 19.66 L4.12 19.81 L4.00 20.00Z%22/%3E%3Cpath d=%22M8.00 26.00 L8.17 26.02 L8.33 26.01 L8.48 26.00 L8.63 25.99 L8.77 25.98 L8.91 25.98 L9.06 25.97 L9.19 25.97 L9.33 25.96 L9.47 25.96 L9.60 25.96 L9.73 25.96 L9.86 25.97 L9.99 25.97 L10.12 25.98 L10.25 25.98 L10.38 25.99 L10.51 26.00 L10.64 26.01 L10.76 26.02 L10.89 26.03 L11.02 26.04 L11.14 26.06 L11.27 26.07 L11.40 26.08 L11.52 26.10 L11.65 26.11 L11.78 26.12 L11.91 26.14 L12.04 26.15 L12.17 26.17 L12.30 26.18 L12.43 26.20 L12.56 26.21 L12.69 26.23 L12.82 26.24 L12.96 26.26 L13.09 26.27 L13.23 26.28 L13.36 26.30 L13.50 26.31 L13.64 26.32 L13.78 26.33 L13.92 26.34 L14.06 26.35 L14.20 26.36 L14.35 26.36 L14.49 26.37 L14.64 26.37 L14.78 26.38 L14.93 26.38 L15.08 26.38 L15.23 26.38 L15.38 26.37 L15.53 26.37 L15.68 26.36 L15.83 26.36 L15.99 26.35 L16.14 26.33 L16.30 26.32 L16.45 26.30 L16.61 26.29 L16.77 26.27 L16.92 26.24 L17.08 26.22 L17.24 26.19 L17.40 26.16 L17.56 26.13 L17.72 26.09 L17.88 26.05 L18.04 26.01 L18.20 25.97 L18.36 25.92 L18.52 25.87 L18.68 25.81 L18.84 25.76 L19.00 25.69 L19.16 25.63 L19.32 25.56 L19.48 25.49 L19.64 25.42 L19.80 25.34 L19.95 25.25 L20.11 25.17 L20.26 25.08 L20.42 24.98 L20.57 24.88 L20.72 24.77 L20.87 24.65 L21.00 24.50 L21.00 24.50 L20.80 24.48 L20.62 24.49 L20.44 24.49 L20.26 24.50 L20.09 24.51 L19.92 24.52 L19.75 24.52 L19.58 24.53 L19.42 24.53 L19.26 24.53 L19.10 24.53 L18.94 24.53 L18.78 24.53 L18.63 24.53 L18.48 24.52 L18.32 24.51 L18.17 24.51 L18.02 24.50 L17.88 24.49 L17.73 24.48 L17.58 24.47 L17.44 24.46 L17.29 24.44 L17.15 24.43 L17.00 24.42 L16.86 24.40 L16.72 24.39 L16.58 24.38 L16.44 24.36 L16.30 24.35 L16.16 24.33 L16.02 24.32 L15.87 24.30 L15.73 24.29 L15.59 24.27 L15.45 24.26 L15.31 24.24 L15.17 24.23 L15.03 24.22 L14.89 24.20 L14.75 24.19 L14.61 24.18 L14.47 24.17 L14.33 24.16 L14.19 24.15 L14.05 24.14 L13.91 24.14 L13.76 24.13 L13.62 24.13 L13.48 24.12 L13.34 24.12 L13.19 24.12 L13.05 24.12 L12.90 24.13 L12.76 24.13 L12.62 24.14 L12.47 24.14 L12.33 24.15 L12.18 24.17 L12.04 24.18 L11.89 24.20 L11.75 24.21 L11.60 24.23 L11.46 24.26 L11.31 24.28 L11.17 24.31 L11.02 24.34 L10.88 24.37 L10.73 24.41 L10.59 24.45 L10.45 24.49 L10.31 24.54 L10.17 24.58 L10.02 24.64 L9.88 24.69 L9.75 24.75 L9.61 24.81 L9.47 24.87 L9.34 24.94 L9.20 25.01 L9.07 25.09 L8.94 25.17 L8.81 25.25 L8.69 25.34 L8.56 25.43 L8.44 25.53 L8.32 25.63 L8.21 25.74 L8.10 25.85 L8.00 26.00Z%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.top .grow { flex: 1; }
.top select { width: auto; min-height: var(--ctl-h-sm); padding: 0 var(--sp-5) 0 var(--sp-2); font-size: var(--fs-small); border-color: transparent; background-color: transparent; color: var(--rail-text); }
.top select:hover { border-color: var(--rail-line); }
.top select option { color: var(--text); background: var(--surface); }
.top .btn { background: transparent; border-color: var(--rail-line); color: var(--rail-text); }
.top .btn:hover { background: var(--rail-2); }
.top .btn.ghost { border-color: transparent; }
.top .btn.primary { background: var(--rail-accent); border-color: var(--rail-accent); color: var(--rail-ink); }
.top [role=group] { display: inline-flex; border: 1px solid var(--rail-line); border-radius: var(--r-ctl); overflow: hidden; }
.top [role=group] .btn { border: 0; border-radius: 0; min-height: var(--ctl-h-sm); padding: 0 var(--sp-3); color: var(--rail-muted); }
.top [role=group] .btn + .btn { border-left: 1px solid var(--rail-line); }
.top [role=group] .btn[aria-pressed=true] { background: var(--rail-2); color: var(--rail-text); }
.shell { display: grid; grid-template-columns: var(--side) minmax(0, 1fr); flex: 1 1 auto; }
.shell.nosidebar { grid-template-columns: minmax(0, 1fr); }
.side { background: var(--rail); color: var(--rail-text); padding: var(--sp-4) var(--sp-3); display: flex; flex-direction: column; gap: var(--sp-5); position: sticky; top: var(--top); height: calc(100vh - var(--top)); overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: var(--rail-line) transparent; }
.side h2 { font: var(--fw-medium) var(--fs-caption)/1.4 var(--font); color: var(--rail-muted); margin: 0 var(--sp-3) var(--sp-1); }
.side a { display: flex; align-items: center; gap: var(--sp-3); min-height: var(--row-h); padding: 0 var(--sp-3); border-radius: var(--r-ctl); color: var(--rail-text); font-size: var(--fs-body); font-weight: var(--fw-regular); text-decoration: none; transition: background-color .12s; }
.side a > span:not(.ico):not(.chip) { flex: 1; min-width: 0; }
.side a:hover { background: var(--rail-2); }
.side a[aria-current="page"] { background: var(--rail-2); box-shadow: inset 2px 0 0 var(--rail-accent); }
.side a[aria-current="page"] .ico { background: var(--rail-accent); }
.side .spacer { flex: 1; }
.ico { width: 18px; height: 18px; flex: none; background: var(--rail-muted); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.main { padding: var(--page-pad) var(--page-pad) var(--sp-6); width: 100%; min-width: 0; position: relative; }
.nosidebar .main { max-width: 1080px; margin: 0 auto; }
.narrow { max-width: 440px; margin: var(--sp-6) auto; }
.narrow > h1 { margin-bottom: var(--sp-4); }
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; min-height: var(--head-h); margin-bottom: var(--sp-5); }
.page-head .sub { color: var(--muted); }
.actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; }
.foot { flex: 0 0 auto; padding: var(--sp-3) var(--sp-5); color: var(--muted); font-size: var(--fs-caption); border-top: 1px solid var(--border); display: flex; gap: var(--sp-2); }
.foot code { background: none; padding: 0; }
body:not(:has(.shell:not(.nosidebar))) { min-height: 100dvh; display: flex; flex-direction: column; }
@media (min-width: 961px) {
  /* App pages: header, side bar and footer stay in place. Only .main scrolls. */
  body:has(.shell:not(.nosidebar)) { display: flex; flex-direction: column; height: 100vh; height: 100dvh; overflow: hidden; }
  .shell:not(.nosidebar) { flex: 1 1 0; min-height: 0; overflow: hidden; }
  .shell:not(.nosidebar) .side { position: static; height: auto; }
  .shell:not(.nosidebar) .main { overflow-y: auto; min-height: 0; scrollbar-width: thin; scrollbar-color: var(--thumb) transparent; }
  .main:has(.askpage), .main:has(.askshell) { display: flex; flex-direction: column; overflow: hidden; }
}

/* surfaces */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-panel); padding: var(--card-pad); margin-bottom: var(--gap); }
.card > h2:first-child, .card > h3:first-child { margin-top: 0; }
.grid { display: grid; gap: var(--gap); margin-bottom: var(--gap); }
.grid > .card { margin-bottom: 0; }
.grid.c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat { display: flex; flex-direction: column; gap: var(--sp-1); }
.stat .n { font: var(--fw-medium) var(--fs-h2)/1.3 var(--font); }
.stat .l { color: var(--muted); font-size: var(--fs-small); }

/* forms */
label { display: block; font-weight: var(--fw-medium); font-size: var(--fs-small); margin-bottom: var(--sp-1); }
.field { margin-bottom: var(--sp-4); }
.hint { color: var(--muted); font-size: var(--fs-small); margin-top: var(--sp-1); }
input[type=text], input[type=email], input[type=password], input[type=search], input[type=number], input[type=url], input[type=datetime-local], select, textarea {
  width: 100%; padding: var(--sp-2) var(--sp-3); border: 1px solid var(--border-strong); border-radius: var(--r-ctl); background: var(--surface); color: var(--text); font: inherit; min-height: var(--ctl-h); transition: border-color .12s, box-shadow .12s; }
input:hover, select:hover, textarea:hover { border-color: var(--muted); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent); }
td select, td input[type=text], td input[type=number] { width: auto; min-height: var(--ctl-h-sm); padding: 0 var(--sp-3); }
textarea { min-height: 112px; resize: vertical; font-family: var(--mono); font-size: var(--fs-small); }
input[type=checkbox], input[type=radio] { width: 18px; height: 18px; vertical-align: -3px; margin-right: var(--sp-2); accent-color: var(--accent); }
.check { display: flex; align-items: center; font-weight: var(--fw-regular); margin: var(--sp-2) 0; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); min-height: var(--ctl-h); padding: 0 var(--sp-4); border-radius: var(--r-ctl); border: 1px solid var(--border-strong);
  background: var(--surface); color: var(--text); font: inherit; font-weight: var(--fw-medium); text-decoration: none; cursor: pointer; transition: background-color .12s, border-color .12s; }
.btn:hover { background: var(--surface-2); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-text); }
.btn.primary:hover { background: color-mix(in srgb, var(--accent) 88%, #000); }
.btn.danger { background: var(--bad); border-color: var(--bad); color: var(--surface); }
.btn.ghost { border-color: transparent; background: transparent; }
.btn.ghost:hover { background: var(--surface-2); }
.btn.small { min-height: var(--ctl-h-sm); padding: 0 var(--sp-3); font-size: var(--fs-small); }
.btn[disabled], .btn[aria-disabled=true] { opacity: .5; cursor: not-allowed; }
.inline { display: inline; }
.row { display: flex; gap: var(--sp-3); flex-wrap: wrap; align-items: flex-end; }
.row > .field { flex: 1 1 180px; margin-bottom: 0; }
fieldset { border: 1px solid var(--border); border-radius: var(--r-ctl); margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-4); }
legend { font-weight: var(--fw-medium); padding: 0 var(--sp-2); }

/* messages. A flash from the server is a toast: it overlays the page and never moves the title. */
.flash { padding: var(--sp-3) var(--sp-4); border-radius: var(--r-ctl); margin-bottom: var(--sp-4); border: 1px solid; display: flex; gap: var(--sp-2); align-items: flex-start; font-size: var(--fs-small); }
.flash.ok { background: var(--ok-bg); color: var(--ok); border-color: color-mix(in srgb, var(--ok) 45%, transparent); }
.flash.error { background: var(--bad-bg); color: var(--bad); border-color: color-mix(in srgb, var(--bad) 45%, transparent); }
.flash.info { background: var(--info-bg); color: var(--info); border-color: color-mix(in srgb, var(--info) 45%, transparent); }
.toast { position: fixed; top: calc(var(--top) + var(--sp-3)); right: var(--sp-4); z-index: 40; max-width: min(440px, calc(100vw - 2 * var(--sp-4))); margin: 0; justify-content: space-between; align-items: center; box-shadow: var(--pop); }
.toast-x { flex: none; width: var(--ctl-h-sm); height: var(--ctl-h-sm); margin: calc(-1 * var(--sp-2)) calc(-1 * var(--sp-3)) calc(-1 * var(--sp-2)) 0; border: 0; border-radius: var(--r-ctl); background: transparent; color: inherit; font: inherit; font-size: var(--fs-h2); line-height: 1; cursor: pointer; }
.toast-x:hover { background: color-mix(in srgb, currentColor 14%, transparent); }

/* chip family: badge, chip, tag, mention, count, state and age chips are one component.
   Same height, padding, radius and type size. Only the semantic color changes. A dot marks a real state only. */
.badge, .chip, .tag, .mention, .agechip, .callchip, .count, .livestate, .top > .muted, .asklist .k {
  display: inline-flex; align-items: center; gap: var(--sp-1); height: var(--chip-h); padding: 0 var(--sp-2); border-radius: var(--r-chip);
  border: 1px solid var(--chip-bd, var(--border)); background: var(--chip-bg, var(--surface-2)); color: var(--chip-fg, var(--text));
  font: var(--fw-medium) var(--fs-caption)/1 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; vertical-align: middle; }
.callchip { font-family: var(--mono); }
.top, .side { --chip-bg: var(--rail-2); --chip-fg: var(--rail-text); --chip-bd: var(--rail-line); }
.badge.ok, .chip.ok, .tag.ok { --chip-bg: var(--ok-bg); --chip-fg: var(--ok); --chip-bd: color-mix(in srgb, var(--ok) 35%, transparent); }
.badge.warn, .chip.warn, .tag.warn { --chip-bg: var(--warn-bg); --chip-fg: var(--warn); --chip-bd: color-mix(in srgb, var(--warn) 35%, transparent); }
.badge.bad, .chip.bad, .tag.bad { --chip-bg: var(--bad-bg); --chip-fg: var(--bad); --chip-bd: color-mix(in srgb, var(--bad) 35%, transparent); }
.badge.info, .chip.info, .tag.info { --chip-bg: var(--info-bg); --chip-fg: var(--info); --chip-bd: color-mix(in srgb, var(--info) 35%, transparent); }
.badge.accent, .chip.accent, .chip.env { --chip-bg: var(--accent-soft); --chip-fg: var(--accent-ink); --chip-bd: color-mix(in srgb, var(--accent) 40%, transparent); }
.dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; display: inline-block; flex: none; }
.badge.bad .dot { border-radius: 1px; transform: rotate(45deg); }
.badge.warn .dot { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.chips, .tags { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.chips .chip { margin: 0; }

/* tables */
.tablewrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: var(--sp-3); border-bottom: 1px solid var(--border); vertical-align: top; }
th { font-size: var(--fs-caption); color: var(--muted); font-weight: var(--fw-medium); white-space: nowrap; padding-top: var(--sp-2); padding-bottom: var(--sp-2); }
tbody tr:hover td { background: color-mix(in srgb, var(--surface-2) 55%, transparent); }
tr:last-child td { border-bottom: 0; }
td.num, th.num { text-align: right; }
tr.group td { background: var(--surface-2); font-weight: var(--fw-medium); }
meter { width: 84px; height: 10px; vertical-align: middle; }
.empty { text-align: center; padding: var(--sp-6) var(--sp-4); color: var(--muted); max-width: none; margin: 0 0 var(--gap); background: var(--surface); border: 1px dashed var(--border-strong); border-radius: var(--r-panel); }
.empty h2 { color: var(--text); }
.tabs { display: flex; gap: var(--sp-1); border-bottom: 1px solid var(--border); margin-bottom: var(--sp-4); flex-wrap: wrap; }
.tabs a { display: inline-flex; align-items: center; gap: var(--sp-2); min-height: var(--ctl-h); padding: 0 var(--sp-3); text-decoration: none; color: var(--muted); border-bottom: 2px solid transparent; font-weight: var(--fw-medium); margin-bottom: -1px; }
.tabs a:hover { color: var(--text); }
.tabs a[aria-current="page"] { color: var(--text); border-color: var(--accent); }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: var(--sp-2) var(--sp-5); margin: 0; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; word-break: break-word; }

/* timeline */
.timeline { list-style: none; margin: 0 0 0 var(--sp-2); padding: 0; border-left: 1px solid var(--border-strong); }
.timeline li { position: relative; padding: 0 0 var(--sp-5) var(--sp-5); }
.timeline li::before { content: ""; position: absolute; left: -5px; top: 7px; width: 9px; height: 9px; background: var(--bg); border: 2px solid var(--muted); border-radius: 50%; }
.timeline li.k-guardian::before, .timeline li.k-gate::before { border-color: var(--warn); border-radius: 0; }
.timeline li.k-execution::before, .timeline li.k-rollback::before { border-color: var(--bad); border-radius: 1px; transform: rotate(45deg); }
.timeline li.k-verification::before { border-color: var(--ok); background: var(--ok); }
.timeline .meta { color: var(--muted); font-size: var(--fs-caption); font-family: var(--mono); }
.timeline .quoted { border-left: 2px solid var(--border-strong); padding-left: var(--sp-3); color: var(--muted); }

/* dialog */
dialog { border: 1px solid var(--border-strong); border-radius: var(--r-panel); background: var(--surface); color: var(--text); padding: var(--sp-5); width: min(520px, 92vw); box-shadow: var(--pop); }
dialog::backdrop { background: var(--scrim); }

/* chart */
.chart { width: 100%; height: 160px; display: block; }
.legend { display: flex; gap: var(--sp-4); font-size: var(--fs-caption); color: var(--muted); }

/* sign-in pages: one centered column, the card is the focus */
.narrow .card { padding: var(--sp-5); }
.narrow .card .actions .btn.primary { flex: 1; }
.sso-row { display: grid; gap: var(--sp-2); margin: var(--sp-3) 0; }
.divider { display: flex; align-items: center; gap: var(--sp-3); color: var(--muted); margin: var(--sp-4) 0; font-size: var(--fs-small); }
.divider::before, .divider::after { content: ""; flex: 1; border-top: 1px solid var(--border); }

/* landing: the pipeline is the page. Mono labels carry the machine facts. */
.landing { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--sp-6); align-items: start; padding: var(--sp-6) 0 var(--sp-5); }
.landing h1 { font-size: var(--fs-display); line-height: 1.08; letter-spacing: -.02em; margin-bottom: var(--sp-4); }
.landing .lede { font-size: var(--fs-h2); color: var(--muted); max-width: 34ch; margin-bottom: var(--sp-5); }
.pipeline { list-style: none; margin: 0; padding: 0; counter-reset: step; }
.pipeline li { counter-increment: step; display: grid; grid-template-columns: 3.2rem 1fr; gap: var(--sp-1) var(--sp-3); padding: var(--sp-3) 0; border-bottom: 1px solid var(--border); }
.pipeline li::before { content: counter(step, decimal-leading-zero); font-family: var(--mono); font-size: var(--fs-small); color: var(--muted); padding-top: var(--sp-1); grid-row: span 2; }
.pipeline b { font-weight: var(--fw-semi); }
.pipeline span { color: var(--muted); font-size: var(--fs-body); }
.pipeline li.gate b { color: var(--accent); }

@media (max-width: 960px) {
  .grid.c3, .grid.c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shell { grid-template-columns: minmax(0, 1fr); }
  .side { position: static; height: auto; flex-direction: row; flex-wrap: wrap; gap: var(--sp-1) var(--sp-3); border-bottom: 1px solid var(--border); padding: var(--sp-3); overflow: visible; }
  .side > div { display: contents; }
  .side h2 { display: none; }
  .side .spacer { display: none; }
  .landing { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); padding-top: var(--sp-5); }
}
@media (max-width: 640px) {
  .grid.c2, .grid.c3, .grid.c4 { grid-template-columns: minmax(0, 1fr); }
  .top { gap: var(--sp-2); flex-wrap: wrap; height: auto; min-height: var(--top); padding-block: var(--sp-2); }
  .main { padding: var(--sp-4) var(--sp-4) var(--sp-5); }
  .narrow { margin: var(--sp-5) auto; }
  .btn { min-height: 44px; }
  .btn.small { min-height: 36px; }
  table.stack thead { display: none; }
  table.stack tr { display: block; border-bottom: 1px solid var(--border); padding: var(--sp-2) 0; }
  table.stack td { display: flex; justify-content: space-between; gap: var(--sp-3); border: 0; padding: var(--sp-1) 0; text-align: right; }
  table.stack td::before { content: attr(data-label); color: var(--muted); font-weight: var(--fw-medium); text-align: left; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

[hidden] { display: none !important; }
.kicker, .sect, .sect-label, .askgroup h2 { font-family: var(--font); }
.kicker { font-size: var(--fs-small); font-weight: var(--fw-medium); color: var(--muted); margin-bottom: var(--sp-2); }


/* nav glyphs: drawn for this product, used as masks so they take the rail colors */
.ico-overview { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%273%27%20y=%273%27%20width=%277%27%20height=%277%27%20rx=%271.5%27/%3E%3Crect%20x=%2714%27%20y=%273%27%20width=%277%27%20height=%277%27%20rx=%271.5%27/%3E%3Crect%20x=%273%27%20y=%2714%27%20width=%277%27%20height=%277%27%20rx=%271.5%27/%3E%3Crect%20x=%2714%27%20y=%2714%27%20width=%277%27%20height=%277%27%20rx=%271.5%27/%3E%3C/svg%3E"); }
.ico-machines { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%273%27%20y=%274%27%20width=%2718%27%20height=%276%27%20rx=%271.5%27/%3E%3Crect%20x=%273%27%20y=%2714%27%20width=%2718%27%20height=%276%27%20rx=%271.5%27/%3E%3Cpath%20d=%27M7%207h.01M7%2017h.01%27/%3E%3C/svg%3E"); }
.ico-connectors { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%275%27%20cy=%2712%27%20r=%272.5%27/%3E%3Ccircle%20cx=%2719%27%20cy=%276%27%20r=%272.5%27/%3E%3Ccircle%20cx=%2719%27%20cy=%2718%27%20r=%272.5%27/%3E%3Cpath%20d=%27M7.3%2011l9.4-4M7.3%2013l9.4%204%27/%3E%3C/svg%3E"); }
.ico-incidents { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M12%203.5l9.5%2016.5h-19z%27/%3E%3Cpath%20d=%27M12%2010v4.5M12%2017.2h.01%27/%3E%3C/svg%3E"); }
.ico-approvals { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%273.5%27%20y=%273.5%27%20width=%2717%27%20height=%2717%27%20rx=%273%27/%3E%3Cpath%20d=%27M8%2012.5l3%203%205-6%27/%3E%3C/svg%3E"); }
.ico-recipes { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M6%203h9l4%204v14H6z%27/%3E%3Cpath%20d=%27M9%2012h7M9%2016h7M9%208h3%27/%3E%3C/svg%3E"); }
.ico-signals { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M2.5%2012h4l2.5-7%204%2014%202.5-7h6%27/%3E%3C/svg%3E"); }
.ico-memory { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cellipse%20cx=%2712%27%20cy=%276%27%20rx=%278%27%20ry=%273%27/%3E%3Cpath%20d=%27M4%206v6c0%201.7%203.6%203%208%203s8-1.3%208-3V6M4%2012v6c0%201.7%203.6%203%208%203s8-1.3%208-3v-6%27/%3E%3C/svg%3E"); }
.ico-audit { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%275%27%20y=%274%27%20width=%2714%27%20height=%2717%27%20rx=%272%27/%3E%3Cpath%20d=%27M9%202.5h6v3H9zM9%2011h6M9%2015h6%27/%3E%3C/svg%3E"); }
.ico-automation { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M4%207h8M16%207h4M4%2017h4M12%2017h8%27/%3E%3Ccircle%20cx=%2714%27%20cy=%277%27%20r=%272%27/%3E%3Ccircle%20cx=%2710%27%20cy=%2717%27%20r=%272%27/%3E%3C/svg%3E"); }
.ico-members { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%279%27%20cy=%278%27%20r=%273.2%27/%3E%3Cpath%20d=%27M3%2020c0-3.6%202.7-6%206-6s6%202.4%206%206%27/%3E%3Ccircle%20cx=%2717.5%27%20cy=%279%27%20r=%272.4%27/%3E%3Cpath%20d=%27M17%2014c2.6.2%204.5%202%204.5%205%27/%3E%3C/svg%3E"); }
.ico-billing { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%272.5%27%20y=%275%27%20width=%2719%27%20height=%2714%27%20rx=%272.5%27/%3E%3Cpath%20d=%27M2.5%2010h19M6.5%2015h4%27/%3E%3C/svg%3E"); }
.ico-settings { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Ccircle%20cx=%2712%27%20cy=%2712%27%20r=%273%27/%3E%3Cpath%20d=%27M12%202.5v3M12%2018.5v3M2.5%2012h3M18.5%2012h3M5.3%205.3l2.1%202.1M16.6%2016.6l2.1%202.1M18.7%205.3l-2.1%202.1M7.4%2016.6l-2.1%202.1%27/%3E%3C/svg%3E"); }
.ico-admin { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M12%203l8%203v6c0%204.5-3.3%207.8-8%209-4.7-1.2-8-4.5-8-9V6z%27/%3E%3C/svg%3E"); }
.ico-workspace { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%273%27%20y=%277%27%20width=%2718%27%20height=%2713%27%20rx=%272%27/%3E%3Cpath%20d=%27M8%207V4.5h8V7%27/%3E%3C/svg%3E"); }
/* fleet views: KPI strip and host map */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: var(--gap); overflow: hidden; }
.kpi { padding: var(--sp-4) var(--sp-4) var(--sp-4); border-right: 1px solid var(--border); display: flex; flex-direction: column; gap: 2px; position: relative; }
.kpi:last-child { border-right: 0; }
.kpi .l { color: var(--muted); font-size: var(--fs-small); font-weight: var(--fw-medium); }
.kpi .n { font-size: var(--fs-metric); line-height: 1.15; font-weight: var(--fw-medium); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.kbar { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; border: 0; border-radius: var(--r-chip); background: var(--surface-2); margin-top: var(--sp-2); color: var(--s1); }
.kbar::-webkit-progress-bar { background: var(--surface-2); border-radius: var(--r-chip); }
.kbar::-webkit-progress-value { background: var(--s1); border-radius: var(--r-chip); }
.kbar::-moz-progress-bar { background: var(--s1); border-radius: var(--r-chip); }
.kpi.ok .kbar::-webkit-progress-value { background: var(--s2); }
.kpi.ok .kbar::-moz-progress-bar { background: var(--s2); }
.kpi.bad .n { color: var(--bad); }
.kpi.bad .kbar::-webkit-progress-value { background: var(--bad); }
.kpi.bad .kbar::-moz-progress-bar { background: var(--bad); }
.kpi.warn .kbar::-webkit-progress-value { background: var(--s3); }
.kpi.warn .kbar::-moz-progress-bar { background: var(--s3); }
.hostmap { display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: var(--sp-2); margin-bottom: var(--sp-4); }
.tile { display: flex; flex-direction: column; justify-content: space-between; gap: var(--sp-4); min-height: 76px; padding: var(--sp-3) var(--sp-3); border-radius: var(--radius); text-decoration: none; color: var(--text); background: var(--surface); border: 1px solid var(--border); position: relative; overflow: hidden; transition: border-color .12s, transform .12s; }
.tile::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--border-strong); }
.tile:hover { border-color: var(--border-strong); }
.tile.online::before { background: var(--s2); }
.tile.offline { background: var(--bad-bg); }
.tile.offline::before { background: var(--bad); }
.tile.pending::before { background: var(--s3); }
.tile-name { font-weight: var(--fw-semi); font-size: var(--fs-body); overflow-wrap: anywhere; padding-left: var(--sp-1); }
.tile-meta { font-family: var(--mono); font-size: var(--fs-caption); color: var(--muted); padding-left: var(--sp-1); display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-2); }
.panel-h { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.panel-h h2 { margin: 0; }
@media (max-width: 960px) { .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kpi:nth-child(2) { border-right: 0; } .kpi:nth-child(-n+2) { border-bottom: 1px solid var(--border); } }
.card.flush { padding: 0; overflow: hidden; }
.card.flush th:first-child, .card.flush td:first-child { padding-left: var(--sp-4); }
form.row { margin-bottom: var(--sp-4); }
/* facts */
details > summary { cursor: pointer; font-weight: var(--fw-semi); }
.pkgs { margin-top: var(--sp-3); max-height: 260px; overflow: auto; }
.card h2 .muted, .panel-h .muted { font-weight: var(--fw-regular); font-size: var(--fs-small); }
.ico-channels { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M4%205h16v11H9l-5%204z%27/%3E%3Cpath%20d=%27M8%209.5h8M8%2012.5h5%27/%3E%3C/svg%3E"); }
/* machines */
.mhead { position: relative; margin-bottom: var(--sp-4); }
.mhead { min-height: var(--head-h); }
.mhead h1 { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; margin: 0 0 var(--sp-1); }
.mhead .crumb { position: absolute; top: calc(-1 * var(--sp-4) - var(--sp-1)); left: 0; color: var(--muted); text-decoration: none; font-size: var(--fs-caption); line-height: 1.3; }
.mhead .crumb:hover { color: var(--text); }
.mchips { margin-bottom: var(--sp-1); }
.chartbox h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-small); color: var(--muted); font-weight: var(--fw-medium); }
.lead { color: var(--muted); max-width: 70ch; margin: 0 0 var(--sp-4); }
.pad { padding: var(--sp-4) var(--sp-4); }
.panel-h.pad { margin: 0; padding: var(--sp-4) var(--sp-4) 0; }
.card.flush .panel-h.pad { padding-bottom: var(--sp-3); }
.card.flush > p.pad { margin: 0; }
.rowact { text-align: right; white-space: nowrap; }
.rowact form.inline, .rowact .btn, .rowact details { display: inline-block; vertical-align: middle; }
.fp { font-size: var(--fs-caption); max-width: 22ch; overflow: hidden; text-overflow: ellipsis; display: inline-block; vertical-align: middle; }
details.enable { position: relative; text-align: left; }
details.enable summary { list-style: none; display: inline-flex; font-weight: var(--fw-medium); }
details.enable summary::-webkit-details-marker { display: none; }
.enable-form { position: absolute; right: 0; top: calc(100% + 6px); z-index: 5; width: min(320px, 86vw); padding: var(--sp-4) var(--sp-4); background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius); box-shadow: var(--pop); white-space: normal; }
.enable-form .field { margin-bottom: var(--sp-3); }
.section { margin: var(--sp-5) 0 var(--sp-3); font-size: var(--fs-h2); }
@media (max-width: 640px) { .enable-form { position: fixed; left: 16px; right: 16px; top: auto; bottom: 16px; width: auto; } .rowact { white-space: normal; } }
/* channels */
.chtiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--gap); margin-bottom: var(--gap); }
.chtile { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.chtile h3 { margin: var(--sp-2) 0 0; font-size: var(--fs-h3); }
.chtile p { margin: 0 0 var(--sp-3); font-size: var(--fs-small); flex: 1 1 auto; }
.chtile .btn { align-self: flex-start; }
.sect { font-size: var(--fs-small); color: var(--muted); margin: var(--sp-5) 0 var(--sp-3); font-weight: var(--fw-semi); }
.chlogo { flex: none; width: 36px; height: 36px; border-radius: var(--r-ctl); display: inline-grid; place-items: center; font: var(--fw-semi) var(--fs-small) var(--mono); color: var(--text); background: var(--surface-2); border: 1px solid var(--border); vertical-align: middle; }
.chlogo.sm { width: 26px; height: 26px; border-radius: var(--r-ctl); font-size: var(--fs-caption); margin-right: var(--sp-2); }
.chlogo.k-slack { color: #fff; border-color: transparent; background: #4a154b; }
.chlogo.k-telegram { color: #fff; border-color: transparent; background: #229ed9; }
.chlogo.k-teams { color: #fff; border-color: transparent; background: #5059c9; }
.chlogo.k-discord { color: #fff; border-color: transparent; background: #5865f2; }
.chlogo.k-mattermost { color: #fff; border-color: transparent; background: #1c58d9; }
.chlogo.k-webhook { background: var(--muted); color: var(--bg); border-color: transparent; }
.chlogo.k-email { background: var(--muted); color: var(--bg); border-color: transparent; }
.chlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.chlist > li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); padding: var(--sp-2) var(--sp-3); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); }
.chname { font-weight: var(--fw-semi); overflow-wrap: anywhere; }
.card.flush > .panel-h h2 { margin: 0; }
.chlink { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; }
.chlink h2, .chlink p { margin: 0; }
@media (max-width: 480px) { .chgrid { grid-template-columns: 1fr; } }
/* pages: shared page furniture (recipes, incidents, approvals, signals, audit, members, billing, auth, admin) */
.page-head > :first-child { min-width: 0; flex: 1 1 320px; }
.page-head .sub { margin: 0; font-size: var(--fs-body); }
@media (min-width: 641px) { .page-head .sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
.main > .tablewrap, .tablewrap.boxed { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: var(--gap); }
.main > .tablewrap th:first-child, .main > .tablewrap td:first-child, .tablewrap.boxed th:first-child, .tablewrap.boxed td:first-child { padding-left: var(--sp-4); }
.main > .tablewrap th:last-child, .main > .tablewrap td:last-child, .tablewrap.boxed th:last-child, .tablewrap.boxed td:last-child { padding-right: var(--sp-4); }
.card:not(.flush) > .tablewrap { margin: 0 -20px; }
.card:not(.flush) > .tablewrap th:first-child, .card:not(.flush) > .tablewrap td:first-child { padding-left: var(--sp-4); }
.card:not(.flush) > .tablewrap th:last-child, .card:not(.flush) > .tablewrap td:last-child { padding-right: var(--sp-4); }
.card:not(.flush) > .tablewrap + form, .card:not(.flush) > .tablewrap + .row { margin-top: var(--sp-4); }
.card .card { background: var(--bg); margin-top: var(--sp-3); }
.toolbar, .main > form.row:not(.card) { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--gap); align-items: flex-end; }
.toolbar .field label, .main > form.row:not(.card) .field label { font-size: var(--fs-caption); color: var(--muted); font-weight: var(--fw-medium); margin-bottom: 3px; }
.toolbar input, .toolbar select, .main > form.row:not(.card) input, .main > form.row:not(.card) select { min-height: 34px; padding: var(--sp-1) var(--sp-3); }
.toolbar .btn, .main > form.row:not(.card) .btn { min-height: 34px; padding: var(--sp-1) var(--sp-4); }
.card.row { align-items: flex-end; }
.card.row > h2, .card.row > h3 { flex: 0 0 100%; margin-bottom: 0; }
.toolbar .grow { flex: 1 1 auto; }
.empty-ico { display: block; width: 30px; height: 30px; margin: 0 auto var(--sp-4); background: var(--muted); opacity: .8; }
.empty .actions { justify-content: center; margin-top: var(--sp-4); }
.card .empty { border: 0; background: none; padding: var(--sp-5) var(--sp-3); margin: 0; }
.card.flush > .empty { border: 0; border-radius: 0; margin: 0; }
.mono-id { font-family: var(--mono); font-size: var(--fs-small); }
td .sub, .cell-sub { display: block; color: var(--muted); font-size: var(--fs-caption); font-family: var(--mono); margin-top: 1px; }
tr[class*="sev-"] > td:first-child { box-shadow: inset 3px 0 0 var(--border-strong); }
tr.sev-critical > td:first-child { box-shadow: inset 3px 0 0 var(--bad); }
tr.sev-warning > td:first-child { box-shadow: inset 3px 0 0 var(--s3); }
tr.sev-info > td:first-child { box-shadow: inset 3px 0 0 var(--s4); }
tr.risk-high > td:first-child, tr.risk-critical > td:first-child { box-shadow: inset 3px 0 0 var(--bad); }
tr.risk-medium > td:first-child { box-shadow: inset 3px 0 0 var(--s3); }
tr.risk-low > td:first-child { box-shadow: inset 3px 0 0 var(--s2); }
.td-actions { white-space: nowrap; text-align: right; }
.td-actions form { margin-left: var(--sp-1); }
details.add { margin-top: var(--sp-4); }
details.add > summary { display: inline-flex; list-style: none; font-weight: var(--fw-medium); }
details.add > summary::-webkit-details-marker { display: none; }
details.add[open] > summary { margin-bottom: var(--sp-4); }
details.add > form.row { margin: 0; }
.kpi a { color: inherit; text-decoration: none; }
a.kpi { color: inherit; text-decoration: none; transition: background-color .12s; }
a.kpi:hover, a.kpi:focus-visible { background: var(--surface-2); }
.kpi .n.sm { font-size: var(--fs-h2); line-height: 1.5; font-weight: var(--fw-semi); letter-spacing: 0; padding-top: var(--sp-1); overflow-wrap: anywhere; }
.kpi .sub { color: var(--muted); font-size: var(--fs-caption); }
.kpis.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kpis.c5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.kpis.c3 .kpi:nth-child(2), .kpis.c3 .kpi:nth-child(-n+2) { border-bottom: 0; }
.kpi.bad .n.sm, .kpi.warn .n.sm { color: inherit; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--gap); align-items: start; margin-bottom: var(--gap); }
.split > .card { margin-bottom: 0; }
.stack-col { display: flex; flex-direction: column; gap: var(--gap); }
.stack-col > .card { margin-bottom: 0; }
.sticky { position: sticky; top: calc(var(--top) + 16px); }
.card h2 .badge { vertical-align: 2px; margin-left: var(--sp-2); }
.yn { font-size: var(--fs-small); color: var(--muted); }
.yn.on { color: var(--ok); font-weight: var(--fw-medium); }
.yn.off { color: var(--warn); font-weight: var(--fw-medium); }
/* pages: activity feed (incident timeline, decisions) */
.feed { list-style: none; margin: 0; padding: 0; position: relative; }
.feed::before { content: ""; position: absolute; left: 15px; top: 16px; bottom: 28px; width: 1px; background: var(--border-strong); }
.feed > li { --kc: var(--muted); position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: var(--sp-3); padding-bottom: var(--sp-4); }
.feed .node { width: 32px; height: 32px; border-radius: 50%; background: var(--surface); border: 1.5px solid var(--kc); display: grid; place-items: center; position: relative; z-index: 1; }
.feed .node .ico { width: 15px; height: 15px; background: var(--kc); }
.feed .entry { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4) var(--sp-3); min-width: 0; }
.feed .head { display: flex; align-items: baseline; gap: var(--sp-1) var(--sp-3); flex-wrap: wrap; }
.feed .head strong { font-weight: var(--fw-semi); }
.feed .head .when { margin-left: auto; color: var(--muted); font-size: var(--fs-caption); font-family: var(--mono); }
.feed .who { color: var(--muted); font-size: var(--fs-small); font-family: var(--mono); }
.feed .says { margin: var(--sp-2) 0 0; }
.feed .says.quoted { border-left: 2px solid var(--border-strong); padding-left: var(--sp-3); color: var(--muted); }
.feed li.k-signal, .feed li.k-check, .feed li.k-link { --kc: var(--s4); }
.feed li.k-triage, .feed li.k-diagnosis, .feed li.k-proposal, .feed li.k-memory { --kc: var(--s1); }
.feed li.k-approval, .feed li.k-verification { --kc: var(--s2); }
.feed li.k-guardian, .feed li.k-gate, .feed li.k-execution { --kc: var(--warn); }
.feed li.k-rollback { --kc: var(--bad); }
.feed li.k-comment, .feed li.k-state { --kc: var(--muted); }
.kvs { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 3px var(--sp-4); margin: var(--sp-2) 0 0; font-size: var(--fs-small); }
.kvs dt { font-family: var(--mono); color: var(--muted); }
.kvs dd { margin: 0; font-family: var(--mono); overflow-wrap: anywhere; }
.kvs dd.long { grid-column: 1 / -1; background: var(--surface-2); border-radius: var(--r-chip); padding: var(--sp-1) var(--sp-2); margin: 0 0 var(--sp-1); }
.entry details { margin-top: var(--sp-2); }
.entry details > summary { font-weight: var(--fw-medium); font-size: var(--fs-small); color: var(--muted); }
.entry details pre { margin-top: var(--sp-2); max-height: 260px; overflow: auto; }
/* pages: recipes */
.callout { display: flex; gap: var(--sp-3); align-items: flex-start; background: var(--info-bg); color: var(--text); border: 1px solid color-mix(in srgb, var(--info) 30%, transparent); border-radius: var(--radius); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--gap); font-size: var(--fs-body); }
.callout > .ico { background: var(--info); margin-top: 3px; }
.callout p { margin: 0; }
.callout b { font-weight: var(--fw-semi); }
.cmd { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-2); font-family: var(--mono); font-size: var(--fs-small); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--sp-2) var(--sp-3); }
.cmd .tok { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-chip); padding: 0 var(--sp-2); overflow-wrap: anywhere; }
.cmd .tok:first-child { font-weight: var(--fw-semi); }
.steps { list-style: none; margin: 0; padding: 0; counter-reset: st; display: flex; flex-direction: column; gap: var(--sp-3); }
.steps > li { counter-increment: st; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--sp-3); }
.steps > li::before { content: counter(st); width: 24px; height: 24px; border-radius: 50%; background: var(--surface-2); color: var(--text); font: var(--fw-semi) var(--fs-small)/24px var(--mono); text-align: center; margin-top: var(--sp-2); }
.steps .meta { color: var(--muted); font-size: var(--fs-caption); font-family: var(--mono); margin-top: 3px; }
.sect-label { font-size: var(--fs-caption); color: var(--muted); font-weight: var(--fw-semi); margin: var(--sp-4) 0 var(--sp-2); }
.sect-label:first-child { margin-top: 0; }
.ptable td:first-child { white-space: nowrap; }
/* pages: approvals */
.decide .actions { margin-top: var(--sp-1); }
.decide .btn { flex: 1 1 auto; }
/* pages: auth, errors */
div.narrow > h1 { text-align: center; }
div.narrow > .lede { text-align: center; color: var(--muted); margin-bottom: var(--sp-4); }
.narrow .actions { margin-bottom: var(--sp-4); }
.narrow .card .btn.primary:only-of-type { width: 100%; }
.errcode { display: block; font: var(--fw-medium) var(--fs-display)/1 var(--mono); color: var(--muted); text-align: center; letter-spacing: -.04em; margin-bottom: var(--sp-2); }
.narrow .center { text-align: center; }
/* pages: landing */
.facts3 { display: grid; gap: 0; margin-top: var(--sp-6); border-top: 1px solid var(--border); }
.facts3 > div { display: grid; grid-template-columns: 22px 1fr; gap: var(--sp-3); padding: var(--sp-3) 0; border-bottom: 1px solid var(--border); }
.facts3 .ico { background: var(--muted); margin-top: 2px; }
.facts3 b { font-weight: var(--fw-semi); display: block; }
.facts3 span.t { color: var(--muted); font-size: var(--fs-body); }
.pipeline li::before { background: var(--surface); border: 1px solid var(--border-strong); border-radius: 50%; width: 26px; height: 26px; line-height: 24px; text-align: center; padding: 0; }
.pipeline li.gate::before { background: var(--accent); border-color: var(--accent); color: var(--accent-text); }
.pipeline { border-top: 0; }
/* pages: settings, billing, admin */
.sect-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--gap); margin-bottom: var(--gap); }
a.card.tilecard { text-decoration: none; color: var(--text); display: flex; flex-direction: column; gap: var(--sp-2); margin: 0; transition: border-color .12s; }
a.card.tilecard:hover { border-color: var(--border-strong); }
a.card.tilecard h2 { margin: 0; display: flex; align-items: center; gap: var(--sp-3); }
a.card.tilecard .ico { background: var(--muted); }
a.card.tilecard p { margin: 0; color: var(--muted); font-size: var(--fs-small); }
.danger-zone { border-color: color-mix(in srgb, var(--bad) 45%, var(--border)); }
.danger-zone h2 { color: var(--bad); }
.milestones { list-style: none; margin: 0; padding: 0; }
.milestones li { display: flex; gap: var(--sp-3); align-items: center; padding: var(--sp-2) 0; border-bottom: 1px solid var(--border); }
.milestones li:last-child { border-bottom: 0; }
.person { display: flex; align-items: center; gap: var(--sp-3); }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--surface-2); color: var(--text); display: grid; place-items: center; font-weight: var(--fw-semi); font-size: var(--fs-small); flex: none; }
@media (max-width: 960px) {
  .split { grid-template-columns: minmax(0, 1fr); }
  .sticky { position: static; }
  .kpis.c5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpis.c3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .kpis, .kpis.c3, .kpis.c5 { grid-template-columns: minmax(0, 1fr); }
  .kpi { border-right: 0; border-bottom: 1px solid var(--border); }
  .kpi:last-child { border-bottom: 0; }
  .kpis .kpi:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .feed .head .when { margin-left: 0; flex-basis: 100%; }
  .toolbar .field, .main > form.row:not(.card) .field { flex: 1 1 100%; }
  .seg { width: 100%; } .seg button { flex: 1; padding-inline: var(--sp-2); }
}
.card.flush > .panel-h { padding: var(--sp-4) var(--sp-4) var(--sp-1); margin: 0; }
.reachpick { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-4) var(--sp-1); margin: var(--sp-4) 0 var(--sp-3); }
.reachpick legend { padding: 0 var(--sp-2); font-weight: var(--fw-medium); font-size: var(--fs-small); }
.reachpick .check { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-2); align-items: baseline; margin: 0 0 var(--sp-2); }
table td a:not(.btn) { text-decoration: none; font-weight: var(--fw-medium); }
table td a:not(.btn):hover { text-decoration: underline; }
.card .kv + p, .card .kv + .muted { margin-top: var(--sp-3); }
@media (max-width: 640px) {
  .kpis:not(:has(.kbar)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--border); }
  .kpis:not(:has(.kbar)) .kpi { background: var(--surface); border: 0; }
  .kpis.c5:not(:has(.kbar)) .kpi:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.narrow.center { text-align: center; }
.narrow.center .actions { justify-content: center; }
/* live */
/* reach advanced */
.reachadv { margin: var(--sp-4) 0; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); }
.reachadv > summary { cursor: pointer; padding: var(--sp-3) var(--sp-4); font-weight: var(--fw-semi); list-style: none; }
.reachadv > summary::-webkit-details-marker { display: none; }
.reachadv > summary::before { content: "▸"; display: inline-block; width: 1.1em; color: var(--muted); }
.reachadv[open] > summary::before { content: "▾"; }
.reachadv > p, .reachadv > fieldset { margin: 0 var(--sp-4) var(--sp-3); }
.reachgrp { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--sp-3) var(--sp-3); }
.reachgrp legend { padding: 0 var(--sp-2); font-weight: var(--fw-semi); }
.reachgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 var(--sp-4); }
.reachyaml { margin-top: var(--sp-4); }
.reachyaml h3 { margin: 0 0 var(--sp-1); font-size: var(--fs-body); }
/* paths */
.paths { margin: 0 0 var(--sp-4); }
.pathlist { list-style: none; margin: var(--sp-2) 0 0; padding: 0; display: grid; gap: var(--sp-2); }
.path { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); padding: var(--sp-2) var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-ctl); }
.path.ok { border-left: 3px solid var(--ok); }
.path .pstate { flex: 1 1 auto; }
.path form { margin: 0; }
/* ask */
.ico-ask { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Cpath%20d=%27M4%205h16v11H9l-5%204z%27/%3E%3C/svg%3E"); }
.asktools { padding-left: var(--sp-4); margin: var(--sp-2) 0 var(--sp-3); }
.asktools li { margin: 3px 0; }
.asklist { position: absolute; left: 0; right: 0; bottom: 100%; margin: 0 0 var(--sp-1); padding: var(--sp-1); list-style: none; max-height: 260px; overflow: auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--pop); z-index: 5; }
.asklist li { display: flex; gap: var(--sp-3); align-items: baseline; padding: var(--sp-2) var(--sp-3); border-radius: var(--r-ctl); cursor: pointer; }
.asklist li[aria-selected="true"] { background: var(--accent-soft, var(--border)); }
.mention .ico { width: 14px; height: 14px; background: currentColor; }
.mention.gone { opacity: .55; text-decoration: line-through; }
/* reach: spacing between a label and its note */
.check strong + .muted { margin-left: var(--sp-2); }
/* llm */
.llmsteps { display: flex; flex-direction: column; gap: var(--gap); }
.llmh { display: flex; gap: var(--sp-4); align-items: flex-start; margin-bottom: var(--sp-4); }
.llmh h2 { margin: 0 0 2px; }
.llmh p { margin: 0; max-width: 70ch; }
.stepno { flex: none; width: 28px; height: 28px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--surface-2); color: var(--text); border: 1px solid var(--border-strong); font-weight: var(--fw-semi); font-size: var(--fs-body); }
.llmprov { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.llmprov > li { padding: var(--sp-3) var(--sp-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); }
.llmprov-h { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.llmkey { align-items: flex-end; }
.llmmodels { margin-top: var(--sp-4); }
.llmmodels-h { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.llmmodels-h h3 { margin: 0; font-size: var(--fs-h3); }
.llmscroll { max-height: 420px; overflow: auto; margin: var(--sp-3) 0; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.llmscroll thead th { position: sticky; top: 0; background: var(--surface); z-index: 1; }
.card:not(.flush) > .tablewrap.llmscroll, .llmmodels .tablewrap.llmscroll { margin: var(--sp-3) 0; }
.llmadd { align-items: flex-end; }
.llmroles { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--gap); }
.llmrole { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-4); border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); }
.llmrole h3 { margin: 0; font-size: var(--fs-h3); }
.llmrole > p { margin: 0; font-size: var(--fs-small); }
.llmrole .field { margin-bottom: 0; }
.llmrole .btn { align-self: flex-start; }
.llmnums { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.llmnums .field[hidden] { display: none; }
@media (max-width: 480px) { .llmnums { grid-template-columns: 1fr; } .llmroles { grid-template-columns: 1fr; } }
/* incident-redesign */
.page-head.crumb { align-items: center; min-height: 0; margin-bottom: var(--sp-3); }
.page-head.crumb .back { color: var(--muted); text-decoration: none; font-size: var(--fs-body); }
.page-head.crumb .back:hover { color: var(--text); }
.page-head.crumb .back::before { content: "\2190\00a0"; }
.ihead { padding: var(--sp-4) var(--sp-5) var(--sp-4); margin-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0; }
.ihead-top { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3) var(--sp-4); flex-wrap: wrap; }
.ihead-tags, .ihead-state { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.ititle { font-family: var(--serif); font-size: var(--fs-h2); line-height: 1.25; margin: var(--sp-3) 0 var(--sp-2); font-weight: var(--fw-semi); overflow-wrap: anywhere; }
.imeta { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: baseline; margin: 0; color: var(--muted); font-size: var(--fs-body); }
.imeta a { color: var(--text); }
.isum { margin: var(--sp-3) 0 0; max-width: 78ch; }
.itabs { margin: 0; padding: 0 var(--sp-3); background: var(--surface); border: 1px solid var(--border); border-top: 0; border-radius: 0; }
.ipanes { background: var(--surface); border: 1px solid var(--border); border-top: 0; padding: var(--sp-4) var(--sp-5) var(--sp-2); }
.ipane { scroll-margin-top: 70px; }
.ipane + .ipane { margin-top: var(--sp-5); }
.ipane .pane-note { margin: 0 0 var(--sp-4); }
.ipane .feed .entry { background: var(--bg); }
.ipane .card.flush { margin-top: var(--sp-4); }
.ipane .pad { padding: var(--sp-3) var(--sp-4); }
.ipane .card { background: var(--bg); }
.call { margin: var(--sp-2) 0 0; display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap; }
.feed .rawj { margin-top: var(--sp-2); }
.feed .rawj summary { color: var(--muted); font-size: var(--fs-caption); cursor: pointer; }
.facts { margin-top: var(--sp-4); }
.istrip { display: flex; gap: var(--sp-2) var(--sp-5); flex-wrap: wrap; align-items: baseline; padding: var(--sp-3) var(--sp-5); margin-bottom: var(--gap); background: var(--surface-2); border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); color: var(--muted); font-size: var(--fs-small); }
.istrip strong { color: var(--text); font-family: var(--mono); font-weight: var(--fw-semi); margin-left: 3px; }
.istrip .outcome { margin-left: auto; font-family: var(--mono); font-size: var(--fs-small); color: var(--text); }
@supports selector(:has(a)) {
  .ipanes .ipane { display: none; margin-top: 0; }
  .ipanes:not(:has(.ipane:target)) #t-timeline, .ipanes .ipane:target { display: block; }
  .itabs a { cursor: pointer; }
  body:not(:has(.ipane:target)) .itabs a[href="#t-timeline"],
  body:has(#t-timeline:target) .itabs a[href="#t-timeline"],
  body:has(#t-evidence:target) .itabs a[href="#t-evidence"],
  body:has(#t-actions:target) .itabs a[href="#t-actions"],
  body:has(#t-report:target) .itabs a[href="#t-report"] { color: var(--text); border-color: var(--accent); }
}
@media (max-width: 640px) {
  .ihead { padding: var(--sp-4) var(--sp-4); }
  .ititle { font-family: var(--serif); font-size: var(--fs-h2); }
  .ipanes { padding: var(--sp-4) var(--sp-4) var(--sp-1); }
  .itabs { padding: 0 var(--sp-1); overflow-x: auto; flex-wrap: nowrap; }
  .itabs a { white-space: nowrap; }
  .istrip { padding: var(--sp-3) var(--sp-4); }
  .istrip .outcome { margin-left: 0; width: 100%; }
}
/* ask-redesign */
.askpage { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: calc(100dvh - var(--top) - 76px); min-height: 440px; }
.askhead { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); min-height: var(--head-h); padding-bottom: var(--sp-3); border-bottom: 1px solid var(--border); }
.askhead h1 { margin: 0 0 var(--sp-1); }
.askhead p { margin: 0; }
.askscroll { overflow-y: auto; padding: var(--sp-4) 0 var(--sp-2); scroll-behavior: smooth; }
.askthread { display: flex; flex-direction: column; gap: var(--sp-1); }
.askrow { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: var(--sp-3); padding: var(--sp-3) 0; }
.askrow.me { padding: var(--sp-3) var(--sp-4); margin: var(--sp-2) 0; background: var(--surface-2); border-radius: var(--radius); }
.askwho { width: 32px; height: 32px; border-radius: var(--r-ctl); display: grid; place-items: center; background: var(--surface-2); border: 1px solid var(--border); }
.askrow.ai .askwho { background: var(--accent-soft); border-color: transparent; }
.askrow.ai .askwho .ico { background: var(--accent); }
.askrow.me .askwho { background: var(--surface); }
.askrow.me .askwho .ico { background: var(--muted); }
.askrow.step { padding: 0; }
.askrow.step .askwho { height: 0; border: 0; background: none; }
.askmeta { display: flex; gap: var(--sp-3); align-items: baseline; margin-bottom: var(--sp-1); font-size: var(--fs-small); }
.askmeta strong { font-weight: var(--fw-semi); }
.askbody { overflow-wrap: anywhere; line-height: 1.6; max-width: 100ch; }
.askbody.user { white-space: pre-wrap; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose p { margin: 0 0 var(--sp-3); white-space: pre-wrap; }
.prose h3 { font-size: var(--fs-h3); margin: var(--sp-4) 0 var(--sp-2); }
.prose ul, .prose ol { margin: 0 0 var(--sp-3); padding-left: var(--sp-5); }
.prose li { margin: 3px 0; }
.prose code { font-family: var(--mono); font-size: .86em; padding: 1px var(--sp-2); border-radius: var(--r-chip); background: var(--surface-2); border: 1px solid var(--border); }
.askcode { margin: 0 0 var(--sp-3); padding: var(--sp-3) var(--sp-4); overflow-x: auto; font-family: var(--mono); font-size: var(--fs-small); line-height: 1.5; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); white-space: pre; }
.askstep { margin: 2px 0; font-size: var(--fs-small); color: var(--muted); }
.askstep summary { display: flex; gap: var(--sp-2); align-items: center; cursor: pointer; padding: 3px 0; list-style: none; }
.askstep summary::-webkit-details-marker { display: none; }
.askstep[open] summary { color: var(--text); }
.stepico { width: 14px; height: 14px; border-radius: 50%; flex: none; display: inline-block; background: var(--ok); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; border-radius: 0; }
.stepico.bad { background: var(--bad); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.stepargs { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46ch; }
.askout { margin: var(--sp-1) 0 var(--sp-2) var(--sp-5); padding: var(--sp-3) var(--sp-3); max-height: 260px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--mono); font-size: var(--fs-small); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.askinc { margin: var(--sp-2) 0 var(--sp-1) var(--sp-5); display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap; }
.askwork { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-1) 0; }
.spin { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--border-strong); border-top-color: var(--accent); animation: askspin .9s linear infinite; }
@keyframes askspin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .spin { animation: none; border-top-color: var(--border-strong); } .askscroll { scroll-behavior: auto; } }
.askerr { padding: var(--sp-3) var(--sp-4); border: 1px solid var(--bad); background: var(--bad-bg); border-radius: var(--radius-sm); color: var(--text); }
.askerr p { margin: 0; }
.askerract { display: flex; gap: var(--sp-2); margin-top: var(--sp-3) !important; }
.askerract form { margin: 0; }
.askempty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--sp-6) 0 var(--sp-3); }
.askmark.ico { width: 40px; height: 40px; background: var(--muted); }
.askempty h2 { margin: var(--sp-4) 0 var(--sp-1); font-size: var(--fs-h2); }
.askempty > p { margin: 0; max-width: 52ch; }
.askex { list-style: none; margin: var(--sp-5) 0 var(--sp-4); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); width: 100%; max-width: 640px; }
.askcard { display: flex; gap: var(--sp-3); align-items: center; width: 100%; text-align: left; padding: var(--sp-3) var(--sp-4); font: inherit; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); cursor: pointer; }
.askcard:hover { border-color: var(--border-strong); }
.askcard:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.askcard .ico { background: var(--muted); }
.askcan { width: 100%; max-width: 640px; text-align: left; margin-top: var(--sp-2); }
.askcan summary { cursor: pointer; color: var(--muted); font-size: var(--fs-body); }
.asksafe { max-width: 56ch; font-size: var(--fs-small); margin: var(--sp-4) 0 0 !important; }
.askdock { padding-top: var(--sp-3); background: var(--bg); }
.askbox { position: relative; }
.askbox textarea { width: 100%; box-sizing: border-box; min-height: 52px; max-height: 220px; padding: var(--sp-4) var(--sp-6) var(--sp-4) var(--sp-4); resize: none; font: inherit; line-height: 1.5; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius); overflow-y: auto; }
.askbox textarea:focus { outline: 2px solid var(--focus); outline-offset: 1px; border-color: transparent; }
.asksend { position: absolute; right: 8px; bottom: 8px; }
.askhint { margin: var(--sp-2) 2px 0; font-size: var(--fs-caption); }
.asklist { left: 0; right: 0; bottom: calc(100% + 6px); }
.asklist li { align-items: center; }
@media (max-width: 600px) {
  .askpage { height: calc(100dvh - var(--top) - 56px); }
  .askex { grid-template-columns: 1fr; }
  .askrow { grid-template-columns: 26px minmax(0, 1fr); gap: var(--sp-3); }
  .askwho { width: 26px; height: 26px; }
  .askrow.me { margin: var(--sp-2) -8px; padding: var(--sp-3) var(--sp-2); }
  .askhint { display: none; }
}
.bad-text { color: var(--bad); }
.askempty { border: 0; border-radius: 0; padding: var(--sp-6) 0 var(--sp-3); }
/* charts */
.chartcard { margin-top: var(--gap); }
.chartctl { display: flex; gap: var(--sp-3); flex-wrap: wrap; justify-content: flex-end; }
.seg { display: inline-flex; flex: 0 0 auto; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); overflow: hidden; }
.seg button { white-space: nowrap; background: var(--surface); color: var(--muted); border: 0; border-right: 1px solid var(--border); padding: var(--sp-1) var(--sp-3); min-height: 32px; font: inherit; font-size: var(--fs-small); cursor: pointer; }
.seg button:last-child { border-right: 0; }
.seg button:hover { color: var(--text); background: var(--surface-2); }
.seg button[aria-pressed="true"] { background: var(--accent-soft); color: var(--text); font-weight: var(--fw-semi); }
.chartbox { min-width: 0; }
.charthead { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-2); }
.charthead h3 { margin: 0; }
.chval { font-size: var(--fs-h2); line-height: 1.1; font-weight: var(--fw-medium); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.chartsub { font-size: var(--fs-small); min-height: 1.3em; margin-bottom: var(--sp-1); font-variant-numeric: tabular-nums; }
.chartwrap { position: relative; }
.chartwrap .chart { height: 190px; touch-action: pan-y; cursor: crosshair; border-radius: var(--r-chip); }
.charttip { position: absolute; pointer-events: none; background: var(--surface); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); box-shadow: var(--pop); padding: var(--sp-2) var(--sp-2); font-size: var(--fs-small); white-space: nowrap; z-index: 3; font-variant-numeric: tabular-nums; }
.charttip .tt-val { font-size: var(--fs-h3); font-weight: var(--fw-semi); }
.charttip .tt-time, .charttip .tt-range { font-size: var(--fs-caption); color: var(--muted); }
.chartnote { margin: var(--sp-3) 0 0; font-size: var(--fs-small); }
.charttable { max-height: 420px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.charttable table { min-width: 460px; }
.charttable thead th { position: sticky; top: 0; background: var(--surface-2); z-index: 1; text-align: left; }
.charttable td, .charttable th { padding: var(--sp-2) var(--sp-3); font-variant-numeric: tabular-nums; }
.charttable tbody th { font-weight: var(--fw-medium); white-space: nowrap; text-align: left; text-transform: none; letter-spacing: normal; font-size: var(--fs-small); color: var(--muted); }
.charttable td small { margin-left: var(--sp-1); }
@media (max-width: 640px) {
  .chartctl { justify-content: flex-start; }
  .chartwrap .chart { height: 170px; }
}
.askhead .btn { white-space: nowrap; }
@media (max-width: 600px) { .askhead { align-items: flex-start; } }
/* delegation */
.askdeleg { margin: var(--sp-2) 0; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.askdeleg.bad { border-color: var(--bad); }
.askdeleg > summary { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: var(--sp-2); align-items: center; padding: var(--sp-2) var(--sp-3); cursor: pointer; list-style: none; }
.askdeleg > summary::-webkit-details-marker { display: none; }
.askdeleg > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.delegmark.ico { width: 16px; height: 16px; background: var(--muted); }
.delegwho { white-space: nowrap; }
.delegwho strong { font-weight: var(--fw-semi); }
.delegtask { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.askdeleg[open] .delegtask { white-space: normal; overflow: visible; }
.delegmeta { display: inline-flex; gap: var(--sp-2); align-items: center; font-size: var(--fs-small); white-space: nowrap; }
.delegsteps { list-style: none; margin: 0; padding: 2px var(--sp-3) var(--sp-1) var(--sp-5); border-top: 1px solid var(--border); }
.delegsteps .askstep { margin-left: 0; }
.delegresult { padding: var(--sp-2) var(--sp-3) var(--sp-3) var(--sp-5); border-top: 1px solid var(--border); }
.delegresult .askout { margin: var(--sp-1) 0 0; }
.askagents-h { margin: var(--sp-3) 0 var(--sp-1); font-size: var(--fs-small); }
.askagents li { padding: 2px 0; }
@media (max-width: 600px) {
  .askdeleg > summary { grid-template-columns: auto minmax(0, 1fr); }
  .delegtask, .delegmeta { grid-column: 1 / -1; white-space: normal; }
}
/* ask: the thread uses the full width; steps are plain lines with no bar */
.askrow.step .askmain { padding: 0; }
/* live state of the socket */
.livestate .dot { background: var(--rail-muted); }
.livestate[data-state="live"] .dot { background: var(--rail-ok); }
.livestate[data-state="retry"] .dot { background: var(--rail-warn); }
.livestate[data-state="off"] .dot { background: var(--rail-bad); }
@media (max-width: 600px) { .livestate .txt { display: none; } }
/* ask-sidebar */
.ico-agents { --ico: url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2024%2024%27%20fill=%27none%27%20stroke=%27black%27%20stroke-width=%271.8%27%20stroke-linecap=%27round%27%20stroke-linejoin=%27round%27%3E%3Crect%20x=%274%27%20y=%278%27%20width=%2716%27%20height=%2711%27%20rx=%273%27/%3E%3Cpath%20d=%27M12%204v4M9%2013h.01M15%2013h.01M9%2016.5h6%27/%3E%3C/svg%3E"); }
.askshell { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: var(--sp-5); height: calc(100dvh - var(--top) - 76px); min-height: 440px; }
.askshell .askpage { height: auto; min-height: 0; }
.askside { display: flex; flex-direction: column; gap: var(--sp-3); min-height: 0; overflow-y: auto; padding-right: var(--sp-2); border-right: 1px solid var(--border); }
.asknew .btn { width: 100%; justify-content: center; gap: var(--sp-2); }
.asknew .ico { background: currentColor; width: 16px; height: 16px; }
.asksearch input { width: 100%; box-sizing: border-box; }
.askgroup h2 { margin: var(--sp-3) 0 var(--sp-1); font-size: var(--fs-caption); font-weight: var(--fw-semi); color: var(--muted); }
.askchats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.askchat { position: relative; display: flex; align-items: center; border-radius: var(--radius-sm); }
.askchat:hover, .askchat:focus-within { background: var(--surface-2); }
.askchat.on { background: var(--accent-soft); }
.askchat-link { flex: 1; min-width: 0; padding: var(--sp-2) var(--sp-3); color: var(--text); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-body); }
.askchat.on .askchat-link { font-weight: var(--fw-semi); }
.askmenu summary { list-style: none; cursor: pointer; min-height: 28px; padding: 0 var(--sp-2); opacity: 0; }
.askmenu summary::-webkit-details-marker { display: none; }
.askchat:hover .askmenu summary, .askchat:focus-within .askmenu summary, .askmenu[open] summary, .askchat.on .askmenu summary { opacity: 1; }
.askmenu-pop { position: absolute; right: 4px; top: 100%; z-index: 6; width: 232px; display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-3); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--pop); }
.askrename { display: flex; gap: var(--sp-2); }
.askrename input { flex: 1; min-width: 0; }
.askside-none { margin: var(--sp-2) 2px; }
.askhead-act { display: flex; gap: var(--sp-2); align-items: center; }
.askdrawer-btn { display: none; }
@media (max-width: 960px) {
  .askshell { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .askdrawer-btn { display: inline-flex; }
  .askside { position: fixed; z-index: 30; top: var(--top); left: 0; bottom: 0; width: min(86vw, 320px); padding: var(--sp-4) var(--sp-3); background: var(--surface); border-right: 1px solid var(--border); box-shadow: var(--pop); transform: translateX(-102%); transition: transform .18s ease; visibility: hidden; }
  .askshell[data-open] .askside { transform: none; visibility: visible; }
  .askmenu summary { opacity: 1; }
  .askhead { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .askside { transition: none; } }
/* agents-page */
.agentsec { margin: 0 0 var(--sp-5); }
.agentsec > h2 { margin: 0 0 2px; }
.agentsec > p { margin: 0 0 var(--sp-3); }
.agentcard { margin: 0 0 var(--sp-4); padding: var(--sp-4) var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); scroll-margin-top: calc(var(--top) + 16px); }
.agentcard:target { border-color: var(--accent); }
.agenthead { display: flex; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; }
.agenthead h3 { margin: 0 0 2px; font-size: var(--fs-h3); }
.agenthead p { margin: 0; }
.agentid { font-size: var(--fs-caption); font-weight: var(--fw-regular); margin-left: var(--sp-2); }
.agentmodel { display: flex; gap: var(--sp-2) var(--sp-2); align-items: baseline; flex-wrap: wrap; font-size: var(--fs-small); }
.agentfacts { margin: var(--sp-3) 0 0; display: grid; gap: var(--sp-2); }
.agentfacts > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: var(--sp-3); align-items: baseline; }
.agentfacts dt { color: var(--muted); font-size: var(--fs-small); }
.agentfacts dd { margin: 0; display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; }
.agentprompt { margin-top: var(--sp-3); border-top: 1px solid var(--border); padding-top: var(--sp-3); }
.agentprompt summary { cursor: pointer; font-weight: var(--fw-medium); }
.agentprompt-bar { display: flex; justify-content: flex-end; margin: var(--sp-2) 0 var(--sp-2); }
.agentprompt-text { margin: 0; padding: var(--sp-3) var(--sp-4); max-height: 420px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--mono); font-size: var(--fs-small); line-height: 1.55; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.delegagent { color: inherit; text-decoration: underline dotted; text-underline-offset: 3px; }
@media (max-width: 600px) { .agentfacts > div { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
/* app pages: the ask page fills the scroller */
@media (min-width: 961px) {
  .main:has(.askpage), .main:has(.askshell) { padding-bottom: var(--sp-4); }
  .main:has(.askpage) .askpage, .main:has(.askshell) .askshell { flex: 1 1 auto; height: auto; min-height: 0; width: 100%; }
}

/* usage */
table.usage td, table.usage th { white-space: nowrap; }
.usage-bar { width: 96px; }
.usage-bar progress { width: 100%; height: 6px; appearance: none; border: 0; border-radius: var(--r-chip); background: var(--surface-2); overflow: hidden; }
.usage-bar progress::-webkit-progress-bar { background: var(--surface-2); border-radius: var(--r-chip); }
.usage-bar progress::-webkit-progress-value { background: var(--accent); border-radius: var(--r-chip); }
.usage-bar progress::-moz-progress-bar { background: var(--accent); border-radius: var(--r-chip); }
.usage-total { display: flex; gap: var(--sp-3); align-items: baseline; margin: var(--sp-3) 0 0; }
.usage-kpi { font-size: var(--fs-metric); line-height: 1.1; margin: var(--sp-1) 0 0; }
.chat-usage { margin: var(--sp-2) 0 0; font-size: var(--fs-small); color: var(--muted, inherit); }
.chat-usage summary { cursor: pointer; }
.chat-usage table { margin-top: var(--sp-2); }
.chat-total { font-size: var(--fs-small); }
@media (max-width: 720px) { .usage-kpis { grid-template-columns: 1fr; } }

/* brand-icons: marks of the chat apps, drawn as a mask over the brand tile */
.chlogo::before { content: ""; width: 58%; height: 58%; background: #fff; -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; }
.chlogo.k-email::before, .chlogo.k-webhook::before { background: var(--bg); }
.chlogo.k-telegram { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22black%22%3E%3Cpath d=%22M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z%22/%3E%3C/svg%3E"); }
.chlogo.k-slack { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22black%22%3E%3Cpath d=%22M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z%22/%3E%3C/svg%3E"); }
.chlogo.k-discord { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22black%22%3E%3Cpath d=%22M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z%22/%3E%3C/svg%3E"); }
.chlogo.k-mattermost { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22black%22%3E%3Cpath d=%22M12.081 0C7.048-.034 2.339 3.125.637 8.153c-2.125 6.276 1.24 13.086 7.516 15.21 6.276 2.125 13.086-1.24 15.21-7.516 1.727-5.1-.172-10.552-4.311-13.557l.126 2.547c2.065 2.282 2.88 5.512 1.852 8.549-1.534 4.532-6.594 6.915-11.3 5.321-4.708-1.593-7.28-6.559-5.745-11.092 1.031-3.046 3.655-5.121 6.694-5.67l1.642-1.94A4.87 4.87 0 0 0 12.08 0zm3.528 1.094a.284.284 0 0 0-.123.024l-.004.001a.33.33 0 0 0-.109.071c-.145.142-.657.828-.657.828L13.6 3.4l-1.3 1.585-2.232 2.776s-1.024 1.278-.798 2.851c.226 1.574 1.396 2.34 2.304 2.648.907.307 2.302.408 3.438-.704 1.135-1.112 1.098-2.75 1.098-2.75l-.087-3.56-.07-2.05-.047-1.775s.01-.856-.02-1.057a.33.33 0 0 0-.035-.107l-.006-.012-.007-.011a.277.277 0 0 0-.229-.14z%22/%3E%3C/svg%3E"); }
.chlogo.k-teams { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22black%22%3E%3Cpath d=%22M9.186 4.797a2.42 2.42 0 1 0-2.86-2.448h1.178c.929 0 1.682.753 1.682 1.682zm-4.295 7.738h2.613c.929 0 1.682-.753 1.682-1.682V5.58h2.783a.7.7 0 0 1 .682.716v4.294a4.197 4.197 0 0 1-4.093 4.293c-1.618-.04-3-.99-3.667-2.35Zm10.737-9.372a1.674 1.674 0 1 1-3.349 0 1.674 1.674 0 0 1 3.349 0m-2.238 9.488-.12-.002a5.2 5.2 0 0 0 .381-2.07V6.306a1.7 1.7 0 0 0-.15-.725h1.792c.39 0 .707.317.707.707v3.765a2.6 2.6 0 0 1-2.598 2.598z%22/%3E%3Cpath d=%22M.682 3.349h6.822c.377 0 .682.305.682.682v6.822a.68.68 0 0 1-.682.682H.682A.68.68 0 0 1 0 10.853V4.03c0-.377.305-.682.682-.682Zm5.206 2.596v-.72h-3.59v.72h1.357V9.66h.87V5.945z%22/%3E%3C/svg%3E"); }
.chlogo.k-webhook { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22black%22%3E%3Cpath d=%22M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1 1 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z%22/%3E%3Cpath d=%22M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z%22/%3E%3C/svg%3E"); }
.chlogo.k-email { --mark: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22black%22%3E%3Cpath d=%22M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z%22/%3E%3C/svg%3E"); }
.chlogo { font-size: 0; }

/* report-scorecard */
.rfinal { margin: 0; border-radius: 0; border-top: 0; border-left: 3px solid var(--accent); }
.rfinal-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin: 0 0 var(--sp-3); }
.rfinal-head h2 { margin: 0 var(--sp-2) 0 0; }
.rsum { font-family: var(--serif); font-size: var(--fs-h3); line-height: 1.45; }
.rstate { color: var(--text); }
.rswitch, .rnext { margin: var(--sp-2) 0; }
.rcard { margin-bottom: var(--sp-4); }
.rcard.rold > summary { cursor: pointer; font-weight: var(--fw-semi); }
.rtl, .revs, .wd { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--sp-2); }
.rtl li { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2); font-size: var(--fs-small); }
.rlist { margin: 0 0 var(--sp-3); padding-left: var(--sp-5); display: grid; gap: var(--sp-1); }
.cites { display: inline-flex; gap: var(--sp-1); flex-wrap: wrap; }
.cite { font-size: var(--fs-caption); padding: 0 var(--sp-1); border: 1px solid var(--border); border-radius: var(--r-chip); text-decoration: none; }
.revs li { border: 1px solid var(--border); border-radius: var(--r-ctl); padding: var(--sp-2) var(--sp-3); scroll-margin-top: 70px; }
.revs li:target { border-color: var(--accent); }
.ev-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2); }
.ev-ex { margin: var(--sp-2) 0 0; max-height: 9em; font-size: var(--fs-small); }
.wd-item { border: 1px solid var(--border); border-radius: var(--r-ctl); padding: var(--sp-3); }
.wd-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2); }
.kvs dd.plain { font-family: var(--font); }
.gates { margin: var(--sp-2) 0 0; padding: 0; list-style: none; display: grid; gap: var(--sp-1); font-size: var(--fs-small); }
.gate-why { color: var(--muted); overflow-wrap: anywhere; }
.scorecard { margin: var(--sp-4) 0; }
.score-rate { font-size: var(--fs-h3); }
.score-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
/* end report-scorecard */


/* brand mark on pages before sign-in and in the footer */
.authbrand { display: flex; align-items: center; justify-content: center; gap: var(--sp-3); margin: 0 0 var(--sp-4); font-family: var(--serif); font-weight: var(--fw-semi); font-size: var(--fs-h2); }
.brand-mark.big { width: 40px; height: 40px; }
.brand-mark.sm { width: 14px; height: 14px; vertical-align: -2px; margin-right: var(--sp-1); }

/* header: workspace line, theme icons, account menu */
.wsline { color: var(--rail-muted); font-size: var(--fs-small); padding-left: var(--sp-3); margin-left: var(--sp-1); border-left: 1px solid var(--rail-2); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 34ch; }
.wsline strong { color: var(--rail-text); font-weight: var(--fw-semi); }
@media (max-width: 700px) { .wsline .wsk { display: none; } .wsline { border-left: 0; padding-left: 0; } }
.themeset { display: inline-flex; border: 1px solid var(--rail-line); border-radius: var(--r-pill, 22px); overflow: hidden; }
.iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.iconbtn .ico { background: var(--rail-muted); width: 16px; height: 16px; }
.iconbtn:hover { background: var(--rail-2); }
.iconbtn[aria-pressed="true"] { background: var(--rail-2); }
.iconbtn[aria-pressed="true"] .ico { background: var(--rail-accent); }
.ico-sun { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='4'/%3E%3Cpath%20d='M12%202v2M12%2020v2M4.9%204.9l1.4%201.4M17.7%2017.7l1.4%201.4M2%2012h2M20%2012h2M4.9%2019.1l1.4-1.4M17.7%206.3l1.4-1.4'/%3E%3C/svg%3E"); }
.ico-moon { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2014.5A8%208%200%200%201%209.5%204a8%208%200%201%200%2010.5%2010.5z'/%3E%3C/svg%3E"); }
.ico-user { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8'%20r='4'/%3E%3Cpath%20d='M4%2021a8%208%200%200%201%2016%200'/%3E%3C/svg%3E"); }
.ico-admin { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%203l8%203v6c0%205-3.5%208-8%209-4.5-1-8-4-8-9V6z'/%3E%3C/svg%3E"); }
.ico-logout { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9%204H5a1%201%200%200%200-1%201v14a1%201%200%200%200%201%201h4M16%208l4%204-4%204M20%2012H9'/%3E%3C/svg%3E"); }
.usermenu { position: relative; }
.usermenu > summary { list-style: none; display: inline-flex; align-items: center; gap: var(--sp-2); cursor: pointer; padding: 2px var(--sp-2) 2px 2px; border-radius: 22px; color: var(--rail-text); font-size: var(--fs-small); }
.usermenu > summary::-webkit-details-marker { display: none; }
.usermenu > summary:hover, .usermenu[open] > summary { background: var(--rail-2); }
.avatar { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--rail-accent); color: var(--rail); font-weight: var(--fw-semi); font-size: 12px; }
@media (max-width: 700px) { .uname { display: none; } }
.menupanel { position: absolute; right: 0; top: calc(100% + 8px); min-width: 220px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: var(--r-ctl); padding: var(--sp-2); z-index: 30; display: flex; flex-direction: column; gap: 2px; box-shadow: 0 6px 20px rgba(0,0,0,.25); }
.menupanel .who { margin: 0; padding: var(--sp-2) var(--sp-3) var(--sp-3); border-bottom: 1px solid var(--border); display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-small); }
.menupanel .who span { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
.menupanel a, .menupanel button { display: flex; align-items: center; gap: var(--sp-3); width: 100%; padding: var(--sp-2) var(--sp-3); border: 0; border-radius: var(--r-chip); background: transparent; color: var(--text); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.menupanel a:hover, .menupanel button:hover { background: var(--surface-2, var(--border)); }
.menupanel .ico { background: var(--muted); }

/* language lives in the account menu; it stands alone before sign-in */
.ico-lang { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M3%2012h18M12%203c3%203%203%2015%200%2018M12%203c-3%203-3%2015%200%2018'/%3E%3C/svg%3E"); }
.langform { display: flex; align-items: center; gap: var(--sp-2); }
.langform label { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--muted); font-size: var(--fs-small); white-space: nowrap; }
.langform label .ico { width: 16px; height: 16px; background: var(--muted); }
.menupanel .menurow { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--border); margin-bottom: 2px; }
.menupanel .menurow select { flex: 1; min-width: 0; margin-left: auto; color: var(--text); border-color: var(--border); background-color: var(--surface-2); }
.top .langform label { display: none; }
.menupanel .langform label { display: inline-flex; }

/* workspace switcher */
.ico-check { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2012.5l4.5%204.5L19%207.5'/%3E%3C/svg%3E"); }
.ico-plus { --ico: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%205v14M5%2012h14'/%3E%3C/svg%3E"); }
.wsmenu > summary.wsline { cursor: pointer; display: inline-flex; align-items: center; gap: var(--sp-1); border-radius: var(--r-ctl); padding: 4px var(--sp-2); border-left: 0; margin-left: 0; max-width: 34ch; }
.wsmenu > summary.wsline:hover, .wsmenu[open] > summary.wsline { background: var(--rail-2); }
.wsmenu .caret { width: 0; height: 0; margin-left: var(--sp-1); border: 4px solid transparent; border-top-color: var(--rail-muted); border-bottom: 0; }
.wsmenu .menupanel a[aria-current="true"] { font-weight: var(--fw-semi); }
.wsmenu .menupanel a[aria-current="true"] .ico { background: var(--accent); }
.wsmenu .menupanel .menuadd { border-top: 1px solid var(--border); border-radius: 0 0 var(--r-chip) var(--r-chip); margin-top: 2px; color: var(--muted); }
.wsmenu .menupanel .who { padding-bottom: var(--sp-2); }

/* overview: tile of incidents classified in audit mode */
.kpi.info .n { color: var(--info); }
.kpi.info .kbar::-webkit-progress-value { background: var(--info); }
.kpi.info .kbar::-moz-progress-bar { background: var(--info); }

/* pending approvals count in the side menu */
.navbadge { margin-left: auto; display: inline-flex; }
.navflash { animation: navflash 1.6s ease-in-out infinite; }
@keyframes navflash { 0%, 100% { box-shadow: 0 0 0 0 transparent; opacity: 1; } 50% { box-shadow: 0 0 0 4px var(--warn-bg); opacity: .75; } }
@media (prefers-reduced-motion: reduce) { .navflash { animation: none; } }

/* forms of the signals area */
.formcard { max-width: none; width: 100%; }
.formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--sp-4) var(--sp-5); align-items: start; }
.formgrid .field.wide { grid-column: 1 / -1; }
.formgrid .field input, .formgrid .field select, .formgrid .field textarea { width: 100%; }
.formgrid .hint { margin: var(--sp-1) 0 0; color: var(--muted); font-size: var(--fs-small); }
.formsec { font-size: var(--fs-h3, 1.1rem); margin: var(--sp-6) 0 var(--sp-3); padding-top: var(--sp-4); border-top: 1px solid var(--border); }
.formcard .checks { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-6); margin-top: var(--sp-5); }
.formcard .check { display: inline-flex; align-items: center; gap: var(--sp-2); }
.formactions { display: flex; gap: var(--sp-3); margin-top: var(--sp-6); }
[data-kindgroup][hidden] { display: none; }

/* os-icons: Simple Icons 14.0.0 (CC0) */
.osico { display: inline-block; width: 16px; height: 16px; flex: none; vertical-align: -3px; background: var(--muted); -webkit-mask: var(--os) center / contain no-repeat; mask: var(--os) center / contain no-repeat; }
.osico.os-ubuntu { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M17.61.455a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zM12.92.8C8.923.777 5.137 2.941 3.148 6.451a4.5 4.5 0 0 1 .26-.007 4.92 4.92 0 0 1 2.585.737A8.316 8.316 0 0 1 12.688 3.6 4.944 4.944 0 0 1 13.723.834 11.008 11.008 0 0 0 12.92.8zm9.226 4.994a4.915 4.915 0 0 1-1.918 2.246 8.36 8.36 0 0 1-.273 8.303 4.89 4.89 0 0 1 1.632 2.54 11.156 11.156 0 0 0 .559-13.089zM3.41 7.932A3.41 3.41 0 0 0 0 11.342a3.41 3.41 0 0 0 3.41 3.409 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zm2.027 7.866a4.908 4.908 0 0 1-2.915.358 11.1 11.1 0 0 0 7.991 6.698 11.234 11.234 0 0 0 2.422.249 4.879 4.879 0 0 1-.999-2.85 8.484 8.484 0 0 1-.836-.136 8.304 8.304 0 0 1-5.663-4.32zm11.405.928a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41z%22/%3E%3C/svg%3E"); }
.osico.os-debian { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M13.88 12.685c-.4 0 .08.2.601.28.14-.1.27-.22.39-.33a3.001 3.001 0 01-.99.05m2.14-.53c.23-.33.4-.69.47-1.06-.06.27-.2.5-.33.73-.75.47-.07-.27 0-.56-.8 1.01-.11.6-.14.89m.781-2.05c.05-.721-.14-.501-.2-.221.07.04.13.5.2.22M12.38.31c.2.04.45.07.42.12.23-.05.28-.1-.43-.12m.43.12l-.15.03.14-.01V.43m6.633 9.944c.02.64-.2.95-.38 1.5l-.35.181c-.28.54.03.35-.17.78-.44.39-1.34 1.22-1.62 1.301-.201 0 .14-.25.19-.34-.591.4-.481.6-1.371.85l-.03-.06c-2.221 1.04-5.303-1.02-5.253-3.842-.03.17-.07.13-.12.2a3.551 3.552 0 012.001-3.501 3.361 3.362 0 013.732.48 3.341 3.342 0 00-2.721-1.3c-1.18.01-2.281.76-2.651 1.57-.6.38-.67 1.47-.93 1.661-.361 2.601.66 3.722 2.38 5.042.27.19.08.21.12.35a4.702 4.702 0 01-1.53-1.16c.23.33.47.66.8.91-.55-.18-1.27-1.3-1.48-1.35.93 1.66 3.78 2.921 5.261 2.3a6.203 6.203 0 01-2.33-.28c-.33-.16-.77-.51-.7-.57a5.802 5.803 0 005.902-.84c.44-.35.93-.94 1.07-.95-.2.32.04.16-.12.44.44-.72-.2-.3.46-1.24l.24.33c-.09-.6.74-1.321.66-2.262.19-.3.2.3 0 .97.29-.74.08-.85.15-1.46.08.2.18.42.23.63-.18-.7.2-1.2.28-1.6-.09-.05-.28.3-.32-.53 0-.37.1-.2.14-.28-.08-.05-.26-.32-.38-.861.08-.13.22.33.34.34-.08-.42-.2-.75-.2-1.08-.34-.68-.12.1-.4-.3-.34-1.091.3-.25.34-.74.54.77.84 1.96.981 2.46-.1-.6-.28-1.2-.49-1.76.16.07-.26-1.241.21-.37A7.823 7.824 0 0017.702 1.6c.18.17.42.39.33.42-.75-.45-.62-.48-.73-.67-.61-.25-.65.02-1.06 0C15.082.73 14.862.8 13.8.4l.05.23c-.77-.25-.9.1-1.73 0-.05-.04.27-.14.53-.18-.741.1-.701-.14-1.431.03.17-.13.36-.21.55-.32-.6.04-1.44.35-1.18.07C9.6.68 7.847 1.3 6.867 2.22L6.838 2c-.45.54-1.96 1.611-2.08 2.311l-.131.03c-.23.4-.38.85-.57 1.261-.3.52-.45.2-.4.28-.6 1.22-.9 2.251-1.16 3.102.18.27 0 1.65.07 2.76-.3 5.463 3.84 10.776 8.363 12.006.67.23 1.65.23 2.49.25-.99-.28-1.12-.15-2.08-.49-.7-.32-.85-.7-1.34-1.13l.2.35c-.971-.34-.57-.42-1.361-.67l.21-.27c-.31-.03-.83-.53-.97-.81l-.34.01c-.41-.501-.63-.871-.61-1.161l-.111.2c-.13-.21-1.52-1.901-.8-1.511-.13-.12-.31-.2-.5-.55l.14-.17c-.35-.44-.64-1.02-.62-1.2.2.24.32.3.45.33-.88-2.172-.93-.12-1.601-2.202l.15-.02c-.1-.16-.18-.34-.26-.51l.06-.6c-.63-.74-.18-3.102-.09-4.402.07-.54.53-1.1.88-1.981l-.21-.04c.4-.71 2.341-2.872 3.241-2.761.43-.55-.09 0-.18-.14.96-.991 1.26-.7 1.901-.88.7-.401-.6.16-.27-.151 1.2-.3.85-.7 2.421-.85.16.1-.39.14-.52.26 1-.49 3.151-.37 4.562.27 1.63.77 3.461 3.011 3.531 5.132l.08.02c-.04.85.13 1.821-.17 2.711l.2-.42M9.54 13.236l-.05.28c.26.35.47.73.8 1.01-.24-.47-.42-.66-.75-1.3m.62-.02c-.14-.15-.22-.34-.31-.52.08.32.26.6.43.88l-.12-.36m10.945-2.382l-.07.15c-.1.76-.34 1.511-.69 2.212.4-.73.65-1.541.75-2.362M12.45.12c.27-.1.66-.05.95-.12-.37.03-.74.05-1.1.1l.15.02M3.006 5.142c.07.57-.43.8.11.42.3-.66-.11-.18-.1-.42m-.64 2.661c.12-.39.15-.62.2-.84-.35.44-.17.53-.2.83%22/%3E%3C/svg%3E"); }
.osico.os-rhel { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M16.009 13.386c1.577 0 3.86-.326 3.86-2.202a1.765 1.765 0 0 0-.04-.431l-.94-4.08c-.216-.898-.406-1.305-1.982-2.093-1.223-.625-3.888-1.658-4.676-1.658-.733 0-.947.946-1.822.946-.842 0-1.467-.706-2.255-.706-.757 0-1.25.515-1.63 1.576 0 0-1.06 2.99-1.197 3.424a.81.81 0 0 0-.028.245c0 1.162 4.577 4.974 10.71 4.974m4.101-1.435c.218 1.032.218 1.14.218 1.277 0 1.765-1.984 2.745-4.593 2.745-5.895.004-11.06-3.451-11.06-5.734a2.326 2.326 0 0 1 .19-.925C2.746 9.415 0 9.794 0 12.217c0 3.969 9.405 8.861 16.851 8.861 5.71 0 7.149-2.582 7.149-4.62 0-1.605-1.387-3.425-3.887-4.512%22/%3E%3C/svg%3E"); }
.osico.os-centos { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M12.076.066L8.883 3.28H3.348v5.434L0 12.01l3.349 3.298v5.39h5.374l3.285 3.236 3.285-3.236h5.43v-5.374L24 12.026l-3.232-3.252V3.321H15.31zm0 .749l2.49 2.506h-1.69v6.441l-.8.805-.81-.815V3.28H9.627zm-8.2 2.991h4.483L6.485 5.692l4.253 4.279v.654H9.94L5.674 6.423l-1.798 1.77zm5.227 0h1.635v5.415l-3.509-3.53zm4.302.043h1.687l1.83 1.842-3.517 3.539zm2.431 0h4.404v4.394l-1.83-1.842-4.241 4.267h-.764v-.69l4.261-4.287zm2.574 3.3l1.83 1.843v1.676h-5.327zm-12.735.013l3.515 3.462H3.876v-1.69zM3.348 9.454v1.697h6.377l.871.858-.782.77H3.35v1.786L.753 12.01zm17.42.068l2.488 2.503-2.533 2.55v-1.796h-6.41l-.75-.754.825-.83h6.38zm-9.502.978l.81.815.186-.188.614-.618v.686h.768l-.825.83.75.754h-.719v.808l-.842-.83-.741.73v-.707h-.7l.781-.77-.188-.186-.682-.672h.788zm-7.39 2.807h5.402l-3.603 3.55-1.798-1.772zm6.154 0h.708v.7l-4.404 4.338 1.852 1.824h-4.31v-4.342l1.798 1.77zm3.348 0h.715l4.317 4.343.186-.187 1.599-1.61v4.316h-4.366l1.853-1.825-.188-.185-4.116-4.054zm1.46 0h5.357v1.798l-1.785 1.796zm-2.83.191l.842.829v6.37h1.691l-2.532 2.495-2.533-2.495h1.79V14.23zm-1.27 1.251v5.42H8.939l-1.852-1.823zm2.64.097l3.552 3.499-1.853 1.825h-1.7z%22/%3E%3C/svg%3E"); }
.osico.os-fedora { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M12.001 0C5.376 0 .008 5.369.004 11.992H.002v9.287h.002A2.726 2.726 0 0 0 2.73 24h9.275c6.626-.004 11.993-5.372 11.993-11.997C23.998 5.375 18.628 0 12 0zm2.431 4.94c2.015 0 3.917 1.543 3.917 3.671 0 .197.001.395-.03.619a1.002 1.002 0 0 1-1.137.893 1.002 1.002 0 0 1-.842-1.175 2.61 2.61 0 0 0 .013-.337c0-1.207-.987-1.672-1.92-1.672-.934 0-1.775.784-1.777 1.672.016 1.027 0 2.046 0 3.07l1.732-.012c1.352-.028 1.368 2.009.016 1.998l-1.748.013c-.004.826.006.677.002 1.093 0 0 .015 1.01-.016 1.776-.209 2.25-2.124 4.046-4.424 4.046-2.438 0-4.448-1.993-4.448-4.437.073-2.515 2.078-4.492 4.603-4.469l1.409-.01v1.996l-1.409.013h-.007c-1.388.04-2.577.984-2.6 2.47a2.438 2.438 0 0 0 2.452 2.439c1.356 0 2.441-.987 2.441-2.437l-.001-7.557c0-.14.005-.252.02-.407.23-1.848 1.883-3.256 3.754-3.256z%22/%3E%3C/svg%3E"); }
.osico.os-alpine { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M5.998 1.607L0 12l5.998 10.393h12.004L24 12 18.002 1.607H5.998zM9.965 7.12L12.66 9.9l1.598 1.595.002-.002 2.41 2.363c-.2.14-.386.252-.563.344a3.756 3.756 0 01-.496.217 2.702 2.702 0 01-.425.111c-.131.023-.25.034-.358.034-.13 0-.242-.014-.338-.034a1.317 1.317 0 01-.24-.072.95.95 0 01-.2-.113l-1.062-1.092-3.039-3.041-1.1 1.053-3.07 3.072a.974.974 0 01-.2.111 1.274 1.274 0 01-.237.073c-.096.02-.209.033-.338.033-.108 0-.227-.009-.358-.031a2.7 2.7 0 01-.425-.114 3.748 3.748 0 01-.496-.217 5.228 5.228 0 01-.563-.343l6.803-6.727zm4.72.785l4.579 4.598 1.382 1.353a5.24 5.24 0 01-.564.344 3.73 3.73 0 01-.494.217 2.697 2.697 0 01-.426.111c-.13.023-.251.034-.36.034-.129 0-.241-.014-.337-.034a1.285 1.285 0 01-.385-.146c-.033-.02-.05-.036-.053-.04l-1.232-1.218-2.111-2.111-.334.334L12.79 9.8l1.896-1.897zm-5.966 4.12v2.529a2.128 2.128 0 01-.356-.035 2.765 2.765 0 01-.422-.116 3.708 3.708 0 01-.488-.214 5.217 5.217 0 01-.555-.34l1.82-1.825Z%22/%3E%3C/svg%3E"); }
.osico.os-arch { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M11.39.605C10.376 3.092 9.764 4.72 8.635 7.132c.693.734 1.543 1.589 2.923 2.554-1.484-.61-2.496-1.224-3.252-1.86C6.86 10.842 4.596 15.138 0 23.395c3.612-2.085 6.412-3.37 9.021-3.862a6.61 6.61 0 01-.171-1.547l.003-.115c.058-2.315 1.261-4.095 2.687-3.973 1.426.12 2.534 2.096 2.478 4.409a6.52 6.52 0 01-.146 1.243c2.58.505 5.352 1.787 8.914 3.844-.702-1.293-1.33-2.459-1.929-3.57-.943-.73-1.926-1.682-3.933-2.713 1.38.359 2.367.772 3.137 1.234-6.09-11.334-6.582-12.84-8.67-17.74zM22.898 21.36v-.623h-.234v-.084h.562v.084h-.234v.623h.331v-.707h.142l.167.5.034.107a2.26 2.26 0 01.038-.114l.17-.493H24v.707h-.091v-.593l-.206.593h-.084l-.205-.602v.602h-.091%22/%3E%3C/svg%3E"); }
.osico.os-suse { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M10.724 0a12 12 0 0 0-9.448 4.623c1.464.391 2.5.727 2.81.832.005-.19.037-1.893.037-1.893s.004-.04.025-.06c.026-.026.065-.018.065-.018.385.056 8.602 1.274 12.066 3.292.427.25.638.517.902.786.958.99 2.223 5.108 2.359 5.957.005.033-.036.07-.054.083a5.177 5.177 0 0 1-.313.228c-.82.55-2.708 1.872-5.13 1.656-2.176-.193-5.018-1.44-8.445-3.699.336.79.668 1.58 1 2.371.497.258 5.287 2.7 7.651 2.651 1.904-.04 3.941-.968 4.756-1.458 0 0 .179-.108.257-.048.085.066.061.167.041.27-.05.234-.164.66-.242.863l-.065.165c-.093.25-.183.482-.356.625-.48.436-1.246.784-2.446 1.305-1.855.812-4.865 1.328-7.66 1.31-1.001-.022-1.968-.133-2.817-.232-1.743-.197-3.161-.357-4.026.269A12 12 0 0 0 10.724 24a12 12 0 0 0 12-12 12 12 0 0 0-12-12zM13.4 6.963a3.503 3.503 0 0 0-2.521.942 3.498 3.498 0 0 0-1.114 2.449 3.528 3.528 0 0 0 3.39 3.64 3.48 3.48 0 0 0 2.524-.946 3.504 3.504 0 0 0 1.114-2.446 3.527 3.527 0 0 0-3.393-3.64zm-.03 1.035a2.458 2.458 0 0 1 2.368 2.539 2.43 2.43 0 0 1-.774 1.706 2.456 2.456 0 0 1-1.762.659 2.461 2.461 0 0 1-2.364-2.542c.02-.655.3-1.26.777-1.707a2.419 2.419 0 0 1 1.756-.655zm.402 1.23c-.602 0-1.087.325-1.087.727 0 .4.485.725 1.087.725.6 0 1.088-.326 1.088-.725 0-.402-.487-.726-1.088-.726Z%22/%3E%3C/svg%3E"); }
.osico.os-rocky { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M23.332 15.957c.433-1.239.668-2.57.668-3.957 0-6.627-5.373-12-12-12S0 5.373 0 12c0 3.28 1.315 6.251 3.447 8.417L15.62 8.245l3.005 3.005zm-2.192 3.819l-5.52-5.52L6.975 22.9c1.528.706 3.23 1.1 5.025 1.1 3.661 0 6.94-1.64 9.14-4.224z%22/%3E%3C/svg%3E"); }
.osico.os-alma { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M23.994 15.133c.079 1.061-.668 1.927-1.69 2.005a1.8 1.8 0 0 1-1.928-1.651c-.078-1.062.63-1.849 1.691-1.967 1.023-.078 1.849.59 1.927 1.613zm-12.623 4.955c-.944 0-1.73.786-1.73 1.809 0 1.14.747 1.848 1.887 1.848.904-.04 1.691-.865 1.691-1.809 0-.983-.904-1.848-1.848-1.848zm1.061-9.675c-.039-.865-.078-1.73.08-2.556.156-.944.314-1.887.904-2.674.707-.983 1.809-.944 2.399.118.314.511.432 1.062.471 1.652 0 .354.158.432.472.393.944-.157 1.888-.157 2.792.197.118.039.236.118.394 0 .314-.276.393-1.652.196-2.006-.354-.63-.904-.55-1.455-.55-.629.039-1.18-.158-1.612-.67-.393-.471-.511-1.06-.59-1.65-.04-.276-.079-.512-.315-.709-.55-.55-1.809-.432-2.477.118-2.556 2.045-2.989 5.467-1.534 8.18.04.118.118.236.275.157zm7.984 3.658c.354-.511.865-.747 1.415-.983a.973.973 0 0 0 .59-.472c.354-.669-.078-1.81-.747-2.36-2.595-2.006-5.938-1.612-8.18.433-.118.078-.157.196-.078.314.786-.236 1.612-.472 2.477-.51.905-.08 1.848-.158 2.753.235 1.14.472 1.337 1.534.472 2.36-.393.393-.905.668-1.455.825-.315.08-.354.236-.236.551.354.865.59 1.77.472 2.753-.04.157-.079.275.078.393.354.236 1.691 0 1.967-.275.511-.472.314-1.023.196-1.534-.157-.63-.078-1.219.276-1.73zm-7.197-2.045c-.118-.079-.197-.118-.315 0 .472.708.905 1.455 1.259 2.241.314.866.668 1.73.55 2.714-.118 1.18-1.1 1.69-2.123 1.101-.511-.275-.905-.669-1.22-1.14-.196-.276-.393-.276-.629-.08-.747.63-1.533 1.102-2.516 1.26-.158 0-.315 0-.394.157-.118.393.472 1.612.826 1.809.59.354 1.062 0 1.534-.276.55-.314 1.101-.432 1.73-.236.59.197.983.63 1.337 1.102.158.196.315.353.63.432.747.197 1.77-.59 2.084-1.376 1.18-3.028-.157-6.135-2.753-7.708zm-2.556 2.438c.472-.669.826-1.416.983-2.202-.157-.04-.197.04-.315.078-.904.944-1.848 1.849-3.067 2.478-.472.236-.983.433-1.534.433-.865 0-1.376-.551-1.298-1.416a2.92 2.92 0 0 1 .787-1.849c.236-.275.236-.432-.04-.668-.786-.55-1.494-1.22-1.848-2.124-.078-.275-.275-.275-.51-.157a4.293 4.293 0 0 0-.434.236c-1.022.63-1.14 1.416-.275 2.28.63.63.944 1.338.708 2.203-.118.433-.354.747-.63 1.101a.95.95 0 0 0-.235.787c.079.747.826 1.494 1.73 1.573 2.517.236 4.562-.63 5.978-2.753zm-4.68-5.152c1.376 1.18 3.067 1.455 4.837 1.377.157 0 .315 0 .354-.118.04-.197-.157-.197-.275-.236-.826-.354-1.691-.63-2.438-1.14S6.848 8.25 6.534 7.266c-.236-.747.078-1.415.825-1.651.669-.236 1.337-.236 1.967 0 .393.157.55.078.629-.354.118-.747.354-1.455.826-2.085.55-.786.55-.865-.354-1.376-.04 0-.04-.04-.079-.04-.865-.471-1.534-.196-1.848.709-.472 1.376-1.377 1.887-2.832 1.612-.196-.04-.393-.079-.472-.079-.747.118-1.18.55-1.297 1.14-.158 1.81.786 3.107 2.084 4.17zm-2.32 3.658c-.079-.944-1.023-1.652-2.045-1.534-.905.079-1.691 1.022-1.613 1.966.08.983 1.023 1.77 1.967 1.652 1.14-.079 1.73-1.18 1.69-2.084zm15.18-8.298c.943-.079 1.73-.983 1.651-1.927-.078-.983-1.022-1.77-2.005-1.691-1.023.079-1.73.983-1.652 1.966s.983 1.73 2.006 1.652zm-12.27-.826c1.062-.157 1.77-1.023 1.652-2.045C8.107.897 7.163.149 6.18.267c-1.062.118-1.691.944-1.573 2.085.118.865 1.061 1.612 1.966 1.494z%22/%3E%3C/svg%3E"); }
.osico.os-linux { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M12.504 0c-.155 0-.315.008-.48.021-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.424.424 0 00-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071.771-.06 1.592-.536 2.257-1.306.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.357.357 0 00-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139zm.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105a.086.086 0 01-.004-.021l-.004-.024a1.807 1.807 0 01-.15.706.953.953 0 01-.213.335.71.71 0 00-.088-.042c-.104-.045-.198-.064-.284-.133a1.312 1.312 0 00-.22-.066c.05-.06.146-.133.183-.198.053-.128.082-.264.088-.402v-.02a1.21 1.21 0 00-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 00-.205.334 1.18 1.18 0 00-.09.4v.019c.002.089.008.179.02.267-.193-.067-.438-.135-.607-.202a1.635 1.635 0 01-.018-.2v-.02a1.772 1.772 0 01.15-.768c.082-.22.232-.406.43-.533a.985.985 0 01.594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2.012-.09.013-.18.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.613.613 0 00-.166-.267.248.248 0 00-.183-.064h-.021c-.071.006-.13.04-.186.132a.552.552 0 00-.12.27.944.944 0 00-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268.01.009.02.018.034.024-.07.057-.117.07-.176.136a.304.304 0 01-.131.068 2.62 2.62 0 01-.275-.402 1.772 1.772 0 01-.155-.667 1.759 1.759 0 01.08-.668 1.43 1.43 0 01.283-.535c.128-.133.26-.2.418-.2zm1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.571.571 0 01.016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.139 1.139 0 01-.448-.067 3.566 3.566 0 01-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71-.07-.268-.005-.47.193-.6.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.645 2.645 0 00-.402-.533 1.45 1.45 0 00-.275-.333c.182 0 .338-.03.465-.067a.615.615 0 00.314-.334c.108-.267 0-.697-.345-1.163-.345-.467-.931-.995-1.788-1.521-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.123 8.123 0 01.647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335.039.003.075.006.11.006.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01c.053 0 .105.005.157.014.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602-.369-.066-.61-.2-.723-.4-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336zm7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8.097 8.097 0 01-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065zm-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z%22/%3E%3C/svg%3E"); }
.osico.os-raspbian { --os: url("data:image/svg+xml,%3Csvg role=%22img%22 viewBox=%220 0 24 24%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22m19.8955 10.8961-.1726-.3028c.0068-2.1746-1.0022-3.061-2.1788-3.7348.356-.0938.7237-.1711.8245-.6182.6118-.1566.7397-.4398.8011-.7398.16-.1066.6955-.4061.6394-.9211.2998-.2069.4669-.4725.3819-.8487.3222-.3515.407-.6419.2702-.9096.3868-.4805.2152-.7295.05-.9817.2897-.5254.0341-1.0887-.7758-.9944-.3221-.4733-1.0244-.3659-1.133-.3637-.1215-.1519-.2819-.2821-.7755-.219-.3197-.2851-.6771-.2364-1.0458-.0964-.4378-.3403-.7275-.0675-1.0584.0356-.53-.1706-.6513.0631-.9117.1583-.5781-.1203-.7538.1416-1.0309.4182l-.3224-.0063c-.8719.5061-1.305 1.5366-1.4585 2.0664-.1536-.5299-.5858-1.5604-1.4575-2.0664l-.3223.0063C9.942.5014 9.7663.2394 9.1883.3597 8.9279.2646 8.807.0309 8.2766.2015c-.2172-.0677-.417-.2084-.6522-.2012l.0004.0002C7.5017.0041 7.369.049 7.2185.166c-.3688-.1401-.7262-.1887-1.0459.0964-.4936-.0631-.654.0671-.7756.219C5.2887.4791 4.5862.3717 4.264.845c-.8096-.0943-1.0655.4691-.7756.9944-.1653.2521-.3366.5013.05.9819-.1367.2677-.0519.5581.2703.9096-.085.3763.0822.6418.3819.8487-.0561.515.4795.8144.6394.9211.0614.3001.1894.5832.8011.7398.1008.4472.4685.5244.8245.6183-1.1766.6737-2.1856 1.56-2.1788 3.7348l-.1724.3028c-1.3491.8082-2.5629 3.4056-.6648 5.5167.124.6609.3319 1.1355.5171 1.6609.2769 2.117 2.0841 3.1082 2.5608 3.2255.6984.524 1.4423 1.0212 2.449 1.3696.949.964 1.977 1.3314 3.0107 1.3308.0152 0 .0306.0002.0457 0 1.0337.0006 2.0618-.3668 3.0107-1.3308 1.0067-.3483 1.7506-.8456 2.4491-1.3696.4766-.1173 2.2838-1.1085 2.5607-3.2255.1851-.5253.3931-1 .517-1.6609 1.8981-2.1113.6843-4.7089-.6649-5.517zm-1.0386-.3715c-.0704.8759-4.6354-3.0504-3.8472-3.1808 2.1391-.3558 3.9191.896 3.8472 3.1808zm-2.0155 4.3649c-1.1481.7409-2.8025.2626-3.6953-1.0681-.8928-1.3306-.6858-3.0101.4623-3.7509 1.1481-.7409 2.8025-.2627 3.6953 1.068.8927 1.3307.6858 3.0101-.4623 3.751zM13.6591 1.3721c.0396.1967.0843.321.1354.3577.2537-.272.4611-.5506.7878-.8123.0011.1537-.0776.3205.1169.4425.1752-.2356.4119-.4459.7263-.6244-.1514.2611-.026.3404.0554.4486.24-.2059.4681-.4144.9109-.5759-.121.1474-.2902.2914-.1108.4607.2473-.1544.496-.3086 1.0833-.4183-.1323.1475-.4059.295-.2401.4426.3104-.1186.6539-.2047 1.034-.2546-.182.1496-.3337.2963-.1846.4122.3323-.1022.7899-.2398 1.2372-.1212l-.2832.2849c-.0314.0382.6623.0297 1.1202.0364-.167.2321-.3375.4562-.437.8548.0454.0459.2723.0204.4862 0-.2194.4618-.6004.5783-.6893.776.134.1015.32.075.5232.006-.158.3254-.4892.5484-.7509.8123.0662.047.1818.075.4555.0425-.2418.257-.5339.492-.8802.7032.0614.0708.2722.0681.4678.0727-.3136.3069-.7173.466-1.0955.6668.1885.1288.3234.0988.4678.097-.2676.2198-.7225.3342-1.1448.4668.0803.1249.1607.1589.3324.194-.447.2473-1.0873.1343-1.2679.2607.0435.1243.1665.2053.3139.2728-.7197.0418-2.6879-.0262-3.0652-1.5156.7367-.8094 2.0813-1.7593 4.394-2.934-1.7994.6022-3.4229 1.405-4.7817 2.5096-1.5978-.7436-.4965-2.6197.283-3.3645zm-1.6126 5.3718c1.1329-.0123 2.5356.8325 2.53 1.6286-.005.7027-.9851 1.2715-2.5213 1.2607-1.5043-.0177-2.5172-.7148-2.5137-1.3957.003-.5603 1.2282-1.5263 2.505-1.4936zm-5.7646-.6006c.1717-.0351.252-.0692.3323-.194-.4223-.1327-.8772-.247-1.1448-.4668.1444.0018.2792.0318.4678-.097-.3783-.2008-.782-.3599-1.0956-.6668.1955-.0048.4064-.002.4677-.0728-.3462-.2113-.6383-.4463-.8801-.7033.2738.0325.3893.0045.4555-.0425-.2617-.264-.593-.487-.7509-.8123.2032.069.3892.0954.5232-.006-.089-.1977-.47-.3142-.6894-.776.214.0204.4409.0459.4863 0-.0994-.3985-.2698-.6226-.4369-.8547.4579-.0067 1.1516.0018 1.1202-.0364l-.2831-.2849c.4472-.1186.9049.019 1.2371.1213.1492-.1159-.0026-.2626-.1847-.4123.3801.05.7236.1361 1.034.2547.1659-.1476-.1076-.2951-.24-.4426.5872.1097.8361.2639 1.0833.4183.1794-.1694.0103-.3133-.1108-.4607.4428.1615.6709.37.911.5759.0814-.1082.2068-.1875.0554-.4486.3143.1785.5511.3888.7263.6244.1945-.122.1159-.2888.1169-.4426.3267.2618.534.5404.7879.8124.0511-.0366.0959-.161.1354-.3577.7794.7448 1.8807 2.6208.2831 3.3646-1.3589-1.1039-2.9817-1.9064-4.78-2.5086 2.3115 1.174 3.6556 2.1239 4.392 2.9328-.3773 1.4895-2.3455 1.5575-3.0651 1.5157.1473-.0676.2703-.1485.3139-.2728-.1806-.1264-.8209-.0134-1.2679-.2607zm2.8175 1.1334c.7881.1304-3.7769 4.0567-3.8472 3.1809-.0719-2.2846 1.7079-3.5367 3.8472-3.1809zm-4.847 8.7567c-1.1094-.8789-1.4668-3.4529.5901-4.6097 1.2394-.3273.4184 5.051-.5901 4.6097zm4.2656 4.5989c-.6257.3719-2.1452.2187-3.2252-1.3095-.7283-1.2823-.6345-2.5872-.123-2.9705.7648-.4589 1.9464.1609 2.8559 1.2003.7923.9405 1.1536 2.5927.4923 3.0797zm-1.2415-5.6086c-1.1481-.7409-1.3551-2.4203-.4623-3.7511.8928-1.3307 2.5472-1.8089 3.6952-1.068 1.1481.7409 1.3551 2.4203.4623 3.7509-.8926 1.3308-2.5471 1.809-3.6952 1.0682zm4.7948 8.2279c-1.3763.0584-2.7258-1.1105-2.7081-1.5157-.0206-.594 1.6758-1.0578 2.782-1.0306 1.1131-.0479 2.6068.3531 2.6097.8851.0184.5166-1.3547 1.6838-2.6836 1.6612zm2.7584-5.8578c.0081 1.3899-1.226 2.5225-2.7562 2.5299-1.5302.0073-2.7773-1.1135-2.7854-2.5033v-.0265c-.008-1.3899 1.2259-2.5226 2.7562-2.5299 1.5302-.0073 2.7773 1.1134 2.7853 2.5033a.7794.7794 0 0 1 .0001.0265zm3.855 2.0029c-1.186 1.6208-2.7916 1.684-3.3896 1.2325-.6255-.5811-.148-2.3854.7094-3.3747v-.0003c.9812-1.0912 2.0302-1.8037 2.7609-1.2469.4919.4828.7805 2.3008-.0807 3.3894zm1.0724-3.4301c-1.0086.4413-1.8298-4.9372-.5901-4.61 2.0568 1.1569 1.6994 3.731.5901 4.61zm-.0256-8.3279h.2985v-.5304h.2986c.1502 0 .2053.0624.2262.2052.0152.1088.0113.2395.0477.3253h.2984c-.0533-.0763-.0515-.2358-.0571-.3213-.0097-.1373-.0513-.2796-.1977-.3176v-.0037c.1502-.061.2149-.1807.2149-.341 0-.2048-.1539-.3738-.3974-.3738h-.732v1.3573zm.2985-1.1255h.3269c.1333 0 .2054.0573.2054.188 0 .1369-.0721.1942-.2054.1942H20.03v-.3822zm-1.0337.4633c0 .7009.5682 1.2694 1.2695 1.2694s1.2695-.5684 1.2695-1.2694c0-.7013-.5683-1.2697-1.2695-1.2697-.7013 0-1.2695.5684-1.2695 1.2697zm2.3275 0c0 .5845-.4737 1.058-1.058 1.058s-1.058-.4735-1.058-1.058c0-.5849.4737-1.058 1.058-1.058s1.058.4731 1.058 1.058z%22/%3E%3C/svg%3E"); }

/* machine list: system icon, usage meters */
.mname { display: inline-flex; align-items: center; gap: var(--sp-2); }
.minimeters { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-small); min-width: 150px; }
.minimeters span { display: grid; grid-template-columns: 34px 1fr 36px; align-items: center; gap: var(--sp-2); }
.minimeters b { font-weight: var(--fw-regular); color: var(--muted); }
progress.mini { width: 100%; height: 6px; appearance: none; -webkit-appearance: none; border: 0; border-radius: 3px; background: var(--surface-2); }
progress.mini::-webkit-progress-bar { background: var(--surface-2); border-radius: 3px; }
progress.mini::-webkit-progress-value { background: var(--ok); border-radius: 3px; }
progress.mini::-moz-progress-bar { background: var(--ok); border-radius: 3px; }
progress.mini.hot::-webkit-progress-value { background: var(--bad); }
progress.mini.hot::-moz-progress-bar { background: var(--bad); }
.machinetable td .small { font-size: var(--fs-small); }

/* device tiles */
.hostmap:has(.devtile) { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.devtile { gap: var(--sp-3); padding: var(--sp-4) var(--sp-4) var(--sp-3) var(--sp-5); min-height: 0; justify-content: flex-start; }
.devtile .dev-head { display: flex; align-items: center; gap: var(--sp-3); }
.devtile .dev-title { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.devtile .tile-name { padding-left: 0; font-size: var(--fs-h3, 1.05rem); }
.devtile .dev-os { color: var(--muted); font-size: var(--fs-small); }
.osico.big { width: 30px; height: 30px; background: var(--text); opacity: .85; }
.devtile .dev-meters { display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-small); }
.devtile .dev-meters > span { display: grid; grid-template-columns: 38px 1fr 40px; align-items: center; gap: var(--sp-2); }
.devtile .dev-meters b { font-weight: var(--fw-regular); color: var(--muted); }
.devtile .dev-meters i { font-style: normal; text-align: right; font-family: var(--mono); }
.devtile .dev-facts { display: flex; flex-wrap: nowrap; gap: var(--sp-2); height: 22px; overflow: hidden; }
.dev-chip { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-flex; align-items: center; min-height: 22px; padding: 0 var(--sp-2); border: 1px solid var(--border); border-radius: 22px; font-size: var(--fs-caption); color: var(--muted); }
.dev-chip.env { color: var(--text); }
.devtile .dev-foot { display: flex; flex-wrap: nowrap; white-space: nowrap; margin-top: auto; justify-content: space-between; gap: var(--sp-2); font-size: var(--fs-caption); color: var(--muted); border-top: 1px solid var(--border); padding-top: var(--sp-2); }

/* probe form: header pairs and response checks */
.formgrid.pairs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-3); }
.formgrid.asserts { grid-template-columns: 9rem minmax(0, 1.4fr) 9rem minmax(0, 1fr); gap: var(--sp-2) var(--sp-3); }
@media (max-width: 40rem) { .formgrid.asserts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dev-hw { display: block; color: var(--muted); font-size: var(--fs-small); margin: var(--sp-1) 0 var(--sp-2); }

/* The mode of a machine sits next to its state, not among the tags. */
.devtile .dev-state { display: flex; flex-direction: column; align-items: flex-end; gap: var(--sp-1); }
.badge.modepill .mlabel { opacity: .7; font-weight: var(--fw-regular); }

/* Workspaces page */
.wsgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.wscard { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.wscard:hover, .wscard:focus-visible { border-color: var(--accent, currentColor); box-shadow: 0 2px 10px rgb(0 0 0 / .08); }
.wsmark { flex: none; width: 3rem; height: 3rem; border-radius: .75rem; display: grid; place-items: center; font: 600 1.4rem/1 var(--serif, serif); background: var(--accent-soft, rgb(224 138 94 / .25)); color: var(--accent-ink, inherit); }
.wsbody { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.wsname { font: 600 1.15rem/1.2 var(--serif, serif); }
.wshost { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .85rem; }
.wsmeta { display: flex; gap: .4rem; margin-top: .25rem; }
.wsgo { flex: none; }
.wsfields { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem 1.5rem; margin: 1rem 0; }
.affix { display: flex; align-items: stretch; }
.affix input { flex: 1; min-width: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.affix .suffix { display: flex; align-items: center; padding: 0 .85rem; border: 1px solid var(--border-strong); border-left: 0; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--surface-2); color: var(--muted, inherit); white-space: nowrap; }
.bchecks, .taglist { list-style: none; padding: 0; margin: var(--sp-4) 0 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.taglist { flex-direction: row; flex-wrap: wrap; }
.taglist li { padding: var(--sp-1) var(--sp-3); border: 1px solid var(--border); border-radius: var(--r-chip); background: var(--surface-2); }
.formcard form + form.inline { margin-top: var(--sp-3); }
.dellist { margin: var(--sp-3) 0 var(--sp-4); padding-left: var(--sp-5); color: var(--muted); }
.danger-zone .check { display: flex; align-items: center; gap: var(--sp-2); margin: var(--sp-3) 0 var(--sp-4); }
.wsdying { opacity: .9; border-style: dashed; }
.wsdying .wsmark { filter: grayscale(.6); }
