﻿.kanban-list-doc{margin:0 0 1.25rem;color:var(--fg-muted-1);font-size:.9rem}.kanban-week-list{display:flex;flex-direction:column;gap:1rem}.kanban-week-card{position:relative;border-radius:calc(var(--rounded-corner) + .75rem);overflow:hidden;box-shadow:var(--edge-highlight);background:var(--bg-muted-1)}.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;padding:1rem 1.1rem;position:relative;z-index:1}.kanban-week-link{flex:1;text-decoration:none;color:inherit}.kanban-week-link h3{margin:0 0 .5rem;font-size:1.1rem;border-inline-start:3px solid var(--accent-color);padding-inline-start:.65rem;line-height:1.35}.kanban-week-link:hover{text-decoration:none}.kanban-week-meta{margin-block:0 .55rem}.kanban-week-meta.article-details{display:flex;flex-wrap:wrap;align-items:center;margin-block-end:.55rem;gap:.35rem .65rem}.kanban-week-meta.article-details>div{display:inline-flex;align-items:center;gap:.5rem}.kanban-week-meta.article-details .icon{flex-shrink:0}.kanban-stars{display:inline-flex;align-items:center;gap:.05rem;line-height:1;vertical-align:middle}.kanban-star{color:#e0e0e0;font-size:.9rem;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;gap:.65rem;font-size:.78rem;color:var(--fg-muted-2)}.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:.85rem}.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:.82rem;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:grid;grid-template-columns:repeat(5, minmax(0, 1fr));align-items:start;gap:.85rem;min-height:20rem;width:100%;min-width:0}.kanban-column{min-width:0;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-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;color:#fff;font-weight:700;font-size:.9rem;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:.72rem;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:.82rem;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:.88rem;font-weight:600;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:.78rem}.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:.78rem;color:var(--fg-muted-1);line-height:1.4;margin-bottom:.25rem}.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{grid-template-columns:repeat(3, minmax(0, 1fr))}.kanban-column--meta{grid-column:span 1}}@media (max-width: 900px){.kanban-columns{grid-template-columns:1fr}}