@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-cyrillic-ext-300-normal-BRn8Tsce.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-300-normal-DOtRq9zH.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-cyrillic-300-normal-BO7tmGom.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-300-normal-BtNmWoqn.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-greek-ext-300-normal-DVDwbKuK.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-300-normal-CodlqOxk.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-greek-300-normal-D3JfF3y9.woff2) format("woff2"),url(/assets/fira-sans-greek-300-normal-DSgcXl_1.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-vietnamese-300-normal-BO7He0nF.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-300-normal-CeyOCBN-.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-latin-ext-300-normal-GNF4Ac3G.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-300-normal-CAROBYR0.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:Fira Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fira-sans-latin-300-normal-B2LrTgQS.woff2) format("woff2"),url(/assets/fira-sans-latin-300-normal-Dwkm-oZ7.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-ext-400-normal-Cycyekte.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-400-normal-Dd5dApAy.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-cyrillic-400-normal-CKu2TFQr.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-400-normal-D9eUeF-O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-greek-ext-400-normal-ByG7UNQ2.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-400-normal-ClCfNE6D.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-greek-400-normal-BFCFncbp.woff2) format("woff2"),url(/assets/fira-sans-greek-400-normal-DQ8sF22y.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-vietnamese-400-normal-ljDTQFsx.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-400-normal-DUVG35gE.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-latin-ext-400-normal-BLG_mAEf.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-400-normal-BCUwhuGB.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:Fira Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-sans-latin-400-normal-a0AnQzuD.woff2) format("woff2"),url(/assets/fira-sans-latin-400-normal-66xCkunx.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-ext-500-normal-Dkk5LlrU.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-500-normal-Cixivk4R.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-cyrillic-500-normal-CXfldnQ8.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-500-normal-Daski1k2.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-greek-ext-500-normal-nq-cjB3m.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-500-normal-Bem4H9fH.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-greek-500-normal-Cy-TUuxE.woff2) format("woff2"),url(/assets/fira-sans-greek-500-normal-C9KT8sAy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-vietnamese-500-normal-ChEXCnJy.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-500-normal-UV7M6ot_.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-latin-ext-500-normal-OO1QnNpY.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-500-normal-CFRf4jcC.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:Fira Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-sans-latin-500-normal-Bvbxc8ch.woff2) format("woff2"),url(/assets/fira-sans-latin-500-normal-Bkfzcwmr.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-ext-700-normal-BfO9TR-w.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-ext-700-normal-Gcpdxicj.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-cyrillic-700-normal-Bl-HczEO.woff2) format("woff2"),url(/assets/fira-sans-cyrillic-700-normal-KyW5QH4H.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-greek-ext-700-normal-C1m6bE4Q.woff2) format("woff2"),url(/assets/fira-sans-greek-ext-700-normal-C8J5qYMq.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-greek-700-normal-BVfcrbV7.woff2) format("woff2"),url(/assets/fira-sans-greek-700-normal-CJu31rC4.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-vietnamese-700-normal-j5oLGLJY.woff2) format("woff2"),url(/assets/fira-sans-vietnamese-700-normal-DFi88MGY.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-ext-700-normal-g2Yrd4J5.woff2) format("woff2"),url(/assets/fira-sans-latin-ext-700-normal-cfTxGFzJ.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:Fira Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fira-sans-latin-700-normal-CRhwpWTq.woff2) format("woff2"),url(/assets/fira-sans-latin-700-normal-DgqLm3Fi.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:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-cyrillic-ext-400-normal-FAIU8e3o.woff2) format("woff2"),url(/assets/fira-mono-cyrillic-ext-400-normal-Co4MVjrD.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:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-cyrillic-400-normal-BJkDdjbt.woff2) format("woff2"),url(/assets/fira-mono-cyrillic-400-normal-DUd3efVn.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-greek-ext-400-normal-Be4g_LSk.woff2) format("woff2"),url(/assets/fira-mono-greek-ext-400-normal-BQ5yw6bY.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-greek-400-normal-ftNhKy_S.woff2) format("woff2"),url(/assets/fira-mono-greek-400-normal-B_0AmgK7.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-symbols2-400-normal-C6JptOil.woff2) format("woff2"),url(/assets/fira-mono-symbols2-400-normal-CpeG9ob9.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-latin-ext-400-normal-B2gPvaNr.woff2) format("woff2"),url(/assets/fira-mono-latin-ext-400-normal-CbD3vWRE.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:Fira Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fira-mono-latin-400-normal-DVTTRLHv.woff2) format("woff2"),url(/assets/fira-mono-latin-400-normal-C3FQ26ho.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:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-cyrillic-ext-500-normal-BGV2-mDE.woff2) format("woff2"),url(/assets/fira-mono-cyrillic-ext-500-normal-BDCQVX4y.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:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-cyrillic-500-normal-CAy0Dwk2.woff2) format("woff2"),url(/assets/fira-mono-cyrillic-500-normal-CFTSF0cD.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-greek-ext-500-normal-CGPEfoom.woff2) format("woff2"),url(/assets/fira-mono-greek-ext-500-normal-g6G8W_LY.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-greek-500-normal-kj_VgxTv.woff2) format("woff2"),url(/assets/fira-mono-greek-500-normal-DNFqaoqB.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-symbols2-500-normal-0PpNbZw_.woff2) format("woff2"),url(/assets/fira-mono-symbols2-500-normal-fxu0Prpo.woff) format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-latin-ext-500-normal-DPED3Y3R.woff2) format("woff2"),url(/assets/fira-mono-latin-ext-500-normal--0AGvlKU.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:Fira Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fira-mono-latin-500-normal-Du17Nws8.woff2) format("woff2"),url(/assets/fira-mono-latin-500-normal-DknboRIW.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{--bg: #f0eee6;--surface: #faf9f4;--sunken: #e7e4d8;--line: #d5d0c0;--line-strong: #bfb9a6;--ink: #1c1a17;--ink-muted: #57524a;--ink-subtle: #6b655b;--accent: #d97757;--accent-ink: #a8451f;--accent-wash: #f6e4dc;--ok: #3f6b32;--amber: #8a5a00;--red: #a81e17;--red-wash: #f7e3e1;--sans: "Fira Sans", ui-sans-serif, system-ui, sans-serif;--mono: "Fira Mono", ui-monospace, "SF Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--radius: 4px;--radius-lg: 6px;--z-sticky: 10;--z-backdrop: 20;--z-drawer: 30;--z-toast: 40;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .18s}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--text-base);font-weight:400;line-height:1.45;-webkit-font-smoothing:antialiased}.mono,input[type=date],input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.9375em}:where(a){color:var(--accent-ink);text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shell{display:grid;grid-template-columns:200px 1fr;height:100%}.sidebar{background:var(--sunken);border-right:1px solid var(--line);padding:var(--s5) var(--s3);display:flex;flex-direction:column;gap:var(--s5)}.brand{font-size:var(--text-md);font-weight:700;letter-spacing:-.01em;padding:0 var(--s2)}.brand span{display:block;font-size:var(--text-xs);font-weight:400;color:var(--ink-subtle);letter-spacing:0}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:6px var(--s2);border-radius:var(--radius);color:var(--ink-muted);text-decoration:none;font-size:var(--text-base);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav a:hover{background:#0000000a;color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-wash);color:var(--accent-ink);font-weight:500}.sidebar-foot{margin-top:auto;font-size:var(--text-xs);color:var(--ink-subtle);padding:0 var(--s2);display:flex;flex-direction:column;gap:var(--s1)}.main{overflow:auto;display:flex;flex-direction:column}.signin{height:100%;display:grid;place-items:center;padding:var(--s5)}.signin>div{max-width:44ch}.signin h1{margin:0 0 var(--s3);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.signin p{margin:0 0 var(--s5);color:var(--ink-muted);text-wrap:pretty}.signin .btn{text-decoration:none}.signin form{max-width:40ch;display:flex;flex-direction:column;gap:var(--s4)}.signin form p{margin:0}.signin-error{color:var(--red);font-size:var(--text-sm)}.signin .btn-primary{align-self:flex-start}.page-note{margin:0;max-width:72ch;color:var(--ink-subtle);font-size:var(--text-sm);text-wrap:pretty}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none;border:1px solid rgb(0 0 0 / .18)}.swatch[data-unset=true]{border-style:dashed;border-color:var(--line-strong);background:transparent}.swatches{display:flex;flex-wrap:wrap;gap:var(--s2)}.swatch-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:var(--text-xs);color:var(--ink-muted);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:4px var(--s2);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.swatch-btn:hover:not(:disabled){border-color:var(--ink-subtle)}.swatch-btn[data-selected=true]{border-color:var(--accent-ink);background:var(--accent-wash);color:var(--accent-ink);font-weight:500}.swatch-btn:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.checklist-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--s3);padding:3px 0}.checklist-label{font-size:var(--text-sm);color:var(--ink)}.checklist-when{font-size:var(--text-xs);color:var(--ink-subtle);min-width:5.5em;text-align:right}.tri{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--bg)}.tri button{font-family:inherit;font-size:var(--text-xs);color:var(--ink-muted);background:transparent;border:0;border-right:1px solid var(--line);padding:4px var(--s2);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tri button:last-child{border-right:0}.tri button:hover{background:#0000000a;color:var(--ink)}.tri button[data-selected=true]{background:var(--accent-wash);color:var(--accent-ink);font-weight:500}.draft{margin:0;display:grid;grid-template-columns:minmax(0,auto) 1fr;gap:2px var(--s3);font-size:var(--text-sm)}.draft>div{display:contents}.draft dt{color:var(--ink-subtle);font-size:var(--text-xs)}.draft dd{margin:0;color:var(--ink)}.not-carried{margin:0;padding-left:var(--s4);font-size:var(--text-xs);color:var(--ink-muted);display:flex;flex-direction:column;gap:var(--s1)}.not-carried .mono{color:var(--ink)}.page-head{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg);border-bottom:1px solid var(--line);padding:var(--s5) var(--s5) var(--s3);display:flex;flex-direction:column;gap:var(--s3)}.page-title-row{display:flex;align-items:baseline;gap:var(--s3)}.page-title{margin:0;font-size:var(--text-lg);font-weight:700;letter-spacing:-.015em}.page-count{font-family:var(--mono);font-size:var(--text-base);color:var(--ink-subtle)}.page-actions{margin-left:auto;display:flex;gap:var(--s2)}.filters{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}.btn{font-family:inherit;font-size:var(--text-base);font-weight:500;line-height:1;height:32px;padding:0 var(--s3);border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:var(--s2);white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--ink)}.btn-primary:hover:not(:disabled){background:#cd6a49}.btn-secondary{background:var(--surface);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){background:#fff;border-color:var(--ink-subtle)}.btn-quiet{color:var(--ink-muted)}.btn-quiet:hover:not(:disabled){background:#0000000d;color:var(--ink)}.btn-danger{color:var(--red);border-color:var(--line-strong)}.btn-danger:hover:not(:disabled){background:var(--red-wash);border-color:var(--red)}.input,.select{font-family:inherit;font-size:var(--text-base);height:32px;padding:0 var(--s2);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);width:100%;min-width:0}textarea.input{height:auto;min-height:68px;padding:6px var(--s2);resize:vertical;line-height:1.5}.input::placeholder{color:var(--ink-subtle)}.input:hover,.select:hover{border-color:var(--ink-subtle)}.input:disabled{background:var(--sunken);color:var(--ink-subtle)}.select{appearance:none;padding-right:var(--s5);background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 9px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.filters .input,.filters .select{width:auto;min-width:150px}.search{min-width:260px}.table-wrap{flex:1;padding:0 var(--s5) var(--s7)}table{width:100%;border-collapse:collapse;font-size:var(--text-base)}thead th{position:sticky;top:0;text-align:left;font-size:var(--text-xs);font-weight:500;color:var(--ink-subtle);text-transform:none;letter-spacing:0;padding:var(--s3) var(--s3) var(--s2);border-bottom:1px solid var(--line-strong);background:var(--bg);white-space:nowrap}tbody tr{border-bottom:1px solid var(--line);cursor:pointer;transition:background var(--dur) var(--ease)}tbody tr:hover{background:#00000008}tbody tr[aria-selected=true]{background:var(--accent-wash)}tbody td{padding:0 var(--s3);height:34px;vertical-align:middle;color:var(--ink-muted)}tbody td.primary{color:var(--ink);font-weight:500}td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.dash{color:var(--ink-subtle)}.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.status-ok{color:var(--ok)}.status-warn{color:var(--amber)}.status-bad{color:var(--red)}.status-idle{color:var(--ink-subtle)}.empty{padding:var(--s7) var(--s5);max-width:46ch}.empty h2{margin:0 0 var(--s2);font-size:var(--text-md);font-weight:500}.empty p{margin:0 0 var(--s4);color:var(--ink-muted);text-wrap:pretty}.skeleton-row{height:34px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--s3);padding:0 var(--s3)}.skeleton-bar{height:8px;border-radius:2px;background:linear-gradient(90deg,var(--sunken),#f2f0e9,var(--sunken));background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.banner{margin:var(--s4) var(--s5) 0;padding:var(--s3) var(--s4);border-radius:var(--radius);border:1px solid var(--red);background:var(--red-wash);color:var(--ink);display:flex;gap:var(--s3);align-items:flex-start}.banner strong{color:var(--red);font-weight:500}.backdrop{position:fixed;inset:0;background:#1c1a173d;z-index:var(--z-backdrop);animation:fade var(--dur) var(--ease)}.drawer{position:fixed;inset:0 0 0 auto;width:min(480px,100vw);background:var(--surface);border-left:1px solid var(--line-strong);z-index:var(--z-drawer);display:flex;flex-direction:column;animation:slide-in var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}}.drawer-head{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--s3)}.drawer-head h2{margin:0;font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.drawer-head .btn{margin-left:auto}.drawer-body{flex:1;overflow:auto;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}.drawer-foot{padding:var(--s3) var(--s5);border-top:1px solid var(--line);display:flex;gap:var(--s2);align-items:center}.drawer-foot .spacer{margin-left:auto}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:var(--text-sm);color:var(--ink-muted);font-weight:500}.field .hint{font-size:var(--text-xs);color:var(--ink-subtle);text-wrap:pretty}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.checkbox{display:flex;align-items:center;gap:var(--s2);font-size:var(--text-base);color:var(--ink);cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--accent-ink);cursor:pointer}.fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--s3)}.fieldset>legend{font-size:var(--text-xs);color:var(--ink-subtle);padding:0 0 var(--s2);border-bottom:1px solid var(--line);width:100%;margin-bottom:var(--s1)}.gate{font-size:var(--text-sm);padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);color:var(--ink-muted);text-wrap:pretty}.chips{display:flex;flex-wrap:wrap;gap:var(--s1)}.chip{font-size:var(--text-xs);padding:2px var(--s2);border-radius:3px;background:var(--sunken);color:var(--ink-muted);border:1px solid var(--line)}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{flex-direction:row;align-items:center;gap:var(--s4);padding:var(--s2) var(--s3);border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.nav{flex-direction:row}.sidebar-foot{margin-top:0;margin-left:auto}.table-wrap{padding:0 var(--s3) var(--s6);overflow-x:auto}.page-head{padding:var(--s4) var(--s3) var(--s3)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.drawer,.backdrop{animation:none}}.settings-group{padding:var(--s5) 0 var(--s3);border-bottom:1px solid var(--line);max-width:80ch}.settings-group h2{margin:0 0 var(--s2);font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.settings-group>p{margin:0 0 var(--s4);color:var(--ink-muted);font-size:var(--text-sm);text-wrap:pretty}.setting{display:grid;grid-template-columns:1fr auto;gap:var(--s4);align-items:start;padding:var(--s2) 0}.setting-key{font-size:var(--text-sm);color:var(--ink);cursor:pointer}.setting-desc{margin:2px 0 0;font-size:var(--text-xs);color:var(--ink-subtle);text-wrap:pretty}.setting-control{display:flex;align-items:center;gap:var(--s2)}.setting-control .input{width:88px;text-align:right}.aging-panel{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2)}.aging-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s3);align-items:baseline;font-size:var(--text-sm);color:var(--ink-muted)}.aging-panel .hint{margin:0;padding-top:var(--s1);border-top:1px solid var(--line)}.history{display:flex;flex-direction:column;gap:2px}.history-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s3);align-items:baseline;font-size:var(--text-sm);color:var(--ink-muted);padding:3px 0;border-bottom:1px solid var(--line)}.history-row:last-child{border-bottom:0}.history-row strong{color:var(--ink);font-weight:500}.distribution{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line-strong);max-width:60ch}.distribution h2{margin:0 0 var(--s2);font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.distribution>p{margin:0 0 var(--s4);color:var(--ink-muted);font-size:var(--text-sm);text-wrap:pretty}.distribution-row{display:grid;grid-template-columns:18ch 1fr auto;gap:var(--s3);align-items:center;padding:3px 0;font-size:var(--text-sm)}.distribution-bar{height:8px;border-radius:2px;background:var(--accent);width:calc(var(--n) * 100%);min-width:3px}.drawer .fieldset .btn{align-self:flex-start}.round{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.round:last-child{border-bottom:0}.round-head{display:flex;align-items:baseline;gap:var(--s3);font-size:var(--text-sm);color:var(--ink-muted)}.round-head strong{color:var(--ink);font-weight:500}.round-flags{display:flex;gap:var(--s4)}.round-actions{display:flex;gap:var(--s2);align-items:center;padding-top:var(--s1)}.gp-summary{display:flex;flex-wrap:wrap;gap:var(--s7);padding:var(--s4) var(--s5) 0;align-items:flex-start}.gp-summary>div{display:flex;flex-direction:column;gap:2px}.gp-label{font-size:var(--text-xs);color:var(--ink-subtle)}.gp-figure{font-size:var(--text-xl);font-weight:500;letter-spacing:-.01em}.gp-note{font-size:var(--text-xs);color:var(--ink-subtle)}.gp-working{margin:0;display:grid;grid-template-columns:1fr auto;gap:2px var(--s4);font-size:var(--text-sm)}.gp-working>div{display:contents}.gp-working dt{color:var(--ink-muted)}.gp-working dd{margin:0;text-align:right;color:var(--ink)}.gp-working .gp-subtotal dt,.gp-working .gp-subtotal dd{border-top:1px solid var(--line);padding-top:3px;margin-top:2px}.gp-working .gp-total dt,.gp-working .gp-total dd{border-top:1px solid var(--line-strong);padding-top:4px;margin-top:3px;font-weight:500;color:var(--ink)}.week{padding:0 var(--s5) var(--s7);max-width:96ch}.week-section{padding-top:var(--s6)}.week-section-head{display:flex;align-items:baseline;gap:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--line-strong)}.week-section-head h2{margin:0;font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.week-section-head .mono{color:var(--ink-subtle);font-size:var(--text-sm)}.week-owner{margin-left:auto;font-size:var(--text-xs);color:var(--ink-subtle);text-align:right}.week-clear{margin:var(--s3) 0 0;font-size:var(--text-sm);color:var(--ink-subtle)}.week-rows{list-style:none;margin:0;padding:0}.week-rows li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--s4);padding:var(--s2) 0;border-bottom:1px solid var(--line);transition:background var(--dur) var(--ease)}.week-rows li:hover{background:#00000008}.week-row-main{display:flex;flex-direction:column;gap:1px;text-decoration:none;color:inherit;min-width:0;padding:2px 0}.week-title{font-size:var(--text-base);font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-detail{font-size:var(--text-xs);color:var(--ink-subtle)}.week-figure{font-size:var(--text-sm);white-space:nowrap}.week-threshold{color:var(--ink-subtle);font-weight:400}.week-action{min-width:12ch;display:flex;justify-content:flex-end}.health-figures{display:flex;flex-wrap:wrap;gap:var(--s6);padding:var(--s4) 0}.figure{display:flex;flex-direction:column}.figure-value{font-size:var(--text-xl);font-weight:500;letter-spacing:-.01em}.figure-label{font-size:var(--text-xs);color:var(--ink-subtle)}.health-gp{display:flex;flex-wrap:wrap;gap:var(--s6);padding:var(--s4) 0;border-top:1px solid var(--line);align-items:flex-start}.health-gp>div{display:flex;flex-direction:column;gap:2px}.health-gp-note{max-width:30ch}.health-breakdown{padding-top:var(--s4);border-top:1px solid var(--line);max-width:44ch}.health-breakdown h3{margin:0 0 var(--s2);font-size:var(--text-sm);font-weight:500}.health-row{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--text-sm);color:var(--ink-muted);padding:2px 0}.board-fit{width:100%;overflow-x:auto}.board-page{--paper: #ffffff;--page: #e9e7e1;--bd-ink: #15140f;--bd-ink2: #54503f;--bd-ink3: #6f6a59;--rule: #15140f;--hair: #c7c2b3;--band: #eeebe2;--teal: #23967b;--star5: #92d050;--star4: #91e2ff;--snf: #f5b74c;--late: #b02a22;--warn: #8a5a00;--good: #35704a;min-width:1000px;max-width:1500px;margin:0 auto;padding:16px 18px 46px;background:var(--page);color:var(--bd-ink);font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}.board-loading{padding:var(--s5)}.bd-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:12px}.bd-head h1{display:inline;margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em}.bd-date{margin-left:12px;font-size:12px;font-weight:500;color:var(--bd-ink3)}.bd-ctl{display:flex;gap:6px}.bd-ctl .select{width:auto;min-width:140px;height:auto;padding:4px 10px;font-size:12px}.bd-panel{background:var(--paper);border:2px solid var(--rule);margin-bottom:12px}.bd-title{margin:0;background:var(--bd-ink);color:#fff;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.bd-sub{padding:4px 8px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--rule);background:var(--band)}.bd-empty{margin:0;padding:14px 0;font-size:11.5px;color:var(--bd-ink3);text-align:center}.bd-week{display:grid;grid-template-columns:64px repeat(5,1fr) 4px 1.15fr}.bd-divider{background:var(--rule);grid-row:span 3}.bd-corner{background:var(--band);border-right:2px solid var(--rule);border-bottom:2px solid var(--rule)}.bd-wk{display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;background:var(--band);border-right:2px solid var(--rule);border-bottom:1px solid var(--hair)}.bd-cell{display:flex;flex-direction:column;gap:5px;padding:6px;min-height:96px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}.bd-cell.is-last{border-right:none}.bd-stack{display:flex;flex-direction:column;gap:5px;padding:6px;border-bottom:1px solid var(--hair)}.bd-stack-headed{padding:0}.bd-inhead{padding:4px 8px;text-align:center;background:var(--band);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-top:2px solid var(--rule);border-bottom:2px solid var(--rule)}.bd-inbody{display:flex;flex-direction:column;gap:5px;padding:6px}.bd-card{display:block;width:100%;background:#fefdfb;border:2.5px solid var(--bd-ink3);border-radius:4px;padding:5px 7px 6px;text-align:center;font:inherit;color:inherit;cursor:pointer}.bd-card:hover{box-shadow:0 2px 4px #00000029}.bd-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bd-card.is-uncoloured{border-style:dashed}.bd-client{display:inline-block;padding-bottom:1px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-bottom:1.5px solid currentColor}.bd-role{display:block;margin-top:2px;font-size:12px;font-weight:500;line-height:1.25}.bd-meta{display:block;margin-top:1px;font-size:10.5px;font-weight:500;color:var(--bd-ink2)}.bd-foot{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-top:4px;padding-top:3px;border-top:1px solid #e8e3d6;font-size:10px;font-weight:600}.bd-who{color:var(--bd-ink3)}.bd-days.t-ok{color:var(--good)}.bd-days.t-warn{color:var(--warn)}.bd-days.t-bad{color:var(--late)}.bd-flag{flex:1;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--late)}.bd-card.is-held{border-style:dashed;border-color:var(--late);background:#fff8f6}.bd-card.is-ghost{width:160px;opacity:.9}.is-dragging{opacity:.35}.bd-tri{display:grid;grid-template-columns:1fr 1fr 1fr}.bd-col{border-right:2px solid var(--rule)}.bd-col:last-child{border-right:none}.bd-seg{border-bottom:2px solid var(--rule)}.bd-seg:last-child{border-bottom:none}.bd-segbody{display:flex;flex-direction:column;gap:5px;padding:7px;min-height:74px}.bd-segbody.is-row{flex-direction:row;flex-wrap:wrap;align-content:flex-start}.bd-segbody.is-row>.bd-card{flex:1 1 46%;width:auto;min-width:130px}.bd-segbody .bd-empty{flex:1}.bd-people{display:grid}.bd-gap{background:var(--rule)}.bd-ph{background:var(--teal);color:#fff;padding:5px 8px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-right:1px solid rgb(255 255 255 / .28)}.bd-ph.is-corner{background:var(--bd-ink)}.bd-ph.is-empty{background:var(--band);color:var(--bd-ink3);font-weight:500;text-transform:none;letter-spacing:0}.bd-rl{display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 3px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-top:2px solid var(--rule);border-right:2px solid var(--rule)}.bd-rl.is-five{background:var(--star5)}.bd-rl.is-four{background:var(--star4)}.bd-rl.is-snf{background:var(--snf)}.bd-rl.is-opps{background:var(--band)}.bd-pc{display:flex;flex-direction:column;gap:5px;padding:6px;min-height:80px;border-top:2px solid var(--rule);border-right:1px solid var(--hair)}.bd-pc.is-over{background:var(--accent-wash)}.bd-ans{display:block;font-size:11.5px;line-height:1.45;color:var(--bd-ink2)}.bd-lb{display:block;margin-bottom:2px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bd-ink3)}.bd-line{display:block}.bd-yes{color:var(--good);font-weight:700}.bd-no{color:var(--late);font-weight:700}.bd-unknown{color:var(--bd-ink3);font-style:italic}.bd-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bd-list{padding:8px 11px 10px}.bd-lr{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px solid #f0ece0;font-size:12px}.bd-lr:last-child{border-bottom:none}.bd-pill{padding:1px 5px;font-size:9.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.bd-pill.is-a{background:#dcefd5;color:#2e5c22}.bd-pill.is-u{background:#f6e2dc;color:#8a3520}.bd-pill.is-c{background:#fbefd5;color:#75510f}.bd-st{font-size:10.5px;font-weight:600;color:var(--bd-ink3);white-space:nowrap}.board-page.is-meeting{font-size:16px}.board-page.is-meeting .bd-role{font-size:15px}.board-page.is-meeting .bd-client,.board-page.is-meeting .bd-meta{font-size:13px}.board-page.is-meeting .bd-ans,.board-page.is-meeting .bd-lr{font-size:14px}.board-page.is-meeting .bd-card{cursor:default}.build-stamp{padding:var(--s2) 0 var(--s3);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--ink-subtle);line-height:1.5}.build-label{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.build-when{color:var(--ink-subtle)}.build-note{margin-top:2px}.build-ok{color:var(--ok)}.build-stale{color:var(--red);font-weight:500}
