:root{--n1:#fcfcfc;--n2:#f9f9f9;--n3:#f0f0f0;--n4:#e8e8e8;--n5:#e0e0e0;--n6:#d9d9d9;--n7:#cecece;--n8:#bbb;--n9:#8d8d8d;--n10:#838383;--n11:#646464;--n12:#202020;--app-bg:var(--n2);--col-bg:var(--n3);--card-bg:#fff;--raised:#fff;--text:var(--n12);--text-2:var(--n11);--text-3:var(--n9);--border:var(--n6);--border-subtle:var(--n5);--hover:#0000000d;--pressed:#00000017;--scrim:#00000052;--accent:#3e63dd;--accent-hover:#3358d4;--accent-text:#3a5bc7;--accent-soft:#edf2fe;--success:#30a46c;--success-text:#218358;--success-soft:#e6f6eb;--warning-text:#ab6400;--warning-soft:#fff7c2;--critical-text:#ce2c31;--critical-soft:#feebec;--l-gray-bg:#f0f0f0;--l-gray-fg:#646464;--l-red-bg:#feebec;--l-red-fg:#ce2c31;--l-orange-bg:#ffefd6;--l-orange-fg:#cc4e00;--l-amber-bg:#fef3c7;--l-amber-fg:#92400e;--l-green-bg:#e6f6eb;--l-green-fg:#218358;--l-teal-bg:#e0f8f3;--l-teal-fg:#00796b;--l-blue-bg:#e6f4fe;--l-blue-fg:#0d74ce;--l-indigo-bg:#edf2fe;--l-indigo-fg:#3a5bc7;--l-violet-bg:#f4f0fe;--l-violet-fg:#6550b9;--l-pink-bg:#fee9f5;--l-pink-fg:#c2298a;--e1:0 1px 2px #0000000d;--e2:0 3px 8px #00000014, 0 1px 2px #0000000f;--e3:0 16px 32px #00000029, 0 4px 10px #00000014;--e4:0 10px 30px #00000024, 0 0 0 1px var(--border-subtle);--e5:0 24px 60px #0000003d, 0 0 0 1px var(--border-subtle);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-chip:4px;--r:8px;--r-lg:12px;--ease:cubic-bezier(.2, 0, 0, 1);--t1:.1s;--t2:.15s;--t3:.22s;--col-w:280px;--card-pad:12px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,:root[data-theme=dark]{--on-accent:#fff;--warning:#ffc53d;--critical:#e5484d}:root[data-theme=dark]{--n1:#111;--n2:#191919;--n3:#222;--n4:#2a2a2a;--n5:#313131;--n6:#3a3a3a;--n7:#484848;--n8:#606060;--n9:#6e6e6e;--n10:#7b7b7b;--n11:#b4b4b4;--n12:#eee;--app-bg:var(--n1);--col-bg:var(--n2);--card-bg:var(--n3);--raised:var(--n3);--hover:#ffffff0f;--pressed:#ffffff1a;--scrim:#0000008c;--accent:#5472e4;--accent-hover:#6a85ea;--accent-text:#9eb1ff;--accent-soft:#182449;--success:#33b074;--success-text:#3dd68c;--success-soft:#132d21;--warning-text:#ffca16;--warning-soft:#302008;--critical-text:#ff9592;--critical-soft:#3b1219;--l-gray-bg:#2a2a2a;--l-gray-fg:#b4b4b4;--l-red-bg:#3b1219;--l-red-fg:#ff9592;--l-orange-bg:#331e0b;--l-orange-fg:#ffa057;--l-amber-bg:#302008;--l-amber-fg:#ffca16;--l-green-bg:#132d21;--l-green-fg:#3dd68c;--l-teal-bg:#0d2d2a;--l-teal-fg:#0bd8b6;--l-blue-bg:#0d2847;--l-blue-fg:#70b8ff;--l-indigo-bg:#182449;--l-indigo-fg:#9eb1ff;--l-violet-bg:#291f43;--l-violet-fg:#baa7ff;--l-pink-bg:#37172f;--l-pink-fg:#ff8dcc;--e1:0 1px 2px #0006;--e2:0 3px 10px #00000073, 0 0 0 1px var(--n5);--e3:0 18px 36px #0009, 0 0 0 1px var(--n6);--e4:0 12px 32px #0000008c, 0 0 0 1px var(--n6);--e5:0 24px 64px #000000b3, 0 0 0 1px var(--n6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-density=compact]{--card-pad:8px}*{box-sizing:border-box}body,html{height:100%}body{font:14px/1.45 var(--font);color:var(--text);background:var(--app-bg);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.45}a{color:var(--accent-text)}h1,h2,h3{margin:0;font-weight:600}kbd{font:500 11px/1 var(--font);border-radius:var(--r-chip);background:var(--n4);color:var(--text-2);border:1px solid var(--border-subtle);padding:4px}.proj-key,.tnum,kbd{font-variant-numeric:tabular-nums}.ic{flex:none;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:0}[hidden]{display:none!important}.btn{align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3);border-radius:var(--r);background:var(--raised);border:1px solid var(--border);white-space:nowrap;transition:background var(--t1) var(--ease);font-size:13px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{color:var(--critical-text)}.btn.danger.solid{background:var(--critical);border-color:var(--critical);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:28px;padding:0 var(--s2);font-size:12px}.icon-btn{border-radius:var(--r);width:32px;height:32px;color:var(--text-2);transition:background var(--t1) var(--ease),color var(--t1) var(--ease);place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn.sm{border-radius:8px;width:24px;height:24px}.icon-btn.on{background:var(--accent-soft);color:var(--accent-text)}input.field,select.field,textarea.field{border-radius:var(--r);border:1px solid var(--border);background:var(--card-bg);outline:none;width:100%;padding:8px 12px}input.field:focus,select.field:focus,textarea.field:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}textarea.field{resize:vertical;min-height:72px}label.lbl{gap:var(--s1);color:var(--text-2);display:grid}.chip,label.lbl{font-size:12px;font-weight:500}.chip{border-radius:var(--r-chip);background:var(--l-gray-bg);height:20px;color:var(--l-gray-fg);align-items:center;gap:4px;max-width:140px;padding:0 8px;line-height:1;display:inline-flex}.chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-dot{background:currentColor;width:8px;height:8px}.avatar,.chip-dot{border-radius:50%;flex:none}.avatar{width:var(--av-size,20px);height:var(--av-size,20px);background:var(--av-bg);color:var(--av);font-size:calc(var(--av-size,20px) * .45);box-shadow:0 0 0 2px var(--card-bg);place-items:center;font-weight:600;display:inline-grid}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-4px}.avatar-more{background:var(--n4);color:var(--text-2)}.app{height:100%;display:flex}.sidebar{border-right:1px solid var(--border-subtle);background:var(--app-bg);width:232px;padding:var(--s3) var(--s2);flex:none;overflow:hidden auto}.main,.sidebar{flex-direction:column;display:flex}.main,.ws-name{flex:1;min-width:0}.ws{align-items:center;gap:var(--s2);padding:var(--s1) var(--s2) var(--s4);display:flex}.ws-logo{background:var(--accent);width:24px;height:24px;color:var(--on-accent);border-radius:8px;place-items:center;font-size:13px;font-weight:700;display:grid}.ws-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ws-more{margin-right:calc(-1 * var(--s1));color:var(--text-2);flex:none}.side-title{padding:var(--s2) var(--s2) var(--s1);color:var(--text-2);font-size:12px;font-weight:500}.proj-list{grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.proj,.side-btn{align-items:center;gap:var(--s2);width:100%;min-height:32px;padding:0 var(--s2);border-radius:var(--r);color:var(--text);text-align:left;transition:background var(--t1) var(--ease);text-decoration:none;display:flex}.proj:hover,.side-btn:hover{background:var(--hover)}.proj.active{background:var(--pressed);font-weight:500}.proj.drop-target{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.proj-dot{border-radius:4px;flex:none;width:12px;height:12px}.proj-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.net-status,.proj-key,.search-count{font-size:12px}.proj-key,.side-btn{color:var(--text-2)}.side-bottom{padding-top:var(--s4);gap:0;margin-top:auto;display:grid}.side-bottom kbd,.topbar-right{margin-left:auto}.topbar{align-items:center;gap:var(--s2);height:52px;padding:0 var(--s4);border-bottom:1px solid var(--border-subtle);display:flex}.search{flex:0 320px;position:relative}.search .ic{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input{border-radius:var(--r);border:1px solid var(--border-subtle);background:var(--card-bg);outline:none;width:100%;height:32px;padding:0 36px 0 32px}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.search input::-webkit-search-cancel-button{display:none}.search kbd{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.net-status,.search-count{color:var(--text-2);white-space:nowrap}.topbar-right{align-items:center;gap:var(--s1);display:flex}.net-status{margin-right:var(--s2)}.offline{gap:var(--s2);padding:var(--s2) var(--s4);background:var(--warning-soft);color:var(--warning-text);font-size:13px;font-weight:500}.offline,.tb-members,.tb-title,.toolbar{align-items:center;display:flex}.toolbar{gap:var(--s2) var(--s3);padding:var(--s3) var(--s4);flex-wrap:wrap}.tb-title{gap:var(--s2);min-width:0}.tb-title h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.tb-title .proj-dot{border-radius:4px;width:16px;height:16px}.tb-members .avatar-btn{transition:transform var(--t1) var(--ease);border-radius:50%;margin-left:-4px;padding:0}.tb-members .avatar-btn:first-child{margin-left:0}.tb-members .avatar-btn:hover{z-index:1;transform:translateY(-1px)}.tb-members .avatar-btn.on .avatar{box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px var(--accent)}.filterbar{gap:var(--s1) var(--s2);flex-wrap:wrap;flex:1;min-width:0;display:flex}.fchip,.filterbar{align-items:center}.fchip{border-radius:var(--r);background:var(--accent-soft);height:28px;color:var(--accent-text);font-size:12px;font-weight:500;display:inline-flex}.fchip button{border-radius:var(--r) 0 0 var(--r);height:100%;padding:0 8px 0 12px}.fchip button+button{border-radius:0 var(--r) var(--r) 0;padding:0 8px 0 4px}.fchip button:hover,.preset:hover{background:var(--hover)}.presets{gap:4px;display:flex}.preset{height:28px;padding:0 var(--s2);border-radius:var(--r);color:var(--text-2);white-space:nowrap;font-size:12px}.preset.on,.preset:hover{color:var(--text)}.preset.on{background:var(--pressed)}.tb-right{gap:var(--s1);margin-left:auto;display:flex}.status-tabs{display:none}.board{align-items:flex-start;gap:var(--s3);height:100%;padding:var(--s3) var(--s4) var(--s4);overflow:auto hidden}.board,.col-head,.column{display:flex}.column{width:var(--col-w);background:var(--col-bg);border-radius:var(--r-lg);max-height:100%;transition:background var(--t2) var(--ease),box-shadow var(--t2) var(--ease);flex-direction:column;flex:none}.col-head{z-index:1;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s2) var(--s2) var(--s3);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:var(--r-lg) var(--r-lg) 0 0;position:sticky;top:0}.col-cat{color:var(--col-c,var(--text-2))}.col-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.col-name,.col-name-input{min-width:0;font-weight:600}.col-name-input{border:1px solid var(--accent);background:var(--card-bg);border-radius:8px;outline:none;flex:1;padding:4px 8px}.col-count{color:var(--text-2);border-radius:var(--r-chip);padding:4px 8px;font-size:12px;font-weight:500}.col-actions{opacity:0;transition:opacity var(--t1) var(--ease);gap:4px;margin-left:auto;display:flex}.col-actions:focus-within,.column:hover .col-actions{opacity:1}.wip-warn .col-count{background:var(--warning-soft);color:var(--warning-text)}.wip-over{background:var(--critical-soft)}.wip-over .col-count{background:var(--critical);color:#fff}.wip-over .col-name{color:var(--critical-text)}.col-list{gap:var(--s2);padding:4px var(--s2) var(--s2);flex-direction:column;min-height:8px;display:flex;position:relative;overflow-y:auto}.col-empty{min-height:72px;padding:var(--s3);border:1.5px dashed var(--border);border-radius:var(--r);color:var(--text-2);text-align:center;place-items:center;font-size:12px;display:grid}:is(.col-list:has(.ghost-slot) .col-empty,.col-list:has(.kbd-lifted) .col-empty){display:none}.col-add,.show-more{align-items:center;gap:var(--s2);margin:0 var(--s2) var(--s2);padding:0 var(--s2);border-radius:var(--r);min-height:32px;color:var(--text-2);transition:background var(--t1) var(--ease);font-size:13px;display:flex}.col-add:hover,.show-more:hover{background:var(--hover);color:var(--text)}.show-more{justify-content:center;font-weight:500}.column.collapsed{cursor:pointer;width:40px;min-height:200px}.col-strip{align-items:center;gap:var(--s2);width:40px;height:100%;min-height:200px;padding:var(--s3) 0;border-radius:var(--r-lg);flex-direction:column;display:flex}.col-strip:hover{background:var(--hover)}.col-strip-name{writing-mode:vertical-rl;white-space:nowrap;font-weight:600}.col-strip-count{color:var(--text-2);font-size:12px}.column.drop-target{box-shadow:inset 0 0 0 2px var(--accent)}.add-col{flex:none}.add-col.adding{width:var(--col-w)}.add-col-btn{border-radius:var(--r-lg);background:var(--col-bg);width:44px;height:44px;color:var(--text-2);place-items:center;display:grid}.add-col-btn:hover{background:var(--hover);color:var(--text)}.add-col input{height:44px}.board-empty{justify-items:center;gap:var(--s3);width:max-content;max-width:calc(100% - 32px);padding:var(--s5) var(--s6);background:var(--raised);border-radius:var(--r-lg);box-shadow:var(--e4);text-align:center;margin:auto;display:grid;position:absolute;inset:80px 0 auto}.board-empty p{color:var(--text-2);margin:0}.card{padding:var(--card-pad);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:var(--r);box-shadow:var(--e1);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:box-shadow var(--t1) var(--ease),border-color var(--t1) var(--ease),opacity var(--t2) var(--ease);outline:none;gap:8px;display:grid;position:relative}.card:hover{box-shadow:var(--e2)}.card:focus-visible{box-shadow:var(--e2),0 0 0 2px var(--accent);border-color:#0000}.card.selected{border-color:var(--accent);background:var(--accent-soft)}.card.dim{opacity:.3}.card.match{border-color:var(--accent)}.card.flash{animation:flash 2s var(--ease)}@keyframes flash{0%,30%{box-shadow:0 0 0 2px var(--warning),var(--e2)}}.card-top{align-items:center;gap:8px;min-height:20px;display:flex}.card-type{color:var(--text-2)}.card-type.t-bug{color:var(--critical-text)}.card-type.t-design{color:var(--l-pink-fg)}.card-type.t-research{color:var(--l-teal-fg)}.card-type.t-feature{color:var(--accent-text)}.card-id{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.card-prio{margin-left:auto}.card-more{opacity:0;margin-right:-4px}.card-prio+.card-more{margin-left:0}.card-top>.card-more:nth-child(3){margin-left:auto}.card:focus-visible .card-more,.card:hover .card-more{opacity:1}.card-title{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.card-title,.card-title-edit{font-size:14px;font-weight:500;line-height:1.35;overflow:hidden}.card-title-edit{resize:none;border:1px solid var(--accent);background:var(--card-bg);-webkit-user-select:text;user-select:text;border-radius:8px;outline:none;width:100%;margin:-4px;padding:4px}.card-labels{flex-wrap:wrap;gap:4px;display:flex}.card-meta{gap:var(--s3);color:var(--text-2);min-height:20px;font-size:12px;display:flex}.card-meta,.meta{align-items:center}.meta{font-variant-numeric:tabular-nums;gap:4px;display:inline-flex}.meta.warn{color:var(--warning-text)}.meta.crit{color:var(--critical-text);font-weight:500}.meta.ok{color:var(--success-text)}.card-meta .avatar-stack{margin-left:auto}:root[data-density=compact] .card{gap:4px}.prio{color:var(--text-2)}.prio-3{color:var(--warning-text)}.prio-4{color:var(--critical)}body.dragging,body.dragging *{cursor:grabbing!important}.drag-avatar{z-index:1000;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.drag-avatar>.card,.drag-avatar>.col-head{transition:transform var(--t3) var(--ease),box-shadow var(--t3) var(--ease)}.drag-avatar.lifted>.card{box-shadow:var(--e3);transform:scale(1.02)rotate(2deg)}.drag-avatar>.col-head{background:var(--col-bg);box-shadow:var(--e3)}.drag-avatar.stack>.card{box-shadow:var(--e3),6px 6px 0 -1px var(--card-bg),6px 6px 0 0 var(--border)}.drag-badge{background:var(--accent);min-width:24px;height:24px;color:var(--on-accent);border-radius:12px;place-items:center;padding:0 8px;font-size:12px;font-weight:600;display:grid;position:absolute;top:-8px;right:-8px}.drag-source{display:none!important}.ghost-slot{border-radius:var(--r);background:var(--pressed);border:1.5px dashed var(--border);flex:none}.col-drop-line{z-index:999;background:var(--accent);pointer-events:none;border-radius:4px;width:4px;position:fixed}.card.kbd-lifted{box-shadow:var(--e3),0 0 0 2px var(--accent);transform:rotate(1deg)}.inline-create,.inline-create.top{margin:0 var(--s2) var(--s2)}.inline-input{resize:none;width:100%;padding:var(--s2) 12px;border-radius:var(--r);border:1px solid var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--card-bg);outline:none;font-size:14px;line-height:1.35;overflow:hidden}.inline-hint{color:var(--text-2);padding:4px 4px 0;font-size:12px}.token-chips{flex-wrap:wrap;gap:4px;padding-top:4px;display:flex}.panel{z-index:50;background:var(--raised);width:calc(max(50vw,560px));max-width:100vw;box-shadow:var(--e5);animation:panel-in var(--t3) var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.panel.full{width:auto;box-shadow:none;animation:none;left:0}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}}.panel-head{gap:var(--s2);height:52px;padding:0 var(--s3) 0 var(--s5);border-bottom:1px solid var(--border-subtle);flex:none}.crumbs,.panel-head{align-items:center;display:flex}.crumbs{gap:8px;min-width:0;font-size:13px}.crumbs,.crumbs a{color:var(--text-2)}.crumbs a{white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.crumb-id,.crumbs a:hover{color:var(--text)}.crumb-id{font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:4px;padding:4px 8px;font-weight:500;display:inline-flex}.crumb-id:hover{background:var(--hover)}.saved{color:var(--text-2);align-items:center;gap:4px;margin-left:auto;font-size:12px;display:inline-flex}.panel-body{flex:1;min-height:0;display:flex;overflow:hidden}.panel-main{min-width:0;padding:var(--s5) var(--s5) var(--s6);flex:1;overflow-y:auto}.panel.full .panel-main{padding-left:max(var(--s5),50% - 380px);padding-right:max(var(--s5),50% - 380px)}.panel-props{border-left:1px solid var(--border-subtle);width:248px;padding:var(--s4) var(--s3);flex:none;align-content:start;gap:4px;display:grid;overflow-y:auto}.p-title{resize:none;letter-spacing:-.01em;width:100%;margin:0 -8px var(--s3);background:0 0;border:0;border-radius:8px;outline:none;padding:4px 8px;font-size:24px;font-weight:600;line-height:1.25;overflow:hidden}.p-title:hover{background:var(--hover)}.p-title:focus{box-shadow:0 0 0 1px var(--border);background:0 0}.p-desc{resize:none;width:100%;min-height:80px;padding:var(--s2);margin:0 calc(-1 * var(--s2));border-radius:var(--r);background:0 0;border:0;outline:none;font-size:14px;line-height:1.6;overflow:hidden}.p-desc:hover{background:var(--hover)}.p-desc:focus{box-shadow:0 0 0 1px var(--border);background:0 0}.p-section{margin-top:var(--s5)}.p-section-head{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.p-section-head h3{font-size:14px}.p-section-head .count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.p-section-head .right{color:var(--text-2);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.progress{background:var(--n4);height:4px;margin-bottom:var(--s2);border-radius:4px;overflow:hidden}.progress>i{background:var(--success);transform-origin:0;height:100%;transition:transform var(--t2) var(--ease);display:block}.cl-list{margin:0;padding:0;list-style:none}.cl-item{align-items:center;gap:var(--s2);min-height:32px;padding:0 var(--s1);border-radius:8px;display:flex}.cl-item:hover{background:var(--hover)}.cl-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none}.cl-item input[type=text]{background:0 0;border:0;border-radius:4px;outline:none;flex:1;min-width:0;padding:4px}.cl-item input[type=text]:focus{box-shadow:0 0 0 1px var(--border)}.cl-item.done input[type=text]{color:var(--text-2);text-decoration:line-through}.cl-item .icon-btn{opacity:0}.cl-item .icon-btn:focus-visible,.cl-item:hover .icon-btn{opacity:1}.cl-add{margin-top:4px}.prop{align-items:center;gap:var(--s2);grid-template-columns:88px 1fr;min-height:36px;display:grid}.prop-name{color:var(--text-2);font-size:12px}.prop-btn{text-align:left;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:32px;margin-left:-8px;padding:4px 8px;font-size:13px;display:flex}.prop-btn:hover{background:var(--hover)}.feed-event,.prop-btn .muted,.prop-static{color:var(--text-2)}.prop-static{font-size:13px}.feed{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.feed-event{align-items:center;gap:var(--s2);padding-left:4px;font-size:12px;display:flex}.feed-event b{color:var(--text);font-weight:500}.feed-event .dot{background:var(--n7);border-radius:50%;flex:none;width:8px;height:8px;margin:0 8px}.comment{gap:var(--s2);grid-template-columns:28px 1fr;display:grid}.comment-box{background:var(--app-bg);border:1px solid var(--border-subtle);border-radius:var(--r);padding:var(--s2) var(--s3);min-width:0}.comment-head{align-items:center;gap:var(--s2);color:var(--text-2);margin-bottom:4px;font-size:12px;display:flex}.comment-head b{color:var(--text);font-size:13px;font-weight:600}.comment-head .actions{opacity:0;gap:4px;margin-left:auto;display:flex}.comment .actions:focus-within,.comment:hover .actions{opacity:1}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere}.mention,.task-ref{color:var(--accent-text);font-weight:500}.task-ref{font-variant-numeric:tabular-nums;text-decoration:none}.task-ref:hover{text-decoration:underline}.composer{gap:var(--s2);padding:var(--s3) var(--s5);border-top:1px solid var(--border-subtle);background:var(--raised);flex:none;align-items:flex-end;display:flex}.composer .send-field{flex:1;min-width:0}.composer textarea{resize:none;flex:1;min-height:36px;max-height:160px;overflow-y:auto}.send-field{display:flex;position:relative}.send-field>textarea{padding-right:44px}.send-btn{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:4px;right:4px}.send-btn:hover{filter:brightness(1.08)}.send-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.send-fade-enter-active,.send-fade-leave-active{transition:opacity var(--t2) var(--ease),transform var(--t2) var(--ease)}.send-fade-enter-from,.send-fade-leave-to{opacity:0;transform:scale(.8)}.props-toggle{display:none}#layers{z-index:2000;position:relative}.pop{z-index:2000;background:var(--raised);border-radius:var(--r-lg);min-width:200px;max-width:calc(min(320px,100vw - 16px));box-shadow:var(--e4);padding:var(--s1);animation:pop-in var(--t2) var(--ease);position:fixed}@keyframes pop-in{0%{opacity:0}}.pop-title{padding:var(--s2) var(--s2) var(--s1);color:var(--text-2);font-size:12px;font-weight:500}.menu-item,.picker-item{align-items:center;gap:var(--s2);width:100%;min-height:32px;padding:0 var(--s2);text-align:left;border-radius:8px;outline:none;font-size:13px;display:flex}.menu-item:focus-visible,.menu-item:hover:not(:disabled),.picker-item.active{background:var(--hover)}.menu-item:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}.menu-item.danger{color:var(--critical-text)}.menu-item kbd,.picker-item kbd{margin-left:auto}.menu-label,.picker-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ic-space{flex:none;width:16px}.menu-sep{background:var(--border-subtle);height:1px;margin:var(--s1) 0}.menu-head{padding:var(--s2) var(--s2) var(--s1)}.menu-head-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.menu-head-sub{color:var(--text-2);font-size:12px}.picker{width:280px;padding:0}.picker-input{width:100%;height:40px;padding:0 var(--s3);border:0;border-bottom:1px solid var(--border-subtle);border-radius:var(--r-lg) var(--r-lg) 0 0;background:0 0;outline:none}.picker .pop-title{padding:var(--s3) var(--s3) 0}.picker-list{max-height:300px;padding:var(--s1);overflow-y:auto}.palette-item,.picker-item{cursor:pointer}.picker-item .check{border:1.5px solid var(--border);border-radius:4px;flex:none;place-items:center;width:16px;height:16px;display:grid}.picker-item[aria-selected=true] .check{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.picker-cur{color:var(--accent-text);margin-left:auto}.picker-empty{padding:var(--s3);color:var(--text-2);text-align:center;font-size:13px}.color-swatch{border-radius:4px;flex:none;width:12px;height:12px}.date-pop{width:260px}.date-pop input[type=date]{margin:var(--s1) 0}.date-pop .hint{padding:0 var(--s2) var(--s2);color:var(--text-2);font-size:12px}.modal-backdrop{z-index:2000;padding:10vh var(--s4) var(--s4);background:var(--scrim);opacity:0;transition:opacity var(--t3) var(--ease);place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-backdrop.open{opacity:1}.modal{background:var(--raised);border-radius:var(--r-lg);width:min(520px,100%);box-shadow:var(--e5);transition:transform var(--t3) var(--ease);transform:translateY(8px)scale(.98)}.modal-backdrop.open .modal{transform:none}.modal.wide{width:min(720px,100%)}.modal-head{padding:var(--s4) var(--s4) var(--s2) var(--s5);justify-content:space-between;align-items:center;display:flex}.modal-head h2{font-size:16px}.modal-body{padding:var(--s2) var(--s5) var(--s5);gap:var(--s4);display:grid}.modal-foot{justify-content:flex-end}.modal-foot,.modal-foot .left{align-items:center;gap:var(--s2);display:flex}.modal-foot .left{color:var(--text-2);margin-right:auto;font-size:13px}.row{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.muted,.seg button{color:var(--text-2)}.seg{border-radius:var(--r);background:var(--n4);gap:4px;padding:4px;display:inline-flex}.seg button{height:24px;padding:0 var(--s3);border-radius:var(--r-chip);font-size:13px}.seg button.on{background:var(--raised);color:var(--text);box-shadow:var(--e1);font-weight:500}.settings-row{justify-content:space-between;align-items:center;gap:var(--s3);min-height:36px;display:flex}.check-row,.settings-row>span{font-size:13px}.check-row,.palette-item{align-items:center;gap:var(--s2);display:flex}.check-row input{width:16px;height:16px;accent-color:var(--accent)}.palette{width:min(600px,100%);padding:0;overflow:hidden}.palette input{width:100%;height:52px;padding:0 var(--s4);border:0;border-bottom:1px solid var(--border-subtle);background:0 0;outline:none;font-size:16px}.palette-list{max-height:calc(min(420px,60vh));padding:var(--s1);overflow-y:auto}.palette-group{padding:var(--s2) var(--s3) var(--s1);color:var(--text-2);font-size:12px;font-weight:500}.palette-item{min-height:40px;padding:0 var(--s3);border-radius:var(--r)}.archive-item:hover,.palette-item.active{background:var(--hover)}.palette-item .sub{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.palette-item kbd{margin-left:auto}.palette-item .picker-label{flex:1}.shortcuts{gap:4px var(--s5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.shortcut{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:32px;font-size:13px;display:flex}.shortcut span:last-child{gap:4px;display:flex}.archive-list{gap:4px;max-height:50vh;display:grid;overflow-y:auto}.archive-item{align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s2);border-radius:var(--r);display:flex}.archive-item .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.archive-item .when{color:var(--text-2);white-space:nowrap;font-size:12px}.tpl-grid{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(152px,1fr));display:grid}.tpl{padding:var(--s3);border-radius:var(--r);border:1px solid var(--border);text-align:left;background:var(--card-bg);transition:border-color var(--t1) var(--ease),background var(--t1) var(--ease);align-content:start;gap:4px;display:grid}.tpl:hover{background:var(--hover)}.tpl.on,.tpl:focus-visible{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.tpl b{font-size:13px}.tpl span{color:var(--text-2);font-size:12px}.colors{flex-wrap:wrap;gap:8px;display:flex}.colors button{border-radius:8px;width:24px;height:24px}.colors button.on{box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--accent)}.map-table{border-collapse:collapse;width:100%;font-size:13px}.map-table td{padding:4px 0}.map-table td:first-child{width:40%;color:var(--text-2)}.dropzone{place-items:center;gap:var(--s2);padding:var(--s6) var(--s4);border:1.5px dashed var(--border);border-radius:var(--r-lg);text-align:center;color:var(--text-2);display:grid}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.toasts{left:50%;bottom:var(--s5);z-index:3000;gap:var(--s2);pointer-events:none;justify-items:center;width:max-content;max-width:calc(100vw - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s1) 0 var(--s3);border-radius:var(--r);background:var(--n12);color:var(--n1);box-shadow:var(--e4);pointer-events:auto;animation:toast-in var(--t3) var(--ease);font-size:13px;display:flex}.toast.out{opacity:0;transition:all var(--t3) var(--ease);transform:translateY(8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-error .toast-ic{color:#ff9592}.toast-warning .toast-ic{color:#ffca16}.toast-action{padding:0 var(--s2);color:#9eb1ff;border-radius:8px;height:32px;font-weight:600}:root[data-theme=dark] .toast-action{color:var(--accent)}.toast-action:hover,.toast-close:hover{background:#7f7f7f33}.toast-close{opacity:.7;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.ref-preview{z-index:2500;width:280px;padding:var(--s3);background:var(--raised);border-radius:var(--r-lg);box-shadow:var(--e4);pointer-events:none;animation:pop-in var(--t2) var(--ease);gap:8px;display:grid;position:fixed}.ref-preview .card-meta{gap:var(--s2)}.onboarding{z-index:100;padding:var(--s4);background:var(--app-bg);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.onb{gap:var(--s5);width:min(720px,100%);display:grid}.onb h1{letter-spacing:-.01em;font-size:24px}.onb p{margin:var(--s1) 0 0;color:var(--text-2)}.onb-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.fab,.only-mobile{display:none}.viewbar{gap:var(--s2);border-top:1px solid var(--border-subtle);padding-top:var(--s3);flex-wrap:wrap;flex-basis:100%}.view-tabs,.viewbar{align-items:center;display:flex}.view-tabs{scrollbar-width:none;gap:4px;min-width:0;overflow-x:auto}.vtab{height:28px;padding:0 var(--s3);border-radius:var(--r);color:var(--text-2);white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:inline-flex;position:relative}.vtab:hover{background:var(--hover);color:var(--text)}.vtab.on{background:var(--pressed);color:var(--text);font-weight:500}.dirty{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-left:4px}.view-right{align-items:center;gap:var(--s2);margin-left:auto;display:flex}.lane-head,.view-right .btn.sm{height:32px}.view-right .seg button{justify-content:center;align-items:center;width:32px;padding:0;display:inline-flex}.view-tabs>.icon-btn{flex:none;margin-left:8px}.bulkbar{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r);background:var(--accent-soft);color:var(--accent-text);flex-wrap:wrap;flex-basis:100%;font-size:13px;display:flex}.display-pop{width:300px;padding:var(--s3);gap:var(--s3);display:grid}.display-pop .pop-title{padding:0}.display-pop .seg{margin-top:4px;display:flex}.display-pop .seg button{min-width:0;padding:0 var(--s2);white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.field-checks{color:var(--text);grid-template-columns:1fr 1fr;gap:8px 12px;font-weight:400;display:grid}.board[data-mode=calendar],.board[data-mode=denied],.board[data-mode=lanes],.board[data-mode=list]{display:block;overflow:auto}.lanes{min-width:100%;padding-bottom:var(--s4);flex-direction:column;display:inline-flex}.lanes-head{z-index:3;gap:var(--s3);padding:0 0 var(--s2);background:var(--app-bg);display:flex;position:sticky;top:0}.lane-col{width:var(--col-w);background:var(--col-bg);border-radius:var(--r-lg);flex:none}.lane-cell.collapsed,.lane-col.collapsed{width:40px}.lane-col .col-head{cursor:default}.lane-col.wip-over{background:var(--critical-soft)}.lane{margin-top:var(--s2)}.lane-head{align-items:center;gap:var(--s2);padding:0 var(--s2);border-radius:var(--r);font-weight:600;display:inline-flex;position:sticky;left:0}.lane-head:hover{background:var(--hover)}.lane-count{color:var(--text-2);font-size:12px;font-weight:500}.lane-row{gap:var(--s3);margin-top:4px;display:flex}.lane-cell{width:var(--col-w);background:var(--col-bg);border-radius:var(--r-lg);padding-top:var(--s2);flex-direction:column;flex:none;min-height:64px;display:flex}.lane-cell .col-list{flex:1;min-height:40px;overflow:visible}.cell-add{height:28px;margin:0 var(--s2) var(--s2);border-radius:var(--r);color:var(--text-2);opacity:0;transition:opacity var(--t1) var(--ease);align-self:stretch;place-items:center;display:grid}.cell-add:focus-visible,.lane-cell:hover .cell-add{opacity:1}.cell-add:hover,.lrow:hover td{background:var(--hover)}.list-wrap{padding:0 0 var(--s5);min-width:max-content}.ltable{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.ltable th{z-index:2;background:var(--app-bg);text-align:left;color:var(--text-2);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:8px;font-size:12px;font-weight:500;position:sticky;top:0}.c-title,.ltable th.sortable{cursor:pointer}.ltable th.sortable:hover,.ltable th.sorted{color:var(--text)}.ltable td{border-bottom:1px solid var(--border-subtle);white-space:nowrap;height:40px;padding:4px 8px}.ltable .c-check{text-align:center;width:36px}.ltable .c-check input{width:16px;height:16px;accent-color:var(--accent)}.c-title{text-overflow:ellipsis;min-width:260px;max-width:420px;font-weight:500;overflow:hidden}.c-id,.c-upd{font-size:12px}.lrow{cursor:default;transition:opacity var(--t2) var(--ease);outline:none}.lrow:focus-visible td{background:var(--hover);box-shadow:inset 0 2px #0000}.lrow:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.lrow.selected td{background:var(--accent-soft)}.item.dim{opacity:.3}.lgroup td{background:var(--app-bg);height:40px}.lgroup button{align-items:center;gap:var(--s2);border-radius:8px;height:32px;padding:0 8px;display:inline-flex}.lgroup button:hover{background:var(--hover)}.cell-btn{border-radius:8px;align-items:center;gap:8px;max-width:240px;min-height:32px;margin-left:-8px;padding:4px 8px;display:inline-flex;overflow:hidden}.cell-btn:hover{background:var(--pressed)}.cell-btn a{pointer-events:none}.cal-wrap{gap:var(--s3);padding-bottom:var(--s4);grid-template-columns:minmax(0,1fr) 240px;min-width:760px;display:grid}.cal-head{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.cal-head h2{text-align:center;min-width:160px;font-size:16px}.cal-grid{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--r-lg);grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.cal-wd{background:var(--app-bg);color:var(--text-2);padding:8px;font-size:12px}.cal-day{background:var(--card-bg);flex-direction:column;gap:4px;min-height:116px;padding:4px;display:flex}.week .cal-day{min-height:60vh}.cal-day.other{background:var(--app-bg)}.cal-day.other .cal-date{color:var(--text-3)}.cal-day.today .cal-date span{background:var(--accent);color:var(--on-accent);border-radius:12px;padding:0 8px}.cal-day.drop-over,.cal-nodate.drop-over{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.cal-date{justify-content:space-between;align-items:center;padding:4px;font-size:12px;font-weight:500;display:flex}.cal-add{opacity:0}.cal-add:focus-visible,.cal-day:hover .cal-add{opacity:1}.cal-items{gap:4px;display:grid}.cal-chip{background:var(--col-bg);cursor:pointer;border-radius:8px;outline:none;align-items:center;gap:4px;min-width:0;min-height:24px;padding:4px 8px;font-size:12px;display:flex}.cal-chip:hover{background:var(--pressed)}.cal-chip:focus-visible{box-shadow:0 0 0 2px var(--accent)}.cal-chip.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.cal-chip.done .ctitle{color:var(--text-2);text-decoration:line-through}.cal-chip.overdue{background:var(--critical-soft);color:var(--critical-text)}.cal-chip .cid{color:var(--text-2);font-size:11px}.cal-chip .ctitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-chip.dragging-chip{opacity:.4}.cal-more{color:var(--text-2);text-align:left;border-radius:8px;padding:4px 8px;font-size:12px}.cal-more:hover{background:var(--hover)}.cal-nodate{background:var(--col-bg);border-radius:var(--r-lg);padding:var(--s3);align-self:start;max-height:calc(100vh - 220px);overflow-y:auto}.cal-nodate h3{font-size:14px}.cal-nodate p{margin:4px 0 var(--s2);font-size:12px}.cal-nodate .cal-chip{background:var(--card-bg)}.denied{text-align:center;gap:var(--s3);justify-items:center;max-width:440px;margin:10vh auto;display:grid}.online{margin-right:var(--s1);align-items:center;gap:8px;display:inline-flex}.online-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 2px var(--success-soft);border-radius:50%}.bell{position:relative}.badge{background:var(--critical);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:grid;position:absolute;top:4px;right:0}.inbox{width:420px;max-width:calc(100vw - 16px);padding:0}.inbox-head{align-items:center;gap:var(--s2);padding:var(--s3);border-bottom:1px solid var(--border-subtle);display:flex}.inbox-head h3{margin-right:auto;font-size:14px}.inbox-list{max-height:60vh;padding:var(--s1);overflow-y:auto}.inbox-group{align-items:flex-start;gap:var(--s1);border-radius:var(--r);display:flex}.inbox-group:hover{background:var(--hover)}.inbox-main{text-align:left;min-width:0;padding:var(--s2);border-radius:var(--r);flex:1;gap:4px;display:grid}.inbox-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-weight:500;display:flex;overflow:hidden}.inbox-group:not(.unread) .inbox-title{color:var(--text-2);font-weight:400}.unread-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.inbox-line{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.inbox-line b{color:var(--text);font-weight:500}.inbox-count{font-size:12px}.inbox-actions{padding:var(--s2) var(--s1);opacity:0;gap:4px;display:flex}.inbox-actions:focus-within,.inbox-group:hover .inbox-actions{opacity:1}.inbox-empty{padding:var(--s6) var(--s4);text-align:center;margin:0}.presence-line{align-items:center;gap:8px var(--s3);padding:8px var(--s5);color:var(--text-2);background:var(--app-bg);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;font-size:12px;display:flex}.presence-line>span{align-items:center;gap:8px;display:inline-flex}.presence-line b{color:var(--text);font-weight:500}.remote-note{color:var(--warning-text)}.link-btn{color:var(--accent-text);font-weight:500}.link-btn:hover{text-decoration:underline}.suggest{width:292px;padding:var(--s1);z-index:2600}.user-chip{margin-top:var(--s2);border-top:1px solid var(--border-subtle);border-radius:0 0 var(--r) var(--r);padding-top:var(--s2);min-height:44px}.member-list{gap:4px;display:grid}.member-row{align-items:center;gap:var(--s3);grid-template-columns:28px 1fr 160px 32px;min-height:44px;display:grid}.member-add{gap:var(--s2);grid-template-columns:1fr 160px auto;display:grid}.perm-table summary{cursor:pointer;color:var(--text-2);font-size:13px}.perm-table table{margin-top:var(--s2);font-size:12px}.perm-table td{white-space:normal;height:32px}.fields-list{margin-bottom:var(--s2);color:var(--text);gap:4px;font-weight:400;display:grid}.field-row{align-items:center;gap:var(--s2);min-height:36px;padding:0 var(--s1);border-radius:8px;display:flex}.field-row:hover{background:var(--hover)}.field-row .muted{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.field-add{gap:var(--s2);grid-template-columns:1fr 132px;display:grid}.field-add [data-new=options]{grid-column:1/-1}.field-add button{grid-column:1/-1;justify-self:start}.meta.cf{gap:4px}.meta.cf .chip{height:20px}body.readonly .add-col,body.readonly .cal-add,body.readonly .cell-add,body.readonly .cl-add,body.readonly .col-actions [data-act=add-modal],body.readonly .col-actions [data-act=add-top],body.readonly .col-add,body.readonly .fab{display:none!important}body.readonly .col-head{cursor:default}body.no-comment .composer,body.no-projects [data-act=new-project],body.no-projects [data-act=project-settings]{display:none}@media (width<=720px){.only-mobile{display:inline-grid}.sidebar{z-index:60;width:280px;transition:transform var(--t3) var(--ease);background:var(--raised);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--e5);transform:none}.sidebar-scrim{z-index:55;background:var(--scrim);position:fixed;inset:0}.col-add,.proj,.prop,.side-btn{min-height:44px}.topbar{padding:0 var(--s2);gap:var(--s1)}.topbar .icon-btn{width:44px;height:44px}.search{flex:1}#palette-btn,.net-status,.online,.search kbd,.search-count,.tb-right .label,.view-right .label{display:none}.bulkbar,.filterbar,.toolbar,.viewbar{flex-wrap:nowrap}.bulkbar,.status-tabs,.toolbar{overflow-x:auto}.member-row{grid-template-columns:28px 1fr 120px 32px}.toolbar{padding:var(--s2) var(--s4)}.tb-title h1{font-size:16px}.filterbar{flex:none}.tb-title{flex:none;max-width:60vw}.tb-right{margin-left:0}.status-tabs{gap:var(--s1);padding:0 var(--s4) var(--s2);scrollbar-width:none;display:flex}.status-tabs::-webkit-scrollbar{display:none}.status-tab{height:32px;padding:0 var(--s3);color:var(--text-2);background:var(--col-bg);border-radius:16px;flex:none;font-size:13px}.status-tab.on{background:var(--text);color:var(--app-bg);font-weight:500}.board{scroll-snap-type:x mandatory;gap:var(--s2);padding-bottom:88px}.add-col.adding,.column{scroll-snap-align:center}.add-col.adding,.column,.column.collapsed{width:calc(100vw - 32px)}.card-more,.col-actions{opacity:1}.card-more.icon-btn.sm{width:32px;height:32px;margin:-8px -8px -8px 0}.col-actions .icon-btn.sm{width:36px;height:36px}.fab{right:var(--s4);bottom:calc(var(--s4) + env(safe-area-inset-bottom));z-index:40;background:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:var(--e3);border-radius:50%;place-items:center;display:grid;position:fixed}.panel,.panel.full{width:100%;left:0}.panel-head{padding:0 var(--s2) 0 var(--s4)}.panel-main{padding:var(--s4)}.props-toggle{display:inline-flex}.panel-props{z-index:70;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--raised);width:auto;max-height:75vh;box-shadow:var(--e5);padding:var(--s3) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom));transition:transform var(--t3) var(--ease);border-left:0;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%)}.panel-props.open{transform:none}.panel-props:before{content:"";background:var(--n7);width:36px;height:4px;margin-bottom:var(--s2);border-radius:4px;justify-self:center}.composer{padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom))}.modal-backdrop{padding:var(--s4) var(--s2)}.toasts{bottom:88px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}.card.kbd-lifted,.drag-avatar.lifted>.card{transform:none}}body{overflow:hidden}#__nuxt{height:100%}.picker-ic,.prio-wrap{display:contents}.card-move{transition:transform var(--t2) var(--ease)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.toast-enter-active,.toast-leave-active{transition:all var(--t3) var(--ease)}.cal-chip.flash,.card.flash,.lrow.flash td{animation:flash 2s var(--ease)}.auth{min-height:100%;padding:var(--s4);place-items:center;display:grid;overflow-y:auto}.auth-card{gap:var(--s3);width:min(380px,100%);padding:var(--s6) var(--s5);background:var(--raised);border-radius:var(--r-lg);box-shadow:var(--e4);display:grid}.auth-card h1{font-size:20px}.auth-card .ws{padding:0 0 var(--s2)}.auth-card .btn.primary{justify-content:center;height:40px}.auth-error{color:var(--critical-text);margin:0;font-size:13px}.member-add{grid-template-columns:180px auto;justify-content:start}@media (prefers-reduced-motion:reduce){.card-move{transition:none}}.card-enter-active,.card-leave-active{transition:none!important}.card-leave-active{display:none!important}.side-title-row{padding-right:var(--s1);justify-content:space-between;align-items:center;min-height:32px;display:flex}.side-title-row a{color:inherit;text-decoration:none}.side-title-row a:hover{color:var(--text)}.side-title-row .icon-btn{opacity:0}.side-title-row .icon-btn:focus-visible,.sidebar:hover .side-title-row .icon-btn{opacity:1}.sec-head{min-width:0}.sec-head,.sec-toggle{align-items:center;gap:4px;display:inline-flex}.sec-toggle{color:inherit;font:inherit;border-radius:4px;margin-left:-4px;padding:4px}.sec-head .sec-toggle{margin-left:0}.sec-toggle:hover{color:var(--text);background:var(--hover)}.sec-toggle .ic{opacity:0;transition:opacity var(--t1)}.sec-toggle:focus-visible .ic,.sec-toggle[aria-expanded=false] .ic,.sidebar:hover .sec-toggle .ic{opacity:1}.side-title-row .add-wrap.open .icon-btn{opacity:1;background:var(--hover)}.add-pop{min-width:180px}.add-pop:before{content:"";height:8px;position:absolute;top:-8px;left:0;right:0}.add-pop .menu-item{color:var(--text);font-weight:400}.tree{margin:0;padding:0;list-style:none}.tree-row{min-height:28px;padding-right:var(--s1);border-radius:8px;align-items:center;gap:4px;display:flex;position:relative}.tree-row:hover{background:var(--hover)}.tree-row.active{background:var(--pressed);font-weight:500}.tree-row.drop-inside{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.tree-row.drop-after:after,.tree-row.drop-before:before{content:"";background:var(--accent);border-radius:0;height:2px;position:absolute;left:8px;right:8px}.tree-row.drop-before:before{top:0}.tree-row.drop-after:after{bottom:0}.tree-toggle{width:20px;height:20px;color:var(--text-2);border-radius:4px;flex:none;place-items:center;display:grid}.tree-toggle:hover{background:var(--pressed)}.tree-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:8px;min-height:28px;text-decoration:none;display:flex}.tree-icon{text-align:center;flex:none;width:20px;font-size:14px;line-height:1}.tree-actions{opacity:0;display:flex}.tree-actions:focus-within,.tree-row:hover .tree-actions{opacity:1}.tree-empty{color:var(--text-2);align-items:center;min-height:28px;font-size:12px;display:flex}@media (width<=720px){.tree-row{min-height:44px}.tree-actions{opacity:1}}.docs-area{flex:1;min-height:0;position:relative;overflow-y:auto}.doc-topbar{z-index:5;gap:var(--s2);height:44px;padding:0 var(--s3) 0 var(--s4);background:var(--app-bg);position:sticky;top:0}.doc-crumbs,.doc-topbar{align-items:center;display:flex}.doc-crumbs{flex:1;gap:4px;min-width:0;font-size:13px}.doc-crumbs a{max-width:200px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;text-decoration:none;display:inline-flex;overflow:hidden}.doc-crumbs a:hover{background:var(--hover)}.doc-crumbs .sep{color:var(--text-3)}.doc-edited{color:var(--text-2)}.doc-edited,.doc-saving{white-space:nowrap;font-size:12px}.doc-saving{color:var(--warning-text)}.doc-cover{background-position:50%;background-size:cover;height:calc(max(30vh,200px));position:relative}.doc-cover-actions{right:var(--s4);bottom:var(--s3);gap:var(--s1);opacity:0;transition:opacity var(--t1) var(--ease);display:flex;position:absolute}.doc-cover-actions:focus-within,.doc-cover:hover .doc-cover-actions{opacity:1}.doc-cover-actions .btn{background:var(--raised)}.doc-page{--doc-w:708px;width:min(var(--doc-w),100%);padding:var(--s7) 96px 30vh;box-sizing:content-box;max-width:calc(100% - 192px);margin:0 auto}.doc-page.wide{--doc-w:1200px}.doc-page.font-serif{--doc-font:"Source Serif 4 Variable", "Iowan Old Style", Georgia, serif}.doc-page.font-mono{--doc-font:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace}.doc-page.small{--doc-size:14px}.doc-page.has-cover{padding-top:0}.doc-head{position:relative}.doc-icon{border-radius:var(--r);cursor:pointer;width:max-content;margin-bottom:var(--s2);padding:4px;font-size:78px;line-height:1}.doc-icon:hover{background:var(--hover)}.has-cover .doc-icon{margin-top:-44px;position:relative}.doc-addons{min-height:28px;margin-bottom:var(--s1);opacity:0;transition:opacity var(--t1) var(--ease);gap:4px;display:flex}.doc-addons:focus-within,.doc-head:hover .doc-addons{opacity:1}.doc-addons .btn{color:var(--text-2)}.doc-title{resize:none;width:100%;margin:0 0 var(--s1);font:700 40px/1.2 var(--doc-font,var(--font));letter-spacing:-.01em;color:var(--text);background:0 0;border:0;outline:none;padding:0;overflow:hidden}.doc-title::placeholder{color:var(--text-3)}.doc-meta{margin:0 0 var(--s4);font-size:12px}.doc-recent{margin:var(--s5) 0 0;gap:var(--s2);padding:0;list-style:none;display:grid}.doc-recent a{color:var(--text);font-weight:500;text-decoration:none}.doc-content a,.doc-recent a:hover{text-decoration:underline}.doc-state{padding:var(--s7) 0;gap:var(--s3);justify-items:start;display:grid}@media (width<=1000px){.doc-page{max-width:calc(100% - 48px);padding-left:24px;padding-right:24px}}@media (width<=720px){.doc-page{padding:var(--s5) 16px 30vh;max-width:calc(100% - 32px)}.doc-title{font-size:30px}.doc-icon{font-size:56px}}.doc-editor{position:relative}.doc-content{font:400 var(--doc-size,16px)/1.5 var(--doc-font,var(--font));color:var(--text);caret-color:var(--text);outline:none;min-height:120px}.doc-content>*+*{margin-top:4px}.doc-content p{margin:0;padding:4px 0}.doc-content h1,.doc-content h2,.doc-content h3{margin:0;padding:4px 0;font-weight:600;line-height:1.3}.doc-content h1{margin-top:32px;font-size:30px}.doc-content h2{margin-top:24px;font-size:24px}.doc-content h3{margin-top:16px;font-size:20px}.doc-content>:first-child{margin-top:0}.doc-content ol,.doc-content ul{margin:0;padding-left:1.6em}.doc-content ul{list-style:outside}.doc-content ul ul{list-style:circle}.doc-content ul ul ul{list-style:square}.doc-content ol ol{list-style:lower-alpha}.doc-content ol ol ol{list-style:lower-roman}.doc-content li>p{padding:0}.doc-content ul[data-type=taskList]{padding-left:4px;list-style:none}.doc-content ul[data-type=taskList] li{align-items:flex-start;gap:8px;display:flex}.doc-content ul[data-type=taskList] li>label{flex:none;margin-top:8px}.doc-content ul[data-type=taskList] li>label input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.doc-content ul[data-type=taskList] li>div{flex:1;min-width:0}.doc-content ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-2);text-decoration:line-through}.doc-content blockquote{border-left:3px solid;margin:0;padding:4px 0 4px 16px}.doc-content hr{border:0;border-top:1px solid var(--border);margin:8px 0}.doc-content a{color:inherit;-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3);text-underline-offset:2px}.doc-content a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent-text)}.doc-content code{background:var(--hover);color:var(--critical-text);border-radius:4px;padding:4px;font:.875em/1.5 JetBrains Mono Variable,ui-monospace,Menlo,monospace}.doc-content pre{padding:var(--s4) var(--s5);background:var(--col-bg);border-radius:var(--r-chip);margin:4px 0;overflow-x:auto}.doc-content pre code{color:var(--text);background:0 0;padding:0;font-size:14px}.doc-content img{border-radius:var(--r-chip);max-width:100%;height:auto;margin:4px 0;display:block}.doc-content img.ProseMirror-selectednode{outline:2px solid var(--accent)}.doc-content table{border-collapse:collapse;table-layout:fixed;width:100%;margin:8px 0}.doc-content td,.doc-content th{border:1px solid var(--border);vertical-align:top;min-width:60px;padding:8px}.doc-content th{background:var(--col-bg);text-align:left;font-weight:600}.doc-content .selectedCell{background:var(--accent-soft)}.doc-content .callout{border-radius:var(--r-chip);background:var(--col-bg);gap:12px;margin:4px 0;padding:16px;display:flex}.doc-content .callout-icon{-webkit-user-select:none;user-select:none;font-size:20px;line-height:1.3}.doc-content .callout-body,.doc-content .toggle>div{flex:1;min-width:0}.doc-content .toggle{gap:4px;display:flex}.doc-content .toggle>button{width:24px;height:24px;color:var(--text-2);border-radius:4px;flex:none;place-items:center;margin-top:4px;display:grid}.doc-content .toggle>button:before{content:"▸";transition:transform var(--t2) var(--ease)}.doc-content .toggle.is-open>button:before{transform:rotate(90deg)}.doc-content .toggle>button:hover{background:var(--hover)}.doc-content .toggle summary{font-weight:500;list-style:none}.doc-content .toggle summary::-webkit-details-marker{display:none}.doc-content [data-type=detailsContent]{padding-left:4px}.doc-content .toggle:not(.is-open) [data-type=detailsContent]{display:none}.doc-content .is-empty:before,.doc-content h1.is-empty:before,.doc-content h2.is-empty:before,.doc-content h3.is-empty:before,.doc-content p.is-empty:before{content:attr(data-placeholder);color:var(--text-3);pointer-events:none;float:left;height:0}.doc-content .hljs-comment,.doc-content .hljs-quote{color:var(--text-2);font-style:italic}.doc-content .hljs-built_in,.doc-content .hljs-keyword,.doc-content .hljs-selector-tag{color:var(--l-violet-fg)}.doc-content .hljs-attr,.doc-content .hljs-string{color:var(--l-green-fg)}.doc-content .hljs-literal,.doc-content .hljs-number{color:var(--l-orange-fg)}.doc-content .hljs-function,.doc-content .hljs-title{color:var(--l-blue-fg)}.doc-content ::selection{background:#2383e233}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:2px solid;margin:0;position:relative}.collaboration-carets__label{font:600 11px/1.3 var(--font);color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:4px 4px 4px 0;padding:0 4px;position:absolute;top:-1.35em;left:-4px}.collaboration-carets__selection{mix-blend-mode:multiply;opacity:.25}.page-link{margin:4px 0}.page-link a{color:var(--text);border-radius:4px;align-items:center;gap:8px;margin-left:-8px;padding:4px 8px;font-weight:500;text-decoration:none;display:inline-flex}.page-link a:hover,.ref-chip{background:var(--hover)}.page-link-title{border-bottom:1px solid var(--border)}.page-link.selected a,.ref-chip.selected{box-shadow:0 0 0 2px var(--accent)}.ref-chip{vertical-align:baseline;cursor:pointer;border-radius:4px;align-items:center;gap:4px;max-width:100%;margin:0;padding:0 8px;font-size:.92em;line-height:1.6;display:inline-flex}.ref-chip:hover{background:var(--pressed)}.ref-chip .ic{display:inline-block}.ref-key{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:.9em}.ref-title{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.ref-chip.done .ref-title{color:var(--text-2);text-decoration:line-through}.ref-person{color:var(--accent-text);background:0 0;padding:0}.drag-handle-wrap{z-index:4}.blk-handle{align-items:center;gap:0;padding-right:4px;display:flex}.blk-btn{width:24px;height:24px;color:var(--text-3);letter-spacing:-2px;border-radius:4px;place-items:center;font-size:13px;display:grid}.blk-btn:hover{background:var(--hover);color:var(--text-2)}.blk-btn.grip{cursor:grab}.bb-btn{min-width:28px;height:28px;color:var(--text);white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:13px;display:inline-flex}.bb-btn:hover{background:var(--hover)}.bb-btn.on{color:var(--accent-text);background:var(--accent-soft)}.bb-btn.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.bb-sep{background:var(--border-subtle);width:1px;height:20px;margin:0 4px}.bb-btn:disabled{opacity:.4;pointer-events:none}.doc-toolbar{z-index:4;margin:0 0 var(--s3);background:var(--app-bg);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:0;padding:4px 0;display:flex;position:sticky;top:44px}.doc-toolbar .block-type{justify-content:space-between;min-width:112px}.doc-topbar .chip,.slash-text span{white-space:nowrap}.color-a{border:1px solid var(--border-subtle);border-radius:4px;height:20px}.blk-ic,.color-a{place-items:center;width:20px;font-weight:600;display:inline-grid}.blk-ic{color:var(--text-2);font-size:12px}.suggest-menu{width:320px;max-height:340px;padding:var(--s1);z-index:2600;position:fixed;overflow-y:auto}.slash-item{align-items:center;gap:var(--s3);padding:4px var(--s2);cursor:pointer;border-radius:8px;display:flex}.slash-item.active{background:var(--hover)}.slash-ic{border:1px solid var(--border-subtle);background:var(--card-bg);border-radius:8px;flex:none;place-items:center;width:48px;height:48px;font-size:15px;font-weight:600;display:grid}.slash-text{flex:1;min-width:0;display:grid}.slash-text b{font-size:14px;font-weight:500}.slash-text span{color:var(--text-2);text-overflow:ellipsis;font-size:12px;overflow:hidden}.doc-templates{align-items:center;gap:var(--s1);margin-top:var(--s3);flex-wrap:wrap;display:flex}.doc-templates p{margin:0 0 var(--s1);flex-basis:100%;font-size:14px}.doc-comments{margin:var(--s2) 0 var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--border-subtle);gap:var(--s2);display:grid}.doc-comment{gap:var(--s2);grid-template-columns:24px 1fr;font-size:14px;display:grid}.doc-comment-head{align-items:center;gap:var(--s2);color:var(--text-2);font-size:12px;display:flex}.doc-comment-head b{color:var(--text);font-size:13px}.doc-comment-head .actions{opacity:0;gap:4px;margin-left:auto;display:flex}.doc-comment .actions:focus-within,.doc-comment:hover .actions{opacity:1}.doc-comment.resolved{opacity:.6}.doc-comment-input{gap:var(--s2);align-items:flex-end;display:flex}.doc-comment-input textarea{resize:none;flex:1;min-height:36px}.emoji-pop{width:312px;max-width:100%;padding:var(--s2);gap:var(--s2);display:grid}.emoji-scroll{max-height:300px;margin:0 calc(-1 * var(--s1));padding:0 var(--s1);overflow-y:auto}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.emoji-group{z-index:1;padding:var(--s2) 4px var(--s1);color:var(--text-2);background:var(--raised);font-size:12px;font-weight:500;position:sticky;top:0}.emoji-group:first-child{padding-top:0}.emoji-empty{padding:var(--s4) 0;text-align:center;color:var(--text-2);font-size:13px}.emoji-grid button{border-radius:8px;height:36px;font-size:22px}.emoji-grid button:focus-visible,.emoji-grid button:hover{background:var(--hover)}.cover-pop{width:312px;max-width:100%;padding:var(--s2);gap:var(--s2);display:grid}.cover-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.cover-grid button{border-radius:8px;height:48px}.cover-grid button:focus-visible,.cover-grid button:hover{box-shadow:0 0 0 2px var(--accent)}.history{gap:var(--s4);grid-template-columns:220px 1fr;min-height:50vh;display:grid}.history-list{align-content:start;gap:4px;max-height:60vh;display:grid;overflow-y:auto}.history-item{text-align:left;padding:var(--s2);border-radius:8px;gap:4px;font-size:13px;display:grid}.history-item:hover{background:var(--hover)}.history-item.on{background:var(--pressed)}.history-item span{color:var(--text-2);font-size:12px}.history-preview{border:1px solid var(--border-subtle);border-radius:var(--r);padding:var(--s4) var(--s5);max-height:60vh;overflow-y:auto}.board-wrap,.history-preview .doc-content{min-height:0}@media (width<=720px){.history{grid-template-columns:1fr}}.docs-area.is-board{flex-direction:column;display:flex;overflow:hidden}.board-wrap{border-top:1px solid var(--border-subtle);flex:1;position:relative}.board-title{z-index:20;top:var(--s3);left:var(--s3);max-width:min(420px,50%);height:36px;padding:0 var(--s3);border:1px solid var(--border-subtle);border-radius:var(--r);background:var(--raised);box-shadow:var(--e2);color:var(--text);font:inherit;font-size:15px;font-weight:600;position:absolute}.board-title:focus{border-color:var(--accent);outline:none}.board-side{z-index:25;top:var(--s3);right:var(--s3);bottom:var(--s3);width:340px;padding:var(--s4);border-radius:var(--r-lg);background:var(--raised);box-shadow:var(--e4);position:absolute;overflow-y:auto}.board-state{height:100%;color:var(--text-2);place-items:center;display:grid}.bc{--bc-bg:var(--app-bg);--bc-dot:var(--n7);background:var(--bc-bg);-webkit-user-select:none;user-select:none;touch-action:none;contain:strict;outline:none;position:absolute;inset:0;overflow:hidden}.bc.grab{cursor:grab}.bc.grabbing,.bc.grabbing *{cursor:grabbing!important}.bc.crosshair,.bc.crosshair .bs{cursor:crosshair}.bc.preview{border-radius:var(--r)}.bc-grid{pointer-events:none;background-image:radial-gradient(circle,var(--bc-dot) 1px,transparent 1.2px);position:absolute;inset:0}.bc-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.c-yellow{--st:#ffe68a;--bg:var(--l-amber-bg);--fg:var(--l-amber-fg)}.c-orange{--st:#ffc999;--bg:var(--l-orange-bg);--fg:var(--l-orange-fg)}.c-pink{--st:#ffbfdd;--bg:var(--l-pink-bg);--fg:var(--l-pink-fg)}.c-violet{--st:#d8caff;--bg:var(--l-violet-bg);--fg:var(--l-violet-fg)}.c-blue{--st:#b5dcff;--bg:var(--l-blue-bg);--fg:var(--l-blue-fg)}.c-teal{--st:#a6ebdc;--bg:var(--l-teal-bg);--fg:var(--l-teal-fg)}.c-green{--st:#c4ecb0;--bg:var(--l-green-bg);--fg:var(--l-green-fg)}.c-gray{--st:#e2e2e2;--bg:var(--l-gray-bg);--fg:var(--l-gray-fg)}.c-ink{--st:#d4d4d4;--bg:var(--raised);--fg:var(--text)}.bs{box-sizing:border-box;color:var(--text);line-height:1.3;display:flex;position:absolute}.bs-body{white-space:pre-wrap;overflow-wrap:anywhere;outline:none;flex:1;min-width:0}.bs-sticky{text-align:center;color:#1f1f1f;background:var(--st);border-radius:4px;align-items:center;padding:16px;box-shadow:0 1px 2px #0000001f,0 6px 14px -6px #00000038}.bs-sticky .bs-body{max-height:100%;overflow:hidden}.bs-ellipse,.bs-rect{text-align:center;background:var(--bg);border:2px solid var(--fg);border-radius:8px;align-items:center;padding:12px}.bs-ellipse{border-radius:50%;padding:18%}.bs-body.empty,.bs-edit{min-height:1.3em}.bs-text{color:var(--fg);padding:4px;font-weight:500}.bs-text .bs-body.empty{color:var(--text-3)}.bs-edit{cursor:text;-webkit-user-select:text;user-select:text;caret-color:var(--accent)}.bs-sticky .bs-edit{max-height:100%;overflow:auto}.bc-arrows{pointer-events:none;z-index:100000;position:absolute;top:0;left:0;overflow:visible}.bc-arrows .hit{stroke:#0000;pointer-events:stroke;stroke-linecap:round}.bc-arrows .ln{stroke:var(--fg);stroke-width:2.5px;stroke-linecap:round;pointer-events:none}.bc-arrows .hd{fill:var(--fg);pointer-events:none}.bc-arrows .ln.sel{filter:drop-shadow(0 0 3px var(--accent))}.bc-sel{border:1.5px solid var(--accent)}.bc-peer-sel,.bc-sel{pointer-events:none;border-radius:4px;position:absolute}.bc-peer-sel{opacity:.8;border:2px solid}.bc-marquee{pointer-events:none;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);position:absolute}.bc-handle{background:var(--raised);border:1.5px solid var(--accent);z-index:2;border-radius:4px;width:12px;height:12px;margin:-4px 0 0 -4px;position:absolute}.bc-handle.h-nw,.bc-handle.h-se{cursor:nwse-resize}.bc-handle.h-ne,.bc-handle.h-sw{cursor:nesw-resize}.bc-handle.h-e,.bc-handle.h-w{cursor:ew-resize}.bc-handle.h-p1,.bc-handle.h-p2{cursor:move;border-radius:50%}.bc-cursor{pointer-events:none;z-index:3;transition:transform 80ms linear;top:0;left:0}.bc-cursor,.bc-cursor span,.bc-empty,.bc-ui{position:absolute}.bc-cursor span{color:#fff;white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;top:16px;left:16px}.bc-empty{text-align:center;max-width:360px;color:var(--text-3);pointer-events:none;margin:0;top:45%;left:50%;transform:translate(-50%,-50%)}.bc-ui{z-index:10;border-radius:var(--r-lg);background:var(--raised);box-shadow:var(--e4);cursor:default;align-items:center;gap:4px;padding:4px;display:flex}.bc-tools{left:50%;bottom:var(--s4);padding:8px;transform:translate(-50%)}.bc-zoom{right:var(--s4);bottom:var(--s4)}.bc-bar{transform:translate(-50%)}.bc-sep{background:var(--border-subtle);align-self:stretch;width:1px;margin:4px}.bc-btn,.bc-tool{border-radius:var(--r);min-width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.bc-tool{width:40px;height:40px}.bc-btn:hover,.bc-tool:hover{background:var(--hover);color:var(--text)}.bc-btn.on,.bc-tool.on{background:var(--accent-soft);color:var(--accent-text)}.bc-btn.txt{padding:0 8px;font-size:13px;font-weight:600}.bc-btn.pct{font-variant-numeric:tabular-nums;min-width:52px}.bc-btn.danger:hover{background:var(--critical-soft);color:var(--critical-text)}.bc-swatch{cursor:pointer;background:var(--st);border:1.5px solid color-mix(in srgb,var(--fg) 45%,transparent);border-radius:50%;width:24px;height:24px;margin:0;padding:0}.bc-swatch.c-ink{background:var(--text)}.bc-swatch.on{box-shadow:0 0 0 2px var(--raised),0 0 0 4px var(--accent)}.history-preview.board{height:60vh;padding:0;position:relative;overflow:hidden}.bc-target{pointer-events:none;border:2px solid var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;position:absolute}.app-loader{z-index:40;background:var(--app-bg);place-items:center;display:grid;position:fixed;inset:0}.app-spinner{box-sizing:border-box;border:2.5px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite app-spin,.2s .15s both app-appear}@keyframes app-spin{to{transform:rotate(1turn)}}@keyframes app-appear{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.app-spinner{animation-duration:2s,.2s}}.app-loader-error{justify-items:center;gap:var(--s3);text-align:center;color:var(--text-2);display:grid}.app-loader-error p{margin:0}.app-loader.inline{z-index:auto;background:0 0;min-height:40vh;position:relative;inset:auto}.board-wrap>.app-loader.inline,.history-preview>.app-loader.inline{min-height:0;position:absolute;inset:0}.history-list>.app-loader.inline{min-height:120px}.doc-page>.app-loader.inline{z-index:4;background:var(--app-bg);min-height:0;position:absolute;inset:44px 0 0}
