:root{--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, monospace;--color-bg:#f4f6f9;--color-bg-top:#f8fafc;--color-surface:#fff;--color-surface-muted:#f7f9fc;--color-surface-hover:#eef3fa;--color-text:#1e293b;--color-text-muted:#64748b;--color-border:#d6dce7;--color-border-strong:#bfccdc;--color-accent:#1665d8;--color-accent-soft:#1665d824;--color-danger:#b42318;--color-ok:#1f8b57;--color-warn:#b47111;--focus-ring:0 0 0 2px #1665d838;--shadow-overlay:0 18px 44px #0f172a29;--radius:8px;--control-size:36px;color-scheme:light}:root[data-theme=dark]{--color-bg:#0b0d10;--color-bg-top:#0b0d10;--color-surface:#121417;--color-surface-muted:#1a1d22;--color-surface-hover:#23272e;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-border:#2b3038;--color-border-strong:#3a414d;--color-accent:#60a5fa;--color-accent-soft:#60a5fa38;--color-danger:#f87171;--color-ok:#57c68a;--color-warn:#f0b357;--focus-ring:0 0 0 2px #60a5fa57;--shadow-overlay:0 20px 48px #02061780;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{color:var(--color-text);background:var(--color-bg);font-family:var(--font-family);margin:0;font-size:13px;overflow:hidden}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}h3,p{margin:0}.app-shell{min-width:0;height:100vh;position:relative}.app-shell.is-auth-required{grid-template-rows:auto minmax(0,1fr);display:grid}.topbar{z-index:20;opacity:0;border:1px solid color-mix(in srgb, var(--color-border) 82%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface) 88%, transparent);width:min(1120px,100vw - 24px);min-width:0;min-height:46px;box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(18px);justify-content:flex-start;align-items:center;gap:12px;padding:6px;transition:opacity .14s,background .14s,transform .14s;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%,-8px)}.topbar:before{z-index:-1;content:"";position:absolute;inset:-18px 0 -14px}.topbar:hover,.topbar:focus-within{opacity:1;transform:translate(-50%)}.auth-screen{place-items:center;min-height:100%;padding:32px 16px;display:grid;position:relative}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(420px,100%);box-shadow:var(--shadow-overlay);gap:18px;padding:28px;display:grid}.auth-brand{color:var(--color-text-muted);text-align:center;text-transform:uppercase;font-size:12px;font-weight:800}.auth-copy{text-align:center;gap:8px;display:grid}.auth-copy h1{margin:0;font-size:26px;line-height:1.1}.auth-copy p,.auth-field span,.auth-status{color:var(--color-text-muted);font-size:13px;line-height:1.45}.auth-field,.auth-fields,.auth-result{gap:8px;display:grid}.auth-submit,.auth-secondary{height:var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:inline-flex}.auth-submit{border-color:var(--color-accent);background:var(--color-accent);color:#fff;width:100%;margin-top:4px}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-secondary:hover{background:var(--color-surface-hover)}.auth-status{text-align:center;min-height:19px}.auth-status.is-error{color:var(--color-danger)}.auth-theme{width:var(--control-size);height:var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);place-items:center;display:inline-grid;position:absolute;top:12px;right:12px}.viewbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:flex-start;align-items:center;gap:12px;min-width:0;padding:7px 12px;display:flex;overflow:visible}.viewbar-count{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);min-height:22px;color:var(--color-text-muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.sync-pill{border:1px solid var(--color-border);min-height:22px;color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.sync-pill.is-live{border-color:color-mix(in srgb, var(--color-ok) 42%, var(--color-border));color:var(--color-ok)}.sync-pill.is-conflict,.sync-pill.is-syncing{border-color:color-mix(in srgb, var(--color-warn) 42%, var(--color-border));color:var(--color-warn)}.sync-pill.is-offline{border-color:color-mix(in srgb, var(--color-danger) 42%, var(--color-border));color:var(--color-danger)}.viewbar-filters{justify-content:flex-start;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.filter-trigger,.active-filter{height:var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface) 92%, transparent);min-width:0;color:var(--color-text-muted);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.filter-trigger:hover,.filter-trigger[aria-expanded=true],.active-filter:hover{background:color-mix(in srgb, var(--color-surface-hover) 76%, var(--color-surface));color:var(--color-text)}.filter-trigger.is-active{border-color:var(--color-border);background:var(--color-accent-soft);color:var(--color-text)}.filter-trigger span,.active-filter span{white-space:nowrap;font-size:12px;font-weight:650}.filter-trigger strong{background:var(--color-surface);border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:11px;display:inline-grid}.active-filters{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.active-filter{background:0 0;max-width:190px}.active-filter span{text-overflow:ellipsis;overflow:hidden}.filter-popover{z-index:25;top:calc(var(--control-size) + 6px);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:286px;box-shadow:var(--shadow-overlay);gap:8px;padding:10px;display:grid;position:absolute;left:0}.board-floating-controls{z-index:18;align-items:center;gap:8px;max-width:calc(100vw - 24px);display:flex;position:fixed;bottom:12px;left:12px;overflow:visible}.board-floating-controls .filter-popover{top:auto;bottom:calc(var(--control-size) + 8px)}.filter-popover-grid,.filter-popover-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.filter-popover-field{gap:4px;display:grid}.filter-popover-field span{color:var(--color-text-muted);font-size:11px;font-weight:700}.filter-popover-actions{align-items:center}.filter-popover-done{height:var(--control-size);border-radius:var(--radius);color:var(--color-text-muted);background:0 0;border:0;justify-self:end;padding:0 8px;font-weight:700}.filter-clear{height:var(--control-size);border-radius:var(--radius);color:var(--color-text-muted);background:0 0;border:0;justify-self:start;padding:0 8px;font-weight:700}.filter-popover-done:hover,.filter-clear:hover{background:var(--color-surface-hover);color:var(--color-text)}.brand-block,.topbar-actions,.field-row,.inline-actions,.optional-actions,.detail-header,.detail-actions{align-items:center;gap:8px;min-width:0;display:flex}.brand-block{flex:1}.brand-name{letter-spacing:0;flex:none;padding-left:8px;font-size:14px;font-weight:650}.board-menu-anchor{align-items:center;min-width:0;display:inline-flex;position:relative}.board-menu-trigger{color:var(--color-text-muted)}.board-menu-trigger:hover,.board-menu-trigger[aria-expanded=true]{border-color:var(--color-border);background:var(--color-surface-hover);color:var(--color-text)}.board-menu{z-index:25;top:calc(var(--control-size) + 8px);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(300px,100vw - 24px);box-shadow:var(--shadow-overlay);gap:6px;padding:6px;display:grid;position:absolute;right:0}.board-menu-list{gap:3px;max-height:280px;display:grid;overflow:auto}.board-menu-item{min-width:0;min-height:var(--control-size);border-radius:var(--radius);color:var(--color-text);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 8px;display:grid}.board-menu-item span{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.board-menu-item small{color:var(--color-text-muted);font-size:11px}.board-menu-item:hover,.board-menu-item.is-active{border-color:var(--color-border);background:var(--color-surface-hover)}.topbar-actions{flex:none}.toolbar-group{align-items:center;gap:6px;min-width:0;display:inline-flex}.toolbar-search{margin-right:2px}.session-control{max-width:220px;height:var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);align-items:center;gap:6px;padding-left:9px;display:inline-flex}.session-control span{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.control,.textarea,.detail-title,.column-title-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0;color:var(--color-text);outline:none}.control{height:var(--control-size);padding:0 10px}.control:focus,.textarea:focus,.detail-title:focus,.column-title-input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.board-title-input{width:auto;max-width:min(420px,42vw);height:var(--control-size);border-radius:var(--radius);min-width:96px;color:var(--color-text);text-overflow:ellipsis;background:0 0;border:1px solid #0000;outline:none;padding:0 8px;font-size:14px;font-weight:650;overflow:hidden}.board-title-input:hover,.board-title-input:focus{border-color:var(--color-border);background:var(--color-surface-muted)}.search-input{width:min(260px,24vw)}.button,.mini-btn,.icon-btn{height:var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text)}.button,.mini-btn{justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:650;display:inline-flex}.button-primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.button-secondary:hover,.mini-btn:hover,.icon-btn:hover{background:var(--color-surface-hover)}.button-ghost{background:0 0}.icon-btn{width:var(--control-size);place-items:center;padding:0;display:inline-grid}.session-control .icon-btn{background:0 0;border:0}.icon-btn-subtle{color:var(--color-text-muted);opacity:.72}.icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:16px;height:16px}.active-filter .icon{width:12px;height:12px}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.board-shell{height:100vh;min-height:0;padding:72px 12px 12px;overflow:auto}.board{align-items:flex-start;gap:12px;width:max-content;height:100%;min-height:0;padding-bottom:12px;display:flex}.board.is-column-drop-board{cursor:grabbing}.kanban-column{--column-accent:var(--color-accent);--column-accent-soft:var(--color-accent-soft);border:1px solid color-mix(in srgb, var(--column-accent) 14%, var(--color-border));border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface-muted) 92%, transparent);width:clamp(260px,24vw,300px);max-height:100%;box-shadow:inset 0 3px 0 color-mix(in srgb, var(--column-accent) 58%, transparent);flex:0 0 clamp(260px,24vw,300px);grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:8px;transition:border-color .12s,background .12s,box-shadow .12s,opacity .12s;display:grid;position:relative}.board-add-column{width:var(--control-size);height:var(--control-size);flex:0 0 var(--control-size);border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface-muted) 92%, transparent);color:var(--color-text-muted);place-items:center;display:inline-grid}.board-add-column:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);color:var(--color-text)}.kanban-column.is-empty{grid-template-rows:auto auto}.kanban-column.is-dragging,.kanban-card.is-dragging{opacity:.4}.kanban-column.is-card-drop-target{border-color:color-mix(in srgb, var(--color-accent) 62%, var(--color-border));background:color-mix(in srgb, var(--color-accent-soft) 34%, var(--color-surface-muted));box-shadow:inset 0 0 0 1px var(--color-accent-soft)}.kanban-column.is-column-drop-before:before,.kanban-column.is-column-drop-after:after{z-index:4;background:var(--color-accent);width:4px;box-shadow:0 0 0 4px var(--color-accent-soft);content:"";pointer-events:none;border-radius:999px;position:absolute;top:8px;bottom:8px}.kanban-column.is-column-drop-before:before{left:-8px}.kanban-column.is-column-drop-after:after{right:-8px}.column-header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;display:grid}.column-title-input{height:var(--control-size);color:color-mix(in srgb, var(--column-accent) 24%, var(--color-text));background:0 0;border-color:#0000;padding:0 8px;font-weight:700}.column-title-input:hover,.column-title-input:focus{border-color:color-mix(in srgb, var(--column-accent) 24%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 82%, transparent)}.count-pill{border:1px solid color-mix(in srgb, var(--column-accent) 28%, var(--color-border));background:color-mix(in srgb, var(--column-accent-soft) 76%, var(--color-surface));min-width:24px;height:24px;color:color-mix(in srgb, var(--column-accent) 72%, var(--color-text));border-radius:999px;place-items:center;font-size:12px;font-weight:750;display:inline-grid}.column-header.is-over-limit .count-pill{border-color:var(--color-warn);color:var(--color-warn)}.card-list{align-content:start;gap:8px;padding:1px;display:grid;overflow-y:auto}.card-drop-marker{pointer-events:none;border-radius:999px;height:12px;position:relative}.card-drop-marker:before{background:var(--color-accent);height:4px;box-shadow:0 0 0 4px var(--color-accent-soft);content:"";border-radius:999px;position:absolute;top:4px;left:5px;right:5px}.kanban-column.is-empty .card-list{min-height:0;padding:0}.kanban-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);gap:7px;min-height:62px;padding:10px;transition:border-color .12s,background .12s,opacity .12s;display:grid;overflow:hidden}.kanban-card.is-title-only{min-height:54px}.card-cover{object-fit:cover;border-bottom:1px solid var(--color-border);width:calc(100% + 20px);height:96px;margin:-10px -10px 2px}.kanban-card:hover{border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-hover))}.kanban-card h3{overflow-wrap:anywhere;font-size:13px;font-weight:620;line-height:1.35}.card-meta,.label-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card-meta{color:var(--color-text-muted);font-size:12px}.label-dot,.label-swatch{background:var(--label-color);border-radius:999px;flex:none;width:28px;height:6px}.quick-card-form,.detail-surface.compact,.checklist-create,.label-create,.member-create{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.quick-card-form .control,.checklist-create .control,.label-create .control,.member-create .control{background:var(--color-surface);width:100%}.detail-panel{z-index:28;overscroll-behavior:contain;border-left:1px solid var(--color-border);background:var(--color-surface);align-content:start;width:min(460px,100vw);padding:0;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-18px 0 42px #0f172a1f}.detail-surface{background:var(--color-surface);min-height:100%;box-shadow:none;border:0;border-radius:0;align-content:start;gap:14px;padding:14px;display:grid}:root[data-theme=dark] .detail-panel{box-shadow:-18px 0 44px #0206176b}.detail-surface.compact{box-shadow:none}.detail-header{align-items:flex-start}.panel-close-btn{flex:0 0 var(--control-size)}.detail-title{width:100%;height:var(--control-size);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#0000;padding:0;font-size:18px;font-weight:720;overflow:hidden}.detail-title:hover,.detail-title:focus{border-color:var(--color-border);background:var(--color-surface-muted);padding:0 8px}.field{gap:7px;min-width:0;display:grid}.field>span,.field-row>span{color:var(--color-text-muted);font-size:12px;font-weight:650}.field-row{justify-content:space-between}.textarea{resize:vertical;width:100%;min-height:130px;padding:9px}.detail-cover{object-fit:cover;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);width:100%;max-height:220px}.label-picker,.checklist,.member-picker{gap:6px;display:grid}.choice-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;min-width:0;display:grid}.label-choice,.label-chip,.member-choice,.member-chip,.check-item{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);align-items:center;gap:8px;min-width:0;padding:6px 7px;display:flex}.choice-row .label-choice,.choice-row .member-choice,.choice-row .check-item{width:100%}.label-choice span:last-child,.label-chip span:last-child,.member-choice span,.member-chip span,.check-item span{overflow-wrap:anywhere}.row-remove{width:var(--control-size);min-width:var(--control-size);min-height:var(--control-size);height:auto;color:var(--color-text-muted);align-self:stretch}.row-remove:hover{color:var(--color-danger)}.label-swatch{width:20px;height:12px}.detail-actions{border-top:1px solid var(--color-border);justify-content:flex-end;margin-top:10px;padding-top:14px;padding-bottom:2rem}.inline-actions,.optional-actions{flex-wrap:wrap;justify-content:flex-start}.optional-actions{gap:6px}.work-item-action{height:var(--control-size);border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-muted);padding:0 10px}.work-item-action:hover{border-color:var(--color-border-strong);color:var(--color-text)}.work-item-action .icon{width:15px;height:15px}.work-item-action span{font-size:12px;font-weight:650}.field-row .inline-actions{justify-content:flex-end}.comment-list{gap:6px;display:grid}.comment-item{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);gap:4px;min-width:0;padding:8px;display:grid}.comment-item div{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-item strong{font-size:12px}.comment-item time,.muted-text{color:var(--color-text-muted);font-size:11px}.comment-item p{overflow-wrap:anywhere;line-height:1.4}.comment-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;min-width:0;display:grid}.command-backdrop{z-index:30;background:#0f172a3d;place-items:start center;padding-top:10vh;display:grid;position:fixed;inset:0}.command-menu{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:min(620px,100vw - 28px);color:var(--color-text);box-shadow:var(--shadow-overlay);grid-template-rows:auto minmax(0,1fr) auto;align-content:start;font-size:16px;line-height:normal;display:grid;overflow:hidden}.command-head{border-bottom:1px solid var(--color-border);gap:8px;padding:12px;display:grid}.command-head label{color:var(--color-text-muted);font-size:11px;font-weight:400;line-height:normal}.command-input{width:100%;height:42px;min-height:0;color:var(--color-text);box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;padding:0 10px;font-size:22px;font-weight:400;line-height:normal}.command-input:focus,.command-input:focus-visible{box-shadow:none;outline:none}.command-input::placeholder{color:var(--color-text-muted);opacity:.74}.command-list{align-content:start;gap:4px;height:min(380px,100vh - 220px);max-height:min(380px,100vh - 220px);padding:8px;display:grid;overflow:auto}.command-list[data-size=single]{height:96px;padding-block:16px}.command-list[data-size=empty]{height:auto;min-height:68px}.command-item{border-radius:var(--radius);width:100%;min-height:56px;color:var(--color-text);text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;font-weight:400;line-height:normal;display:flex}.command-item:hover,.command-item.is-active{border-color:var(--color-border-strong);background:var(--color-accent-soft)}.command-item-text{gap:3px;min-width:0;line-height:normal;display:grid}.command-item strong,.command-item small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.command-item strong{font-size:16px;font-weight:400;line-height:normal}.command-item small{color:var(--color-text-muted);font-size:12px;font-weight:400;line-height:normal}.command-item kbd{border:1px solid var(--color-border);min-height:auto;color:var(--color-text-muted);font-family:var(--font-mono);background:0 0;border-radius:4px;flex:none;padding:3px 6px;font-size:11px;font-weight:400;line-height:normal;display:block}.command-empty{color:var(--color-text-muted);text-align:center;padding:18px 10px;font-size:13px}.command-foot{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin:0;padding:8px 12px 12px;font-size:11px;line-height:normal}.toast-root{z-index:40;gap:8px;display:grid;position:fixed;bottom:12px;right:12px}.toast{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-overlay);padding:9px 11px}@media (width<=760px){body{overflow:hidden}.app-shell{height:100vh}.topbar{flex-direction:column;align-items:stretch}.viewbar{flex-direction:column;align-items:flex-start}.brand-block,.topbar-actions{width:100%}.viewbar-filters{justify-content:flex-start;width:100%;overflow-x:auto}.board-title-input,.search-input{width:100%}.topbar-actions{flex-wrap:wrap}.toolbar-search,.toolbar-search .search-input{width:100%}.active-filters{max-width:100%;overflow-x:auto}.board-floating-controls{flex-wrap:wrap;right:12px}.filter-popover{width:min(286px,100vw - 24px)}.board-shell{scroll-snap-type:x proximity;overflow-x:auto}.kanban-column{scroll-snap-align:start;flex-basis:calc(100vw - 24px);width:calc(100vw - 24px);max-height:none}.board-add-column{scroll-snap-align:start}.detail-panel{background:var(--color-surface);width:100%;max-height:none;padding:0;inset:0;overflow:auto}.detail-surface{border-radius:0}.comment-form{grid-template-columns:1fr}}