@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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 Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_83c931{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_83c931{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.p.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.p.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c3eafa{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_c3eafa{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--brand:oklch(0.83 0.14 193);--brand-cta:oklch(0.5 0.18 193);--brand-cta-hover:oklch(0.44 0.18 193);--brand-text:oklch(0.47 0.16 193);--amber:oklch(0.78 0.13 70);--amber-dark:oklch(0.55 0.15 70);--error:oklch(0.62 0.22 25);--success:oklch(0.65 0.17 145);--bg:oklch(1 0 0);--surface:oklch(0.97 0.002 193);--surface-2:oklch(0.94 0.003 193);--border:oklch(0.87 0.004 193);--ink:oklch(0.17 0.008 193);--ink-muted:oklch(0.48 0.004 193);--ink-dim:oklch(0.65 0.002 193);--accent-text:var(--brand-text);--pill-warn-bg:oklch(0.78 0.13 70/0.18);--pill-warn-ink:oklch(0.45 0.13 70);--pill-ok-bg:oklch(0.65 0.17 145/0.15);--pill-ok-ink:oklch(0.38 0.15 145);--pill-err-bg:oklch(0.62 0.22 25/0.12);--pill-err-ink:oklch(0.45 0.22 25);--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:8px;--shadow-pop:0 6px 20px oklch(0.17 0.008 193/0.12),0 1px 3px oklch(0.17 0.008 193/0.1);--font-sans:var(--font-plex-sans),system-ui,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,monospace;color-scheme:light}:root[data-theme=dark]{--bg:oklch(0.09 0 0);--surface:oklch(0.13 0.003 193);--surface-2:oklch(0.17 0.003 193);--border:oklch(0.22 0.005 193);--ink:oklch(0.94 0.004 193);--ink-muted:oklch(0.6 0.003 193);--ink-dim:oklch(0.45 0.003 193);--accent-text:var(--brand);--pill-warn-ink:oklch(0.82 0.12 70);--pill-ok-ink:oklch(0.8 0.15 145);--pill-err-ink:oklch(0.78 0.15 25);--shadow-pop:0 8px 24px oklch(0 0 0/0.55),0 1px 3px oklch(0 0 0/0.5);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:oklch(0.09 0 0);--surface:oklch(0.13 0.003 193);--surface-2:oklch(0.17 0.003 193);--border:oklch(0.22 0.005 193);--ink:oklch(0.94 0.004 193);--ink-muted:oklch(0.6 0.003 193);--ink-dim:oklch(0.45 0.003 193);--accent-text:var(--brand);--pill-warn-ink:oklch(0.82 0.12 70);--pill-ok-ink:oklch(0.8 0.15 145);--pill-err-ink:oklch(0.78 0.15 25);--shadow-pop:0 8px 24px oklch(0 0 0/0.55),0 1px 3px oklch(0 0 0/0.5);color-scheme:dark}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:.875rem;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:oklch(.83 .14 193/.35);color:var(--ink)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}a{color:var(--accent-text);text-underline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100dvh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:4px;padding:16px 12px;background:var(--surface);border-right:1px solid var(--border)}.brand-row{display:flex;align-items:center;gap:8px;padding:4px 8px 16px;font-weight:600;letter-spacing:-.02em}.brand-mark{width:22px;height:22px;border-radius:var(--r-sm);background:var(--brand-cta);color:#fff;display:grid;place-items:center}.ws-label{padding:0 8px 4px;font-size:.6875rem;color:var(--ink-dim)}.nav-link{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r-md);color:var(--ink-muted);text-decoration:none;font-weight:500}.nav-link svg{color:var(--ink-dim)}.nav-link:hover{background:var(--surface-2)}.nav-link[aria-current=page]{background:var(--bg);color:var(--accent-text)}.nav-link[aria-current=page] svg{color:var(--accent-text)}.nav-count{margin-left:auto;font-size:.6875rem;color:var(--ink-dim)}.side-foot{margin-top:auto;display:grid;grid-gap:8px;gap:8px;padding:8px;font-size:.75rem;color:var(--ink-muted)}.demo-note{border:1px dashed var(--border);border-radius:var(--r-md);padding:8px;line-height:1.4}.main{min-width:0;padding:24px 32px 96px}.page{max-width:1040px;margin:0 auto}.page-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:600;letter-spacing:-.02em}.page-head .spacer{flex:1 1}.btn{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 12px;border:1px solid transparent;border-radius:var(--r-md);background:none;font-weight:500;font-size:.8125rem;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand-cta);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-cta-hover)}.btn-outline{border-color:var(--border);color:var(--ink)}.btn-outline:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-danger{background:var(--error);color:#fff}.btn-sm{min-height:26px;padding:2px 8px;font-size:.75rem}.icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--r-md);background:none;color:var(--ink-muted);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.limit{align-items:center;gap:8px;padding:3px 10px;border:1px solid var(--border);border-radius:var(--r-md);font-size:.8125rem;color:var(--ink-muted)}.limit,.limit-dots{display:inline-flex}.limit-dots{gap:3px}.limit-dots i{width:8px;height:8px;border-radius:50%;border:1px solid var(--ink-dim)}.limit-dots i.on{background:var(--ink);border-color:var(--ink)}.limit.over{border-color:var(--error);color:var(--pill-err-ink)}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:var(--r-xs);font-size:.6875rem;font-weight:500;letter-spacing:.02em;background:var(--surface-2);color:var(--ink-muted);white-space:nowrap}.pill-work{background:var(--pill-ok-bg);color:var(--pill-ok-ink)}.pill-wait{background:var(--pill-warn-bg);color:var(--pill-warn-ink)}.pill-err{background:var(--pill-err-bg);color:var(--pill-err-ink)}.due{margin-bottom:24px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.due-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);font-weight:600}.due-head svg{color:var(--pill-warn-ink)}.due-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 16px;gap:8px 16px;align-items:center;padding:10px 14px}.due-item+.due-item{border-top:1px solid var(--border)}.due-item .t{font-weight:500}.due-actions{gap:6px;flex-wrap:wrap}.due-actions,.section-title{display:flex;align-items:center}.section-title{gap:8px;margin:28px 0 8px;font-size:.75rem;font-weight:600;color:var(--ink-muted)}.section-title .n{font-weight:400;color:var(--ink-dim)}.tree{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg)}.tree>.node+.node{border-top:1px solid var(--border)}.row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,1fr) 156px auto;grid-gap:8px 16px;gap:8px 16px;align-items:start;padding:12px 14px}.row.child{position:relative;padding-left:40px;background:var(--surface)}.row.child:before{content:"";position:absolute;left:22px;top:0;bottom:50%;width:10px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-left-radius:4px}.row-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.row-title .name{font-weight:600;font-size:.9375rem}.row-sub{margin-top:2px;color:var(--ink-muted);font-size:.8125rem}.row-sub .mono{color:var(--ink)}.caption{color:var(--ink-dim)}.caption,.kind{font-size:.6875rem}.hint-row,.kind{color:var(--ink-muted)}.hint-row{margin-top:4px;font-size:.8125rem}.link-btn{padding:0;border:0;background:none;color:var(--accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:inherit}.measure{display:grid;grid-gap:5px;gap:5px}.measure-val{display:flex;align-items:baseline;gap:5px;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.measure-val b{font-size:.9375rem;font-weight:500}.measure-val span{color:var(--ink-muted);font-size:.75rem}.track{position:relative;height:4px;border-radius:2px;background:var(--surface-2)}.child .track,.due .track{background:var(--border)}.track-fill{position:absolute;top:0;bottom:0;left:0;border-radius:2px;background:var(--brand-cta)}.track-tick{position:absolute;top:-2px;width:2px;height:8px;margin-left:-1px;border-radius:1px;background:var(--ink-dim)}.track-tick.hit{background:var(--ink)}.track-ends{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-dim)}.value-form{display:flex;gap:4px}.value-form input{width:72px;min-width:0}.check{display:grid;grid-gap:2px;gap:2px;font-size:.8125rem}.check .lbl{font-size:.6875rem;color:var(--ink-dim)}.check .v{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.check .v.today{color:var(--pill-warn-ink);font-weight:500}.check .v.overdue{color:var(--pill-err-ink);font-weight:500}.row-actions{display:flex;align-items:center;gap:2px;justify-self:end}.menu{position:relative}.menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:180px;padding:4px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-pop)}.menu-pop button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:var(--r-sm);background:none;text-align:left;cursor:pointer}.menu-pop button:hover{background:var(--surface-2)}.menu-pop svg{color:var(--ink-muted)}.panel{grid-column:1/-1;display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg)}.row.child .panel{margin-left:-8px}.panel h3{font-size:.875rem;font-weight:600}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr auto;grid-gap:10px 12px;gap:10px 12px;align-items:end}.field{display:grid;grid-gap:4px;gap:4px}.field .lab,.field label{font-size:.75rem;font-weight:500;color:var(--ink-muted)}.req{color:var(--pill-err-ink)}input[type=date],input[type=number],input[type=text],select,textarea{width:100%;min-height:32px;padding:5px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}textarea{resize:vertical;line-height:1.45}input::placeholder,textarea::placeholder{color:var(--ink-dim)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px oklch(.83 .14 193/.25)}input[type=date]{font-family:var(--font-mono);min-width:140px}.radio-row{display:flex;gap:6px;flex-wrap:wrap}.chip-radio{position:relative}.chip-radio input{position:absolute;opacity:0;inset:0;cursor:pointer}.chip-radio span{display:inline-block;padding:4px 11px;border:1px solid var(--border);border-radius:var(--r-md);font-size:.8125rem}.chip-radio input:checked+span{border-color:var(--brand-cta);background:oklch(.83 .14 193/.12);color:var(--ink);font-weight:500}.chip-radio input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}.err-text{font-size:.75rem;color:var(--pill-err-ink)}.warn-box{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--amber);border-radius:var(--r-md);background:var(--pill-warn-bg)}.warn-box .line{flex-wrap:wrap}.warn-box .line,details.later>summary{display:flex;align-items:center;gap:8px}details.later>summary{cursor:pointer;list-style:none;margin:28px 0 8px;font-size:.75rem;font-weight:600;color:var(--ink-muted)}details.later>summary::-webkit-details-marker{display:none}details.later[open] summary svg{transform:rotate(90deg)}details.later summary svg{transition:transform .15s cubic-bezier(.16,1,.3,1)}.toast{position:fixed;left:256px;bottom:20px;z-index:50;display:flex;align-items:center;gap:12px;padding:9px 12px 9px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--shadow-pop);animation:toast-in .25s cubic-bezier(.16,1,.3,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.new-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.card,.chat{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg)}.chat{display:flex;flex-direction:column;min-height:520px;max-height:calc(100dvh - 140px)}.chat-log{flex:1 1;overflow-y:auto;display:grid;align-content:start;grid-gap:10px;gap:10px;padding:14px}.msg{max-width:86%;padding:8px 11px;border-radius:var(--r-lg);line-height:1.45}.msg.ai{background:var(--surface);border:1px solid var(--border)}.msg.me{justify-self:end;background:var(--surface-2)}.msg .who{display:block;margin-bottom:2px;font-size:.6875rem;color:var(--ink-dim)}.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border)}.chat-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}.card{display:grid;grid-gap:14px;gap:14px;padding:16px}.card h2{font-size:1rem;font-weight:600}.card .two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.ai-note{font-size:.75rem;color:var(--ink-muted)}.disclosure{display:grid;grid-gap:10px;gap:10px}.disclosure-btn{gap:6px;width:-moz-fit-content;width:fit-content;padding:0;border:0;background:none;color:var(--accent-text);font-size:.8125rem}.disclosure-btn,.switch{display:inline-flex;align-items:center;cursor:pointer}.switch{gap:8px}.switch input{width:16px;height:16px;accent-color:var(--brand-cta)}.card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:4px;padding-top:14px}.review-grid{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.steps{display:grid;grid-gap:2px;gap:2px;margin:0;padding:0;list-style:none}.steps button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-md);background:none;text-align:left;cursor:pointer;color:var(--ink-muted)}.steps button:hover{background:var(--surface-2)}.steps button[aria-current=step]{background:var(--surface);color:var(--ink);font-weight:600}.steps .num{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--border);border-radius:50%;font-family:var(--font-mono);font-size:.6875rem}.steps .done .num{background:var(--brand-cta);border-color:var(--brand-cta);color:#fff}.step-body{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--border);border-radius:var(--r-lg)}.step-body h2{font-size:1.0625rem;font-weight:600}.list-line{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 14px;gap:8px 14px;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.list-line:first-of-type{border-top:0}.step-nav{display:flex;justify-content:space-between;gap:8px}.empty{display:grid;grid-gap:6px;gap:6px;justify-items:start;padding:16px;border:1px dashed var(--border);border-radius:var(--r-lg);color:var(--ink-muted)}.empty b{color:var(--ink)}.stat-line{display:flex;gap:24px;flex-wrap:wrap}.stat-line div{display:grid;grid-gap:2px;gap:2px}.stat-line .mono{font-size:1.25rem;font-weight:500}.portrait-item{display:grid;grid-gap:8px;gap:8px;padding:14px;border:1px solid var(--border);border-radius:var(--r-lg)}.portrait-item+.portrait-item{margin-top:8px}.portrait-item .src{font-size:.75rem;color:var(--ink-muted)}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.suggest{display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding:14px;border:1px solid var(--brand);border-radius:var(--r-lg);background:var(--surface)}@media (max-width:900px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;padding:8px 12px;border-right:0;border-bottom:1px solid var(--border)}.brand-row{padding:4px 8px}.demo-note,.ws-label{display:none}.side-foot{margin:0 0 0 auto;padding:0}.main{padding:16px 16px 96px}.toast{left:16px;right:16px}.row{grid-template-columns:minmax(0,1fr) auto}.row>.check,.row>.measure{grid-column:1/2}.row>.row-actions{grid-column:2/3;grid-row:1}.new-grid,.review-grid{grid-template-columns:minmax(0,1fr)}.chat{min-height:360px;max-height:none}.due-item{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.gate{display:grid;grid-gap:12px;gap:12px;place-content:center;justify-items:center;min-height:100dvh;padding:16px;text-align:center;color:var(--ink-muted)}