:root{--bg:#f6f6f7;--panel:#fff;--sunken:#eeeef0;--hover:#f0f0f2;--text:#18181b;--muted:#71717a;--faint:#a1a1aa;--line:#e4e4e7;--line-strong:#d4d4d8;--accent:#4f46e5;--accent-soft:#eef0ff;--accent-text:#fff;--danger:#dc2626;--danger-soft:#fef2f2;--warn-bg:#fff7e0;--warn:#8a5a00;--ok:#059669;--agent:#7c3aed;--agent-bg:#f3effe;--s-new:#3b82f6;--s-in_progress:#f59e0b;--s-waiting_on_you:#e11d48;--s-done:#10b981;--shadow:0 1px 2px #18181b0f, 0 1px 1px #18181b08;--shadow-lift:0 4px 14px #18181b1a;--shadow-pop:0 12px 40px #18181b2e;--radius:10px;--radius-sm:7px;--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%2371717a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Inter,Roboto,sans-serif;font-size:14.5px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#111113;--panel:#1b1b1e;--sunken:#161618;--hover:#232327;--text:#ececef;--muted:#9a9aa3;--faint:#6b6b74;--line:#2a2a2f;--line-strong:#3a3a40;--accent:#8b87ff;--accent-soft:#24233d;--accent-text:#0d0d12;--danger:#f87171;--danger-soft:#2c1517;--warn-bg:#33290f;--warn:#f2cf73;--ok:#34d399;--agent:#c4b5fd;--agent-bg:#2a2340;--shadow:0 1px 0 #ffffff08 inset, 0 1px 2px #0006;--shadow-lift:0 6px 18px #00000073;--shadow-pop:0 16px 48px #0009;--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%239a9aa3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E")}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1{letter-spacing:-.01em;margin:0 0 16px;font-size:1.35rem;font-weight:650}h2{margin:0;font-size:.95rem;font-weight:600}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 8px;font-size:.8rem;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow);padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--hover);border-color:var(--line-strong)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}button.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}button.small{padding:3px 9px;font-size:.82rem}button.icon{box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:1.05rem;line-height:1}button.icon:hover:not(:disabled){background:var(--hover);color:var(--text)}button.link{box-shadow:none;color:var(--accent);background:0 0;border:none;padding:0;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.link.left{text-align:left;color:inherit;font-weight:400}.danger-text{color:var(--danger)!important}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;max-width:100%;padding:7px 10px;transition:border-color .12s,box-shadow .12s}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--faint)}select{appearance:none;background-image:var(--chev);cursor:pointer;background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}input[type=search]::-webkit-search-cancel-button{cursor:pointer}textarea{resize:vertical;width:100%;line-height:1.5}label{color:var(--muted);flex-direction:column;gap:5px;margin-bottom:12px;font-size:.82rem;font-weight:500;display:flex}label>input,label>select,label>textarea{color:var(--text);font-size:.95rem;font-weight:400}label.check{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:7px;margin:0;font-size:.88rem;font-weight:400}fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 12px;padding:8px 12px}fieldset label.check{margin:6px 0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.row{align-items:center;display:flex}.row.gap,.gap{gap:8px}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{flex-direction:column;display:flex}.narrow{max-width:360px}.muted{color:var(--muted)}.small-text{font-size:.82rem}.nowrap{white-space:nowrap}.pad{max-width:1100px;padding:24px 28px}.center{place-items:center;min-height:100vh;display:grid}.empty{color:var(--faint);text-align:center;margin:0;padding:14px 0;font-size:.85rem}.hint{color:var(--faint);margin:10px 10px 0;font-size:.75rem;line-height:1.4}.error{color:var(--danger);margin:0 0 10px;font-size:.88rem}.warn-box{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem}.topnav{background:color-mix(in srgb, var(--panel) 85%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:18px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;flex-shrink:0;align-items:center;gap:8px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--accent);width:24px;height:24px;color:var(--accent-text);border-radius:7px;place-items:center;font-size:.8rem;font-weight:800;display:grid}.topnav nav{scrollbar-width:none;gap:2px;min-width:0;display:flex;overflow-x:auto}.topnav nav::-webkit-scrollbar{display:none}.topnav nav a{border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;align-items:center;padding:6px 11px;font-size:.9rem;font-weight:500;display:flex}.topnav nav a:hover{background:var(--hover);color:var(--text);text-decoration:none}.topnav nav a.active{background:var(--sunken);color:var(--text)}.badge{background:var(--accent);color:var(--accent-text);border-radius:999px;margin-left:6px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1.5}.count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.85em;font-weight:500}.card-box{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lift);border-radius:14px;padding:28px}.login{width:min(360px,100vw - 32px)}.login h1{text-align:center}.board-layout{min-height:calc(100vh - 52px);display:flex}.sidebar{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:1px;width:220px;max-height:calc(100vh - 52px);padding:16px 10px;display:flex;position:sticky;top:52px;overflow-y:auto}.proj{box-shadow:none;text-align:left;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-weight:500;display:flex}.proj:hover:not(:disabled){background:var(--hover);color:var(--text);border-color:#0000}.proj.active{background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:var(--shadow)}.proj.drop{border:1px dashed var(--accent);background:var(--accent-soft)}.proj-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:9px;min-width:0;display:flex;overflow:hidden}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.board-main{flex:1;min-width:0;padding:16px 20px 40px 8px}.filterbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filterbar input[type=search]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23a1a1aa' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='6' cy='6' r='4.8'/%3E%3Cpath d='M9.8 9.8L13 13'/%3E%3C/svg%3E");background-position:11px;background-repeat:no-repeat;flex:1;min-width:160px;max-width:420px;padding-left:32px}.filterbar label.check{color:var(--muted);margin-left:auto}.proj-select,.col-tabs{display:none}.columns{grid-template-columns:repeat(4,minmax(230px,1fr));align-items:start;gap:14px;display:grid}.column{background:var(--sunken);border:1px solid var(--line);border-radius:14px;min-height:160px;padding:10px}.col-head{justify-content:space-between;align-items:center;min-height:34px;padding:2px 4px 10px;display:flex}.col-head h2{align-items:center;gap:8px;font-size:.88rem;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.s-new{background:var(--s-new)}.s-in_progress{background:var(--s-in_progress)}.s-waiting_on_you{background:var(--s-waiting_on_you)}.s-done{background:var(--s-done)}.quick-add{gap:6px;margin-bottom:8px;display:flex}.quick-add input{background:0 0;border-color:#0000;flex:1;min-width:0;padding:6px 10px}.quick-add input::placeholder{color:var(--faint)}.quick-add input:hover{background:var(--panel);border-color:var(--line)}.quick-add input:focus{background:var(--panel)}.quick-add select{max-width:45%;font-size:.85rem}.cards{flex-direction:column;gap:8px;min-height:40px;display:flex}.cards>div{flex-direction:column;gap:8px;display:flex}.drop-line{background:var(--accent);border-radius:2px;height:3px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;padding:10px 8px 9px 12px;transition:box-shadow .15s,border-color .15s,transform .15s}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift)}.card:active{transform:scale(.995)}.card.dragging{opacity:.35}.card.editing{cursor:default;flex-direction:column;gap:6px;display:flex;transform:none}.card-top{align-items:flex-start;gap:4px;display:flex}.card-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;padding-top:1px;font-weight:500;line-height:1.38}.card .menu>button.icon{opacity:0;margin:-3px -2px 0 0}.card:hover .menu>button.icon,.card:focus-within .menu>button.icon,.card .menu>button.icon[aria-expanded=true]{opacity:1}@media (hover:none){.card .menu>button.icon{opacity:1}}.card-note{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;padding-right:8px;font-size:.83rem;overflow:hidden}.card-meta{color:var(--faint);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:.74rem;display:flex}.proj-tag{color:var(--muted);align-items:center;gap:6px;font-weight:500;display:inline-flex}.proj-tag:before{content:"";background:var(--c);border-radius:50%;width:7px;height:7px}.chip{background:var(--sunken);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:0 8px;font-size:.78rem;font-weight:500}.chip.warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.chip.ok{color:var(--ok)}.src{border-radius:5px;padding:0 6px;font-size:.72rem;font-weight:600}.src-user{background:var(--accent-soft);color:var(--accent)}.src-agent{background:var(--agent-bg);color:var(--agent)}.ref{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:ui-monospace,Menlo,monospace;overflow:hidden}.dup{background:var(--warn-bg);color:var(--warn);box-shadow:none;border:none;border-radius:5px;padding:0 6px;font-size:.72rem;font-weight:600}.menu{position:relative}.menu-pop{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.menu-pop button{box-shadow:none;text-align:left;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:.9rem;font-weight:400}.menu-pop button:hover:not(:disabled){background:var(--hover)}.triage .bulkbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px;display:flex}.triage .hint{margin:8px 2px}.triage-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.triage-list li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.triage-list li.cursor{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.triage-list .card-meta{margin-top:4px}.overlay{z-index:50;background:#09090b66;place-items:center;padding:16px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.overlay-drawer{place-items:stretch end;padding:0}.modal,.drawer{background:var(--panel);color:var(--text);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-pop);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex}.modal{animation:.14s ease-out pop}.modal.small{width:min(400px,100%)}.drawer{border-width:0 0 0 1px;border-radius:0;width:min(580px,100vw);height:100vh;max-height:100vh;animation:.18s ease-out slide}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{font-size:.95rem}.modal-body{padding:18px;overflow-y:auto}.picker{flex-direction:column;gap:4px;max-height:50vh;margin-top:10px;display:flex;overflow-y:auto}.picker button{text-align:left;box-shadow:none}.toasts{z-index:60;flex-direction:column;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-pop);justify-content:space-between;gap:12px;padding:11px 14px;font-size:.9rem;animation:.14s ease-out pop;display:flex}.toast.error{background:var(--danger);color:#fff}.toast button.link{color:inherit;font-weight:650}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.detail .title-field textarea{field-sizing:content;resize:none;background:0 0;border-color:#0000;width:calc(100% + 16px);min-height:2.2em;margin:-6px -8px 0;padding:6px 8px;font-size:1.2rem;font-weight:600;line-height:1.35}.detail .title-field textarea:hover{border-color:var(--line)}.detail .title-field textarea:focus{border-color:var(--accent);background:var(--panel)}.detail .grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.facts{background:var(--sunken);border-radius:var(--radius);grid-template-columns:auto 1fr;gap:6px 16px;margin:6px 0 16px;padding:12px 14px;font-size:.83rem;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.ref-full{font-family:ui-monospace,Menlo,monospace;font-size:.8rem}.attachments{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.attachments li{border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.attachments li a{overflow-wrap:anywhere;flex:1}.history{color:var(--muted);flex-direction:column;gap:6px;padding-left:18px;font-size:.83rem;display:flex}.history li::marker{color:var(--faint)}progress{width:100%;accent-color:var(--accent)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow-x:auto}.table{border-collapse:collapse;background:var(--panel);width:100%}.table-wrap .table{border:none}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}.table tr:last-child td{border-bottom:none}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--sunken);font-size:.74rem;font-weight:600}.table td.row{display:flex}.settings .table{border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;border-spacing:0;overflow:hidden}.change{overflow-wrap:anywhere;max-width:420px}.change .before{color:var(--danger)}.change .after{color:var(--ok)}.upload-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.files-page.drop-hover{outline:2px dashed var(--accent);outline-offset:-6px;border-radius:14px}.list{flex-direction:column;gap:8px;max-width:760px;display:flex}.list-row{flex-direction:column;gap:4px;display:flex}.group{margin-bottom:22px}.group h2{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tabs{background:var(--sunken);border:1px solid var(--line);border-radius:9px;gap:2px;margin-bottom:14px;padding:3px;display:inline-flex}.tabs button{box-shadow:none;color:var(--muted);background:0 0;border:none;padding:5px 12px}.tabs button:hover:not(:disabled){background:var(--hover)}.tabs button.active{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}.settings section{max-width:760px;margin-bottom:32px}.settings h2{margin-bottom:12px;font-size:1rem}.key{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-sm);overflow-wrap:anywhere;flex:1;padding:9px 11px}.snippet{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;font-size:.78rem;overflow-x:auto}@media (width<=760px){.topnav{gap:10px;padding:0 10px 0 16px}.brand span:last-child,.sidebar{display:none}.proj-select{display:block}.board-main{padding:12px 16px 32px}.filterbar{grid-template-columns:1fr 1fr;display:grid}.filterbar input[type=search]{grid-column:1/-1;max-width:none}.filterbar label.check{grid-column:1/-1;margin-left:0}.col-tabs{scrollbar-width:none;gap:6px;margin-bottom:12px;display:flex;overflow-x:auto}.col-tabs::-webkit-scrollbar{display:none}.col-tabs button{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;font-size:.85rem;display:flex}.col-tabs button.active{background:var(--text);color:var(--bg);border-color:var(--text)}.col-tabs button.active .count{color:inherit;opacity:.7}.columns{display:block}.column{background:0 0;border:none;padding:0;display:none}.column.mobile-active{display:block}.detail .grid2{grid-template-columns:1fr}.pad{padding:16px}}.login button.primary{width:100%;margin-top:4px;padding:9px 12px}
