:root{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--r-xs:6px;--r-sm:9px;--r-md:13px;--r-lg:18px;--r-xl:24px;--e-fast:.14s cubic-bezier(.4,0,.2,1);--e-mid:.24s cubic-bezier(.4,0,.2,1);--e-slow:.38s cubic-bezier(.22,1,.36,1);--prio-high:#ff5c72;--prio-med:#ffb340;--prio-low:#34d99b;--tag-rose:#f4477d;--tag-amber:#f5a623;--tag-emerald:#24c98a;--tag-sky:#3fa9f5;--tag-violet:#9b6cf5;--tag-slate:#8899ad}:root,:root[data-theme=dark]{--bg-base:#080a0f;--bg-elev:#161a24b8;--bg-elev-solid:#161a24;--bg-hover:#ffffff0f;--bg-active:#ffffff1a;--bg-input:#ffffff0a;--stroke:#ffffff17;--stroke-strong:#ffffff29;--fg:#eef1f7;--fg-dim:#9aa4b6;--fg-faint:#6b7488;--accent:#6c8cff;--accent-fg:#fff;--accent-soft:#6c8cff29;--accent-glow:#6c8cff61;--danger:#ff5c72;--danger-soft:#ff5c7224;--sh-sm:0 1px 2px #00000080;--sh-md:0 10px 26px #00000073;--sh-lg:0 28px 70px #0000009e;--sh-drag:0 22px 48px #0009;--glass-blur:20px}:root[data-theme=light]{--bg-base:#eef1f7;--bg-elev:#ffffffc7;--bg-elev-solid:#fff;--bg-hover:#1018280d;--bg-active:#10182817;--bg-input:#10182809;--stroke:#1018281a;--stroke-strong:#1018282b;--fg:#131722;--fg-dim:#5a6478;--fg-faint:#8b94a6;--accent:#4664e8;--accent-fg:#fff;--accent-soft:#4664e81f;--accent-glow:#4664e84d;--danger:#e03b54;--danger-soft:#e03b541f;--sh-sm:0 1px 2px #1018281a;--sh-md:0 10px 26px #1018281f;--sh-lg:0 28px 70px #10182833;--sh-drag:0 22px 48px #10182847}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font);color:var(--fg);background:var(--bg-base);-webkit-font-smoothing:antialiased;transition:background var(--e-mid), color var(--e-mid);margin:0;font-size:14px;overflow:hidden}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}a{color:inherit}[hidden]{display:none!important}::selection{background:var(--accent-glow);color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--stroke-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--stroke-strong);background-clip:content-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--fg-faint);background-clip:content-box}.glass{background:var(--bg-elev);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--stroke)}kbd{color:var(--fg-faint);background:var(--bg-hover);border:1px solid var(--stroke);white-space:nowrap;border-radius:5px;padding:2px 6px;font-family:inherit;font-size:10.5px;font-weight:600}.btn{border-radius:var(--r-sm);white-space:nowrap;transition:background var(--e-fast), border-color var(--e-fast), transform var(--e-fast), box-shadow var(--e-fast), opacity var(--e-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.975)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{flex:none;width:16px;height:16px}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-soft{background:var(--bg-hover);border-color:var(--stroke)}.btn-soft:hover{background:var(--bg-active)}.btn-ghost{color:var(--fg-dim);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--fg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.btn-block{width:100%}.btn-lg{padding:12px 18px;font-size:14.5px}.btn-xs{padding:5px 10px;font-size:12.5px}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--fg-dim);transition:background var(--e-fast), color var(--e-fast), border-color var(--e-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--fg);border-color:var(--stroke)}.icon-btn svg{width:18px;height:18px}.avatar{color:#fff;background:linear-gradient(140deg, var(--accent), #a76cf5);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:inline-flex}.avatar.sm{width:28px;height:28px;font-size:11.5px}.avatar.lg{width:40px;height:40px;font-size:15px}.avatar.xl{width:62px;height:62px;font-size:22px}.input{background:var(--bg-input);border:1px solid var(--stroke);border-radius:var(--r-sm);width:100%;color:var(--fg);transition:border-color var(--e-fast), box-shadow var(--e-fast);padding:9px 12px;font-size:13.5px}.input::placeholder{color:var(--fg-faint)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;font-family:inherit;line-height:1.55}select.input{cursor:pointer}select.input option{background:var(--bg-elev-solid);color:var(--fg)}.field{margin-bottom:14px;display:block}.field>span{color:var(--fg-dim);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input,.field select{background:var(--bg-input);border:1px solid var(--stroke);border-radius:var(--r-sm);width:100%;color:var(--fg);transition:border-color var(--e-fast), box-shadow var(--e-fast);padding:11px 13px;font-size:14px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.check{color:var(--fg-dim);align-items:center;gap:7px;font-size:13px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.seg{background:var(--bg-input);border:1px solid var(--stroke);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.seg-fill{width:100%;display:flex}.seg-fill .seg-btn{flex:1}.seg-btn{color:var(--fg-dim);transition:background var(--e-fast), color var(--e-fast);background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600}.seg-btn:hover{color:var(--fg)}.seg-btn.is-active{background:var(--bg-elev-solid);color:var(--fg);box-shadow:var(--sh-sm)}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);margin-bottom:9px;font-size:11.5px;font-weight:700}.auth-view{z-index:50;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.auth-aurora{filter:blur(14px);background:radial-gradient(48vw 48vw at 18% 22%,#6c8cff4d,#0000 62%),radial-gradient(42vw 42vw at 82% 26%,#a76cf542,#0000 60%),radial-gradient(52vw 40vw at 50% 96%,#24c98a29,#0000 64%);animation:18s ease-in-out infinite alternate aurora;position:absolute;inset:0}@keyframes aurora{0%{transform:translate(0,0)scale(1)}to{transform:translateY(-3%)scale(1.08)}}.auth-card{border-radius:var(--r-xl);width:min(420px,100%);box-shadow:var(--sh-lg);animation:pop-in var(--e-slow) both;padding:34px;position:relative}@keyframes pop-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}.auth-brand{align-items:center;gap:13px;margin-bottom:26px;display:flex}.auth-brand h1{letter-spacing:-.02em;font-size:21px;font-weight:800}.auth-brand p{color:var(--fg-dim);margin-top:2px;font-size:13px}.brand-mark{border-radius:var(--r-md);background:linear-gradient(140deg, var(--accent), #a76cf5);color:#fff;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand-mark svg{width:22px;height:22px}.brand-mark.sm{border-radius:var(--r-sm);width:32px;height:32px}.brand-mark.sm svg{width:17px;height:17px}.alert{border-radius:var(--r-sm);margin-bottom:14px;padding:10px 13px;font-size:13px;font-weight:500}.alert-error{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger)}.alert-ok{border:1px solid var(--prio-low);color:var(--prio-low);background:#34d99b24}.alert-info{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent)}.auth-alt{text-align:center;color:var(--fg-dim);margin-top:18px;font-size:13px}.auth-alt a,.link{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:none}.auth-alt a:hover,.link:hover{text-decoration:underline}.shell{flex-direction:column;height:100%;display:flex}.topbar{z-index:20;border-width:0 0 1px;border-radius:0;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex}.topbar-left{align-items:center;gap:11px;min-width:0;display:flex}.topbar-right{flex:none;align-items:center;gap:8px;display:flex}.board-title{border-radius:var(--r-sm);letter-spacing:-.015em;min-width:0;max-width:300px;transition:background var(--e-fast), border-color var(--e-fast);background:0 0;border:1px solid #0000;padding:6px 10px;font-size:16px;font-weight:700}.board-title:hover{background:var(--bg-hover)}.board-title:focus{background:var(--bg-input);border-color:var(--accent);outline:none}.page-title{letter-spacing:-.015em;font-size:16px;font-weight:700}.back-link{border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--bg-input);color:var(--fg-dim);transition:background var(--e-fast), color var(--e-fast);align-items:center;gap:5px;padding:7px 11px 7px 7px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--bg-hover);color:var(--fg)}.back-link svg{width:15px;height:15px}.search-trigger{background:var(--bg-input);border:1px solid var(--stroke);border-radius:var(--r-sm);min-width:220px;color:var(--fg-faint);transition:border-color var(--e-fast), background var(--e-fast);align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.search-trigger:hover{border-color:var(--stroke-strong);background:var(--bg-hover)}.search-trigger svg{flex:none;width:15px;height:15px}.search-trigger span{text-align:left;flex:1}.menu-wrap{position:relative}.popover{background:var(--bg-elev-solid);border:1px solid var(--stroke);border-radius:var(--r-md);min-width:224px;box-shadow:var(--sh-lg);z-index:40;animation:pop-in var(--e-fast) both;padding:8px;position:absolute;top:calc(100% + 9px);right:0}.popover-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);padding:7px 9px 5px;font-size:11px;font-weight:700}.popover-item{border-radius:var(--r-xs);text-align:left;width:100%;transition:background var(--e-fast);background:0 0;border:none;align-items:center;gap:10px;padding:9px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.popover-item:hover{background:var(--bg-hover)}.popover-item.danger{color:var(--danger)}.popover-item.danger:hover{background:var(--danger-soft)}.popover-item svg{flex:none;width:16px;height:16px}.user-head{border-bottom:1px solid var(--stroke);align-items:center;gap:10px;margin-bottom:5px;padding:9px;display:flex}.user-head strong{font-size:13.5px;display:block}.user-head span{color:var(--fg-faint);font-size:12px}.theme-popover{width:288px}.bg-grid{grid-template-columns:repeat(4,1fr);gap:7px;max-height:232px;padding:4px;display:grid;overflow-y:auto}.bg-swatch{border-radius:var(--r-sm);height:46px;transition:transform var(--e-fast), border-color var(--e-fast);background-position:50%;background-size:cover;border:2px solid #0000}.bg-swatch:hover{transform:translateY(-2px)}.bg-swatch.is-active{border-color:var(--fg)}.dash{flex:1;min-height:0;display:flex;overflow:hidden}.side{border-right:1px solid var(--stroke);flex:none;width:236px;padding:16px 12px;overflow-y:auto}.side-link{border-radius:var(--r-sm);width:100%;color:var(--fg-dim);text-align:left;transition:background var(--e-fast), color var(--e-fast);background:0 0;border:none;align-items:center;gap:10px;margin-bottom:3px;padding:9px 11px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}.side-link:hover{background:var(--bg-hover);color:var(--fg)}.side-link.is-active{background:var(--accent-soft);color:var(--accent)}.side-link svg{flex:none;width:17px;height:17px}.side-sep{background:var(--stroke);height:1px;margin:12px 6px}.side-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);padding:4px 11px 8px;font-size:11px;font-weight:700}.profile-card{border:1px solid var(--stroke);border-radius:var(--r-md);background:var(--bg-input);text-align:left;width:100%;transition:background var(--e-fast), border-color var(--e-fast);align-items:center;gap:11px;margin-bottom:12px;padding:11px;display:flex}.profile-card:hover{background:var(--bg-hover);border-color:var(--stroke-strong)}.pc-text{flex:1;min-width:0}.pc-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.pc-text small{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;display:block;overflow:hidden}.pc-stats{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.pc-stat{border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--bg-input);text-align:center;padding:9px 6px}.pc-stat b{letter-spacing:-.02em;font-size:15px;font-weight:800;display:block}.pc-stat span{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-faint);font-size:10px;font-weight:600}.dash-main{flex:1;min-width:0;padding:26px 28px 50px;overflow-y:auto}.dash-block{margin-bottom:34px}.dash-h{color:var(--fg-dim);align-items:center;gap:9px;margin-bottom:15px;font-size:14px;font-weight:700;display:flex}.dash-h svg{width:16px;height:16px}.tiles{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:15px;display:grid}.tile{border:1px solid var(--stroke);border-radius:var(--r-md);text-align:left;height:108px;box-shadow:var(--sh-sm);transition:transform var(--e-fast), box-shadow var(--e-fast);padding:0;text-decoration:none;display:block;position:relative;overflow:hidden}.tile:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}.tile-bg{background-position:50%;background-size:cover;position:absolute;inset:0}.tile-bg:after{content:"";background:linear-gradient(#0000001f,#000000ad);position:absolute;inset:0}.tile-body{color:#fff;flex-direction:column;justify-content:space-between;height:100%;padding:12px 13px;display:flex;position:relative}.tile-name{text-shadow:0 1px 4px #00000080;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.tile-meta{opacity:.92;text-shadow:0 1px 3px #00000080;font-size:11.5px;font-weight:600}.tile-star,.tile-del{border-radius:var(--r-xs);color:#fff;opacity:1;width:26px;height:26px;transition:opacity var(--e-fast), background var(--e-fast);background:#0000006b;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px}@media (hover:hover){.tile-star,.tile-del{opacity:0}.tile:hover .tile-star,.tile:hover .tile-del,.tile-star.is-on{opacity:1}}.tile-star{right:40px}.tile-star.is-on{color:#ffcc4d}.tile-del{right:8px}.tile-del:hover{background:var(--danger)}.tile-star svg,.tile-del svg{width:14px;height:14px}.tile-new{border:1.5px dashed var(--stroke-strong);border-radius:var(--r-md);background:var(--bg-input);height:108px;color:var(--fg-dim);transition:background var(--e-fast), color var(--e-fast), border-color var(--e-fast);justify-content:center;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.tile-new:hover{background:var(--bg-hover);color:var(--fg);border-color:var(--accent)}.tile-new svg{width:16px;height:16px}.empty-note{color:var(--fg-faint);padding:30px 4px;font-size:13.5px}.board{isolation:isolate;background:0 0;flex:1;align-items:flex-start;gap:14px;min-height:0;padding:18px;display:flex;position:relative;overflow:auto hidden}.board-bg{pointer-events:none;z-index:0;transition:background-image var(--e-mid);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.board-bg.has-photo:after{content:"";background:linear-gradient(#06080e57,#06080e85);position:absolute;inset:0}.board>*{z-index:1;position:relative}.lists{align-items:flex-start;gap:14px;height:100%;display:flex}.list{background:var(--bg-elev);width:292px;max-height:100%;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border:1px solid var(--stroke);border-radius:var(--r-lg);box-shadow:var(--sh-md);transition:box-shadow var(--e-fast), opacity var(--e-fast), transform var(--e-fast);flex-direction:column;flex:none;display:flex}.list.is-dragging{opacity:.45;transform:rotate(1.6deg)scale(.99)}.list.is-drop-target{box-shadow:0 0 0 2px var(--accent), var(--sh-md)}.list.over-wip{box-shadow:0 0 0 1.5px var(--prio-med), var(--sh-md)}.list-head{cursor:grab;padding:12px 12px 8px}.list-head:active{cursor:grabbing}.list-head-top{align-items:center;gap:8px;display:flex}.list-title{border-radius:var(--r-xs);min-width:0;transition:background var(--e-fast), border-color var(--e-fast);background:0 0;border:1px solid #0000;flex:1;padding:4px 7px;font-size:14px;font-weight:700}.list-title:hover{background:var(--bg-hover)}.list-title:focus{background:var(--bg-input);border-color:var(--accent);outline:none}.count-pill{background:var(--bg-hover);color:var(--fg-dim);border-radius:99px;flex:none;padding:2px 8px;font-size:11.5px;font-weight:700}.count-pill.warn{color:var(--prio-med);background:#ffb3402e}.list-stats{align-items:center;gap:8px;margin-top:8px;padding:0 7px;display:flex}.list-stats small{color:var(--fg-faint);flex:none;font-size:11px;font-weight:600}.bar{background:var(--bg-hover);border-radius:99px;flex:1;height:5px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--accent), #a76cf5);height:100%;transition:width var(--e-mid);border-radius:99px}.cards{flex-direction:column;flex:1;gap:8px;min-height:8px;padding:4px 9px;display:flex;overflow-y:auto}.cards.drag-over{background:var(--bg-hover)}.list-foot{padding:6px 9px 10px}.add-card{border-radius:var(--r-sm);width:100%;color:var(--fg-dim);transition:background var(--e-fast), color var(--e-fast);background:0 0;border:none;align-items:center;gap:7px;padding:9px;font-size:13px;font-weight:600;display:flex}.add-card:hover{background:var(--bg-hover);color:var(--fg)}.add-card svg{width:15px;height:15px}.composer{flex-direction:column;gap:8px;display:flex}.composer textarea{resize:none}.composer-actions{align-items:center;gap:8px;display:flex}.add-list{background:var(--bg-elev);width:292px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px dashed var(--stroke-strong);border-radius:var(--r-lg);color:var(--fg-dim);transition:background var(--e-fast), color var(--e-fast), border-color var(--e-fast);flex:none;align-items:center;gap:8px;padding:13px 15px;font-size:13.5px;font-weight:600;display:flex}.add-list:hover{background:var(--bg-hover);color:var(--fg);border-color:var(--accent)}.add-list svg{width:16px;height:16px}.card{background:var(--bg-elev-solid);border:1px solid var(--stroke);border-radius:var(--r-md);box-shadow:var(--sh-sm);cursor:grab;transition:transform var(--e-fast), box-shadow var(--e-fast), border-color var(--e-fast);will-change:transform;flex-direction:column;gap:7px;padding:11px 12px;display:flex;position:relative}.card:hover{box-shadow:var(--sh-md);border-color:var(--stroke-strong);transform:translateY(-2px)}.card:active{cursor:grabbing}.card.is-dragging{opacity:0;pointer-events:none;height:0;min-height:0;transition:height var(--e-mid), padding var(--e-mid), margin var(--e-mid), opacity var(--e-fast);border-width:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden}.card.is-dragging>*{display:none}.cardlist-move{transition:transform .26s cubic-bezier(.22,1,.36,1)}.cardlist-enter-active{transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1)}.cardlist-leave-active{width:calc(100% - 18px);transition:opacity .14s;position:absolute}.cardlist-enter-from{opacity:0;transform:translateY(-6px)scale(.98)}.cardlist-leave-to{opacity:0}.drag-ghost{opacity:1;pointer-events:none;background:var(--bg-elev-solid);border:1px solid var(--accent);box-shadow:var(--sh-drag);z-index:-1;margin:0;position:fixed;top:-1000px;left:-1000px;transform:rotate(2deg)}.card.just-added{animation:card-in var(--e-mid) both}@keyframes card-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:none}}.card.just-moved{animation:.32s cubic-bezier(.22,1,.36,1) both card-settle}@keyframes card-settle{0%{box-shadow:var(--sh-md);border-color:var(--accent);transform:scale(1.03)}to{box-shadow:var(--sh-sm);transform:none}}.card-tags{flex-wrap:wrap;gap:5px;display:flex}.tag-dot{border-radius:99px;width:30px;height:7px}.card-cover{border-radius:var(--r-xs);background:var(--bg-hover);margin:1px 0 2px;overflow:hidden}.card-cover img{object-fit:cover;width:100%;height:110px;display:block}.card-title{word-break:break-word;font-size:13.5px;font-weight:500;line-height:1.45}.card-title mark{background:var(--accent-soft);color:var(--accent);border-radius:3px;padding:0 2px}.card-foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card-members{margin-left:auto;display:flex}.card-member{color:#fff;border:2px solid var(--bg-elev-solid);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-left:-6px;font-size:10px;font-weight:700;display:flex}.card-member:first-child{margin-left:0}.prio{border-radius:99px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.prio:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.prio-high{color:var(--prio-high);background:#ff5c7221;box-shadow:0 0 12px #ff5c7238}.prio-medium{color:var(--prio-med);background:#ffb34021}.prio-low{color:var(--prio-low);background:#34d99b21}.meta{border-radius:var(--r-xs);background:var(--bg-hover);color:var(--fg-dim);align-items:center;gap:4px;padding:3px 7px;font-size:11px;font-weight:600;display:inline-flex}.meta svg{width:12px;height:12px}.meta.overdue{color:var(--prio-high);background:#ff5c7224}.meta.today{color:var(--prio-med);background:#ffb34029}.meta.done{color:var(--prio-low);background:#34d99b24}.card-menu-btn{border:1px solid var(--stroke);background:var(--bg-elev-solid);border-radius:var(--r-xs);width:24px;height:24px;color:var(--fg-dim);box-shadow:var(--sh-sm);justify-content:center;align-items:center;display:none;position:absolute;top:7px;right:7px}.card:hover .card-menu-btn{display:inline-flex}.card-menu-btn:hover{color:var(--fg);background:var(--bg-hover)}.card-menu-btn svg{width:14px;height:14px}.drop-ph{border:1.5px dashed var(--accent);border-radius:var(--r-md);background:var(--accent-soft);transform-origin:top;flex:none;height:52px;animation:.18s cubic-bezier(.22,1,.36,1) both ph-in}@keyframes ph-in{0%{opacity:0;height:0}to{opacity:1;height:52px}}.overlay{z-index:60;-webkit-backdrop-filter:blur(4px);background:#04060c99;justify-content:center;align-items:flex-start;padding:40px 18px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border-radius:var(--r-xl);width:100%;box-shadow:var(--sh-lg);background:var(--bg-elev-solid);border:1px solid var(--stroke);animation:pop-in var(--e-mid) both}.modal-close{border:1px solid var(--stroke);background:var(--bg-hover);width:32px;height:32px;color:var(--fg-dim);z-index:2;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--bg-active);color:var(--fg)}.modal-close svg{width:15px;height:15px}.card-modal{max-width:720px;position:relative}.card-modal-head{padding:26px 60px 14px 26px}.card-title-input{border-radius:var(--r-sm);letter-spacing:-.02em;resize:none;background:0 0;border:1px solid #0000;width:100%;padding:6px 9px;font-family:inherit;font-size:19px;font-weight:700;line-height:1.35;overflow:hidden}.card-title-input:hover{background:var(--bg-hover)}.card-title-input:focus{background:var(--bg-input);border-color:var(--accent);outline:none}.card-breadcrumb{color:var(--fg-faint);padding:3px 9px 0;font-size:12.5px}.card-modal-body{align-items:flex-start;gap:22px;padding:6px 26px 26px;display:flex}.card-modal-main{flex-direction:column;flex:1;gap:22px;min-width:0;display:flex}.card-modal-side{flex-direction:column;flex:none;gap:7px;width:158px;display:flex}.section-head{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.section-head .section-title{margin-bottom:0}.pct{color:var(--fg-dim);font-size:12px;font-weight:700}.side-btn{border:1px solid var(--stroke);background:var(--bg-hover);border-radius:var(--r-sm);text-align:left;width:100%;transition:background var(--e-fast), color var(--e-fast), border-color var(--e-fast);align-items:center;gap:9px;padding:9px 11px;font-size:13px;font-weight:600;display:flex}.side-btn:hover{background:var(--bg-active)}.side-btn.danger{color:var(--danger)}.side-btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.side-btn svg{flex:none;width:15px;height:15px}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:9px;display:flex}.tag-chip{color:#fff;border-radius:99px;align-items:center;gap:7px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.tag-chip button{color:#fffc;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.tag-chip button:hover{color:#fff}.swatch-row{flex-wrap:wrap;gap:7px;display:flex}.tag-swatch{border-radius:var(--r-xs);width:34px;height:30px;transition:transform var(--e-fast), border-color var(--e-fast);border:2px solid #0000}.tag-swatch:hover{transform:translateY(-2px)}.tag-swatch.is-active{border-color:var(--fg)}.member-swatch{color:#fff;width:32px;height:32px;transition:transform var(--e-fast), border-color var(--e-fast);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.member-swatch:hover{transform:translateY(-2px)}.member-swatch.is-active{border-color:var(--fg);box-shadow:0 0 0 2px var(--bg-elev-solid), 0 0 0 4px var(--accent)}.due-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.due-row .input{width:auto}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light] input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.due-pill{border-radius:99px;margin-top:9px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.checklist{flex-direction:column;gap:3px;margin:10px 0 9px;display:flex}.checklist-item{border-radius:var(--r-xs);transition:background var(--e-fast);align-items:center;gap:10px;padding:7px 9px;display:flex}.checklist-item:hover{background:var(--bg-hover)}.checklist-item input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}.checklist-item span{word-break:break-word;flex:1;font-size:13.5px}.checklist-item.done span{color:var(--fg-faint);text-decoration:line-through}.checklist-item button{width:24px;height:24px;color:var(--fg-faint);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;display:none}.checklist-item:hover button{display:inline-flex}.checklist-item button:hover{background:var(--danger-soft);color:var(--danger)}.inline-form{gap:8px;display:flex}.dropzone{border:1.5px dashed var(--stroke-strong);border-radius:var(--r-md);background:var(--bg-input);color:var(--fg-dim);text-align:center;cursor:pointer;transition:border-color var(--e-fast), background var(--e-fast), transform var(--e-fast);flex-direction:column;align-items:center;gap:5px;margin-bottom:11px;padding:22px 16px;display:flex}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.dropzone.is-over{transform:scale(1.012)}.dropzone svg{width:26px;height:26px;color:var(--accent)}.dropzone p{font-size:13.5px}.dropzone small{color:var(--fg-faint);font-size:11.5px}.dropzone.is-busy{pointer-events:none;opacity:.6}.attach-grid{flex-direction:column;gap:7px;margin-bottom:11px;display:flex}.attach-item{border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--bg-input);align-items:center;gap:11px;padding:9px 11px;font-size:13px;display:flex}.attach-thumb{border-radius:var(--r-xs);background:linear-gradient(140deg, var(--accent), #a76cf5);color:#fff;border:none;flex:none;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex;overflow:hidden}.attach-thumb svg{width:17px;height:17px}.attach-thumb img{object-fit:cover;width:100%;height:100%;display:block}.attach-thumb.is-image{cursor:zoom-in}.attach-meta{flex:1;min-width:0}.attach-meta b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.attach-meta small{color:var(--fg-faint);font-size:11px}.attach-actions{flex:none;gap:2px;display:flex}.attach-actions button,.attach-actions a{border-radius:var(--r-xs);width:28px;height:28px;color:var(--fg-faint);transition:background var(--e-fast), color var(--e-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.attach-actions button:hover,.attach-actions a:hover{background:var(--bg-hover);color:var(--fg)}.attach-actions button.danger:hover{background:var(--danger-soft);color:var(--danger)}.attach-actions svg{width:15px;height:15px}.comment-form{align-items:flex-start;gap:10px;margin-bottom:15px;display:flex}.comment-form textarea{flex:1;min-height:38px}.comments{flex-direction:column;gap:14px;display:flex}.comment{gap:10px;display:flex}.comment-body{flex:1;min-width:0}.comment-meta{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.comment-meta strong{font-size:13px}.comment-meta time{color:var(--fg-faint);font-size:11.5px}.comment-text{border-radius:var(--r-sm);background:var(--bg-hover);white-space:pre-wrap;word-break:break-word;padding:9px 12px;font-size:13.5px;line-height:1.55}.lightbox{z-index:95;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04060ce0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:var(--r-md);max-width:100%;max-height:80vh;box-shadow:var(--sh-lg)}.lightbox-cap{color:#fff;opacity:.85;font-size:13px}.lightbox-close{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:20px;right:20px}.lightbox-close svg{width:17px;height:17px}.context-menu{background:var(--bg-elev-solid);border:1px solid var(--stroke);border-radius:var(--r-md);min-width:194px;box-shadow:var(--sh-lg);z-index:70;animation:pop-in var(--e-fast) both;padding:7px;position:fixed}.cm-item{border-radius:var(--r-xs);text-align:left;width:100%;transition:background var(--e-fast);background:0 0;border:none;align-items:center;gap:10px;padding:8px 9px;font-size:13px;font-weight:500;display:flex}.cm-item:hover{background:var(--bg-hover)}.cm-item.danger{color:var(--danger)}.cm-item.danger:hover{background:var(--danger-soft)}.cm-item svg{flex:none;width:15px;height:15px}.cm-sep{background:var(--stroke);height:1px;margin:5px 4px}.cm-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);padding:7px 9px 4px;font-size:10.5px;font-weight:700}.confirm{align-self:center;max-width:400px;padding:24px}.confirm h3{margin-bottom:8px;font-size:16px;font-weight:700}.confirm p{color:var(--fg-dim);margin-bottom:20px;font-size:13.5px;line-height:1.55}.confirm-actions{justify-content:flex-end;gap:9px;display:flex}.toast-host{z-index:90;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-elev-solid);border:1px solid var(--stroke);box-shadow:var(--sh-lg);animation:pop-in var(--e-fast) both;border-radius:99px;padding:11px 18px;font-size:13px;font-weight:600}.toast.err{border-color:var(--danger);color:var(--danger)}.palette-overlay{align-items:flex-start;padding-top:12vh}.palette{border-radius:var(--r-lg);width:min(600px,100%);box-shadow:var(--sh-lg);animation:pop-in var(--e-mid) both;overflow:hidden}.palette-input{border-bottom:1px solid var(--stroke);align-items:center;gap:11px;padding:15px 17px;display:flex}.palette-input svg{width:17px;height:17px;color:var(--fg-faint);flex:none}.palette-input input{background:0 0;border:none;flex:1;font-size:15px}.palette-input input:focus{outline:none}.palette-results{max-height:46vh;padding:7px;overflow-y:auto}.palette-item{border-radius:var(--r-sm);text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:10px 11px;display:flex}.palette-item:hover,.palette-item.is-active{background:var(--bg-hover)}.pi-main{flex:1;min-width:0}.palette-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.palette-item small{color:var(--fg-faint);font-size:11.5px}.drawer-scrim{z-index:55;background:#04060c80;position:fixed;inset:0}.drawer{width:min(360px,88vw);box-shadow:var(--sh-lg);z-index:56;animation:slide-in var(--e-slow) both;border-width:0 0 0 1px;border-radius:0;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slide-in{0%{transform:translate(100%)}to{transform:none}}.drawer-head{border-bottom:1px solid var(--stroke);flex:none;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer-head h2{font-size:15px;font-weight:700}.feed{flex:1;padding:14px 18px 24px;overflow-y:auto}.feed-item{gap:11px;padding:9px 0;display:flex}.feed-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex:none;margin-top:6px}.feed-body p{font-size:13px;line-height:1.5}.feed-body time{color:var(--fg-faint);font-size:11.5px}.panel{max-width:1000px;margin:0 auto}.table-wrap{border:1px solid var(--stroke);border-radius:var(--r-md);background:var(--bg-elev-solid);overflow:hidden}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--stroke);padding:11px 14px;font-size:13px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-faint);background:var(--bg-input);font-size:11.5px;font-weight:700}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-hover)}.pill{border-radius:99px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.pill-active{color:var(--prio-low);background:#34d99b26}.pill-pending{color:var(--prio-med);background:#ffb34029}.pill-blocked{background:var(--danger-soft);color:var(--danger)}.pill-admin{background:var(--accent-soft);color:var(--accent)}.row-actions{justify-content:flex-end;gap:6px;display:flex}.copy-field{align-items:center;gap:8px;display:flex}.copy-field input{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:11.5px}.spinner{border:3px solid var(--stroke);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:60px auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1020px){.search-trigger{min-width:0}.search-trigger span,.search-trigger kbd{display:none}}@media (width<=860px){.side{display:none}.dash-main{padding:20px 16px 40px}}@media (width<=760px){.topbar{flex-wrap:wrap}.board-title{max-width:44vw;font-size:15px}.card-modal-body{flex-direction:column}.card-modal-side{flex-flow:wrap;width:100%}.side-btn{flex:1;width:auto}.card-modal-head{padding:22px 54px 12px 18px}.card-modal-body{padding:6px 18px 20px}.overlay{padding:20px 12px}}@media (width<=520px){.list,.add-list{width:84vw}.board{padding:14px}.auth-card{padding:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
