@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--bg:#0c0c10;--surface:#13131a;--surface-2:#1a1a24;--surface-3:#22222f;--border:#2a2a3a;--border-2:#38384c;--text:#eeeef5;--text-muted:#8888a8;--text-dim:#55556a;--blue:#4f8eff;--blue-glow:#4f8eff26;--blue-dim:#4f8eff1f;--violet:#a78bfa;--violet-dim:#a78bfa1f;--emerald:#34d399;--emerald-dim:#34d3991f;--amber:#fbbf24;--amber-dim:#fbbf241f;--rose:#fb7185;--rose-dim:#fb71851f;--radius:12px;--radius-sm:7px;--shadow:0 8px 32px #0006, 0 2px 8px #0000004d;--shadow-sm:0 2px 8px #0000004d;--col-min:232px;--col-max:380px;--rail-w:36px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM sans,sans-serif;font-size:14px;line-height:1.5}.nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:50;background:#13131ad9;justify-content:space-between;align-items:center;height:54px;padding:0 22px;display:flex;position:sticky;top:0}.nav-left{align-items:center;gap:16px;display:flex}.nav-brand{letter-spacing:-.3px;color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.nav-brand-icon{background:linear-gradient(135deg, var(--blue), var(--violet));border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex;box-shadow:0 0 12px #4f8eff4d}.nav-right{align-items:center;gap:8px;display:flex}.btn-ghost{border:1px solid var(--border);border-radius:var(--radius-sm);height:30px;color:var(--text-muted);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 12px;font-family:DM sans,sans-serif;font-size:13px;font-weight:500;transition:all .12s;display:flex}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.btn-primary{border-radius:var(--radius-sm);background:var(--blue);color:#fff;cursor:pointer;height:30px;box-shadow:0 0 12px var(--blue-glow);border:none;align-items:center;gap:5px;padding:0 14px;font-family:DM sans,sans-serif;font-size:13px;font-weight:600;transition:all .12s;display:flex}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-icon{justify-content:center;width:30px;padding:0;font-weight:600}.btn-danger{border-radius:var(--radius-sm);color:var(--rose);cursor:pointer;background:0 0;border:1px solid #0000;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;line-height:1}.btn-danger:hover{background:var(--rose-dim)}.toolbar{justify-content:space-between;align-items:flex-end;padding:18px 22px 0;display:flex;position:relative}.board-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;font-size:11px;font-weight:600}.board-title{letter-spacing:-.5px;color:var(--text);font-size:20px;font-weight:700}.board-stats{color:var(--text-dim);margin-top:6px;font:500 12px/1 DM Mono,monospace;display:flex}.board-stats>span+span:before{content:"·";color:var(--border-2);margin:0 10px}.board-stats strong{color:var(--text-muted);font-weight:500}.board-stats .is-warn,.board-stats .is-warn strong{color:var(--rose)}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.board-wrapper{flex-direction:column;flex:1;min-height:0;display:flex}.board{z-index:1;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;flex:1;align-items:flex-start;gap:10px;min-height:0;padding:14px 22px 12px;scroll-padding-inline:22px;display:flex;position:relative;overflow:auto hidden}.board::-webkit-scrollbar{height:8px}.board::-webkit-scrollbar-track{background:0 0}.board::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}.col{border-radius:var(--radius);flex-direction:column;display:flex;overflow:visible}.board>.col{width:auto;max-height:100%;min-width:var(--col-min);max-width:var(--col-max);flex:1 0 var(--col-min)}.col-accent{opacity:.85;background:var(--blue);border-radius:2px;width:100%;height:2px}.col-header{align-items:center;gap:8px;padding:12px 4px 8px;display:flex}.col-drag{color:var(--text-dim);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px 3px;font-size:14px;line-height:1}.col-drag:hover{color:var(--text-muted)}.col-drag:active{cursor:grabbing}.col-title{color:var(--text);letter-spacing:-.2px;flex:1;font-size:13px;font-weight:600}button.col-title{text-align:left;cursor:text;background:0 0;border:none;border-radius:5px;margin:-2px -4px;padding:2px 4px;font-family:inherit}button.col-title:hover{background:var(--surface-2)}.col-title-input{min-width:0;color:var(--text);background:var(--surface-2);border:1px solid var(--blue);box-shadow:0 0 0 3px var(--blue-glow);border-radius:5px;outline:none;flex:1;padding:2px 6px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3}.col-count{color:var(--text-dim);text-align:center;border-radius:99px;font:500 11px DM Mono,monospace}.col-menu{width:24px;height:24px;color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.col-menu:hover{background:var(--surface-2);color:var(--text-muted)}.col-drag,.col-menu{opacity:0;transition:opacity .15s,background .1s,color .1s}.col:hover .col-drag,.col:hover .col-menu,.col:focus-within .col-drag,.col:focus-within .col-menu,.col-menu[aria-expanded=true]{opacity:1}@media (hover:none){.col-drag,.col-menu{opacity:1}}.col-menu-wrap{position:relative}.col-popover{z-index:20;background:var(--surface-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);min-width:150px;box-shadow:var(--shadow);padding:4px;position:absolute;top:calc(100% + 6px);right:0}.col-popover button{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:500;line-height:1;display:block}.col-popover button:hover{background:var(--surface-2);color:var(--text)}.col-popover button.danger:hover{background:var(--rose-dim);color:var(--rose)}.col-body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:auto;gap:8px;min-height:60px;padding:4px 2px 8px;display:flex;overflow-y:auto}.col-body::-webkit-scrollbar{width:4px}.col-body::-webkit-scrollbar-track{background:0 0}.col-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.col-footer{padding:0 2px 8px}.col-empty{text-align:center;color:var(--text-dim);padding:18px 8px;font-size:12px}.board>.col.is-collapsed{flex:0 0 var(--rail-w);width:var(--rail-w);min-width:var(--rail-w);max-width:var(--rail-w);align-self:stretch}.col-rail{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--surface) 55%, transparent);color:var(--text-muted);font:inherit;cursor:pointer;border:none;flex-direction:column;flex:1;align-items:center;gap:10px;margin-top:8px;padding:12px 0;transition:background .15s,color .15s;display:flex}.col-rail:hover{background:var(--surface);color:var(--text)}.col-rail:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.col-rail-title{writing-mode:vertical-rl;letter-spacing:-.2px;white-space:nowrap;font-size:13px;font-weight:600}.col-rail-count{color:var(--text-dim);font:500 11px DM Mono,monospace}.col-collapse{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s,background .1s,color .1s;display:flex}.col-collapse:hover{background:var(--surface-2);color:var(--text-muted)}.col-collapse:focus-visible{outline:2px solid var(--blue);outline-offset:2px;opacity:1}.col:hover .col-collapse,.col:focus-within .col-collapse{opacity:1}@media (hover:none){.col-collapse{opacity:1}}.card{background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 1px 0 #ffffff05 inset, var(--shadow-sm);border:1px solid #0000;flex-shrink:0;padding:12px;transition:border-color .15s,background .15s,transform .15s;position:relative;overflow:hidden}.card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff05,#0000 60%);position:absolute;inset:0}.card:hover{border-color:var(--border-2);background:var(--surface-2);transform:translateY(-1px)}.card.is-dragging{opacity:.4}.card.is-done .card-title{color:var(--text-muted)}.card.is-done{opacity:.75}.card-labels{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.label{letter-spacing:.03em;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.label-blue{background:var(--blue-dim);color:var(--blue)}.label-violet{background:var(--violet-dim);color:var(--violet)}.label-emerald{background:var(--emerald-dim);color:var(--emerald)}.label-amber{background:var(--amber-dim);color:var(--amber)}.label-rose{background:var(--rose-dim);color:var(--rose)}.card .label{letter-spacing:0;text-transform:lowercase;color:var(--text-muted);background:0 0;align-items:center;gap:6px;padding:0;font:500 11px DM Mono,monospace;display:inline-flex}.card .label:before{content:"";background:var(--dot,var(--text-dim));width:6px;height:6px;box-shadow:0 0 6px var(--dot,transparent);border-radius:50%}.card .label-blue{--dot:var(--blue)}.card .label-violet{--dot:var(--violet)}.card .label-emerald{--dot:var(--emerald)}.card .label-amber{--dot:var(--amber)}.card .label-rose{--dot:var(--rose)}.card-title{color:var(--text);letter-spacing:-.1px;font-size:13px;font-weight:500;line-height:1.45}.card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.card-footer{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.card-due{color:var(--text-dim);align-items:center;gap:4px;font-family:DM Mono,monospace;font-size:11px;display:flex}.card-due.overdue{color:var(--rose)}.card-due.soon{color:var(--amber)}.card-due.done{color:var(--emerald)}.add-col{width:var(--rail-w);min-width:var(--rail-w);writing-mode:vertical-rl;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;flex-shrink:0;justify-content:flex-start;align-self:stretch;align-items:center;gap:8px;margin-top:10px;padding:12px 0;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .12s;display:flex}.add-col:hover{background:var(--surface);border-color:var(--border-2);color:var(--text-muted)}.add-card-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:1px dashed #0000;padding:6px 8px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .12s}.add-card-btn:hover{background:var(--surface-2);border-color:var(--border-2);color:var(--text-muted)}.col:hover .add-card-btn{border-color:var(--border)}.accent-blue{background:var(--blue)}.accent-violet{background:var(--violet)}.accent-amber{background:var(--amber)}.accent-emerald{background:var(--emerald)}.card:focus-visible,.add-card-btn:focus-visible,.add-col:focus-visible,button.col-title:focus-visible,.col-menu:focus-visible,.btn-ghost:focus-visible,.btn-primary:focus-visible,.btn-danger:focus-visible,.label-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.editor{width:min(520px,100vw - 32px);color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow);margin:auto;padding:0}.editor::backdrop{background:#06060ab8}.editor-body{gap:18px;padding:22px 22px 18px;display:grid}.editor-field{border:none;gap:6px;display:grid}.editor-label{color:var(--text-muted);font-size:12px;font-weight:500}.editor-title{width:100%;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;margin:0 -6px;padding:4px 6px;font-family:inherit;font-size:18px;font-weight:600;line-height:1.3}.editor-title:hover{border-color:var(--border)}.editor-title:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow);outline:none}.editor-input{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:8px 10px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5}.editor-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow);outline:none}.editor-column{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font:inherit;cursor:pointer;justify-self:start;padding:3px 24px 3px 8px;font-size:12px}.editor-column:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.editor-labels{flex-wrap:wrap;gap:6px;display:flex}.label-toggle{cursor:pointer;opacity:.45;border:1px solid #0000;font-family:inherit}.label-toggle:hover{opacity:.75}.label-toggle.is-on{opacity:1;border-color:currentColor}.label-new{border:1px dashed var(--border-2);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:20px;justify-self:start;margin-top:8px;padding:3px 9px;font-size:12px}.label-new:hover{color:var(--text);border-color:var(--text-dim)}.label-new:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.label-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.label-form-input{flex:140px;min-width:0}.label-swatches{gap:6px;display:flex}.label-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0}.label-swatch.is-on{border-color:var(--text)}.label-swatch:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.swatch-blue{background:var(--blue)}.swatch-violet{background:var(--violet)}.swatch-emerald{background:var(--emerald)}.swatch-amber{background:var(--amber)}.swatch-rose{background:var(--rose)}.editor-due{align-items:center;gap:8px;display:flex}.editor-due .editor-input{width:auto}.editor-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 22px;display:flex}@media (prefers-reduced-motion:reduce){.card,.col{transition:none!important}}.filter-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.filter-search-wrap{display:flex;position:relative}.filter-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:200px;color:var(--text);font:inherit;padding:7px 34px 7px 11px;font-size:13px}.filter-search::placeholder{color:var(--text-dim)}.filter-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow);outline:none}.filter-kbd{pointer-events:none;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.filter-search:focus+.filter-kbd{display:none}.filter-labels{flex-wrap:wrap;gap:5px;display:flex}.filter-bar .label-toggle{opacity:1;border:1px solid color-mix(in oklab, currentColor 35%, transparent);background:0 0;border-radius:99px;padding:3px 10px;transition:background .15s,border-color .15s,box-shadow .15s}.filter-bar .label-toggle:hover{border-color:color-mix(in oklab, currentColor 70%, transparent)}.filter-bar .label-toggle.is-on{background:color-mix(in oklab, currentColor 16%, transparent);box-shadow:0 0 12px color-mix(in oklab, currentColor 35%, transparent);border-color:currentColor}.filter-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:none}.filter-toggle[aria-expanded=true]{color:var(--text);border-color:var(--border-2)}.filter-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.filter-toggle-count{background:var(--blue-dim);min-width:18px;color:var(--blue);text-align:center;border-radius:10px;padding:0 5px;font-size:11px}.filter-status{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.filter-clear{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.filter-clear:hover{text-decoration:underline}.filter-clear:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.col-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;padding:12px 22px 0;display:flex;overflow-x:auto}.col-tabs::-webkit-scrollbar{display:none}.col-tab{color:var(--text-dim);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px 8px;font-size:12px;transition:color .15s,border-color .15s,background .15s;display:flex}.col-tab:hover{color:var(--text);border-color:var(--border-2)}.col-tab.is-visible{color:var(--text);border-bottom-color:var(--blue);background:0 0}.col-tab.is-collapsed{color:var(--text-dim);font-style:italic}.col-tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.col-tab-count{color:var(--text-dim);text-align:center;border-radius:10px;font-family:DM Mono,monospace;font-size:11px}kbd{border:1px solid var(--border-2);background:var(--surface-3);min-width:20px;color:var(--text-muted);text-align:center;border-bottom-width:2px;border-radius:5px;padding:1px 6px;font:500 11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.shortcuts{width:min(420px,100vw - 32px)}.shortcuts-body{padding:20px 22px 8px}.shortcuts-title{color:var(--text);margin:0 0 14px;font-size:16px;font-weight:600}.shortcuts-list{margin:0}.shortcuts-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.shortcuts-row:first-child{border-top:none}.shortcuts-row dt{flex-shrink:0;gap:4px;display:flex}.shortcuts-row dd{color:var(--text-muted);text-align:right;margin:0;font-size:13px}.auth{width:min(400px,100vw - 32px)}.auth-body{gap:8px;padding:20px 22px 14px;display:grid}.auth-body .shortcuts-title{margin-bottom:2px}.auth-lede{color:var(--text-muted);margin:0 0 8px;font-size:13px;line-height:1.5}.auth-body .editor-label{margin-top:6px}.auth-hint{color:var(--text-dim);margin:0;font-size:12px}.auth-error{border-radius:var(--radius-sm);background:var(--rose-dim);color:var(--rose);margin:6px 0 0;padding:8px 10px;font-size:13px}.auth-switch{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.auth-switch:hover{text-decoration:underline}.auth-switch:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.account{position:relative}.account-btn{align-items:center;gap:7px;max-width:220px;display:flex}.account-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-popover{min-width:180px}.account-status{color:var(--text-dim);padding:7px 10px 6px;font-size:12px}.sync-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:7px;height:7px}.sync-saved{background:var(--emerald)}.sync-saving{background:var(--amber)}.sync-offline{background:var(--rose)}.sync-notice{z-index:50;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface-3);max-width:calc(100vw - 32px);box-shadow:var(--shadow);color:var(--text);align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.sample-banner{background:var(--amber-dim);border-bottom:1px solid var(--border);color:var(--amber);flex-wrap:wrap;justify-content:center;gap:4px 12px;padding:7px 16px;font-size:12px;display:flex}.sample-banner a{color:var(--text)}@media (width<=720px){.nav{gap:8px;padding:0 12px}.nav-brand{gap:6px;font-size:14px}.nav-right{gap:6px}.nav-brand,.nav-right button{white-space:nowrap}.nav-right button{justify-content:center;min-width:32px;padding:0 10px;font-size:12px}.btn-text,.filter-kbd,.btn-icon,.account-email{display:none}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.board-eyebrow{display:none}.board-title{font-size:18px}.filter-bar{justify-content:flex-start}.filter-search-wrap{flex:1 1 0;min-width:0}.filter-search{flex:100%;width:auto;font-size:16px}.filter-toggle{align-self:stretch;display:flex}.filter-labels{flex-basis:100%;display:none}.filter-labels.is-open{display:flex}.board{scroll-snap-type:x mandatory;padding:12px 16px 10px;scroll-padding-inline:16px}.board>.col{scroll-snap-align:start;flex:none;width:calc(100vw - 56px);min-width:calc(100vw - 56px);max-width:none}.board>.col.is-collapsed{display:none}.col-tabs{padding:10px 16px 0}}
