@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");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}:root{--paper: #eef1f5;--surface: #ffffff;--surface-2: #f6f7fa;--well: #e7ebf1;--ink: #131826;--ink-2: #384056;--muted: #5f6880;--line: #d9dee7;--line-strong: #c1c8d4;--accent: #2446cf;--accent-ink: #ffffff;--accent-soft: #e5eafb;--sticker: #ffd84a;--sticker-ink: #2a2200;--good: #0d7652;--good-soft: #def2e8;--warn: #8f5400;--warn-soft: #fdf0d3;--bad: #bd2f28;--bad-ink: #ffffff;--bad-soft: #fbe4e2;--hot: #c9440c;--hot-ink: #ffffff;--hot-soft: #ffe7da;--logo-bg: #131826;--logo-eye: #ffd84a;--shadow: 0 1px 2px rgb(19 24 38 / .06), 0 6px 20px rgb(19 24 38 / .07);--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body: "Instrument Sans Variable", "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .9375rem;--fs-lg: 1.0625rem;--fs-xl: 1.375rem;--fs-2xl: 1.875rem;--fs-3xl: 2.5rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--gap: 16px;--gutter: 20px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #0d111b;--surface: #151a27;--surface-2: #1b2131;--well: #222a3c;--ink: #e8ebf3;--ink-2: #c4cada;--muted: #949db2;--line: #273047;--line-strong: #37425e;--accent: #93a6ff;--accent-ink: #0d111b;--accent-soft: #1e2748;--sticker: #ffd84a;--sticker-ink: #2a2200;--good: #55d2a4;--good-soft: #0f3527;--warn: #f3b552;--warn-soft: #382811;--bad: #ff8178;--bad-ink: #1f0807;--bad-soft: #3f1a1a;--hot: #ff8f55;--hot-ink: #1a0d05;--hot-soft: #3d2012;--logo-bg: #2a3350;--logo-eye: #ffd84a;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px rgb(0 0 0 / .25);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:var(--fs-2xl);font-weight:700}h2{font-size:var(--fs-xl);font-weight:650}h3{font-size:var(--fs-lg);font-weight:650}p{margin:0}a{color:var(--accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%}code,kbd,.mono{font-family:var(--font-mono);font-size:.92em}code{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:0 .3em}.num{font-variant-numeric:tabular-nums}.ch-value{font-family:var(--font-mono);font-size:.92em;overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.stack{display:flex;flex-direction:column;gap:var(--gap)}.stack-sm{display:flex;flex-direction:column;gap:8px}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.spread{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.min0{min-width:0}[hidden]{display:none!important}.app{container:app / inline-size;position:relative;background:var(--paper);min-height:100%}.skip-link{position:absolute;left:12px;top:12px;z-index:60;padding:8px 12px;background:var(--accent);color:var(--accent-ink);border-radius:var(--r-sm);font-weight:600}.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1180px;margin-inline:auto;padding:10px var(--gutter);display:flex;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:750;font-size:1.125rem;letter-spacing:-.02em}.brand svg{width:30px;height:30px;flex:none}.brand .brand-w{color:var(--muted);font-weight:500}.nav{display:flex;align-items:center;gap:4px}.nav a{color:var(--ink-2);text-decoration:none;font-weight:550;font-size:var(--fs-sm);padding:6px 10px;border-radius:var(--r-sm)}.nav a:hover{background:var(--surface-2)}.nav a[aria-current=page]{color:var(--ink);background:var(--accent-soft)}.nav .count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);margin-left:4px}.topbar .spacer{flex:1}.freshness{display:inline-flex;align-items:center;font-size:var(--fs-xs);color:var(--muted);font-family:var(--font-mono);white-space:nowrap}.freshness:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-soft);margin-right:6px}.freshness.is-stale:before{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.freshness.is-down:before{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.account-btn{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;background:transparent;color:var(--muted);border:1px solid var(--line);cursor:pointer}.account-btn:hover{color:var(--ink);border-color:var(--line-strong)}.tabbar{display:none}.page{max-width:1180px;margin-inline:auto;padding:28px var(--gutter) 56px}.page-narrow{max-width:760px}.page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 20px;margin-bottom:20px}.page-head p{color:var(--muted);max-width:62ch;margin-top:6px}.crumbs ol{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:var(--fs-sm);color:var(--muted)}.crumbs li{min-width:0}.crumbs li+li:before{content:"/" / "";margin-right:8px;color:var(--muted)}.crumbs a{color:var(--ink-2)}.crumbs [aria-current=page]{color:var(--ink);font-weight:550}.site-foot{max-width:1180px;margin-inline:auto;padding:20px var(--gutter) 32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:var(--fs-xs);color:var(--muted)}.site-foot a{color:var(--muted)}@container app (max-width: 720px){.topbar-inner{gap:10px;padding-block:8px}.topbar .nav,.topbar .freshness-label{display:none}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:sticky;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px))}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--muted);text-decoration:none;padding:4px;border-radius:var(--r-sm)}.tabbar a svg{width:22px;height:22px}.tabbar a[aria-current=page]{color:var(--accent)}.page{padding:18px 16px 32px}h1{font-size:var(--fs-xl)}}.btn{--b-bg: var(--surface);--b-fg: var(--ink);--b-line: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;font:600 var(--fs-sm)/1 var(--font-body);color:var(--b-fg);background:var(--b-bg);border:1px solid var(--b-line);border-radius:var(--r-sm);cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{filter:brightness(.97)}.btn svg{width:16px;height:16px;flex:none}.btn-primary{--b-bg: var(--accent);--b-fg: var(--accent-ink);--b-line: var(--accent)}.btn-quiet{--b-bg: transparent;--b-line: transparent;--b-fg: var(--ink-2)}.btn-quiet:hover{background:var(--surface-2)}.btn-danger{--b-bg: var(--surface);--b-fg: var(--bad);--b-line: color-mix(in srgb, var(--bad) 45%, var(--line))}.btn-danger-solid{--b-bg: var(--bad);--b-fg: var(--bad-ink);--b-line: var(--bad)}.btn-sm{min-height:32px;padding:0 10px;font-size:var(--fs-xs)}.btn-lg{min-height:48px;padding:0 22px;font-size:var(--fs-md)}.btn-block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;filter:none}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer}.icon-btn:hover{background:var(--surface-2);border-color:var(--line)}.icon-btn svg{width:18px;height:18px}.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.label{font-weight:600;font-size:var(--fs-sm);color:var(--ink)}.hint{font-size:var(--fs-xs);color:var(--muted)}.error-text{font-size:var(--fs-xs);color:var(--bad);font-weight:550}.input,.select,.textarea{width:100%;min-height:42px;padding:8px 12px;font:400 var(--fs-md)/1.4 var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm)}.input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.input:focus,.select:focus,.textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--bad)}.input-mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.input-group{display:flex;align-items:stretch;gap:0}.input-group .input{border-radius:var(--r-sm) 0 0 var(--r-sm)}.input-group .btn{border-radius:0 var(--r-sm) var(--r-sm) 0;min-height:42px}.prefix-input{position:relative}.prefix-input>span{position:absolute;left:12px;top:50%;translate:0 -50%;color:var(--muted);font-family:var(--font-mono);pointer-events:none}.prefix-input .input{padding-left:26px;font-family:var(--font-mono)}.check{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent);margin:0}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-sm);font-weight:550}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{position:relative;width:38px;height:22px;flex:none;border-radius:999px;background:var(--line-strong);transition:background .15s}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:translate .15s}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{translate:16px 0}.switch input:focus-visible+.switch-track{outline:3px solid var(--accent);outline-offset:2px}.segmented{display:inline-flex;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px;gap:2px}.segmented label{position:relative}.segmented input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.segmented span{display:block;padding:6px 12px;border-radius:4px;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.segmented input:checked+span{background:var(--accent-soft);color:var(--ink);font-weight:700;box-shadow:inset 0 0 0 1px var(--accent)}.segmented input:focus-visible+span{outline:3px solid var(--accent)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;font:600 var(--fs-sm)/1 var(--font-body);color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.chip .chip-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);font-weight:500}.chip[aria-pressed=true] .chip-count{color:color-mix(in srgb,var(--surface) 80%,var(--ink))}.chip svg{width:14px;height:14px}.chip-remove{font-size:1rem;line-height:1;opacity:.7}.tokens{display:flex;flex-wrap:wrap;gap:6px}.token{--t: var(--accent);display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 8px;font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:5px;background:color-mix(in srgb,var(--t) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--t) 40%,var(--line));color:var(--ink)}.token .token-kind{color:var(--t);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.token button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0 4px;font-size:14px;line-height:1}.token-word{--t: var(--accent)}.token-phrase{--t: #7a4fd6}.token-exclude{--t: var(--bad)}.token-price{--t: var(--good)}.token-filter{--t: var(--warn)}.token-invalid{--t: var(--bad);border-style:dashed}.pill{--p: var(--muted);--p-soft: var(--surface-2);display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font:600 var(--fs-xs)/1.5 var(--font-body);color:var(--p);background:var(--p-soft);border-radius:999px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.no-dot:before{display:none}.pill-good{--p: var(--good);--p-soft: var(--good-soft)}.pill-warn{--p: var(--warn);--p-soft: var(--warn-soft)}.pill-bad{--p: var(--bad);--p-soft: var(--bad-soft)}.pill-hot{--p: var(--hot);--p-soft: var(--hot-soft)}.pill-accent{--p: var(--accent);--p-soft: var(--accent-soft)}.badge{display:inline-flex;align-items:center;padding:2px 7px;font:700 10px/1.6 var(--font-body);letter-spacing:.05em;text-transform:uppercase;border-radius:4px;background:var(--ink);color:var(--surface)}.badge-hot{background:var(--hot);color:var(--hot-ink)}.badge-boc{background:#5b3a1a;color:#ffe9c7}.badge-new{background:var(--accent);color:var(--accent-ink)}.badge-out{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.sticker{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 10px;font:600 var(--fs-xs)/1.5 var(--font-mono);color:var(--sticker-ink);background:var(--sticker);clip-path:polygon(6px 0,100% 0,100% 100%,6px 100%,0 50%);white-space:nowrap}.banner{--bn: var(--accent);--bn-soft: var(--accent-soft);display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--bn-soft);border:1px solid color-mix(in srgb,var(--bn) 35%,transparent);border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-sm)}.banner>svg{width:20px;height:20px;flex:none;color:var(--bn);margin-top:1px}.banner strong{font-weight:650}.banner .banner-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.banner-warn{--bn: var(--warn);--bn-soft: var(--warn-soft)}.banner-bad{--bn: var(--bad);--bn-soft: var(--bad-soft)}.banner-good{--bn: var(--good);--bn-soft: var(--good-soft)}.banner-hot{--bn: var(--hot);--bn-soft: var(--hot-soft)}.strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px var(--gutter);font-size:var(--fs-sm);justify-content:center}.strip>svg{flex:none;align-self:flex-start;margin-top:2px}.strip>span{flex:1 1 20rem;min-width:0;max-width:max-content}@container app (max-width: 720px){.strip{justify-content:flex-start;align-items:flex-start;padding-inline:16px}.strip>span{flex-basis:240px;max-width:none}}.strip-hot{background:var(--hot);color:var(--hot-ink)}.strip-hot a{color:var(--hot-ink);font-weight:650}.strip-warn{background:var(--warn-soft);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.panel-pad{padding:18px 20px}.panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:14px 20px;border-bottom:1px solid var(--line)}.panel-body{padding:18px 20px}.rows{list-style:none;margin:0;padding:0}.rows>li{padding:14px 20px;border-top:1px solid var(--line)}.rows>li:first-child{border-top:0}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:var(--fs-sm)}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.data th{text-align:left;font-weight:600;color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}table.data tr:last-child td{border-bottom:0}.deal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:14px}@container app (max-width: 720px){.deal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.deal{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;color:var(--ink);text-decoration:none;min-width:0}.deal:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.deal-photo{position:relative;aspect-ratio:4 / 3;max-width:100%;background:var(--well);display:grid;place-items:center;color:color-mix(in srgb,var(--muted) 70%,transparent)}.deal-photo svg{width:42%;height:auto}.deal-badges{position:absolute;top:8px;left:8px;display:flex;flex-wrap:wrap;gap:4px}.deal-body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px;flex:1}.deal-title{font-weight:600;font-size:var(--fs-sm);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-body>.sticker{align-self:flex-start}.deal-body>.deal-meta{order:4}.deal-price{order:5;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:auto;padding-top:4px}.price{font-family:var(--font-mono);font-weight:600;font-size:1.0625rem;font-variant-numeric:tabular-nums}.price-range{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--muted)}.price-was{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.deal-price .price-was{flex-basis:100%}.price-was s{text-decoration-thickness:1px}.deal-meta{font-size:var(--fs-xs);color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 8px}.deal-match{font-size:var(--fs-xs);color:var(--ink-2)}.deal-match mark{background:color-mix(in srgb,var(--sticker) 55%,transparent);color:inherit;border-radius:2px;padding:0 1px}.deal.is-sold .deal-photo>img,.deal.is-sold .deal-photo>svg{opacity:.55}.deal.is-sold .deal-title{color:var(--muted)}.skeleton{background:linear-gradient(90deg,var(--well) 0%,var(--surface-2) 50%,var(--well) 100%);background-size:200% 100%;animation:shimmer 1.3s linear infinite;border-radius:4px}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}*,*:before,*:after{transition:none!important}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 20px;color:var(--muted)}.empty h2,.empty h3{color:var(--ink)}.empty p{max-width:46ch}.empty svg{width:56px;height:56px;color:var(--line-strong)}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline>li{position:relative;padding:0 0 18px 28px}.timeline>li:before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:2px;background:var(--line)}.timeline>li:last-child:before{display:none}.tl-dot{--d: var(--muted);position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--d)}.tl-dot.good{--d: var(--good)}.tl-dot.warn{--d: var(--warn)}.tl-dot.bad{--d: var(--bad)}.tl-dot.accent{--d: var(--accent)}.tl-dot.drop{--d: #b38f00;background:var(--sticker)}.tl-time{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}@container app (max-width: 900px){.split{grid-template-columns:minmax(0,1fr)}}html,body{min-height:100%}#root{min-height:100vh;min-height:100dvh}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app>main.page,.app>.page{width:100%;flex:1 0 auto}.app>.site-foot{width:100%}h1:focus{outline:none}h1:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:4px}.topbar-signin[aria-current=page]{--b-bg: var(--accent-soft);--b-line: transparent;--b-fg: var(--ink)}.topbar .freshness{flex:none}.menu-wrap{position:relative}.more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:190px;padding:4px;display:grid;gap:2px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow)}.more-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 12px;font:550 var(--fs-sm)/1 var(--font-body);color:var(--ink);background:transparent;border:0;border-radius:var(--r-sm);text-align:left;cursor:pointer;text-decoration:none}.more-item:hover{background:var(--surface-2)}.more-item svg{width:16px;height:16px;color:var(--muted);flex:none}.more-item.is-danger,.more-item.is-danger svg{color:var(--bad)}.more-sep{height:1px;margin:4px 6px;background:var(--line)}.menu-who{padding:8px 12px 6px;font-size:var(--fs-xs);color:var(--muted);overflow-wrap:anywhere}.menu-who strong{display:block;color:var(--ink);font-size:var(--fs-sm);font-weight:600}.btn[aria-expanded=true]>svg:last-child{rotate:180deg}.toast-region{position:fixed;left:50%;bottom:24px;translate:-50% 0;z-index:40;display:grid;gap:8px;justify-items:center;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;max-width:100%;padding:8px 8px 8px 16px;min-height:44px;border-radius:var(--r-md);background:var(--ink);color:var(--surface);box-shadow:var(--shadow);font-size:var(--fs-sm)}.toast>svg{width:18px;height:18px;flex:none;color:color-mix(in srgb,var(--good) 45%,var(--surface))}.toast.toast-bad>svg{color:color-mix(in srgb,var(--bad) 55%,var(--surface))}.toast.toast-info>svg{color:color-mix(in srgb,var(--accent) 55%,var(--surface))}.toast p{min-width:0;padding-right:8px}.toast strong{font-weight:650}.toast .toast-detail{color:color-mix(in srgb,var(--surface) 72%,var(--ink))}.toast .btn{--b-bg: transparent;--b-fg: var(--surface);--b-line: color-mix(in srgb, var(--surface) 50%, transparent);flex:none}.toast .btn:hover{background:color-mix(in srgb,var(--surface) 12%,transparent)}.toast .btn:focus-visible,.toast .icon-btn:focus-visible{outline-color:var(--surface)}.toast .icon-btn{color:var(--surface);flex:none}.toast .icon-btn:hover{background:color-mix(in srgb,var(--surface) 12%,transparent);border-color:transparent}@container app (max-width: 720px){.toast-region{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}@media(max-width:720px){.toast-region{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.spinner{display:inline-block;flex:none;width:18px;height:18px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:ww-spin .9s linear infinite}@keyframes ww-spin{to{rotate:1turn}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-color:var(--accent)}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.err-panel{padding:28px 20px;display:grid;justify-items:center;text-align:center;gap:10px}.err-panel>svg{width:40px;height:40px;color:var(--bad)}.err-panel p{max-width:52ch;color:var(--muted)}.state-page{max-width:640px;margin:24px auto 0;padding:28px;display:grid;gap:14px;justify-items:start}.state-page .lead-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.state-page .lead-icon svg{width:24px;height:24px}.state-page .lead-icon.is-good{background:var(--good-soft);color:var(--good)}.state-page .lead-icon.is-bad{background:var(--bad-soft);color:var(--bad)}.state-page p{color:var(--ink-2);max-width:60ch}@container app (max-width: 720px){.state-page{padding:20px;margin-top:4px}}.result{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.5;color:var(--ink);background:var(--surface-2);border:1px solid var(--line)}.result>svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--muted)}.result.is-good{background:var(--good-soft);border-color:color-mix(in srgb,var(--good) 30%,transparent)}.result.is-good>svg{color:var(--good)}.result.is-bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.result.is-bad>svg{color:var(--bad)}.result.is-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.result.is-warn>svg{color:var(--warn)}.pill svg{width:12px;height:12px;flex:none}.pill-paused{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2)}.pill-drop{--p: var(--sticker-ink);--p-soft: var(--sticker)}.sticker svg{width:13px;height:13px}.deal-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.deal-photo:has(img){background:#fff}.banner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.prose{display:grid;gap:14px;max-width:72ch}.prose h2{font-size:var(--fs-xl);margin-top:12px}.prose h3{font-size:var(--fs-lg);margin-top:6px}.prose ul,.prose ol{margin:0;padding-left:1.3em;display:grid;gap:6px}.prose p,.prose li{color:var(--ink-2)}.prose strong{color:var(--ink)}.link-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}.btn.is-busy{cursor:progress}.sr-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.filter-row,.filter-scroll,.table-wrap,.sec-nav ol{position:relative}.pg-deals .search-panel{padding:18px 20px;display:grid;gap:14px}.pg-deals .search-row{display:flex;gap:10px;align-items:stretch}.pg-deals .search-box{position:relative;flex:1;min-width:0}.pg-deals .search-box svg{position:absolute;left:14px;top:50%;translate:0 -50%;width:20px;height:20px;color:var(--muted);pointer-events:none}.pg-deals .search-box .input{min-height:50px;padding-left:44px;font-family:var(--font-mono);font-size:var(--fs-md)}.pg-deals .search-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.pg-deals .search-meta>.stack-sm{min-width:0}.pg-deals .search-in{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pg-deals .alert-preview{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}.pg-deals .alert-preview p{font-size:var(--fs-sm);color:var(--ink-2);min-width:0;flex:1 1 280px}.pg-deals .alert-preview p strong{color:var(--ink)}.pg-deals details.syntax summary{cursor:pointer;font-size:var(--fs-sm);font-weight:600;color:var(--accent);width:fit-content}.pg-deals details.syntax[open] summary{margin-bottom:10px}.pg-deals details.syntax table code{white-space:nowrap}.pg-deals .filters{display:flex;flex-direction:column;gap:10px;margin:18px 0 14px}.pg-deals .filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:2px 2px 4px 82px;margin:-2px}.pg-deals .filter-row .eyebrow{flex:none;width:72px;margin-left:-80px}.pg-deals .filter-row .chip{flex:none}.pg-deals .price-fields{display:flex;align-items:center;gap:6px;flex:none}.pg-deals .price-fields .prefix-input{width:96px}.pg-deals .price-fields .input{min-height:32px;padding-block:4px;font-size:var(--fs-sm)}.pg-deals .results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.pg-deals .results-head .select{width:auto;min-height:36px;font-size:var(--fs-sm);padding-block:4px}.pg-deals .results-count{font-size:var(--fs-sm);color:var(--muted)}.pg-deals .results-count strong{color:var(--ink);font-family:var(--font-mono)}.pg-deals .load-more{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px}.pg-deals .wo-strip-count{font-family:var(--font-mono);font-weight:600}@container app (max-width: 720px){.pg-deals .search-panel{padding:14px}.pg-deals .search-row{flex-direction:column}.pg-deals .search-row .btn{width:100%}.pg-deals .filter-row{flex-wrap:nowrap;overflow-x:auto;padding-left:2px;scrollbar-width:thin}.pg-deals .filter-row .eyebrow{display:none}.pg-deals .alert-preview .btn{width:100%}}@font-face{font-family:Archivo Black;src:url(/assets/ArchivoBlack-Regular-VVh6-99s.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.partner{margin-left:auto;align-self:end;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;max-width:24rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--ink);transition:border-color .15s ease,background .15s ease}.partner:hover{border-color:var(--line-strong);background:var(--surface-2)}.partner-av{width:56px;height:56px;flex:0 0 auto;border-radius:14px;background:var(--logo-bg);overflow:hidden}.partner-img{display:block;width:100%;height:100%;object-fit:cover;object-position:100% 0}.partner-k{display:block;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.partner-n{display:block;font-family:Archivo Black,Arial Black,sans-serif;font-size:1.0625rem;line-height:1.2}.partner-s{display:block;font-size:var(--fs-sm);color:var(--muted);margin-top:1px}.partner-go{margin-left:auto;color:var(--muted);font-size:1.125rem;padding-left:6px}.partner:hover .partner-go{color:var(--accent)}@media(hover:none),(pointer:coarse){.partner{display:none}}@container app (max-width: 720px){.partner{display:none}}
