:root{--purple:#4b40da;--pink:#ff77b5;--yellow:#fed700;--cobalt:#013dff;--red:#fe0000;--teal:#04fe8a;--lime:#a0ed00;--studio-white:#ecebe7;--danger:var(--red);--warn:var(--yellow);--success:var(--teal);--info:var(--cobalt);--bg:var(--studio-white);--surface:#f6f5f2;--surface-2:#fff;--ink:#17161d;--ink-muted:#17161d9e;--ink-faint:#17161d66;--border:#17161d1f;--border-strong:#17161d38;--shadow:0 12px 32px #17161d1a;--accent:var(--purple);--accent-ink:#fff;--focus-ring:var(--cobalt);--font-display:"Plus Jakarta Sans", "Gilroy", "Segoe UI", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", "Gilroy", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#100e16;--surface:#17141f;--surface-2:#1d1a28;--ink:var(--studio-white);--ink-muted:#ecebe7a8;--ink-faint:#ecebe770;--border:#ecebe724;--border-strong:#ecebe742;--shadow:0 16px 40px #00000073;--accent:var(--pink);--accent-ink:#17161d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#100e16;--surface:#17141f;--surface-2:#1d1a28;--ink:var(--studio-white);--ink-muted:#ecebe7a8;--ink-faint:#ecebe770;--border:#ecebe724;--border-strong:#ecebe742;--shadow:0 16px 40px #00000073;--accent:var(--pink);--accent-ink:#17161d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}img{max-width:100%}button,input,select,textarea{color:inherit;font-family:inherit}a{color:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:800}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:600}.mono-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.scroll-x{overflow-x:auto}.btn{font-family:var(--font-display);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{box-shadow:var(--shadow)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{box-shadow:var(--shadow)}.btn-ghost{border-color:var(--border-strong);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--surface)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{border-color:var(--border-strong)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-muted);font-size:12px;font-weight:700}.input,.select,.textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);width:100%;padding:10px 12px;font-size:14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:90px;font-family:var(--font-body)}.chip{font-family:var(--font-display);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.chip-outline{border:1px solid var(--border-strong);color:var(--ink-muted)}.chip-purple{background:var(--purple);color:#fff}.chip-pink{background:var(--pink);color:#2a0a17}.chip-yellow{background:var(--yellow);color:#2a2100}.chip-cobalt{background:var(--cobalt);color:#fff}.chip-teal{background:var(--teal);color:#00301b}.chip-lime{background:var(--lime);color:#1e2900}.status-pill{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.status-todo{border-color:var(--border-strong);color:var(--ink-muted)}.status-in_progress{background:color-mix(in srgb, var(--cobalt) 16%, transparent);color:var(--cobalt)}.status-done{background:color-mix(in srgb, var(--teal) 22%, transparent);color:#037a45}.status-blocked{background:color-mix(in srgb, var(--red) 16%, transparent);color:var(--red)}.due-chip{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--ink-muted);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.due-overdue{border-color:var(--red);color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.due-soon{border-color:var(--yellow);color:#7a5f00;background:color-mix(in srgb, var(--yellow) 25%, transparent)}:root[data-theme=dark] .due-soon{color:var(--yellow)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .due-soon{color:var(--yellow)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.brand-logo{width:auto;height:1em;display:block}.brand-logo-dark,:root[data-theme=dark] .brand-logo-light{display:none}:root[data-theme=dark] .brand-logo-dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo-light{display:none}:root:not([data-theme=light]) .brand-logo-dark{display:block}}
