@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.border{border-width:1px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--canvas:oklch(0.978 0 0);--surface:oklch(0.995 0 0);--surface-2:oklch(0.958 0 0);--surface-3:oklch(0.935 0 0);--line:oklch(0.905 0 0);--line-soft:oklch(0.938 0 0);--fg:oklch(0.215 0 0);--fg-muted:oklch(0.47 0 0);--fg-subtle:oklch(0.565 0 0);--accent:oklch(0.205 0 0);--accent-hover:oklch(0.325 0 0);--accent-fg:oklch(1 0 0);--accent-text:oklch(0.265 0 0);--accent-wash:oklch(0.945 0 0);--accent-wash-strong:oklch(0.9 0 0);--accent-edge:oklch(0.8 0 0);--accent-ring:oklch(0.205 0 0/0.22);--st-todo:oklch(0.72 0 0);--st-doing:oklch(0.46 0 0);--st-done:oklch(0.205 0 0);--danger:oklch(0.30 0 0);--danger-text:oklch(0.25 0 0);--danger-wash:oklch(0.93 0 0);--danger-edge:oklch(0.72 0 0);--t-micro:0.6875rem;--t-meta:0.75rem;--t-sm:0.8125rem;--t-base:0.875rem;--t-md:1rem;--t-lg:1.25rem;--t-xl:1.625rem;--t-display:2.125rem;--font-ui:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:56px;--r-sm:6px;--r-md:10px;--r-lg:14px;--shadow-sm:0 1px 2px oklch(0.3 0 0/0.06),0 1px 1px oklch(0.3 0 0/0.04);--shadow-md:0 2px 4px oklch(0.3 0 0/0.06),0 6px 16px oklch(0.3 0 0/0.08);--shadow-lg:0 12px 20px oklch(0.3 0 0/0.1),0 32px 56px oklch(0.3 0 0/0.14);--dur-fast:120ms;--dur:180ms;--dur-slow:220ms;--ease:cubic-bezier(0.22,1,0.36,1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:oklch(0.165 0 0);--surface:oklch(0.205 0 0);--surface-2:oklch(0.245 0 0);--surface-3:oklch(0.285 0 0);--line:oklch(0.295 0 0);--line-soft:oklch(0.255 0 0);--fg:oklch(0.962 0 0);--fg-muted:oklch(0.725 0 0);--fg-subtle:oklch(0.605 0 0);--accent:oklch(0.97 0 0);--accent-hover:oklch(0.86 0 0);--accent-fg:oklch(0.155 0 0);--accent-text:oklch(0.95 0 0);--accent-wash:oklch(0.285 0 0);--accent-wash-strong:oklch(0.345 0 0);--accent-edge:oklch(0.43 0 0);--accent-ring:oklch(0.97 0 0/0.32);--st-todo:oklch(0.50 0 0);--st-doing:oklch(0.72 0 0);--st-done:oklch(0.97 0 0);--danger:oklch(0.80 0 0);--danger-text:oklch(0.86 0 0);--danger-wash:oklch(0.30 0 0);--danger-edge:oklch(0.48 0 0);--shadow-sm:0 1px 2px oklch(0 0 0/0.3);--shadow-md:0 2px 6px oklch(0 0 0/0.35);--shadow-lg:0 16px 48px oklch(0 0 0/0.55);color-scheme:dark}}:root[data-theme=dark]{--canvas:oklch(0.165 0 0);--surface:oklch(0.205 0 0);--surface-2:oklch(0.245 0 0);--surface-3:oklch(0.285 0 0);--line:oklch(0.295 0 0);--line-soft:oklch(0.255 0 0);--fg:oklch(0.962 0 0);--fg-muted:oklch(0.725 0 0);--fg-subtle:oklch(0.605 0 0);--accent:oklch(0.97 0 0);--accent-hover:oklch(0.86 0 0);--accent-fg:oklch(0.155 0 0);--accent-text:oklch(0.95 0 0);--accent-wash:oklch(0.285 0 0);--accent-wash-strong:oklch(0.345 0 0);--accent-edge:oklch(0.43 0 0);--accent-ring:oklch(0.97 0 0/0.32);--st-todo:oklch(0.50 0 0);--st-doing:oklch(0.72 0 0);--st-done:oklch(0.97 0 0);--danger:oklch(0.80 0 0);--danger-text:oklch(0.86 0 0);--danger-wash:oklch(0.30 0 0);--danger-edge:oklch(0.48 0 0);--shadow-sm:0 1px 2px oklch(0 0 0/0.3);--shadow-md:0 2px 6px oklch(0 0 0/0.35);--shadow-lg:0 16px 48px oklch(0 0 0/0.55);color-scheme:dark}body,html{height:100%}body{background:var(--canvas);color:var(--fg);font-family:var(--font-ui);font-size:var(--t-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.space-root{min-height:100vh;display:flex;flex-direction:column}::-moz-selection{background:var(--accent-wash-strong);color:var(--fg)}::selection{background:var(--accent-wash-strong);color:var(--fg)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.eyebrow{font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.page-title{font-size:var(--t-xl);font-weight:640;letter-spacing:-.018em;line-height:1.2}.section-title{font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.lede,.section-title{color:var(--fg-muted)}.lede{font-size:var(--t-base);max-width:68ch}.meta{font-size:var(--t-meta);color:var(--fg-muted)}.nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.text-muted{color:var(--fg-muted)}.text-subtle{color:var(--fg-subtle)}.text-accent{color:var(--accent-text)}.text-danger{color:var(--danger-text)}.wordmark{font-family:var(--font-mono);font-weight:700;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border-radius:var(--r-sm);border:1px solid transparent;font-family:inherit;font-size:var(--t-sm);font-weight:550;line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{height:28px;padding:0 var(--s-2);font-size:var(--t-meta)}.btn-lg{height:40px;padding:0 var(--s-5);font-size:var(--t-base)}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:active:not(:disabled){transform:translateY(.5px)}.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--fg)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--fg-subtle)}.btn-ghost{background:transparent;color:var(--fg-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}.btn-danger{background:var(--surface);border-color:var(--danger-edge);color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger-wash)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--fg-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.input,.select,.textarea{width:100%;height:32px;padding:0 var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--fg);font-family:inherit;font-size:var(--t-base);outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--fg-subtle)}.input::placeholder,.textarea::placeholder{color:var(--fg-subtle)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.textarea{height:auto;min-height:92px;padding:var(--s-2) var(--s-3);line-height:1.55;resize:vertical}.textarea-sm{min-height:64px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--s-6);background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer}.field{margin-bottom:var(--s-4)}.field-label{display:block;margin-bottom:var(--s-2);font-weight:550}.field-hint,.field-label{font-size:var(--t-meta);color:var(--fg-muted)}.field-hint{margin-top:var(--s-2)}.form-error{display:flex;align-items:flex-start;gap:var(--s-2);margin-bottom:var(--s-4);padding:var(--s-2) var(--s-3);background:var(--danger-wash);border:1px solid var(--danger-edge);border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--danger-text)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--fg-subtle);font-family:var(--font-ui);font-size:10px;font-weight:550}.app-shell{flex:1;display:flex;min-height:0}.sidebar{position:sticky;top:0;height:100vh;width:232px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-3);background:var(--surface);border-right:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2) var(--s-4);font-size:var(--t-base)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;margin-top:var(--s-4)}.side-link{position:relative;display:flex;align-items:center;gap:var(--s-3);height:32px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--fg-muted);font-size:var(--t-base);font-weight:500;text-decoration:none;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.side-link:hover{background:var(--surface-2);color:var(--fg)}.side-link-active{background:var(--accent-wash);color:var(--accent-text);font-weight:550}.side-link svg{flex-shrink:0}.sidebar-spacer{flex:1}.sidebar-foot{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);margin-top:var(--s-2);border-top:1px solid var(--line-soft);padding-top:var(--s-3)}.sidebar-user{flex:1;min-width:0;font-size:var(--t-sm);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{flex:1;min-width:0;overflow-y:auto;background:var(--canvas)}.page{max-width:1240px;padding:var(--s-8) var(--s-8) var(--s-12)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-8)}.section{margin-top:var(--s-10)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.search,.search-field{position:relative}.search-field{display:flex;align-items:center}.search-icon{position:absolute;left:var(--s-2);color:var(--fg-subtle);pointer-events:none}.search-input{width:100%;height:32px;padding:0 34px 0 30px;background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-sm);color:var(--fg);font-family:inherit;font-size:var(--t-sm);outline:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.search-input::-moz-placeholder{color:var(--fg-subtle)}.search-input::placeholder{color:var(--fg-subtle)}.search-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-kbd{position:absolute;right:var(--s-2);pointer-events:none}.search-input:focus~.search-kbd{opacity:0}.search-results{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:340px;overflow-y:auto;padding:var(--s-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:pop var(--dur) var(--ease)}.search-empty{padding:var(--s-3);font-size:var(--t-sm);color:var(--fg-muted)}.search-result{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2);border:none;border-radius:var(--r-sm);background:transparent;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.search-result-active{background:var(--accent-wash)}.search-kind{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:var(--surface-2);color:var(--fg-muted)}.search-result-active .search-kind{background:var(--surface);color:var(--accent-text)}.search-result-text{min-width:0;flex:1}.search-result-label{font-size:var(--t-sm);font-weight:500}.search-result-label,.search-result-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-sub{font-size:var(--t-micro);color:var(--fg-muted)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dot{display:inline-block;flex-shrink:0;width:9px;height:9px;border-radius:50%;box-sizing:border-box}.dot-todo{border:1.5px solid var(--st-todo)}.dot-doing{border:1.5px solid var(--st-doing);background:linear-gradient(90deg,var(--st-doing) 50%,transparent 50%)}.dot-done{background:var(--st-done);border:1.5px solid var(--st-done)}.dot-overdue{background:var(--danger);border:1.5px solid var(--danger)}.count-group{gap:var(--s-3);font-size:var(--t-meta);color:var(--fg-muted)}.count-group,.count-item{display:inline-flex;align-items:center}.count-item{gap:5px}.progress-track{position:relative;height:5px;border-radius:999px;overflow:hidden;background:var(--surface-3)}.progress-layer{position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--v,0));transition:transform var(--dur-slow) var(--ease)}.progress-layer-done{background:var(--st-done)}.progress-layer-doing{background:var(--st-doing)}.progress-layer-todo{background:var(--st-todo);opacity:.45}.due-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;height:20px;padding:0 var(--s-2);border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg-muted);font-size:var(--t-micro);font-variant-numeric:tabular-nums;white-space:nowrap}.due-chip-overdue{border-color:var(--danger-edge);background:var(--danger-wash);color:var(--danger-text);font-weight:550}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg-muted);font-size:var(--t-micro);white-space:nowrap;text-decoration:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}a.chip:hover,button.chip:hover{border-color:var(--accent-edge);color:var(--fg)}.chip-selected{background:var(--accent-wash);border-color:var(--accent-edge);color:var(--accent-text);font-weight:550}.chip-button{cursor:pointer;height:26px;font-size:var(--t-meta)}.badge-archived{display:inline-flex;height:18px;padding:0 6px;border-radius:4px;font-size:var(--t-micro);font-weight:550;letter-spacing:.02em;white-space:nowrap}.avatar,.badge-archived{align-items:center;background:var(--surface-3);color:var(--fg-muted)}.avatar{display:flex;justify-content:center;flex-shrink:0;border-radius:50%;font-family:var(--font-mono);font-weight:600;letter-spacing:-.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-pad{padding:var(--s-5)}.row-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.row{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);background:transparent;border:none;border-bottom:1px solid var(--line-soft);color:inherit;font:inherit;text-align:left;text-decoration:none;transition:background var(--dur-fast) var(--ease)}.row:last-child{border-bottom:none}a.row,button.row{cursor:pointer}a.row:hover,button.row:hover{background:var(--surface-2)}.row-title{font-size:var(--t-base);font-weight:500}.row-sub,.row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:var(--t-meta)}.row-icon,.row-sub{color:var(--fg-muted)}.row-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--r-sm);background:var(--surface-2)}.empty{padding:var(--s-8) var(--s-5);border:1px dashed var(--line);border-radius:var(--r-md);background:var(--surface);text-align:center}.empty-title{font-size:var(--t-base);font-weight:550;margin-bottom:var(--s-1)}.empty-body{max-width:46ch;margin:0 auto}.empty-body,.empty-inline{font-size:var(--t-sm);color:var(--fg-muted)}.empty-inline{padding:var(--s-5);text-align:center}.archived{opacity:.6}.stat-strip{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.stat-chip{flex:1 1 120px;padding:var(--s-4) var(--s-5);border-right:1px solid var(--line-soft)}.stat-chip:last-child{border-right:none}.stat-value{font-size:var(--t-display);font-weight:620;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.stat-label{margin-top:2px;font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.stat-chip-alert{background:var(--danger-wash)}.stat-chip-alert .stat-label,.stat-chip-alert .stat-value{color:var(--danger-text)}.quick-add{display:flex;gap:var(--s-2);flex-wrap:wrap}.quick-add .input{flex:1 1 260px}.quick-add .select{flex:0 1 240px}.attention{border:1px solid var(--danger-edge);border-radius:var(--r-md);overflow:hidden}.attention-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--danger-wash);border-bottom:1px solid var(--danger-edge);color:var(--danger-text);font-size:var(--t-micro);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.attention .row-group{border:none;border-radius:0}.late-chip{flex-shrink:0;font-size:var(--t-micro);font-weight:550;color:var(--danger-text);font-variant-numeric:tabular-nums;white-space:nowrap}.progress-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--s-6);align-items:start}.progress-row{display:block;width:100%;padding:var(--s-3) var(--s-4);border:none;border-bottom:1px solid var(--line-soft);background:transparent;color:inherit;text-align:left;text-decoration:none;transition:background var(--dur-fast) var(--ease)}.progress-row:last-child{border-bottom:none}a.progress-row:hover{background:var(--surface-2)}.progress-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-2)}.progress-row-name{font-size:var(--t-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-pct{flex-shrink:0;font-size:var(--t-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg-muted)}.progress-row-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-2)}.plan-block{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.plan-head{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line-soft)}.plan-head,.plan-head-link{display:flex;align-items:center;gap:var(--s-3)}.plan-head-link{flex:1;min-width:0;text-decoration:none;color:inherit}.plan-name{font-size:var(--t-md);font-weight:600;letter-spacing:-.011em}.plan-timeframe{font-size:var(--t-meta);color:var(--fg-muted);font-variant-numeric:tabular-nums}.plan-drop{display:flex;flex-direction:column;padding:var(--s-2);gap:2px;min-height:56px;transition:background var(--dur) var(--ease)}.plan-drop-over{background:var(--accent-wash)}.project-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-2) var(--s-2) 0;border-radius:var(--r-sm);background:transparent;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.project-row:hover{background:var(--surface-2)}.project-row-dragging{opacity:.3}.project-row-overlay{background:var(--surface);border:1px solid var(--accent-edge);box-shadow:var(--shadow-lg);padding-left:var(--s-2);cursor:grabbing}.project-link{display:flex;align-items:center;gap:var(--s-3);flex:1;min-width:0;color:inherit;text-decoration:none}.project-name{font-size:var(--t-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grip{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:26px;border:none;background:transparent;color:var(--fg-subtle);cursor:grab;opacity:0;touch-action:none;transition:opacity var(--dur-fast) var(--ease)}.grip:active{cursor:grabbing}.grip:focus-visible,.project-row:focus-within .grip,.project-row:hover .grip,.task-card:focus-within .grip,.task-card:hover .grip{opacity:1}.drop-hint{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px dashed var(--line);border-radius:var(--r-sm);color:var(--fg-muted);font-size:var(--t-sm);text-align:center}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:var(--s-3)}.project-card{display:block;padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:inherit;text-decoration:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.project-card:hover{border-color:var(--accent-edge);box-shadow:var(--shadow-md);transform:translateY(-1px)}.owner-tag{display:inline-flex;align-items:center;gap:var(--s-2);height:28px;padding:0 var(--s-3) 0 var(--s-1);border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg-muted);font-size:var(--t-meta);white-space:nowrap}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4);align-items:start}.kanban-col{display:flex;flex-direction:column;min-height:140px;padding:var(--s-2);border:1px solid transparent;border-radius:var(--r-md);background:var(--surface-2);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.kanban-col-over{background:var(--accent-wash);border-color:var(--accent-edge)}.kanban-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2) var(--s-3);font-size:var(--t-meta);font-weight:600;color:var(--fg-muted)}.kanban-count{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--fg-subtle)}.kanban-list{display:flex;flex-direction:column;gap:var(--s-2)}.task-card{width:100%;padding:var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.task-card:hover{border-color:var(--accent-edge);box-shadow:var(--shadow-md)}.task-card-dragging{opacity:.3}.task-card-overlay{cursor:grabbing;border-color:var(--accent-edge);box-shadow:var(--shadow-lg);transform:rotate(-1deg)}.task-title{font-size:var(--t-sm);font-weight:500;line-height:1.45}.task-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-top:var(--s-3)}.task-updated{font-size:var(--t-micro);color:var(--fg-subtle)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--s-5);background:oklch(.18 0 0/.5);animation:fade var(--dur) var(--ease)}.modal{display:flex;flex-direction:column;width:480px;max-width:100%;max-height:88vh;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:rise var(--dur-slow) var(--ease)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-4)}.modal-title{font-size:var(--t-md);font-weight:600;letter-spacing:-.011em}.modal-body{flex:1;overflow-y:auto;padding:0 var(--s-5)}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-4) var(--s-5);margin-top:var(--s-2);border-top:1px solid var(--line-soft);background:var(--surface);border-radius:0 0 var(--r-lg) var(--r-lg)}.confirm{padding:var(--s-3);margin-bottom:var(--s-4);background:var(--danger-wash);border:1px solid var(--danger-edge);border-radius:var(--r-sm);font-size:var(--t-sm)}.pick-row{display:flex;gap:var(--s-2);flex-wrap:wrap}.pick-avatar{display:flex;align-items:center;justify-content:center;padding:2px;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.pick-avatar:hover{border-color:var(--line)}.pick-avatar-active{border-color:var(--accent)}.pick-status{display:inline-flex;align-items:center;gap:var(--s-2);height:32px;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--fg-muted);font-family:inherit;font-size:var(--t-sm);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pick-status:hover{border-color:var(--fg-subtle);color:var(--fg)}.pick-status-active{border-color:var(--accent);background:var(--accent-wash);color:var(--fg);font-weight:550}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.crumbs{display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap;font-size:var(--t-meta);margin-bottom:var(--s-4)}.crumb,.crumbs{color:var(--fg-muted)}.crumb{text-decoration:none;padding:2px 4px;border-radius:4px;transition:color var(--dur-fast) var(--ease)}a.crumb:hover{color:var(--fg);background:var(--surface-2)}.crumb-current{color:var(--fg);font-weight:550}.crumb-sep{color:var(--fg-subtle);flex-shrink:0}.auth{flex:1;display:flex;align-items:center;justify-content:center}.auth,.auth-card{padding:var(--s-8)}.auth-card{width:380px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.user-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2)}.user-tile{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.user-tile:hover{border-color:var(--fg-subtle)}.user-tile-active{border-color:var(--accent);background:var(--accent-wash)}.user-tile-name{font-size:var(--t-micro);font-weight:550;color:var(--fg-muted)}.user-tile-active .user-tile-name{color:var(--accent-text)}.landing{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--s-12) var(--s-6)}.landing-inner{max-width:520px}.landing-mark{font-family:var(--font-mono);font-size:2.75rem;font-weight:700;letter-spacing:.02em;line-height:1}.landing-lede{font-size:var(--t-lg);font-weight:450;color:var(--fg-muted);letter-spacing:-.011em}@media (max-width:1000px){.kanban{grid-template-columns:1fr}}@media (max-width:860px){.sidebar{width:76px;padding:var(--s-4) var(--s-2)}.side-link span,.sidebar .search,.sidebar-user,.sidebar-word{display:none}.side-link{justify-content:center;padding:0}.sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-foot{justify-content:center;flex-wrap:wrap}.page{padding:var(--s-6) var(--s-5) var(--s-10)}.stat-chip{flex-basis:50%;border-bottom:1px solid var(--line-soft)}}@media (max-width:560px){.user-grid{grid-template-columns:repeat(2,1fr)}.page-head{margin-bottom:var(--s-6)}}@media (min-width:640px){.sm\:inline{display:inline}}