﻿.kanban-list-doc{margin:0 0 1.25rem;color:var(--fg-muted-1);font-size:.9rem}.kanban-list-header{text-align:center;margin:0 0 1rem}.kanban-list-tagline{margin:0;font-size:calc(var(--font-size-large, 1.125rem) + .5rem);font-weight:700;line-height:1.45;color:var(--fg-color)}.kanban-list-span-hint{margin:.45rem 0 0;font-size:var(--font-size-small, .875rem);color:var(--fg-muted-2)}:root{--kanban-week-body-min: 88px;--kanban-week-span-height: 280px}.kanban-heatmap-section{margin:1rem 0 .5rem;padding:.85rem 1rem;border-radius:var(--rounded-corner);background:var(--bg-muted-1);border:1px solid var(--border-color)}.kanban-picker-row{display:flex;flex-wrap:wrap;gap:.5rem}.kanban-list-divider{border:none;border-top:1px dashed var(--border-color, #ccc);margin:1.5rem 0}.kanban-month-group{margin-bottom:1.25rem;padding:.85rem 1rem 1rem;border:2px dashed var(--kanban-month-color, var(--accent-color));border-radius:calc(var(--rounded-corner) + .35rem);background:color-mix(in srgb, var(--kanban-month-color, var(--accent-color)) 6%, var(--bg-color))}.kanban-month-group[data-month="1"]{--kanban-month-color: hsl(0 52% 52%)}.kanban-month-group[data-month="2"]{--kanban-month-color: hsl(30 52% 52%)}.kanban-month-group[data-month="3"]{--kanban-month-color: hsl(60 52% 52%)}.kanban-month-group[data-month="4"]{--kanban-month-color: hsl(90 52% 52%)}.kanban-month-group[data-month="5"]{--kanban-month-color: hsl(120 52% 52%)}.kanban-month-group[data-month="6"]{--kanban-month-color: hsl(150 52% 52%)}.kanban-month-group[data-month="7"]{--kanban-month-color: hsl(180 52% 52%)}.kanban-month-group[data-month="8"]{--kanban-month-color: hsl(210 52% 52%)}.kanban-month-group[data-month="9"]{--kanban-month-color: hsl(240 52% 52%)}.kanban-month-group[data-month="10"]{--kanban-month-color: hsl(270 52% 52%)}.kanban-month-group[data-month="11"]{--kanban-month-color: hsl(300 52% 52%)}.kanban-month-group[data-month="12"]{--kanban-month-color: hsl(330 52% 52%)}.kanban-month-group-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--fg-muted-2)}.kanban-month-group-cards{display:flex;flex-direction:column;gap:.85rem}.kanban-month-group-cards--flat{margin-top:0}.kanban-week-list{display:flex;flex-direction:column;gap:0}.kanban-week-card{position:relative;border-radius:calc(var(--rounded-corner) + .75rem);overflow:hidden;box-shadow:var(--edge-highlight);background:var(--bg-muted-1);display:flex;flex-direction:column;transition:box-shadow .2s ease}.kanban-week-card.kanban-week-card--highlight{box-shadow:0 0 0 2px var(--accent-color),var(--edge-highlight)}.kanban-week-card.kanban-progress-complete{background:linear-gradient(135deg, #e8f5e9 0%, var(--bg-muted-1) 55%)}.kanban-week-card.kanban-progress-low{background:linear-gradient(135deg, #ffebee 0%, #ffcdd2 45%, var(--bg-muted-1) 70%)}.kanban-week-card.kanban-progress-partial{background:linear-gradient(90deg, #ffcdd2 0%, #fff9c4 calc(var(--kanban-progress, 50%)*.5), #c8e6c9 var(--kanban-progress, 50%), var(--bg-muted-1) var(--kanban-progress, 50%))}.kanban-week-card-inner{display:flex;align-items:stretch;justify-content:space-between;flex:1;min-height:var(--kanban-card-body-height, calc(var(--kanban-week-body-min) + var(--kanban-week-span-height)));padding:1rem 1.1rem;position:relative;z-index:1}.kanban-week-link{flex:1;display:flex;flex-direction:column;min-height:100%;text-decoration:none;color:inherit}.kanban-week-link h3{margin:0 0 .5rem;font-size:1.2rem;font-weight:800;border-inline-start:3px solid var(--accent-color);padding-inline-start:.65rem;line-height:1.35;flex-shrink:0}.kanban-week-link:hover{text-decoration:none}.kanban-week-body{width:100%;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.kanban-week-meta{margin-block:0 .35rem;flex-shrink:0;width:100%}.kanban-week-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .75rem}.kanban-week-meta-row>.tooltip{display:inline-flex;align-items:center;gap:.35rem;color:var(--fg-muted-2);font-size:calc(.9rem*var(--kanban-meta-scale, 1));font-weight:700;white-space:nowrap}.kanban-week-meta-row .icon{flex-shrink:0;box-shadow:var(--edge-highlight);border-radius:var(--rounded-corner-small);background-color:var(--bg-muted-1);padding:.375rem;color:var(--accent-color);font-size:calc(1.1rem*var(--kanban-meta-scale, 1))}.kanban-week-span-spacer{flex:1 1 auto;min-height:0;pointer-events:none}.kanban-stars{display:inline-flex;align-items:center;gap:.05rem;line-height:1;vertical-align:middle}.kanban-star{color:#e0e0e0;font-size:calc(.9rem*var(--kanban-meta-scale, 1));line-height:1}.kanban-star.is-filled{color:#ffd54f;text-shadow:0 0 1px rgba(255,193,7,.45)}.kanban-progress-pct{font-variant-numeric:tabular-nums}.kanban-week-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;font-size:calc(.9rem*var(--kanban-meta-scale, 1));font-weight:700;color:var(--fg-muted-2);flex-shrink:0;width:100%}.kanban-week-open{display:flex;align-items:center;padding-inline-start:.75rem;color:var(--fg-muted-1);text-decoration:none}.kanban-week-open .icon{font-size:1.25rem}.kanban-week-progress-bar{height:4px;background:var(--bg-muted-2)}.kanban-progress-partial .kanban-week-progress-bar{background:linear-gradient(90deg, #e53935 0%, #ffb300 var(--kanban-progress, 50%), #43a047 var(--kanban-progress, 50%), var(--bg-muted-2) var(--kanban-progress, 50%))}.kanban-progress-complete .kanban-week-progress-bar{background:#81c784}.kanban-progress-low .kanban-week-progress-bar{background:#e53935}#main-content:has(.kanban-page){max-width:min(88rem,100vw - var(--sidebar-width) - 2rem)}.kanban-page{width:100%;max-width:none;--kanban-tray-bg: #dfe3e8;--kanban-card-bg: var(--bg-color);--kanban-card-border: color-mix(in srgb, var(--border-color) 70%, #091e42 30%)}@media (prefers-color-scheme: dark){.kanban-page{--kanban-tray-bg: hsl(220deg 12% 24%);--kanban-card-border: color-mix(in srgb, var(--border-color) 60%, #fff 10%)}}.kanban-page-header{margin-bottom:1rem}.kanban-page-header h1{margin:.5rem 0 .35rem}.kanban-back{font-size:.875rem;text-decoration:none}.kanban-core-tasks{margin:.5rem 0 .75rem;font-size:1.35rem;font-weight:700;line-height:1.35;color:var(--fg-color);border-inline-start:4px solid var(--accent-color);padding-inline-start:.75rem}.kanban-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem}.kanban-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.kanban-toolbar-actions[hidden]{display:none}.kanban-lock-btn{padding:.4rem .85rem;border-radius:var(--rounded-corner);border:1px solid var(--border-color);background:var(--bg-muted-1);cursor:pointer;font-size:.95rem;font-weight:600}.kanban-lock-btn:disabled{opacity:.55;cursor:not-allowed}.kanban-lock-btn.unlocked{border-color:var(--accent-color);color:var(--accent-color)}.kanban-action-link{font-size:.92rem;font-weight:600;padding:.35rem .65rem;border-radius:var(--rounded-corner);background:var(--bg-muted-1);text-decoration:none}.kanban-status{min-height:1.25rem;font-size:.82rem;color:var(--fg-muted-1)}.kanban-status[data-type=error]{color:#c62828}.kanban-status[data-type=success]{color:#2e7d32}.kanban-board{width:100%;max-width:100%;margin:0;padding:.75rem 0 1rem;min-height:24rem;overflow:hidden}.kanban-columns{display:flex;flex-direction:column;gap:.85rem;min-height:20rem;width:100%;min-width:0;overflow:visible}.kanban-board-main,.kanban-board-bottom{display:flex;align-items:flex-start;gap:.85rem;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem}.kanban-board-bottom{margin-top:.35rem}.kanban-column{flex:1 1 0;min-width:15rem;max-width:24rem;max-height:calc(100vh - 16rem);display:flex;flex-direction:column;background:var(--kanban-tray-bg);border:1px solid color-mix(in srgb, var(--border-color) 75%, #091e42 25%);border-radius:calc(var(--rounded-corner) + .35rem);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}@media (prefers-color-scheme: dark){.kanban-column{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}}.kanban-column[data-column-kind=resource]{--kanban-tray-bg: #e8f5e9;border-color:#a5d6a7}@media (prefers-color-scheme: dark){.kanban-column[data-column-kind=resource]{--kanban-tray-bg: hsl(140deg 12% 22%);border-color:#41624c}}.kanban-column[data-column-kind=resource] .kanban-column-head{background:#66bb6a}.kanban-column[data-column-kind=goal]{--kanban-tray-bg: #eceff1;border-color:#b0bec5}@media (prefers-color-scheme: dark){.kanban-column[data-column-kind=goal]{--kanban-tray-bg: hsl(210deg 10% 22%)}}.kanban-column[data-column-kind=goal] .kanban-column-head{background:#546e7a}.kanban-column[data-column-kind=progress]{--kanban-tray-bg: #e0f2f1;border-color:#80cbc4}@media (prefers-color-scheme: dark){.kanban-column[data-column-kind=progress]{--kanban-tray-bg: hsl(175deg 18% 22%);border-color:#406461}}.kanban-column[data-column-kind=progress] .kanban-column-head{background:#00897b}.kanban-column-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;color:#fff;font-weight:800;font-size:1.06rem;flex-shrink:0;border-radius:calc(var(--rounded-corner) + .35rem) calc(var(--rounded-corner) + .35rem) 0 0;border-bottom:2px solid rgba(0,0,0,.12)}.kanban-column[data-column-title*=待办] .kanban-column-head,.kanban-column[data-column-title*=todo] .kanban-column-head{background:#303f9f}.kanban-column[data-column-title*=进行] .kanban-column-head,.kanban-column[data-column-title*=doing] .kanban-column-head{background:#e65100}.kanban-column[data-column-title*=完成] .kanban-column-head,.kanban-column[data-column-title*=done] .kanban-column-head{background:#2e7d32}.kanban-column:not([data-column-kind=resource]):not([data-column-kind=goal]):not([data-column-title*=待办]):not([data-column-title*=todo]):not([data-column-title*=进行]):not([data-column-title*=doing]):not([data-column-title*=完成]):not([data-column-title*=done]) .kanban-column-head{background:#455a64}.kanban-column-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-column-count{flex-shrink:0;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.1rem .45rem;font-size:.82rem;font-weight:700;color:#fff}.kanban-column-cards{display:flex;flex-direction:column;gap:.55rem;padding:.55rem;min-height:3rem;overflow-y:auto;flex:1;background:color-mix(in srgb, var(--kanban-tray-bg) 88%, #091e42 12%)}@media (prefers-color-scheme: dark){.kanban-column-cards{background:color-mix(in srgb, var(--kanban-tray-bg) 92%, #000 8%)}}.kanban-column-cards.drag-over{background:color-mix(in srgb, var(--kanban-tray-bg) 70%, var(--accent-color) 30%);border-radius:8px;outline:2px dashed var(--accent-color);outline-offset:-2px}.kanban-columns.is-unlocked .kanban-card.is-draggable{cursor:grab}.kanban-columns.is-unlocked .kanban-card.is-draggable:active{cursor:grabbing}.kanban-card{background:var(--kanban-card-bg);border:1px solid var(--kanban-card-border);border-radius:calc(var(--rounded-corner) + .15rem);box-shadow:0 1px 3px rgba(9,30,66,.18);padding:.55rem .65rem .65rem;color:var(--fg-color);font-size:.94rem;font-weight:500;user-select:none}.kanban-card.kanban-card--resource{background:#fff;border-color:#a5d6a7}.kanban-card.kanban-card--goal-complete{background:#e3f2fd;border-color:#64b5f6}.kanban-card.kanban-card--goal-risk{background:linear-gradient(145deg, #eceff1 0%, #cfd8dc 100%);border:2px dashed #78909c;box-shadow:0 0 0 2px rgba(120,144,156,.12),0 4px 14px rgba(55,71,79,.22)}.kanban-card.is-draggable{touch-action:none}.kanban-card.dragging{opacity:.55;transform:rotate(2deg);box-shadow:0 8px 16px rgba(9,30,66,.25)}.kanban-card.has-top-color::before{content:"";display:block;height:8px;margin:-.55rem -.65rem .45rem;border-radius:8px 8px 0 0;background:var(--kanban-top-color)}.kanban-card-labels{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 .35rem}.kanban-label{display:block;flex:1 1 2.5rem;min-width:2.5rem;height:6px;border-radius:4px}.kanban-card-title{margin:0 0 .35rem;font-size:1.06rem;font-weight:700;line-height:1.3}.kanban-checklist{list-style:none;margin:0 0 .35rem;padding:0}.kanban-checklist li{display:flex;align-items:flex-start;gap:.35rem;margin-bottom:.2rem;font-size:.9rem;font-weight:600}.kanban-checklist li.checked{opacity:.55;text-decoration:line-through}.kanban-checkbox{flex-shrink:0;width:1rem;height:1rem;border:1px solid var(--border-color);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.65rem;cursor:pointer;background:var(--bg-muted-1)}.kanban-card-desc{font-size:.9rem;font-weight:600;color:var(--fg-muted-1);line-height:1.4;margin-bottom:.25rem}.kanban-desc-tooltip{max-width:min(22rem,100vw - 2rem);max-height:60vh;overflow:auto;padding:.55rem .7rem;border-radius:calc(var(--rounded-corner) + .1rem);background:var(--bg-color);border:1px solid var(--accent-color);box-shadow:0 8px 24px rgba(9,30,66,.25);color:var(--fg-color);font-size:.84rem;font-weight:500;line-height:1.5;pointer-events:none;white-space:normal}.kanban-card-due{display:flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--fg-muted-1);margin-top:.35rem}@media (max-width: 1200px){.kanban-columns{align-items:flex-start}.kanban-column--meta{flex-basis:15rem}}@media (max-width: 900px){.kanban-columns{align-items:stretch}.kanban-column{min-width:13.5rem;max-width:18rem;flex:0 0 16rem}}.kanban-page.has-board-bg{border-radius:calc(var(--rounded-corner) + .5rem);padding:.9rem 1.1rem 1.2rem;background-size:cover;color:#fff}.kanban-page.has-board-bg .kanban-back,.kanban-page.has-board-bg .kanban-board-title,.kanban-page.has-board-bg .kanban-board-meta,.kanban-page.has-board-bg .kanban-status,.kanban-page.has-board-bg .kanban-board-title-row .kanban-fav-btn{color:#fff;text-shadow:0 1px 2px rgba(9,30,66,.35)}.kanban-page.has-board-bg .kanban-back{color:rgba(255,255,255,.92)}.kanban-page.has-board-bg .kanban-toolbar .kanban-action-link,.kanban-page.has-board-bg .kanban-toolbar .kanban-lock-btn{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.28)}.kanban-board-title-row{display:flex;align-items:center;gap:.45rem;margin:.5rem 0 .4rem}.kanban-board-title{margin:0;font-size:1.45rem;font-weight:700;line-height:1.3;color:var(--fg-color)}.kanban-fav-btn{flex-shrink:0;font-size:1.1rem;line-height:1;width:1.9rem;height:1.9rem;border-radius:50%;border:1px solid var(--border-color);background:rgba(0,0,0,0);color:var(--fg-muted-1);cursor:pointer}.kanban-fav-btn:hover{color:#f5b301;border-color:#f5b301}.kanban-board-meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;font-size:.9rem;font-weight:600;color:var(--fg-muted-1)}.kanban-board-meta .tooltip{display:inline-flex;align-items:center;gap:.3rem}.kanban-board-meta .icon{font-size:.95rem}.kanban-filter-bar{display:flex;align-items:center;gap:.5rem;margin:0 0 .7rem;padding:.5rem .65rem;border-radius:var(--rounded-corner);background:var(--bg-muted-1);border:1px solid var(--border-color)}.kanban-filter-bar[hidden]{display:none}.kanban-filter-input{flex:1;min-width:0;padding:.4rem .55rem;font-size:.85rem;color:var(--fg-color);background:var(--bg-color);border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) - .1rem)}.kanban-filter-count{font-size:.78rem;color:var(--fg-muted-2);white-space:nowrap}.kanban-column-title-wrap{display:flex;align-items:center;gap:.45rem;min-width:0;flex:1}.kanban-column-menu-btn{flex-shrink:0;border:none;background:rgba(0,0,0,0);color:#fff;font-size:1rem;line-height:1;padding:.15rem .35rem;border-radius:4px;cursor:pointer}.kanban-column-menu-btn:hover{background:rgba(255,255,255,.25)}.kanban-column-rename-input{flex:1;min-width:0;font-size:.85rem;padding:.2rem .4rem;border-radius:4px;border:1px solid rgba(255,255,255,.7);background:#fff;color:#172b4d}.is-draggable-col .kanban-column-head{cursor:grab}.is-draggable-col .kanban-column-head:active{cursor:grabbing}.kanban-column.drag-over{outline:2px dashed var(--accent-color);outline-offset:-2px}.kanban-column.dragging{opacity:.55}.kanban-card{position:relative}.kanban-drag-ghost{position:fixed;z-index:30000;max-width:16rem;padding:.35rem .6rem;border-radius:8px;background:var(--bg-color);border:1px solid var(--accent-color);box-shadow:0 8px 20px rgba(9,30,66,.25);font-size:.8rem;color:var(--fg-color);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-columns.is-dragging-cards .kanban-card,.kanban-editor-canvas.is-dragging-cards .kanban-editor-canvas-card{cursor:grabbing}.kanban-card-cover{height:34px;margin:-.55rem -.65rem .45rem;border-radius:calc(var(--rounded-corner) + .15rem) calc(var(--rounded-corner) + .15rem) 0 0;background:var(--kanban-cover-color, rgba(0,0,0,0));flex-shrink:0}.kanban-card.cover-full{background:var(--kanban-cover-color);border-color:color-mix(in srgb, var(--kanban-cover-color) 55%, var(--border-color))}.kanban-card.cover-full .kanban-card-title{color:#fff}.kanban-card.cover-full .kanban-card-desc{color:rgba(255,255,255,.88)}.kanban-card.cover-full .kanban-checklist{color:rgba(255,255,255,.95)}.kanban-card.cover-full.cover-text-dark .kanban-card-title{color:#172b4d}.kanban-card.cover-full.cover-text-dark .kanban-card-desc{color:rgba(23,43,77,.78)}.kanban-card.cover-full.cover-text-dark .kanban-checklist{color:#172b4d}.kanban-label-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.kanban-label-pill.is-light{color:#172b4d}.kanban-card-check{position:absolute;top:.42rem;right:.42rem;z-index:2;width:1.25rem;height:1.25rem;border-radius:50%;border:1.5px solid var(--border-color);background:var(--bg-muted-1);color:#2e7d32;font-size:.72rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.kanban-card-check:disabled{cursor:default}.kanban-card-check:hover:not(:disabled){border-color:#2e7d32}.kanban-card.is-done .kanban-card-title{text-decoration:line-through;opacity:.68}.kanban-card.is-pinned{border-inline-start:3px solid var(--accent-color)}.kanban-period-chip{display:inline-block;padding:.08rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;vertical-align:middle;background:color-mix(in srgb, var(--accent-color) 14%, var(--bg-muted-1));border:1px solid color-mix(in srgb, var(--accent-color) 35%, var(--border-color));color:var(--accent-color)}.kanban-card-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin:.25rem 0 .35rem}.kanban-card-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;font-weight:600;padding:.12rem .45rem;border-radius:999px;background:var(--bg-muted-1);border:1px solid var(--border-color);color:var(--fg-muted-1);white-space:nowrap}.kanban-card-badge.is-complete{background:#e8f5e9;border-color:#81c784;color:#2e7d32}.kanban-card-badge.is-soon{background:#fff9c4;border-color:#f2d600;color:#6a5b00}.kanban-card-badge.is-overdue{background:#ffebee;border-color:#ef5350;color:#b71c1c}.kanban-card-badge.is-overdue-old{background:#fce4ec;border-color:#f48fb1;color:#880e4f}.kanban-card-badge.is-pinned{background:color-mix(in srgb, var(--accent-color) 12%, var(--bg-muted-1));border-color:var(--accent-color);color:var(--accent-color);font-weight:600}button.kanban-card-badge{font:inherit;cursor:pointer}.kanban-card-badge--pin.is-idle{opacity:.62;font-weight:400;border-style:dashed}.kanban-checklist-bar{display:inline-block;width:2.6rem;height:4px;border-radius:2px;background:var(--bg-muted-2);overflow:hidden}.kanban-checklist-bar-fill{display:block;height:100%;background:#61bd4f}.kanban-status[data-type=warn]{color:#b26a00}.kanban-popover{width:15rem;max-height:70vh;overflow-y:auto;background:var(--bg-color);border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .15rem);box-shadow:0 8px 24px rgba(9,30,66,.25);padding:.45rem .5rem .55rem;color:var(--fg-color);font-size:.82rem}.kanban-popover-title{font-weight:700;font-size:.85rem;padding:.15rem .2rem .35rem}.kanban-popover-label{font-size:.75rem;color:var(--fg-muted-2);margin:.3rem .2rem .2rem;display:flex;flex-direction:column;gap:.3rem}.kanban-popover-item{display:block;width:100%;text-align:left;padding:.35rem .5rem;margin:.1rem 0;border:none;background:rgba(0,0,0,0);border-radius:6px;color:var(--fg-color);font-size:.82rem;cursor:pointer}.kanban-popover-item:hover{background:var(--bg-muted-1)}.kanban-popover-item.is-active{background:color-mix(in srgb, var(--accent-color) 14%, rgba(0,0,0,0));color:var(--accent-color);font-weight:600}.kanban-popover-item:disabled{opacity:.5;cursor:not-allowed}.kanban-popover-sep{border-top:1px solid var(--border-color);margin:.3rem 0}.kanban-popover-hint{color:var(--fg-muted-2);font-size:.75rem;padding:.2rem}.kanban-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem}.kanban-filter-chip{padding:.2rem .55rem;border-radius:999px;font-size:.72rem;border:1.5px solid var(--border-color);background:var(--bg-color);color:var(--fg-muted-1);cursor:pointer}.kanban-filter-chip.is-active{color:#fff;font-weight:600}.kanban-filter-check{display:flex;align-items:center;gap:.35rem;font-size:.78rem;margin:.45rem 0 .2rem;color:var(--fg-muted-1)}.kanban-filter-foot{border-top:1px solid var(--border-color);margin-top:.45rem;padding-top:.35rem}.kanban-menu{position:fixed;inset:0;z-index:10040}.kanban-menu[hidden]{display:none}.kanban-menu-backdrop{position:absolute;inset:0;background:rgba(9,30,66,.4)}.kanban-menu-panel{position:absolute;top:0;right:0;bottom:0;width:min(21rem,92vw);background:var(--bg-color);color:var(--fg-color);box-shadow:-8px 0 28px rgba(9,30,66,.28);display:flex;flex-direction:column;border-inline-start:1px solid var(--border-color)}.kanban-menu-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--border-color)}.kanban-menu-close{border:none;background:rgba(0,0,0,0);color:var(--fg-muted-2);font-size:1rem;cursor:pointer;padding:.25rem .45rem;border-radius:var(--rounded-corner-small)}.kanban-menu-close:hover{background:var(--bg-muted-1)}.kanban-menu-body{overflow-y:auto;padding:.4rem 1rem 1rem}.kanban-menu-section{margin-top:.9rem}.kanban-menu-section h4{margin:0 0 .4rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted-2)}.kanban-menu-about{margin:0;font-size:.85rem;line-height:1.45}.kanban-menu-stats{margin:.35rem 0;font-size:.8rem;color:var(--fg-muted-1)}.kanban-menu-progress{height:6px;border-radius:3px;background:var(--bg-muted-2);overflow:hidden}.kanban-menu-progress-fill{height:100%;background:var(--accent-color);transition:width .2s ease}.kanban-menu-swatches{display:grid;grid-template-columns:repeat(4, 1fr);gap:.45rem}.kanban-menu-swatch{aspect-ratio:1.5;border-radius:8px;border:2px solid rgba(0,0,0,0);cursor:pointer}.kanban-menu-swatch.is-active{border-color:var(--accent-color)}.kanban-menu-hint{font-size:.72rem;color:var(--fg-muted-2);margin:.4rem 0 0}.kanban-menu-links{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.kanban-column-add{padding:.35rem .55rem .15rem}.kanban-add-card-btn{width:100%;border:none;background:rgba(0,0,0,0);color:var(--fg-muted-2);font-size:.8rem;padding:.35rem;border-radius:6px;cursor:pointer;text-align:left}.kanban-add-card-btn:hover{background:color-mix(in srgb, var(--fg-muted-2) 12%, rgba(0,0,0,0));color:var(--fg-color)}.kanban-quickadd-input{flex:1;min-width:0;padding:.35rem .45rem;font-size:.8rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--fg-color)}.kanban-quickadd-btn{padding:.3rem .6rem;font-size:.75rem;border-radius:6px;border:1px solid var(--accent-color);background:var(--accent-color);color:#fff;cursor:pointer}.kanban-add-list{align-self:flex-start;flex-shrink:0;min-width:13rem;border-radius:calc(var(--rounded-corner) + .35rem);background:rgba(255,255,255,.22)}.kanban-add-list button{width:100%;color:#fff;text-align:center;border:none;background:rgba(0,0,0,0);font-size:.8rem;padding:.55rem;border-radius:calc(var(--rounded-corner) + .35rem);cursor:pointer}.kanban-add-list button:hover{background:rgba(255,255,255,.14);color:#fff}.kanban-add-list-input{align-self:flex-start;flex-shrink:0;min-width:13rem;display:flex;gap:.4rem;padding:.45rem;background:rgba(255,255,255,.85);border-radius:calc(var(--rounded-corner) + .35rem)}body.kanban-editor-open{overflow:hidden}.kanban-list-actions{display:flex;justify-content:center;margin:.75rem 0 0}.kanban-editor-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border-radius:var(--rounded-corner);border:1px solid var(--border-color);background:var(--bg-muted-1);color:var(--fg-color);font-size:.85rem;line-height:1.3;text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.kanban-editor-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.kanban-editor-btn[hidden]{display:none}.kanban-editor-btn:disabled{opacity:.55;cursor:not-allowed}.kanban-editor-btn--primary{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 14%, var(--bg-muted-1));color:var(--accent-color);font-weight:600}.kanban-editor-btn--ghost{background:rgba(0,0,0,0)}.kanban-editor-btn--ghost-sm,.kanban-editor-btn--danger-sm{padding:.2rem .55rem;font-size:.75rem;border-radius:calc(var(--rounded-corner) - .1rem)}.kanban-editor-btn--danger-sm{color:#c62828;border-color:color-mix(in srgb, #c62828 45%, var(--border-color))}.kanban-editor-btn--danger-sm:hover{background:#ffebee;border-color:#c62828;color:#b71c1c}.kanban-week-edit{align-self:center;margin-inline-start:.5rem;padding:.25rem .6rem;font-size:.75rem}.kanban-editor{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:1rem}.kanban-editor[hidden]{display:none}.kanban-editor-backdrop{position:absolute;inset:0;background:rgba(9,30,66,.55);backdrop-filter:blur(2px)}.kanban-editor-dialog{position:relative;width:min(56rem,100%);max-height:min(90vh,64rem);display:flex;flex-direction:column;background:var(--bg-color);color:var(--fg-color);border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .5rem);box-shadow:0 20px 50px rgba(9,30,66,.35);overflow:hidden}.kanban-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.kanban-editor-head h2{margin:0 0 .25rem;font-size:1.15rem}.kanban-editor-mode{margin:0;font-size:.8rem;color:var(--fg-muted-2);word-break:break-all}.kanban-editor-close{border:none;background:rgba(0,0,0,0);color:var(--fg-muted-2);font-size:1.1rem;line-height:1;padding:.35rem .5rem;border-radius:var(--rounded-corner-small);cursor:pointer}.kanban-editor-close:hover{color:var(--fg-color);background:var(--bg-muted-1)}.kanban-editor-form{overflow-y:auto;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.kanban-editor-section{border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .2rem);background:var(--bg-muted-1);padding:.85rem .9rem .95rem}.kanban-editor-section h3{margin:0 0 .7rem;font-size:.9rem;color:var(--fg-muted-2);text-transform:uppercase;letter-spacing:.04em}.kanban-editor-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(12.5rem, 1fr));gap:.65rem}.kanban-editor-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.kanban-editor-field>span{font-size:.76rem;font-weight:600;color:var(--fg-muted-2)}.kanban-editor-field--wide{grid-column:1/-1}.kanban-editor-input{width:100%;box-sizing:border-box;padding:.42rem .55rem;font-size:.85rem;color:var(--fg-color);background:var(--bg-color);border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) - .1rem);min-width:0}.kanban-editor-input--sm{font-size:.78rem}.kanban-editor-input:focus{outline:2px solid color-mix(in srgb, var(--accent-color) 55%, rgba(0,0,0,0));outline-offset:1px}.kanban-editor-textarea{resize:vertical;font-family:inherit;line-height:1.45}.kanban-editor-columns{display:flex;flex-direction:column;gap:.8rem}.kanban-editor-column{border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .15rem);background:var(--bg-color);overflow:hidden}.kanban-editor-column-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:color-mix(in srgb, var(--accent-color) 12%, var(--bg-muted-1))}.kanban-editor-column-head .kanban-editor-input{flex:1}.kanban-editor-column-count{flex-shrink:0;font-size:.72rem;color:var(--fg-muted-2);white-space:nowrap}.kanban-editor-cards{display:flex;flex-direction:column;gap:.65rem;padding:.65rem}.kanban-editor-card{border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .05rem);background:var(--bg-muted-1);padding:.55rem .6rem .65rem}.kanban-editor-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem}.kanban-editor-card-head .kanban-editor-input{flex:1;font-weight:600}.kanban-editor-card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(11rem, 1fr));gap:.55rem}.kanban-editor-chips{display:flex;flex-wrap:wrap;gap:.35rem}.kanban-editor-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .5rem;border:1px solid var(--border-color);border-radius:999px;font-size:.75rem;color:var(--fg-muted-1);background:var(--bg-color);cursor:pointer;user-select:none}.kanban-editor-chip input{accent-color:var(--accent-color);margin:0}.kanban-editor-chip:has(input:checked){border-color:var(--accent-color);color:var(--accent-color);font-weight:600}.kanban-editor-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex-shrink:0}.kanban-editor-check-list{display:flex;flex-direction:column;gap:.35rem}.kanban-editor-check-row{display:flex;align-items:center;gap:.45rem}.kanban-editor-check-row .kanban-editor-input{flex:1}.kanban-editor-check-toggle{accent-color:var(--accent-color);width:1rem;height:1rem;flex-shrink:0}.kanban-editor-color-row{display:flex;align-items:center;gap:.4rem}.kanban-editor-color-row .kanban-editor-input{flex:1}.kanban-editor-swatch{flex-shrink:0;width:1rem;height:1rem;border-radius:.35rem}.kanban-editor-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.7rem}.kanban-editor-add-row>button:not(.kanban-editor-btn){padding:.2rem .55rem;font-size:.75rem;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--fg-muted-1);cursor:pointer}.kanban-editor-add-row>button:not(.kanban-editor-btn):hover{border-color:var(--accent-color);color:var(--accent-color)}.kanban-editor-quick-col{margin-inline-start:.35rem;font-size:.76rem;color:var(--fg-muted-2)}.kanban-editor-preview{width:100%;box-sizing:border-box;min-height:10rem;padding:.6rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.5;color:var(--fg-color);background:var(--bg-color);border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) - .1rem);resize:vertical}.kanban-editor-result{border:1px solid color-mix(in srgb, #2e7d32 45%, var(--border-color));border-radius:calc(var(--rounded-corner) + .15rem);background:color-mix(in srgb, #e8f5e9 45%, var(--bg-muted-1));padding:.85rem .95rem}.kanban-editor-result[hidden]{display:none}.kanban-editor-result-head{display:flex;gap:.7rem;align-items:flex-start}.kanban-editor-result-head>span{font-size:1.4rem;line-height:1.2}.kanban-editor-result-head strong{font-size:.95rem}.kanban-editor-result-head p{margin:.2rem 0 0;font-size:.8rem;color:var(--fg-muted-2)}.kanban-editor-result-steps{margin:.6rem 0 0;padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;line-height:1.45}.kanban-editor-result-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.kanban-editor-result-note{margin:.6rem 0 0;font-size:.78rem;color:var(--fg-muted-2)}.kanban-editor-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.kanban-editor-foot .kanban-editor-btn--primary{margin-inline-start:auto}@media (max-width: 640px){.kanban-editor{padding:.5rem;align-items:flex-end}.kanban-editor-dialog{max-height:94vh;border-radius:calc(var(--rounded-corner) + .35rem)}.kanban-editor-form{padding:.75rem .8rem .9rem}.kanban-editor-card-grid,.kanban-editor-grid{grid-template-columns:1fr}.kanban-editor-column-head{flex-wrap:wrap}}.kanban-editor-dialog{width:min(88rem,100vw - 1.5rem);height:min(94vh,64rem);max-height:94vh}.kanban-editor-head-info{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;min-width:0}.kanban-editor-head-info h2{margin:0}.kanban-editor-head-info p{width:100%;margin:.1rem 0 0}.kanban-editor-mode-badge{padding:.18rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;background:color-mix(in srgb, var(--accent-color) 16%, var(--bg-muted-1));color:var(--accent-color);white-space:nowrap}.kanban-editor-form{overflow:hidden;height:100%}.kanban-editor-body{display:grid;grid-template-columns:minmax(0, 1.3fr) minmax(20rem, 1fr);gap:.8rem;flex:1;min-height:0}.kanban-editor-canvas{overflow-x:auto;overflow-y:auto;border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .2rem);background:linear-gradient(135deg, #f7f9fc, #dbe3ea);padding:.8rem;min-height:20rem}.kanban-editor-canvas-board{display:flex;flex-direction:column;gap:.7rem;min-width:max-content;min-height:100%}.kanban-editor-canvas-row{display:flex;gap:.7rem;align-items:flex-start;min-width:max-content}.kanban-editor-canvas-row--bottom{margin-top:.3rem}.kanban-editor-canvas-col{width:13.5rem;flex-shrink:0;background:rgba(235,236,240,.88);border-radius:10px;padding:.45rem;outline:2px solid rgba(0,0,0,0)}.kanban-editor-canvas-col.is-selected{outline-color:var(--accent-color)}.kanban-editor-canvas-col.drag-over{outline:2px dashed var(--accent-color);outline-offset:-2px}.kanban-editor-canvas-col-head{padding:.35rem .45rem;font-size:.78rem;font-weight:700;color:#172b4d;cursor:pointer;border-radius:6px}.kanban-editor-canvas-col-head:hover{background:rgba(9,30,66,.06)}.kanban-editor-canvas-cards{display:flex;flex-direction:column;gap:.4rem}.kanban-editor-canvas-card{position:relative;background:#fff;border-radius:8px;box-shadow:0 1px 2px rgba(9,30,66,.18);padding:.4rem .5rem .45rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.kanban-editor-canvas-card:hover{background:#f7f9fc}.kanban-editor-canvas-card.is-selected{outline:2px solid var(--accent-color)}.kanban-editor-canvas-card.is-done .kanban-editor-canvas-card-title{text-decoration:line-through;opacity:.65}.kanban-editor-canvas-card.is-pinned{border-inline-start:3px solid var(--accent-color)}.kanban-editor-canvas-card.has-cover::before{content:"";display:block;height:8px;margin:-.4rem -.5rem .25rem;border-radius:8px 8px 0 0;background:var(--kanban-cover-color)}.kanban-editor-canvas-card.cover-full{background:var(--kanban-cover-color)}.kanban-editor-canvas-card.cover-full::before{display:none}.kanban-editor-canvas-card.cover-full .kanban-editor-canvas-card-title{color:#fff}.kanban-editor-canvas-card.cover-full .kanban-editor-canvas-card-badges{color:rgba(255,255,255,.85)}.kanban-editor-canvas-card.cover-full.cover-text-dark .kanban-editor-canvas-card-title{color:#172b4d}.kanban-editor-canvas-card.cover-full.cover-text-dark .kanban-editor-canvas-card-badges{color:#5e6c84}.kanban-editor-canvas-card.has-top::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:8px 8px 0 0;background:var(--kanban-top-color)}.kanban-editor-canvas-card-pin{position:absolute;top:.25rem;right:.3rem;font-size:.7rem;line-height:1;border:none;background:rgba(0,0,0,0);padding:.1rem .2rem;border-radius:4px;cursor:pointer;opacity:.45}.kanban-editor-canvas-card-pin:hover{opacity:1;background:rgba(9,30,66,.08)}.kanban-editor-canvas-card-pin.is-active{opacity:1}.kanban-editor-canvas-labels{display:flex;gap:3px}.kanban-editor-canvas-label{width:2rem;height:5px;border-radius:3px}.kanban-editor-canvas-card-title{font-size:.74rem;font-weight:600;color:#172b4d;line-height:1.3}.kanban-editor-canvas-card-badges{font-size:.64rem;color:#5e6c84}.kanban-editor-canvas-add{width:100%;margin-top:.35rem;border:none;background:rgba(0,0,0,0);color:#5e6c84;font-size:.72rem;padding:.3rem;border-radius:6px;cursor:pointer;text-align:left}.kanban-editor-canvas-add:hover{background:rgba(9,30,66,.06);color:#172b4d}.kanban-editor-canvas-addcol{flex-shrink:0;width:13.5rem;padding:.6rem;border:none;border-radius:10px;background:rgba(255,255,255,.35);color:#172b4d;font-size:.78rem;cursor:pointer}.kanban-editor-canvas-addcol:hover{background:rgba(255,255,255,.55)}.kanban-editor-inspector{overflow-y:auto;min-height:0;border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) + .2rem);background:var(--bg-muted-1)}.kanban-editor-panel{padding:.75rem .8rem .9rem}.kanban-editor-panel-hint{margin:0 0 .7rem;font-size:.76rem;color:var(--fg-muted-2)}.kanban-editor-panel-block h3{margin:0 0 .7rem;font-size:.95rem}.kanban-editor-panel-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0}.kanban-editor-panel-sublabel{font-size:.72rem;color:var(--fg-muted-2);margin:.5rem 0 .3rem;text-transform:uppercase;letter-spacing:.04em}.kanban-editor-panel-cardlist{display:flex;flex-direction:column;gap:.35rem}.kanban-editor-panel-cardrow{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;padding:.4rem .55rem;text-align:left;border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) - .1rem);background:var(--bg-color);color:var(--fg-color);font-size:.8rem;cursor:pointer}.kanban-editor-panel-cardrow.is-selected{border-color:var(--accent-color);color:var(--accent-color);font-weight:600}.kanban-editor-panel-cardrow-del{color:var(--fg-muted-2);padding:0 .2rem}.kanban-editor-panel-cardrow-del:hover{color:#c62828}.kanban-editor-bg-swatches{display:grid;grid-template-columns:repeat(6, 1fr);gap:.4rem;margin:.3rem 0 .45rem}.kanban-editor-bg-swatch{aspect-ratio:1.6;border-radius:8px;border:2px solid rgba(0,0,0,0);cursor:pointer}.kanban-editor-bg-swatch.is-active{border-color:var(--accent-color)}.kanban-editor-preview-section{margin-top:.8rem}.kanban-editor-preview-toggle{width:100%;text-align:left;padding:.4rem .55rem;font-size:.8rem;border:1px solid var(--border-color);border-radius:calc(var(--rounded-corner) - .1rem);background:var(--bg-muted-1);color:var(--fg-muted-1);cursor:pointer}.kanban-editor-preview-toggle:hover{border-color:var(--accent-color);color:var(--accent-color)}.kanban-editor-preview{min-height:8rem}@media (max-width: 980px){.kanban-editor-body{grid-template-columns:1fr}.kanban-editor-canvas{min-height:14rem}.kanban-editor-inspector{max-height:26rem}}