:root{--bg:#eaeef3;--surface:#fff;--surface-2:#f3f6fa;--ink:#141b26;--ink-2:#54606f;--ink-3:#8794a4;--border:#dbe2ea;--border-2:#e8edf3;--accent:#2f5fff;--accent-ink:#1e40d8;--track:#e6ebf1;--s-done:#12a150;--s-rt:#0e93a3;--s-ip:#dd8a1f;--s-wait:#7b5cff;--s-block:#e04338;--s-todo:#8a95a3;--s-qa:#d1495b;--shadow:0 1px 2px rgba(20,27,38,.04),0 8px 24px -12px rgba(20,27,38,.14);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1017;--surface:#151d28;--surface-2:#1a2430;--ink:#e8eef6;--ink-2:#a2afbf;--ink-3:#6b7887;--border:#263140;--border-2:#202a37;--accent:#5b82ff;--accent-ink:#8aa4ff;--track:#232f3d;--s-done:#2bbd6b;--s-rt:#2bb6c6;--s-ip:#eda033;--s-wait:#9a80ff;--s-block:#f0645a;--s-todo:#7f8c9b;--s-qa:#e06174;--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 30px -14px rgba(0,0,0,.6);color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1017;--surface:#151d28;--surface-2:#1a2430;--ink:#e8eef6;--ink-2:#a2afbf;--ink-3:#6b7887;--border:#263140;--border-2:#202a37;--accent:#5b82ff;--accent-ink:#8aa4ff;--track:#232f3d;--s-done:#2bbd6b;--s-rt:#2bb6c6;--s-ip:#eda033;--s-wait:#9a80ff;--s-block:#f0645a;--s-todo:#7f8c9b;--s-qa:#e06174;--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 30px -14px rgba(0,0,0,.6);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Sans Thai,IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.disp{font-family:Archivo,IBM Plex Sans Thai,sans-serif;letter-spacing:-.01em}.wrap{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}.topbar-in{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px}.logo{font-family:Archivo,sans-serif;font-weight:800;letter-spacing:-.02em;font-size:18px}.logo span{color:var(--accent-ink)}.spacer{flex:1 1}.who{font-size:13px;color:var(--ink-2)}.who b{font-weight:600}.btn,.who b{color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-decoration:none;transition:.12s}.btn:hover{color:var(--accent-ink)}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.06);color:#fff}.btn.ghost{background:transparent}.btn.danger:hover{border-color:var(--s-block);color:var(--s-block)}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:18px}.stack{display:flex;height:14px;border-radius:8px;overflow:hidden;background:var(--track);border:1px solid var(--border-2)}.stack>span{display:block;height:100%}.pill{font-size:10.5px;font-weight:700;padding:2px 8px;color:#fff;letter-spacing:.02em;white-space:nowrap}.chip,.pill{border-radius:999px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border-2)}.chip .d{width:8px;height:8px;border-radius:2px}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}h1{font-weight:800;font-size:clamp(26px,4vw,38px);letter-spacing:-.02em;text-wrap:balance}h1,h2{font-family:Archivo,sans-serif;margin:0}h2{font-weight:700;font-size:16px;letter-spacing:-.01em}label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin:14px 0 5px}input,select{width:100%;font:inherit;font-size:14px;padding:9px 11px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink)}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.hint{font-size:11.5px;color:var(--ink-3);margin-top:4px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.grid{display:grid;grid-gap:16px;gap:16px}@media (min-width:720px){.grid.cols2{grid-template-columns:repeat(2,1fr)}}