:root{--bg-panel:#faf9f5;--panel-border:#e6dfd8;--card:#fff;--card-border:#e6dfd8;--text:#141413;--text-dim:#57534e;--accent:#0f766e;--accent-glow:#0f766e1f;--window-shadow:0 32px 64px -16px #00000014, 0 0 0 1px #00000008;--placeholder-bg:#f5f0e8;--cursor-stroke:#141413;--cursor-fill:#faf9f5}.kanban-window{width:min(920px,92vw);box-shadow:var(--window-shadow);cursor:none;background:#faf9f5;border:1px solid #e6dfd8;border-radius:12px;position:relative;overflow:hidden}.kanban-titlebar{border-bottom:1px solid #e6dfd8;align-items:center;gap:8px;padding:12px 16px;display:flex}.kanban-dot{border-radius:50%;width:10px;height:10px}.kanban-dot.r{background:#ff5f57}.kanban-dot.y{background:#febc2e}.kanban-dot.g{background:#28c840}.kanban-titlebar span{color:var(--text-dim);letter-spacing:.02em;margin-left:12px;font-size:12px}.kanban-board{grid-template-columns:repeat(3,1fr);gap:16px;padding:24px;display:grid}.kanban-column{background:#f5f0e8;border:1px solid #e6dfd8;border-radius:12px;flex-direction:column;gap:10px;height:380px;padding:14px;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.kanban-column-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:12px;font-weight:600}.kanban-column-count{color:var(--text-dim);background:#ffffff0f;border-radius:20px;padding:2px 7px;font-size:11px}.kanban-column[data-col=done] .kanban-column-title{color:var(--accent)}.kanban-cards{scrollbar-width:thin;scrollbar-color:#e6dfd8 transparent;flex-direction:column;flex-grow:1;gap:10px;min-height:20px;padding-right:4px;display:flex;position:relative;overflow-y:auto}.kanban-cards::-webkit-scrollbar{width:4px}.kanban-cards::-webkit-scrollbar-track{background:0 0}.kanban-cards::-webkit-scrollbar-thumb{background:#e6dfd8;border-radius:10px;transition:background .2s}.kanban-empty-placeholder{color:#57534e;opacity:1;pointer-events:none;user-select:none;text-align:center;justify-content:center;align-items:center;height:100%;margin:auto;font-size:13px;font-weight:500;animation:.22s forwards kanbanFadeInPlaceholder;display:flex}.kanban-cards:has(.kanban-task:not(.archiving)) .kanban-empty-placeholder{display:none!important}@keyframes kanbanFadeInPlaceholder{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.kanban-task{color:var(--text);will-change:transform, opacity, max-height, padding, margin;background:#fff;border:1px solid #e6dfd8;border-radius:10px;max-height:120px;padding:12px 14px;font-size:13px;transition:opacity .25s,transform .25s,max-height .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1),margin .28s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 1px 3px #0000000f}.kanban-task:hover{box-shadow:0 4px 8px #0000001a}.kanban-task .label{color:#141413;font-weight:500;display:block}.kanban-task .meta{color:#57534e;margin-top:6px;font-size:11px;display:block}.kanban-task.active-grab{border-color:var(--accent);box-shadow:0 0 14px -2px var(--accent-glow);transition:transform 50ms,border-color 50ms;transform:scale(.96)}.kanban-task.done-flash{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 24px -6px var(--accent-glow)}.kanban-task.archiving{pointer-events:none;max-height:0!important;box-shadow:none!important;border-color:#0000!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;transition:transform .35s cubic-bezier(.4,0,.2,1),max-height .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1),margin .35s cubic-bezier(.4,0,.2,1),border-color .15s!important;transform:scaleY(.3)!important}.kanban-task.archiving-fade{pointer-events:none;opacity:0!important;max-height:0!important;box-shadow:none!important;border-color:#0000!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),max-height .2s cubic-bezier(.4,0,.2,1),padding .2s cubic-bezier(.4,0,.2,1),margin .2s cubic-bezier(.4,0,.2,1)!important;transform:scaleY(0)!important}.kanban-task.entering{opacity:0;transition:opacity .44s cubic-bezier(.16,1,.3,1),transform .44s cubic-bezier(.16,1,.3,1);transform:translateY(-16px)}.kanban-task.dragging{z-index:999;opacity:.97;box-shadow:0 20px 40px -10px #00000026, 0 0 0 1px var(--accent);will-change:left, top;pointer-events:none;position:absolute;transform:rotate(-2.5deg)scale(1.02)}.kanban-window{cursor:default!important}.kanban-cursor{pointer-events:none;z-index:50;opacity:1;filter:drop-shadow(0 2px 4px #00000040);transform-origin:0 0;width:24px;height:24px;position:absolute;top:0;left:0}.kanban-cursor.visible{opacity:1}.kanban-cursor svg{display:none}.kanban-cursor.state-arrow .cursor-arrow,.kanban-cursor.state-hand .cursor-hand{display:block!important}.kanban-cursor.grabbing .cursor-hand{transform:scale(.85)rotate(-8deg);display:block!important}.kanban-cursor.grabbing svg path{fill:var(--accent)!important;stroke:#fff!important}.kanban-footer-note{text-align:center;color:#57534e;padding:0 24px 22px;font-size:12px}.kanban-footer-note b{color:var(--accent);font-weight:600}@media (width<=768px){.kanban-window{width:min(920px,96vw)}.kanban-board{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}.kanban-column{border-radius:10px;height:320px;padding:10px}.kanban-task{padding:10px 12px;font-size:12px}.kanban-cursor{transform:scale(.9)}}@media (width<=540px){.kanban-window{border-radius:8px;width:98vw}.kanban-titlebar{gap:6px;padding:10px 12px}.kanban-dot{width:8px;height:8px}.kanban-titlebar span{font-size:11px}.kanban-board{grid-template-columns:1fr;gap:12px;padding:12px}.kanban-column{border-radius:8px;height:auto;min-height:100px;max-height:180px;padding:10px}.kanban-column-header{margin-bottom:2px}.kanban-column-title{font-size:11px}.kanban-cards{gap:8px}.kanban-task{border-radius:8px;max-height:80px;padding:8px 10px;font-size:12px}.kanban-footer-note{padding:0 12px 16px;font-size:11px}.kanban-cursor{transform:scale(.8)}}@keyframes accordion-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes accordion-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.animate-accordion-down{animation:.35s forwards accordion-down}.animate-accordion-up{animation:.25s forwards accordion-up}.page-enter{opacity:0;transform:translateY(12px)}.page-enter-active{opacity:1;transition:all .4s;transform:translateY(0)}.hover-lift{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a}
