@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--accent-l:#c98a12;--accent-d:#e8a937;--accent-soft-l:#fbefd4;--accent-soft-d:#3a2e15;--on-accent-l:#1d1404;--on-accent-d:#1d1404;--bg:#e9edf3;--surface:#fff;--sunk:#e8ecf2;--ink:#18202c;--muted:#5b6676;--line:#d5dbe4;--blue:#2f5fd0;--ok:#2f8f6b;--bad:#d9534f;--col:#dfe4ec;--card:#fff;--card-focus:color-mix(in srgb, var(--accent) 8%, #fff);--shadow:0 1px 2px #18202c14, 0 1px 0 #18202c0a;--lift:0 12px 28px -8px #18202c59;--f-display:"Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--f-body:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:var(--accent-l);--accent-soft:var(--accent-soft-l);--on-accent:var(--on-accent-l);--toast-accent:var(--accent-d)}:root[data-mode=dark]{--bg:#141a22;--surface:#181e27;--sunk:#1f2631;--ink:#e6eaf0;--muted:#94a0b2;--line:#2c3542;--blue:#7aa0ff;--ok:#4fbf93;--bad:#e8726e;--col:#1c232d;--card:#232b37;--card-focus:color-mix(in srgb, var(--accent) 14%, #232b37);--shadow:0 1px 2px #0006;--lift:0 12px 28px -8px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:var(--accent-d);--accent-soft:var(--accent-soft-d);--on-accent:var(--on-accent-d);--toast-accent:var(--accent-l)}@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--bg:#141a22;--surface:#181e27;--sunk:#1f2631;--ink:#e6eaf0;--muted:#94a0b2;--line:#2c3542;--blue:#7aa0ff;--ok:#4fbf93;--bad:#e8726e;--col:#1c232d;--card:#232b37;--card-focus:color-mix(in srgb, var(--accent) 14%, #232b37);--shadow:0 1px 2px #0006;--lift:0 12px 28px -8px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:var(--accent-d);--accent-soft:var(--accent-soft-d);--on-accent:var(--on-accent-d);--toast-accent:var(--accent-l)}}:root[data-theme]{--accent-soft-l:color-mix(in srgb, var(--accent-l) 15%, #fff);--accent-soft-d:color-mix(in srgb, var(--accent-d) 22%, #181e27);--on-accent-l:#fff}:root[data-theme=ocean]{--accent-l:#2f6fd0;--accent-d:#79a3ff}:root[data-theme=forest]{--accent-l:#2a8160;--accent-d:#4fbf93}:root[data-theme=rose]{--accent-l:#c2457a;--accent-d:#ef7fa8}:root[data-theme=violet]{--accent-l:#7a5bd1;--accent-d:#a990f2}:root[data-theme=graphite]{--accent-l:#4b5563;--accent-d:#b4bcc8}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);margin:0}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:var(--bad);font-size:.85rem}button.link{color:var(--muted);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}button.link:hover{color:var(--ink)}.brand{font-family:var(--f-display);align-items:center;gap:8px;font-size:1.15rem;font-weight:700;display:flex}.brand i{background:linear-gradient(90deg, var(--accent) 0 30%, transparent 30% 35%, var(--accent) 35% 65%, transparent 65% 70%, var(--accent) 70%);border-radius:4px;width:18px;height:18px}.signin{place-items:center;min-height:100%;padding:24px 16px;display:grid}.signin-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:340px;padding:24px;display:flex}.signin form{flex-direction:column;gap:8px;display:flex}.signin label{color:var(--muted);font-size:.8rem}.signin input{border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:8px 10px}.signin button:not(.link),.empty button{background:var(--accent);color:var(--on-accent);border:0;border-radius:7px;padding:8px 12px;font-weight:600}.signin button:disabled{opacity:.6}.signin p{margin:0}.app{grid-template-columns:220px 1fr;height:100%;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:18px;padding:16px 12px;font-size:.88rem;display:flex;overflow-y:auto}.side .brand{padding:0 6px}.stack{flex-direction:column;gap:6px;display:flex}.side-label{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 6px;font-size:.68rem}.proj{flex-direction:column;gap:2px;display:flex}.proj button{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:8px;padding:5px 8px;display:flex}.proj button:hover{background:var(--sunk)}.proj button.on{background:var(--accent-soft);font-weight:600}.proj button span{color:var(--muted);font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:400}.proj button.add{color:var(--muted)}.proj .inline-input{margin:2px 0}.side-foot{flex-direction:column;align-items:flex-start;gap:6px;margin-top:auto;padding:0 6px;display:flex}.side-foot .small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sync{color:var(--muted);align-items:center;gap:7px;font-size:.78rem;display:flex}.sync i{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px}.sync.off i{background:var(--accent)}.sync.busy i{background:var(--blue);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.sync.busy i{animation:none}}.main{flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.toolbar{align-items:baseline;gap:16px;padding:16px 20px 4px;display:flex}.toolbar h1{font-family:var(--f-display);margin:0;font-size:1.35rem;font-weight:700}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:360px;margin:auto;padding:24px;display:flex}.empty h1{font-family:var(--f-display);margin:0}.empty p{margin:0}.inline-edit{cursor:text;border-radius:4px}.inline-edit:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.inline-input{border:1px solid var(--accent);background:var(--surface);width:100%;font-weight:inherit;font-size:inherit;border-radius:5px;padding:2px 6px;font-family:inherit}.cols{flex:1;grid-auto-columns:minmax(250px,300px);grid-auto-flow:column;align-items:start;gap:12px;padding:12px 20px 20px;display:grid;overflow-x:auto}.col{background:var(--col);outline-offset:-2px;border-radius:10px;outline:2px dashed #0000;flex-direction:column;gap:8px;max-height:100%;padding:10px;transition:outline-color .15s;display:flex}.col.over{outline-color:var(--accent)}.col-h{justify-content:space-between;align-items:center;gap:8px;padding:0 2px;font-size:.88rem;font-weight:600;display:flex}.col-h .n{font-family:var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem;font-weight:400}.col-h .wip{color:var(--accent)}.col-h .wip.over{color:var(--bad);font-weight:600}.col-cards{flex-direction:column;gap:8px;min-height:8px;display:flex;overflow-y:auto}.card{background:var(--card);box-shadow:var(--shadow);cursor:grab;touch-action:manipulation;-webkit-touch-callout:none;border-radius:7px;position:relative}.card.dragging{opacity:.35}.card.is-done .ttl{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);color:var(--muted)}.card-face{overflow-wrap:anywhere;flex-direction:column;gap:7px;padding:9px 28px 9px 10px;font-size:.88rem;line-height:1.4;display:flex}.card-face.lifted{background:var(--card);box-shadow:var(--lift);cursor:grabbing;border-radius:7px;transform:rotate(1.5deg)}.card-more{width:22px;height:22px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;line-height:1;display:grid;position:absolute;top:4px;right:4px}.card:hover .card-more,.card:focus-within .card-more,.card.menu-open .card-more{opacity:1}.card-more:hover,.card.menu-open .card-more{background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink)}.card-edit{resize:none;width:100%;font:inherit;line-height:inherit;color:inherit;overflow-wrap:anywhere;background:0 0;border:0;outline:none;margin:0;padding:0;display:block;overflow:hidden}.card.editing{box-shadow:inset 0 0 0 2px var(--accent), var(--shadow);cursor:text}.labels{flex-wrap:wrap;gap:4px;display:flex}.lbl{color:var(--lc);background:color-mix(in srgb, var(--lc) 14%, transparent);border-radius:3px;padding:0 6px;font-size:.66rem;font-weight:600}.meta{color:var(--muted);font-family:var(--f-mono);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:.7rem;display:flex}.meta>span{align-items:center;gap:3px;display:inline-flex}.meta .all-done{color:var(--ok)}.ico{flex:none;width:1.1em;height:1.1em}.meta .due{color:var(--accent)}.meta .due.over{color:var(--bad)}.add{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:3px 8px 5px;font-size:1.15rem;line-height:1}.col-cards:has(>.add-top){margin-top:-6px;padding-top:6px}.add-top{z-index:2;cursor:pointer;opacity:0;--rule:color-mix(in srgb, var(--accent) 45%, transparent);background:0 0;border:0;flex:none;height:14px;margin:-6px 0 -16px;padding:0;transition:opacity .12s;position:relative}.add-top:before{content:"";background:linear-gradient(90deg, transparent, var(--rule) 25%, var(--rule) 75%, transparent);height:1px;position:absolute;top:50%;left:4px;right:4px}.add-top span{background:var(--surface);width:16px;height:16px;box-shadow:0 0 0 1px var(--line);color:var(--muted);border-radius:50%;place-items:center;margin-top:-1px;font-size:.8rem;line-height:1;transition:color .12s,box-shadow .12s;display:inline-grid;position:relative}.add-top:hover,.add-top:focus-visible{opacity:1}.add-top:hover span,.add-top:focus-visible span{color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cols.dragging .add-top{display:none}@media (hover:none){.add-top{display:none}}.add:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.add-input{resize:none;border:1px solid var(--accent);background:var(--card);border-radius:7px;width:100%;padding:8px 10px;font-size:.88rem}.card:focus-visible,.card.sel{background:var(--card-focus);box-shadow:inset 0 0 0 2px var(--accent), var(--shadow);outline:none}.card[style*=--tint],.card-face.lifted[style*=--tint]{background:color-mix(in srgb, var(--tint) 13%, var(--card))}.card[style*=--tint]:is(:focus-visible,.sel){background:color-mix(in srgb, var(--tint) 13%, var(--card-focus))}.storage-warn{color:var(--ink);background:var(--accent-soft);border-radius:6px;padding:6px 8px;font-size:.75rem}button.icon{color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;width:28px;height:28px;font-size:1.2rem;line-height:1}button.icon.small{width:22px;height:22px;font-size:1rem}button.icon:hover{background:var(--sunk);color:var(--ink)}button.link.danger{color:var(--bad)}.mono{font-family:var(--f-mono)}.main.with-panel .cols{padding-right:calc(min(440px,100%) + 20px)}.panel{background:var(--surface);border-left:1px solid var(--line);z-index:5;flex-direction:column;gap:18px;width:min(440px,100%);padding:16px 20px 32px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-18px 0 40px -24px #00000059}.panel>*{flex-shrink:0}.panel.settling{pointer-events:none}.panel-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-top select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:.8rem}.panel-actions{align-items:center;gap:10px;display:flex}.panel-title{font-family:var(--f-display);resize:none;background:0 0;border:1px solid #0000;border-radius:6px;margin:0 -5px;padding:2px 4px;font-size:1.35rem;font-weight:700;line-height:1.25;overflow:hidden}.panel-title:hover{border-color:var(--line)}.panel-title:focus{border-color:var(--accent);outline:none}.props{grid-template-columns:70px 1fr;align-items:center;gap:10px 12px;margin:0;font-size:.85rem;display:grid}.props dt{color:var(--muted)}.props dd{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.props input[type=date]{font:inherit;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:2px 6px;font-size:.82rem}.label-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lbl.toggle{border:1px dashed color-mix(in srgb, var(--lc) 50%, transparent);cursor:pointer;background:0 0;padding:1px 7px;font-size:.72rem}.lbl.toggle.on{background:color-mix(in srgb, var(--lc) 16%, transparent);border-style:solid}.label-new{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.label-new input{border:1px solid var(--line);background:var(--bg);border-radius:6px;width:130px;padding:3px 7px;font-size:.82rem}.swatches{gap:4px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;flex:none;width:18px;height:18px;padding:0}.swatch.on{border-color:var(--ink)}.small-btn{background:var(--accent);color:var(--on-accent);border:0;border-radius:6px;padding:3px 10px;font-size:.78rem;font-weight:600}.panel-section{flex-direction:column;gap:8px;display:flex}.section-head{align-items:baseline;gap:10px;display:flex}.section-head h3{font-size:.72rem;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 auto 0 0;font-weight:500}.md{background:var(--sunk);cursor:text;overflow-wrap:anywhere;border-radius:8px;padding:10px 14px;font-size:.9rem}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md pre{margin:.5em 0}.md ul,.md ol{padding-left:1.3em}.md code{font-family:var(--f-mono);background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:4px;padding:1px 4px;font-size:.85em}.md pre{overflow-x:auto}.md a{color:var(--blue)}.md-edit{resize:none;border:1px solid var(--accent);background:var(--bg);border-radius:8px;outline:none;width:100%;min-height:120px;padding:10px 12px;font-size:.9rem;line-height:1.5}.history{font-size:.85rem}.history summary{cursor:pointer;color:var(--accent)}.history p{margin:6px 0}.history-item{border-top:1px solid var(--line);padding:8px 0}.history-head{justify-content:space-between;gap:8px;display:flex}.history pre{white-space:pre-wrap;font-family:var(--f-body);color:var(--muted);max-height:160px;margin:6px 0 0;font-size:.85rem;overflow:auto}.bar{background:var(--sunk);border-radius:2px;height:4px;overflow:hidden}.bar b{background:var(--accent);height:100%;transition:width .2s;display:block}.check{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.check li{align-items:center;gap:8px;display:flex}.check li .icon{opacity:0}.check li:hover .icon,.check li:focus-within .icon{opacity:1}.check input[type=checkbox]{accent-color:var(--accent);flex:none;width:15px;height:15px}.check-text{background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:3px 6px;font-size:.88rem}.check-text:focus{border-color:var(--accent);outline:none}.check-text.x{color:var(--muted);text-decoration:line-through}.check-new{border:1px dashed var(--line);background:0 0;border-radius:6px;padding:5px 8px;font-size:.85rem}.check-new:focus{border-style:solid;border-color:var(--accent);outline:none}.drop{outline-offset:4px;border-radius:8px;outline:2px dashed #0000}.drop.over{outline-color:var(--accent)}.files{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.file{background:var(--sunk);border-radius:8px;flex-direction:column;gap:4px;min-width:0;padding:8px;font-size:.76rem;display:flex;position:relative}.file .thumb{aspect-ratio:4/3;background:color-mix(in srgb, var(--blue) 10%, transparent);max-width:100%;color:var(--muted);font-family:var(--f-mono);border-radius:5px;place-items:center;font-size:.7rem;text-decoration:none;display:grid;overflow:hidden}.file .thumb img{object-fit:cover;width:100%;height:100%}.file .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file .nm a{color:inherit}.file .sz{color:var(--muted);font-family:var(--f-mono);font-size:.68rem}.file.pending .sz{color:var(--accent)}.file-remove{opacity:0;position:absolute;top:4px;right:4px;background:var(--surface)!important}.file:hover .file-remove,.file:focus-within .file-remove{opacity:1}.file-confirm{gap:8px;display:flex}kbd{font-family:var(--f-mono);border:1px solid var(--line);color:var(--muted);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:.7rem}.quick-add-btn{border:1px solid var(--line);background:var(--bg);color:var(--muted);text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;font-size:.82rem;display:flex}.quick-add-btn:hover{border-color:var(--accent);color:var(--ink)}.proj button span.hot{color:var(--accent);font-weight:600}.palette-backdrop{z-index:20;background:#0c101673;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border-radius:12px;flex-direction:column;width:100%;max-width:560px;display:flex;overflow:hidden;box-shadow:0 24px 60px -12px #00000073}.palette-input{border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:16px 18px;font-size:1.05rem}.palette-parsed{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 18px;font-size:.82rem;display:flex}.palette-parsed .sep{color:var(--muted)}.palette-parsed .bad{color:var(--bad)}.palette-parsed .due{font-family:var(--f-mono);color:var(--accent);font-size:.75rem}.lbl.new{--lc:var(--muted);border:1px dashed var(--line);background:0 0}.palette-list{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-list li{cursor:pointer;border-radius:7px;align-items:flex-start;gap:10px;padding:8px 10px;font-size:.9rem;display:flex}.palette-list li.sel{background:var(--accent-soft)}.palette-list li.palette-head{cursor:default;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;font-size:.68rem}.palette-icon{text-align:center;width:18px;color:var(--muted);flex:none}.palette-hit{flex-direction:column;min-width:0;display:flex}.palette-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:8px 18px;font-size:.75rem;display:flex}.palette-foot .ok{color:var(--ok)}.list-view{flex-direction:column;flex:1;gap:22px;max-width:760px;padding:8px 20px 40px;display:flex;overflow-y:auto}.list-group{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.list-group h2{font-family:var(--f-display);margin:0 0 4px;font-size:1rem}.list-group ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.list-row-wrap{align-items:center;gap:12px;display:flex}.list-row{text-align:left;background:var(--card);min-width:0;box-shadow:var(--shadow);border:0;border-radius:8px;flex-wrap:wrap;flex:1;align-items:baseline;gap:12px;padding:9px 12px;display:flex}.list-row.static{cursor:default}.list-row:hover:not(.static){box-shadow:0 0 0 2px var(--accent)}.list-row .due{font-family:var(--f-mono);color:var(--accent);font-size:.75rem}.list-row .due.over{color:var(--bad)}.list-title{font-size:.9rem}.list-empty{margin:0}.archived-note{background:var(--accent-soft);border-radius:7px;margin:0;padding:8px 10px;font-size:.82rem}.shortcuts{background:var(--surface);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:520px;max-height:80vh;padding:18px 22px 22px;display:flex;overflow-y:auto;box-shadow:0 24px 60px -12px #00000073}.shortcuts h4{margin:0 0 6px;font-size:.85rem}.shortcuts dl{flex-direction:column;gap:5px;margin:0;display:flex}.shortcuts dl div{grid-template-columns:190px 1fr;align-items:baseline;gap:12px;font-size:.85rem;display:grid}.shortcuts dd{margin:0}.lane-menu-anchor{display:inline-flex;position:relative}.col-h .n{margin-left:auto}.lane-menu-btn{opacity:.55}.col:hover .lane-menu-btn,.lane-menu-btn[aria-expanded=true],.lane-menu-btn:focus-visible{opacity:1}.popover{z-index:15;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;width:280px;font-size:.85rem;font-weight:400;display:flex;position:absolute;top:calc(100% + 6px);box-shadow:0 16px 40px -12px #00000059}.popover.right{right:0}.popover.left{left:0}.menu-section{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.menu-section:last-child{border-bottom:0}.menu-title{margin:0;font-size:.8rem}.menu-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.menu-row.check{flex-direction:row;justify-content:flex-start;gap:8px}.menu-row input[type=radio]{accent-color:var(--accent);margin:0}.col-h .lane-kind{font-family:var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--blue);background:color-mix(in srgb, var(--blue) 12%, transparent);border-radius:4px;margin-right:auto;padding:1px 6px;font-size:.64rem;font-weight:600}.col.check-lane .card:not(.sel):not(.editing):not(:focus-visible){box-shadow:inset 3px 0 0 color-mix(in srgb, var(--blue) 55%, transparent), var(--shadow)}.menu-row input[type=number]{border:1px solid var(--line);background:var(--bg);border-radius:6px;width:70px;padding:3px 6px}.menu-row input[type=checkbox]{accent-color:var(--accent)}.menu-hint{color:var(--muted);margin:0;font-size:.75rem;line-height:1.4}.menu-buttons{flex-flow:wrap;gap:6px;display:flex}.menu-buttons button{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex:1;padding:5px 8px;font-size:.8rem}.menu-buttons button:disabled{opacity:.4;cursor:default}.menu-buttons button:hover:not(:disabled){border-color:var(--accent)}.menu-buttons button.danger-btn{background:var(--bad);border-color:var(--bad);color:#fff}.menu-confirm{background:color-mix(in srgb, var(--bad) 8%, transparent);border-radius:7px;flex-direction:column;gap:8px;padding:8px;display:flex}.menu-confirm select{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:6px;padding:4px 6px}.add-lane{border:1px dashed var(--line);min-width:200px;color:var(--muted);text-align:left;background:0 0;border-radius:10px;align-self:start;padding:10px 12px;font-size:.85rem}.add-lane:hover{border-color:var(--accent);color:var(--ink)}.add-lane-form{min-height:0}.label-list{flex-direction:column;gap:10px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.label-list li{flex-direction:column;gap:5px;display:flex}.label-edit{align-items:center;gap:8px;display:flex}.label-edit input{background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:3px 6px}.label-edit input:hover{border-color:var(--line)}.label-edit input:focus{border-color:var(--accent);outline:none}.swatch-dot{border-radius:50%;flex:none;width:10px;height:10px}.label-list .swatches{padding-left:18px}.label-new-row{flex-direction:row;align-items:center}.label-new-row input{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex:1;padding:4px 8px}.proj button.dragging{opacity:.5}.side-settings{color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;margin-left:-6px;padding:4px 6px;font-size:.82rem;display:inline-flex}.side-settings:hover{background:var(--sunk);color:var(--ink)}.side-foot-row{justify-content:space-between;align-self:stretch;align-items:center;display:flex}.side-help{width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;justify-content:center;margin:0;padding:0;font-weight:600}.help-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.help-search{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex:160px;max-width:240px;padding:4px 8px;font-size:.85rem}.help-search:focus{border-color:var(--accent);outline:none}.shortcuts.help{max-width:640px}.shortcuts.help .section-head h2{font-family:var(--f-display);margin:0 auto 0 0;font-size:1.2rem}.help-topics dl div{grid-template-columns:170px 1fr}.help-topics dt{font-weight:600}.help-topics dd{color:var(--muted);line-height:1.45}.settings{background:var(--surface);border-radius:12px;flex-direction:column;gap:18px;width:100%;max-width:480px;max-height:84vh;padding:18px 22px 22px;display:flex;overflow-y:auto;box-shadow:0 24px 60px -12px #00000073}.settings .section-head h2{font-family:var(--f-display);margin:0 auto 0 0;font-size:1.2rem}.settings section{flex-direction:column;gap:10px;display:flex}.settings h3{font-size:.72rem;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:500}.setting-row{justify-content:space-between;align-items:center;gap:16px;font-size:.88rem;display:flex}.setting-row.top{align-items:flex-start}.setting-row.check{flex-direction:row}.setting-select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:.82rem}.setting-select:focus-visible{border-color:var(--accent);outline:none}.setting-row.top>span{padding-top:5px}.segmented{background:var(--sunk);border-radius:8px;padding:2px;display:inline-flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 12px;font-size:.82rem}.segmented button[aria-checked=true],.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.theme-grid{grid-template-columns:repeat(3,auto);gap:6px;display:grid}.theme-opt{border:1px solid var(--line);background:0 0;border-radius:8px;align-items:center;gap:7px;padding:5px 10px 5px 7px;font-size:.82rem;display:inline-flex}.theme-opt i{background:var(--sw);border-radius:50%;flex:none;width:14px;height:14px}.theme-opt:hover{border-color:var(--sw)}.theme-opt[aria-checked=true]{border-color:var(--sw);box-shadow:inset 0 0 0 1px var(--sw);font-weight:600}.small-btn.quiet{background:var(--sunk);color:var(--ink);flex:none;align-items:center;gap:6px;font-weight:500;display:inline-flex}.small-btn.quiet:hover{background:color-mix(in srgb, var(--ink) 12%, transparent)}.settings-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.setting-row .name-input{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex:1;min-width:0;max-width:220px;padding:4px 8px}.setting-row .name-input:focus{border-color:var(--accent);outline:none}.setting-row.check{cursor:pointer}.setting-row.check input{accent-color:var(--accent);flex:none;width:16px;height:16px}.toasts{z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--ink);max-width:min(520px,100vw - 32px);color:var(--bg);border-radius:10px;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:.86rem;animation:.18s ease-out toast-in;display:flex;box-shadow:0 12px 32px -8px #00000073}.toast-msg{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast-action{color:var(--toast-accent);background:0 0;border:0;border-radius:5px;padding:3px 6px;font-weight:600}.toast-action:hover{background:color-mix(in srgb, var(--bg) 14%, transparent)}.toast .icon{color:inherit;opacity:.7}.toast .icon:hover{background:color-mix(in srgb, var(--bg) 14%, transparent);color:inherit;opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toolbar .filter{flex-wrap:wrap;align-items:baseline;gap:6px}.toolbar .filter>.link.on{color:var(--ink);font-weight:600}.filter-chip{cursor:pointer;border:0;padding:1px 7px;font-size:.72rem}.filter-chip:hover{background:color-mix(in srgb, var(--lc) 26%, transparent)}.filter-list{flex-direction:column;gap:2px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.filter-list label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px;display:flex}.filter-list label:hover{background:var(--sunk)}.filter-list input{accent-color:var(--accent);margin:0}.filter-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cols.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.cols.panning .card{cursor:grabbing}.ctx-layer{display:contents}.ctx-menu{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:9px;outline:none;min-width:200px;max-width:280px;max-height:calc(100vh - 16px);padding:5px;font-size:.85rem;position:fixed;overflow-y:auto;box-shadow:0 16px 40px -12px #0006}.ctx-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:5px 8px 5px 4px;display:flex}.ctx-item:focus,.ctx-item.open{background:var(--accent-soft);outline:none}.ctx-item:disabled{color:var(--muted);cursor:default}.ctx-item:disabled:focus{background:0 0}.ctx-item.danger{color:var(--bad)}.ctx-check{text-align:center;width:14px;color:var(--accent);flex:none;font-size:.78rem}.ctx-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ctx-hint{font-family:var(--f-mono);color:var(--muted);font-size:.7rem}.ctx-arrow{color:var(--muted);font-size:1rem;line-height:1}.ctx-sep{background:var(--line);height:1px;margin:4px 6px}.ctx-menu.quick{min-width:0;box-shadow:none;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;padding:2px;display:flex;overflow:visible}.ctx-menu.quick>.ctx-item{background:var(--surface);border:1px solid var(--line);width:auto;min-width:150px;padding:6px 10px;font-weight:500;box-shadow:0 6px 18px -8px #00000059}.ctx-menu.quick>.ctx-item:focus,.ctx-menu.quick>.ctx-item.open{background:var(--accent-soft);border-color:var(--accent)}.ctx-menu.quick>.ctx-sep{background:0 0;height:2px;margin:0}.ctx-menu.quick>.ctx-item .ctx-check:empty{display:none}.card.menu-open{box-shadow:inset 0 0 0 2px var(--accent), var(--lift)}.folder{flex-direction:column;gap:2px;margin-top:4px;display:flex}.proj button.folder-h{color:var(--muted);justify-content:flex-start;align-items:center;gap:4px;padding:4px 8px 4px 4px;font-size:.8rem;font-weight:600}.proj button.folder-h .caret{text-align:center;width:12px;color:var(--muted);font-size:.7rem}.proj button.folder-h .folder-name{font-family:var(--f-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-size:.82rem;font-weight:600;overflow:hidden}.proj button.folder-h.on{background:var(--accent-soft)}.proj button.folder-h.over{box-shadow:inset 0 0 0 2px var(--accent)}.folder-boards{border-left:1px solid var(--line);flex-direction:column;gap:2px;margin-left:9px;padding-left:14px;display:flex}.col-stack{background:var(--col);border-radius:10px;flex-direction:column;max-height:100%;display:flex;overflow-y:auto}.col-stack>.col{background:0 0;border-radius:10px;max-height:none}.col-stack>.col .col-cards{overflow:visible}.col-stack>.col.stacked{border-top:1px solid var(--line);border-radius:0;margin:0 8px;padding-top:8px;padding-left:2px;padding-right:2px}.col-stack>.col.stacked:last-child{padding-bottom:10px}.col.stacked .col-h{color:var(--muted);font-size:.8rem}.col.stacked .col-h .inline-edit{color:var(--ink)}.text-filter{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:7px;align-items:center;gap:6px;margin-left:auto;padding:2px 4px 2px 8px;font-size:.82rem;display:inline-flex}.text-filter:focus-within,.text-filter.on{border-color:var(--accent)}.text-filter input{width:150px;color:var(--ink);background:0 0;border:0;outline:none;padding:2px 0;font-size:.82rem}.text-filter input::-webkit-search-cancel-button{display:none}.text-filter .icon.small{width:20px;height:20px}.toolbar{align-items:center}.proj button.tinted:before{content:"";background:var(--bc);border-radius:50%;flex:none;align-self:center;width:8px;height:8px;margin-right:-2px}.proj button.tinted{justify-content:flex-start}.proj button.tinted>span:last-child,.proj button.tinted>.row-end{margin-left:auto}.main.tinted{background:color-mix(in srgb, var(--bc) 7%, var(--bg))}.main.tinted .col{background:color-mix(in srgb, var(--bc) 7%, var(--col))}.main.tinted .toolbar h1 .inline-edit{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--bc) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--bc) 70%, transparent);text-underline-offset:6px;text-decoration-thickness:3px}.card.stale-1{opacity:.78}.card.stale-2{opacity:.58}.card.stale-1:hover,.card.stale-2:hover,.card.stale-1:focus-visible,.card.stale-2:focus-visible,.card.sel{opacity:1}.nav-btn{display:none}.proj button .row-end{align-items:center;gap:2px;display:inline-flex}.proj button.folder-h .row-more{margin-left:0}.proj button .row-more{color:var(--muted);border-radius:5px;place-items:center;margin:-4px -4px -4px 0;padding:4px 6px;font-size:1rem;display:inline-grid}@media (hover:none){.card-more,.lane-menu-btn,.check li .icon,.file-remove{opacity:1}.card{-webkit-user-select:none;user-select:none}.ctx-hint{display:none}.ctx-item{padding-top:8px;padding-bottom:8px}}@media (width<=700px){html,body,#root{height:100dvh}.app{grid-template-columns:1fr}.side{z-index:26;width:min(300px,86vw);padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:0 0 40px -10px #00000080}.side.open{transform:none}.nav-backdrop{z-index:25;background:#0c101673;position:fixed;inset:0}.nav-btn{width:36px;height:36px;color:var(--ink);place-items:center;font-size:1.15rem;display:inline-grid}.nav-search{order:9;margin-left:auto}.toolbar{padding:max(8px, env(safe-area-inset-top)) 10px 2px 6px;flex-wrap:wrap;align-items:center;gap:4px 12px}.toolbar h1{overflow-wrap:anywhere;flex:0 auto;min-width:0;font-size:1.2rem}.empty-nav{top:max(8px, env(safe-area-inset-top));display:flex;position:absolute;left:6px;right:10px}.cols{padding:8px 14px max(16px, env(safe-area-inset-bottom));scroll-snap-type:x mandatory;grid-auto-columns:calc(100vw - 52px);gap:10px;scroll-padding:0 14px}.cols>*{scroll-snap-align:start}.cols.dragging{scroll-snap-type:none}.cols>.add-lane{scroll-snap-align:none;min-width:0}.text-filter{flex:100%;order:10}.text-filter input{flex:1;width:auto}.main.with-panel .cols{padding-right:14px}.panel{width:100%;padding-top:max(16px, env(safe-area-inset-top))}.list-view{padding:8px 14px 40px}input,textarea,select{font-size:max(16px,1em)!important}.settings,.shortcuts{max-height:90dvh}.help-topics dl div{grid-template-columns:1fr;gap:2px}.palette-backdrop{padding-top:max(16px, env(safe-area-inset-top))}.toasts{bottom:max(20px, env(safe-area-inset-bottom))}}@media (width<=700px) and (prefers-reduced-motion:reduce){.side{transition:none}}.lightbox{z-index:50;background:#080b10e0;outline:none;place-items:center;padding:56px 64px 24px;display:grid;position:fixed;inset:0}.lightbox-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(100vh - 80px);box-shadow:0 20px 60px -20px #000c}.lightbox-bar{padding:max(10px, env(safe-area-inset-top)) 14px 10px 18px;color:#e6eaf0;align-items:center;gap:14px;font-size:.85rem;display:flex;position:absolute;top:0;left:0;right:0}.lightbox-bar .link,.lightbox-bar .icon{color:#e6eaf0}.lightbox-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lightbox-name .mono,.lightbox-wait{color:#94a0b2}.lightbox-nav{color:#e6eaf0;background:#ffffff14;border:0;border-radius:8px;width:44px;height:64px;font-size:2rem;line-height:1;position:absolute;top:50%;translate:0 -50%}.lightbox-nav:hover{background:#ffffff29}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}@media (width<=700px){.lightbox{padding:52px 8px 16px}.lightbox-nav{top:auto;bottom:max(14px, env(safe-area-inset-bottom));translate:none}}.lbl.bar{background:var(--lc);border-radius:4px;align-self:center;width:34px;height:8px;padding:0;display:inline-block}.label-toggles{gap:14px;padding:4px 0 0 18px;display:flex}.label-name-toggle{color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.label-name-toggle input{accent-color:var(--accent);margin:0}.card-check{flex-direction:column;gap:2px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.card-check li{align-items:flex-start;gap:6px;padding:1px 2px;display:flex}.card-check input{accent-color:var(--ok);cursor:pointer;flex:none;margin:2px 0 0}.card-check li.x span{color:var(--muted);text-decoration:line-through}.card-check li.more{color:var(--muted);padding-left:21px;font-size:.74rem}.col-h{cursor:grab;-webkit-user-select:none;user-select:none}.col-h .inline-edit,.col-h button{cursor:pointer}.cols.lane-drag,.cols.lane-drag *{cursor:grabbing}.lane-lifted{opacity:.4}.cols>.drop-before{box-shadow:-7px 0 0 -2px var(--accent)}.cols>.drop-after{box-shadow:7px 0 0 -2px var(--accent)}.col.stack-target{outline:2px solid var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 8%, var(--col))}.col.stack-target:after{content:"Stack here";color:var(--accent);align-self:center;font-size:.72rem;font-weight:600}.lane-chip{box-sizing:border-box;text-overflow:ellipsis;background:var(--col);width:100%;box-shadow:var(--lift);white-space:nowrap;border-radius:9px;padding:8px 14px;font-size:.9rem;font-weight:600;display:block;overflow:hidden;transform:rotate(-1.5deg)}.lane-chip .muted{font-size:.8rem;font-weight:400}.col-stack>.col.nested{margin-left:calc(8px + var(--depth) * 12px);box-shadow:inset 2px 0 0 var(--line);border-top:0;border-radius:0;padding-left:8px}@media (display-mode:standalone) and (width>=701px){.side,.toolbar,.panel{padding-top:max(16px, env(safe-area-inset-top))}}.install-steps b{color:var(--ink)}.share-add{gap:8px;display:flex}.share-add input{flex:1;min-width:0}.share-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.share-list li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.share-list li:last-child{border-bottom:0}.share-list .person{flex-direction:column;min-width:0;display:flex}.team-pick{flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.share h3 .team-name{font:inherit;color:inherit;text-underline-offset:3px;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.share h3 input.team-name{width:auto}.group-sec{border-radius:8px;gap:2px}.group-sec.top{min-height:4px}.group-sec.over:not(.top)>.sec-h{background:var(--accent-soft)}.group-sec.drop-here{outline:1px dashed var(--accent);outline-offset:2px;min-height:30px}.sec-h{text-align:left;width:100%;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:3px 6px 3px 2px;font-size:.68rem;display:flex}.sec-h:hover{background:var(--sunk);color:var(--ink)}.sec-h.on{color:var(--ink)}.sec-h .caret{text-align:center;width:12px;font-size:.66rem}.sec-h .sec-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sec-h .sec-n{font-variant-numeric:tabular-nums;letter-spacing:0}.sec-h .row-more{margin-left:4px}.team-sec .sec-name:after{content:" · team";text-transform:none;letter-spacing:0;opacity:.7}.side-hint{color:var(--muted);margin:2px 8px;font-size:.78rem}
