.task-root[data-v-794b5dc9]{position:relative;border-radius:var(--radius-item);overflow:hidden}.cb-touch[data-v-794b5dc9]{display:flex;align-items:center;justify-content:center;width:28px;min-height:28px;margin:-4px -2px -4px -4px;padding:0;border:none;background:none;flex-shrink:0;border-radius:var(--radius-btn);cursor:pointer;transition:background var(--dur-fast) ease}@media(max-width:639px){.cb-touch[data-v-794b5dc9]{width:36px;min-height:36px;margin:-8px -4px -8px -8px}}.cb-touch[data-v-794b5dc9]:hover{background:var(--c-surface-hover)}.cb-touch:active .cb[data-v-794b5dc9]{transform:scale(.85)}.task-body[data-v-794b5dc9]{position:relative;display:flex;align-items:flex-start;gap:6px;padding:7px 8px 7px 10px;border-radius:var(--radius-item);background:var(--c-surface);transition:background var(--dur-fast) ease;z-index:1;min-height:32px}@media(max-width:639px){.task-body[data-v-794b5dc9]{padding:10px 10px 10px 12px;gap:8px;min-height:var(--touch-min)}}.task-root+.task-root .task-body[data-v-794b5dc9]:before{content:"";position:absolute;top:0;left:var(--divider-inset);right:14px;height:1px;background:var(--c-divider)}.task-root:not(.is-done) .task-body[data-v-794b5dc9]:hover{background:#00000009}@media(prefers-color-scheme:dark){.task-root:not(.is-done) .task-body[data-v-794b5dc9]:hover{background:#ffffff0f}}.task-root:not(.is-done) .task-body[data-v-794b5dc9]:hover:before{opacity:0}.task-root:not(.is-done):hover+.task-root .task-body[data-v-794b5dc9]:before{opacity:0}.task-root:not(.is-done) .task-body[data-v-794b5dc9]:active{background:var(--c-surface-press)}.task-content[data-v-794b5dc9]{flex:1;min-width:0;padding-top:1px;cursor:text}.task-text[data-v-794b5dc9]{display:block;font-size:13px;line-height:1.35;color:var(--c-text);overflow-wrap:break-word;word-break:normal;hyphens:auto;-webkit-hyphens:auto;flex:1;min-width:0}@media(max-width:639px){.task-text[data-v-794b5dc9]{font-size:15px;line-height:1.4}}.task-text.is-done[data-v-794b5dc9]{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:var(--c-text-ghost);color:var(--c-text-3)}.task-text-edit[data-v-794b5dc9]{display:block;width:100%;border:none;outline:none;background:var(--c-accent-soft);font-size:13px;line-height:1.35;color:var(--c-text);font-family:inherit;padding:2px 4px;margin:-2px -4px;border-radius:4px;flex:1}@media(max-width:639px){.task-text-edit[data-v-794b5dc9]{font-size:15px;line-height:1.4}}.task-text-row[data-v-794b5dc9]{display:flex;align-items:baseline;gap:6px;min-width:0}.task-badge[data-v-794b5dc9]{flex-shrink:0;font-size:10px;font-weight:500;color:var(--c-text-3);white-space:nowrap;letter-spacing:.01em}.task-badge.is-overdue[data-v-794b5dc9]{color:var(--c-overdue);font-weight:600}.task-badge.is-approaching[data-v-794b5dc9]{color:var(--c-approaching)}.done-badge[data-v-794b5dc9]{color:var(--c-text-ghost)}.star[data-v-794b5dc9]:not(.is-on){opacity:.4}@media(min-width:640px){.star[data-v-794b5dc9]:not(.is-on){opacity:0!important}.task-root:hover .star[data-v-794b5dc9]{opacity:1!important}.task-root:hover .star[data-v-794b5dc9]:not(.is-on){opacity:.4!important}}.task-menu-wrap[data-v-794b5dc9]{position:relative;flex-shrink:0}.task-menu-btn[data-v-794b5dc9]{width:24px;height:24px;display:grid;place-items:center;border:none;background:transparent;border-radius:var(--radius-btn);color:var(--c-text-ghost);transition:all var(--dur-fast) ease}@media(max-width:639px){.task-menu-btn[data-v-794b5dc9]{width:28px;height:28px}}@media(min-width:640px){.task-menu-btn[data-v-794b5dc9]:not(.is-open){opacity:0!important}.task-root:hover .task-menu-btn[data-v-794b5dc9]{opacity:1!important}}.task-menu-btn[data-v-794b5dc9]:hover{color:var(--c-text-2);background:var(--c-surface-hover)}.task-menu-btn[data-v-794b5dc9]:active{transform:scale(.88)}.task-root.is-done[data-v-794b5dc9]{opacity:.5}.task-root.is-done[data-v-794b5dc9]:hover{opacity:.7}@media(prefers-color-scheme:dark){.task-root.is-done[data-v-794b5dc9]{opacity:.55}.task-root.is-done[data-v-794b5dc9]:hover{opacity:.75}}.done-section .task-root+.task-root .task-body[data-v-794b5dc9]:before{background:transparent}.col-shell[data-v-27a9ba6f]{scroll-snap-align:center;flex-shrink:0;width:var(--col-w);max-width:var(--col-w-max);display:flex;flex-direction:column;max-height:100%}@media(min-width:640px){.col-shell[data-v-27a9ba6f]{width:var(--col-w-desk)!important;max-width:none!important}}.col-card[data-v-27a9ba6f]{background:var(--c-surface);border:1px solid var(--c-border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-height:200px;max-height:100%;overflow:hidden;transition:box-shadow var(--dur) ease,transform var(--dur) ease}@media(min-width:640px){.col-card[data-v-27a9ba6f]:hover{box-shadow:var(--shadow-card-up);transform:translateY(-2px)}}@media(min-width:640px)and (prefers-color-scheme:dark){.col-card[data-v-27a9ba6f]:hover{border-color:#ffffff1f}}.col-accent[data-v-27a9ba6f]{height:3px;flex-shrink:0;border-radius:3px 3px 0 0;opacity:.7}.col-header[data-v-27a9ba6f]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 8px 6px 12px}@media(max-width:639px){.col-header[data-v-27a9ba6f]{padding:16px 12px 8px 16px}}.col-header-left[data-v-27a9ba6f]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.col-name[data-v-27a9ba6f]{border:none;background:none;padding:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-3);cursor:pointer;transition:color var(--dur-fast) ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-family:inherit}@media(max-width:639px){.col-name[data-v-27a9ba6f]{font-size:13px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--c-text-2)}}.col-name[data-v-27a9ba6f]:hover{color:var(--c-text)}.col-name-edit[data-v-27a9ba6f]{border:none;outline:none;background:transparent;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--c-text);font-family:inherit;width:100%;border-bottom:2px solid var(--c-accent);padding-bottom:2px}.col-count[data-v-27a9ba6f]{font-size:11px;font-weight:500;color:var(--c-text-3);background:#0000000a;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 7px;flex-shrink:0}@media(prefers-color-scheme:dark){.col-count[data-v-27a9ba6f]{background:#ffffff0f}}.col-menu-wrap[data-v-27a9ba6f]{position:relative;flex-shrink:0}.col-menu-btn[data-v-27a9ba6f]{width:32px;height:32px;display:grid;place-items:center;border:none;background:transparent;border-radius:var(--radius-btn);color:var(--c-text-ghost);transition:all var(--dur-fast) ease}.col-menu-btn[data-v-27a9ba6f]:hover{color:var(--c-text-2);background:var(--c-surface-hover)}.col-menu-btn[data-v-27a9ba6f]:active{transform:scale(.9)}.col-tasks[data-v-27a9ba6f]{flex:1;overflow-y:auto;padding:4px 6px 0;min-height:60px}.task-list[data-v-27a9ba6f]{position:relative}.done-toggle[data-v-27a9ba6f]{display:flex;align-items:center;gap:5px;width:calc(100% - 12px);margin:6px 6px 0;padding:5px 4px 4px;border:none;border-top:1px solid var(--c-divider);background:none;font-size:10px;font-weight:600;color:var(--c-text-3);text-transform:uppercase;letter-spacing:.04em;font-family:inherit;transition:color var(--dur-fast) ease}@media(max-width:639px){.done-toggle[data-v-27a9ba6f]{font-size:11px;margin:12px 8px 0;padding:8px 6px 6px}}.done-toggle[data-v-27a9ba6f]:hover{color:var(--c-text-2)}.done-chevron[data-v-27a9ba6f]{transition:transform var(--dur) var(--ease-out);flex-shrink:0}.done-chevron.is-open[data-v-27a9ba6f]{transform:rotate(90deg)}.done-count[data-v-27a9ba6f]{font-weight:400;color:var(--c-text-ghost)}.col-empty[data-v-27a9ba6f]{padding:28px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--c-text-ghost);font-size:13px}.col-footer[data-v-27a9ba6f]{flex-shrink:0;padding:2px 6px 8px}@media(max-width:639px){.col-footer[data-v-27a9ba6f]{padding:4px 8px 12px}}.add-task-btn[data-v-27a9ba6f]{width:100%;display:flex;align-items:center;gap:6px;padding:6px 10px;border:none;background:transparent;border-radius:var(--radius-item);color:var(--c-accent);font-size:12px;font-weight:500;font-family:inherit;transition:all var(--dur-fast) ease}@media(max-width:639px){.add-task-btn[data-v-27a9ba6f]{padding:10px var(--space-3);font-size:13px}}.add-task-btn[data-v-27a9ba6f]:hover{background:var(--c-accent-soft)}.add-task-btn[data-v-27a9ba6f]:active{transform:scale(.98)}.add-task-row[data-v-27a9ba6f]{display:flex;align-items:center;gap:10px;padding:8px 12px}.add-task-input[data-v-27a9ba6f]{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--c-text);font-family:inherit}.add-task-input[data-v-27a9ba6f]::-moz-placeholder{color:var(--c-text-ghost)}.add-task-input[data-v-27a9ba6f]::placeholder{color:var(--c-text-ghost)}.cal-root[data-v-b6f06bfc]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:8px 16px 16px;max-width:1400px;margin:0 auto;width:100%}@media(max-width:639px){.cal-root[data-v-b6f06bfc]{padding:8px 8px 16px}}.cal-nav[data-v-b6f06bfc]{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 0 12px;flex-shrink:0}.cal-nav-btn[data-v-b6f06bfc]{width:32px;height:32px;display:grid;place-items:center;border:none;background:var(--c-surface);border-radius:var(--radius-full);color:var(--c-text-2);box-shadow:var(--shadow-button);border:1px solid var(--c-border-card);cursor:pointer;transition:all var(--dur-fast) ease}.cal-nav-btn[data-v-b6f06bfc]:hover{color:var(--c-text);background:var(--c-surface-hover)}.cal-nav-btn[data-v-b6f06bfc]:active{transform:scale(.9)}.cal-month-label[data-v-b6f06bfc]{font-size:16px;font-weight:700;color:var(--c-text);letter-spacing:-.01em;min-width:180px;text-align:center;border:none;background:none;cursor:pointer;font-family:inherit;padding:4px 12px;border-radius:var(--radius-btn);transition:background var(--dur-fast) ease}.cal-month-label[data-v-b6f06bfc]:hover{background:var(--c-surface-hover)}.cal-weekdays[data-v-b6f06bfc]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding-bottom:4px;flex-shrink:0}.cal-wd[data-v-b6f06bfc]{text-align:center;font-size:11px;font-weight:600;color:var(--c-text-3);text-transform:uppercase;letter-spacing:.04em;padding:4px 0}.cal-wd.is-weekend[data-v-b6f06bfc]{color:var(--c-text-ghost)}.cal-grid[data-v-b6f06bfc]{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;flex:1;overflow-y:auto;background:var(--c-border);border-radius:var(--radius-card);border:1px solid var(--c-border)}.cal-day[data-v-b6f06bfc]{background:var(--c-surface);padding:4px 6px;min-height:100px;cursor:pointer;transition:background var(--dur-fast) ease;display:flex;flex-direction:column;overflow:hidden}@media(max-width:639px){.cal-day[data-v-b6f06bfc]{min-height:68px;padding:3px}}.cal-day[data-v-b6f06bfc]:hover{background:var(--c-surface-hover)}.cal-day.is-weekend[data-v-b6f06bfc]{background:#f3f3f5}.cal-day.is-weekend[data-v-b6f06bfc]:hover{background:#eaeaee}@media(prefers-color-scheme:dark){.cal-day.is-weekend[data-v-b6f06bfc]{background:#141416}.cal-day.is-weekend[data-v-b6f06bfc]:hover{background:#1e1e22}}.cal-day.is-other[data-v-b6f06bfc]{opacity:.35}.cal-day.is-other[data-v-b6f06bfc]:hover{opacity:.55}.cal-day.is-today .cal-day-num[data-v-b6f06bfc]{background:var(--c-accent);color:#fff;border-radius:var(--radius-full);width:24px;height:24px;display:inline-grid;place-items:center;margin:-2px;font-weight:700}.cal-day.is-selected[data-v-b6f06bfc]{background:var(--c-accent-soft);box-shadow:inset 0 0 0 2px var(--c-accent);border-radius:1px}.cal-day-num[data-v-b6f06bfc]{font-size:12px;font-weight:600;color:var(--c-text-2);line-height:1;margin-bottom:4px}.cal-day.is-weekend .cal-day-num[data-v-b6f06bfc]{color:var(--c-text-3)}@media(max-width:639px){.cal-day-num[data-v-b6f06bfc]{font-size:11px}}.cal-day-tasks[data-v-b6f06bfc]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.cal-pill[data-v-b6f06bfc]{display:flex;align-items:flex-start;gap:3px;padding:2px 5px;border-radius:4px;font-size:10px;line-height:1.35;color:#fff;min-width:0;background:var(--pill-color);font-weight:500}.cal-pill.is-overdue[data-v-b6f06bfc]{font-weight:600}.cal-pill.is-done[data-v-b6f06bfc]{opacity:.4}.cal-pill-check[data-v-b6f06bfc]{flex-shrink:0;font-size:8px;margin-top:1px;font-weight:700}.cal-pill-text.is-done[data-v-b6f06bfc]{text-decoration:line-through;text-decoration-color:#fff9}.cal-pill-star[data-v-b6f06bfc]{flex-shrink:0;font-size:8px;margin-top:1px}.cal-pill-text[data-v-b6f06bfc]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.cal-pill-mini[data-v-b6f06bfc]{padding:1px 4px;border-radius:3px;background:var(--pill-color);margin-bottom:1px;overflow:hidden}.cal-pill-mini.is-done[data-v-b6f06bfc]{opacity:.35}.cal-pill-mini-text[data-v-b6f06bfc]{display:block;font-size:8px;font-weight:500;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-pill-mini-text.is-done[data-v-b6f06bfc]{text-decoration:line-through;text-decoration-color:#ffffff80}.detail-fade-enter-active[data-v-b6f06bfc],.detail-fade-leave-active[data-v-b6f06bfc]{transition:opacity var(--dur) var(--ease-out)}.detail-fade-enter-active .cal-detail[data-v-b6f06bfc],.detail-fade-leave-active .cal-detail[data-v-b6f06bfc]{transition:transform var(--dur) var(--ease-out)}.detail-fade-enter-from[data-v-b6f06bfc],.detail-fade-leave-to[data-v-b6f06bfc]{opacity:0}.detail-fade-enter-from .cal-detail[data-v-b6f06bfc]{transform:translateY(12px) scale(.97)}.detail-fade-leave-to .cal-detail[data-v-b6f06bfc]{transform:translateY(8px) scale(.98)}.cal-detail-overlay[data-v-b6f06bfc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:grid;place-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.cal-detail[data-v-b6f06bfc]{background:var(--c-surface);border-radius:16px;box-shadow:var(--shadow-menu);width:min(420px,calc(100vw - 32px));max-height:min(480px,calc(100vh - 80px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--c-border-card)}.cal-detail-header[data-v-b6f06bfc]{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--c-divider);flex-shrink:0}.cal-detail-title[data-v-b6f06bfc]{flex:1}.cal-detail-date[data-v-b6f06bfc]{display:block;font-size:15px;font-weight:700;color:var(--c-text);line-height:1.2}.cal-detail-count[data-v-b6f06bfc]{display:block;font-size:11px;color:var(--c-text-3);font-weight:500;margin-top:2px}.cal-detail-close[data-v-b6f06bfc]{width:28px;height:28px;display:grid;place-items:center;border:none;background:var(--c-bg);color:var(--c-text-3);border-radius:var(--radius-full);cursor:pointer;transition:all var(--dur-fast) ease;flex-shrink:0}.cal-detail-close[data-v-b6f06bfc]:hover{color:var(--c-text);background:var(--c-surface-hover)}.cal-detail-list[data-v-b6f06bfc]{overflow-y:auto;padding:8px}.cal-task[data-v-b6f06bfc]{display:flex;align-items:flex-start;gap:8px;padding:10px 8px;border-radius:var(--radius-item);transition:background var(--dur-fast) ease}.cal-task[data-v-b6f06bfc]:hover{background:var(--c-surface-hover)}.cal-task.is-done[data-v-b6f06bfc]{opacity:.45}.cal-cb-touch[data-v-b6f06bfc]{display:flex;align-items:center;justify-content:center;width:32px;min-height:32px;margin:-4px -2px -4px -4px;padding:0;border:none;background:none;flex-shrink:0;cursor:pointer}.cal-cb[data-v-b6f06bfc]{width:20px;height:20px;border-radius:50%;border:2px solid var(--c-text-3);display:grid;place-items:center;transition:all var(--dur-fast) var(--ease-out)}.cal-cb svg[data-v-b6f06bfc]{width:10px;height:10px;opacity:0;transition:opacity var(--dur-fast) ease}.cal-cb[data-v-b6f06bfc]:hover{border-color:var(--cb-color, var(--c-accent))}.cal-cb.is-done[data-v-b6f06bfc]{background:var(--c-done);border-color:var(--c-done)}.cal-cb.is-done svg[data-v-b6f06bfc]{opacity:1}.cal-task-content[data-v-b6f06bfc]{flex:1;min-width:0;padding-top:2px}.cal-task-text[data-v-b6f06bfc]{display:block;font-size:14px;line-height:1.35;color:var(--c-text);overflow-wrap:break-word}.cal-task-text.is-done[data-v-b6f06bfc]{text-decoration:line-through;text-decoration-color:var(--c-text-ghost);color:var(--c-text-3)}.cal-task-meta[data-v-b6f06bfc]{display:flex;align-items:center;gap:6px;margin-top:4px}.cal-task-col[data-v-b6f06bfc]{font-size:10px;font-weight:600;letter-spacing:.01em;padding:2px 7px;border-radius:var(--radius-full);display:inline-block;line-height:1.3}.cal-task-overdue[data-v-b6f06bfc]{font-size:10px;font-weight:600;color:var(--c-overdue)}.cal-star[data-v-b6f06bfc]{border:none;background:none;font-size:16px;line-height:1;cursor:pointer;color:var(--c-text-3);padding:4px;margin:-4px -4px -4px 0;transition:all var(--dur-fast) ease;flex-shrink:0}.cal-star[data-v-b6f06bfc]:hover,.cal-star.is-on[data-v-b6f06bfc]{color:var(--c-important)}.cal-star[data-v-b6f06bfc]:active{transform:scale(1.2)}.cal-done-sep[data-v-b6f06bfc]{display:flex;align-items:center;gap:8px;padding:8px 8px 4px;font-size:10px;font-weight:600;color:var(--c-text-ghost);text-transform:uppercase;letter-spacing:.04em}.cal-done-sep[data-v-b6f06bfc]:after{content:"";flex:1;height:1px;background:var(--c-divider)}.board-root[data-v-4ff0e221]{height:100%;display:flex;flex-direction:column;overflow:hidden}.board-header[data-v-4ff0e221]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--board-px);height:40px;background:var(--c-surface);border-bottom:1px solid var(--c-border)}@media(max-width:639px){.board-header[data-v-4ff0e221]{height:48px;padding:var(--space-3) var(--board-px)}}@media(prefers-color-scheme:light){.board-header[data-v-4ff0e221]{background:transparent;border-bottom:none;box-shadow:var(--shadow-header)}}@media(prefers-color-scheme:dark){.board-header[data-v-4ff0e221]{background:#0a0a0a;border-bottom-color:#ffffff14}}.board-title-row[data-v-4ff0e221]{display:flex;align-items:center;gap:8px}.board-title[data-v-4ff0e221]{font-size:14px;font-weight:700;letter-spacing:-.02em;color:var(--c-text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:639px){.board-title[data-v-4ff0e221]{font-size:17px}}.header-chip[data-v-4ff0e221]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);line-height:1.4;white-space:nowrap;border:none;cursor:pointer;font-family:inherit;transition:all var(--dur-fast) ease}.header-chip[data-v-4ff0e221]:active{transform:scale(.92)}.chip-important[data-v-4ff0e221]{background:var(--c-important-soft);color:var(--c-important)}.chip-important.is-active[data-v-4ff0e221]{background:var(--c-important);color:#fff}.chip-today[data-v-4ff0e221]{background:var(--c-accent-soft);color:var(--c-accent)}.chip-today.is-active[data-v-4ff0e221]{background:var(--c-accent);color:#fff}.chip-overdue[data-v-4ff0e221]{background:var(--c-overdue-soft);color:var(--c-overdue)}.chip-overdue.is-active[data-v-4ff0e221]{background:var(--c-overdue);color:#fff}.header-actions[data-v-4ff0e221]{display:flex;align-items:center;gap:6px}.view-toggle[data-v-4ff0e221]{display:flex;background:var(--c-bg);border:1px solid var(--c-border-card);border-radius:var(--radius-btn);padding:2px;gap:1px}.vt-btn[data-v-4ff0e221]{display:grid;place-items:center;width:28px;height:26px;border:none;background:transparent;color:var(--c-text-ghost);border-radius:6px;cursor:pointer;transition:all var(--dur-fast) ease}.vt-btn[data-v-4ff0e221]:hover{color:var(--c-text-3)}.vt-btn.is-active[data-v-4ff0e221]{background:var(--c-surface);color:var(--c-text);box-shadow:0 1px 2px #0000000f}.btn-icon[data-v-4ff0e221]{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--c-border-card);background:var(--c-surface);color:var(--c-text-3);box-shadow:var(--shadow-button);transition:all var(--dur-fast) ease;cursor:pointer}.btn-icon[data-v-4ff0e221]:hover{color:var(--c-text-2);background:var(--c-surface-hover)}.btn-icon[data-v-4ff0e221]:active{transform:scale(.93)}.btn-icon.is-spinning svg[data-v-4ff0e221]{animation:spin-4ff0e221 .5s var(--ease-out)}@keyframes spin-4ff0e221{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-add[data-v-4ff0e221]{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-full);border:none;background:var(--c-surface);color:var(--c-text-2);font-size:13px;font-weight:500;font-family:inherit;box-shadow:var(--shadow-button);border:1px solid var(--c-border-card);transition:all var(--dur-fast) ease}.btn-add[data-v-4ff0e221]:hover{background:var(--c-surface-hover);color:var(--c-text);box-shadow:var(--shadow-card)}.btn-add[data-v-4ff0e221]:active{transform:scale(.96)}.btn-add-label[data-v-4ff0e221]{display:none}@media(min-width:640px){.btn-add-label[data-v-4ff0e221]{display:inline}}.board-scroll[data-v-4ff0e221]{flex:1;display:flex;gap:var(--col-gap);padding:var(--space-3) var(--board-px) var(--space-2);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:var(--board-px);align-items:flex-start}@media(min-width:640px){.board-scroll[data-v-4ff0e221]{scroll-snap-type:none;padding:4px 20px 16px;gap:14px;mask-image:linear-gradient(to right,black 0,black calc(100% - 32px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black 0,black calc(100% - 32px),transparent 100%)}}@media(min-width:1024px){.board-scroll[data-v-4ff0e221]{padding:4px 24px 16px;gap:16px}}@media(min-width:1200px){.board-scroll[data-v-4ff0e221]{mask-image:none;-webkit-mask-image:none}}.col-card[data-v-4ff0e221]{background:var(--c-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.col-name-input[data-v-4ff0e221]{width:100%;border:none;outline:none;background:transparent;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-2);border-bottom:2px solid var(--c-border);padding-bottom:4px;transition:border-color var(--dur-fast) ease}.col-name-input[data-v-4ff0e221]:focus{border-color:var(--c-text-3)}.col-name-input[data-v-4ff0e221]::-moz-placeholder{color:var(--c-text-ghost)}.col-name-input[data-v-4ff0e221]::placeholder{color:var(--c-text-ghost)}.empty-state[data-v-4ff0e221]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px}.empty-illustration[data-v-4ff0e221]{width:120px;height:80px;margin-bottom:12px;opacity:.8}.empty-title[data-v-4ff0e221]{font-size:17px;font-weight:600;color:var(--c-text)}.empty-sub[data-v-4ff0e221]{font-size:14px;color:var(--c-text-3)}.empty-btn[data-v-4ff0e221]{margin-top:16px;padding:10px 24px;border-radius:var(--radius-full);border:none;background:var(--c-text);color:var(--c-bg);font-size:14px;font-weight:600;font-family:inherit;box-shadow:var(--shadow-button);transition:all var(--dur-fast) ease}.empty-btn[data-v-4ff0e221]:hover{opacity:.85}.empty-btn[data-v-4ff0e221]:active{transform:scale(.96)}.fab[data-v-4ff0e221]{display:flex;align-items:center;justify-content:center;position:fixed;right:20px;bottom:calc(env(safe-area-inset-bottom,0px) + 56px);width:52px;height:52px;border-radius:50%;border:none;background:var(--c-accent);color:#fff;box-shadow:0 4px 12px #2563eb59,0 8px 24px #2563eb26;z-index:30;transition:all var(--dur-fast) var(--ease-spring)}.fab[data-v-4ff0e221]:active{transform:scale(.88)}@media(min-width:640px){.fab[data-v-4ff0e221]{display:none}}@media(prefers-color-scheme:dark){.fab[data-v-4ff0e221]{box-shadow:0 4px 12px #3b82f666,0 8px 24px #3b82f626}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--c-bg: #F5F5F7;--c-surface: #FFFFFF;--c-surface-hover: rgba(0, 0, 0, .025);--c-surface-press: rgba(0, 0, 0, .05);--c-text: #1D1D1F;--c-text-2: #6E6E73;--c-text-3: #8E8E93;--c-text-ghost: #C7C7CC;--c-border: rgba(0, 0, 0, .06);--c-border-card: rgba(0, 0, 0, .04);--c-divider: rgba(0, 0, 0, .06);--c-accent: #2563EB;--c-accent-soft: rgba(37, 99, 235, .08);--c-done: #34C759;--c-done-soft: rgba(52, 199, 89, .1);--c-important: #FF9F0A;--c-important-soft: rgba(255, 159, 10, .08);--c-overdue: #FF453A;--c-overdue-soft: rgba(255, 59, 48, .06);--c-approaching: #FF9F0A;--shadow-card: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 8px rgba(0, 0, 0, .04);--shadow-card-up: 0 4px 12px rgba(0, 0, 0, .07), 0 8px 24px rgba(0, 0, 0, .05);--shadow-menu: 0 4px 16px rgba(0, 0, 0, .1), 0 12px 40px rgba(0, 0, 0, .08);--shadow-header: 0 1px 0 rgba(0, 0, 0, .05);--shadow-button: 0 1px 2px rgba(0, 0, 0, .06);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .35s;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--col-w: 85vw;--col-w-max: 340px;--col-w-desk: 340px;--col-gap: 12px;--board-px: 16px;--radius-card: 12px;--radius-item: 8px;--radius-btn: 8px;--radius-full: 9999px;--touch-min: 48px;--cb-size: 20px;--cb-stroke: 1.5px;--cb-color: #C7C7CC;--divider-inset: 34px}@media(prefers-color-scheme:dark){:root{--c-bg: #000000;--c-surface: #1C1C1E;--c-surface-hover: rgba(255, 255, 255, .05);--c-surface-press: rgba(255, 255, 255, .08);--c-surface-raised: #1E1E22;--c-text: #F5F5F7;--c-text-2: #A1A1A6;--c-text-3: #8E8E93;--c-text-ghost: #48484A;--c-border: rgba(255, 255, 255, .1);--c-border-card: rgba(255, 255, 255, .12);--c-divider: rgba(255, 255, 255, .1);--c-accent: #3B82F6;--c-accent-soft: rgba(59, 130, 246, .15);--c-overdue: #FF6B6B;--c-approaching: #FFB340;--cb-color: #48484A;--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-card-up: 0 4px 16px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-menu: 0 4px 16px rgba(0, 0, 0, .5), 0 12px 40px rgba(0, 0, 0, .4);--shadow-header: 0 1px 0 rgba(255, 255, 255, .06)}}*,*:before,*:after{box-sizing:border-box}html{height:100%;height:-webkit-fill-available;overscroll-behavior:none}body{min-height:100%;min-height:-webkit-fill-available;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.47;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#app{height:100vh;height:100dvh}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}button,[role=button],a,label{touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;touch-action:manipulation}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.no-scrollbar::-webkit-scrollbar{display:none}.cb{position:relative;width:var(--cb-size);height:var(--cb-size);border-radius:var(--radius-full);border:var(--cb-stroke) solid var(--cb-color);background:transparent;flex-shrink:0;display:grid;place-items:center;cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}.cb:hover{border-color:var(--c-text-3)}.cb:active{transform:scale(.85)}.cb.is-done{border-color:var(--c-done);background:var(--c-done);animation:cb-pop var(--dur) var(--ease-spring)}.cb svg{width:11px;height:11px;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none;opacity:0;transition:opacity var(--dur-fast) ease}.cb.is-done svg{opacity:1}@keyframes cb-pop{0%{transform:scale(.8)}40%{transform:scale(1.2)}70%{transform:scale(.95)}to{transform:scale(1)}}.star{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-btn);font-size:13px;line-height:1;color:var(--c-text-ghost);cursor:pointer;transition:color var(--dur-fast) ease,background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring),opacity var(--dur-fast) ease;flex-shrink:0}@media(max-width:639px){.star{width:var(--space-6);height:var(--space-6);font-size:15px}}.star:active{transform:scale(.8)}.star.is-on{color:var(--c-important);animation:star-pop var(--dur) var(--ease-spring)}.star:hover:not(.is-on){background:var(--c-surface-hover);color:var(--c-text-3)}@keyframes star-pop{0%{transform:scale(.6)}30%{transform:scale(1.3)}60%{transform:scale(.9)}to{transform:scale(1)}}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:50;min-width:180px;background:var(--c-surface);border:1px solid var(--c-border-card);border-radius:14px;box-shadow:var(--shadow-menu);padding:5px;animation:menu-in var(--dur) var(--ease-out)}.menu-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:14px;color:var(--c-text-2);white-space:nowrap;transition:background var(--dur-fast) ease}.menu-item:hover,.menu-item:active{background:var(--c-surface-hover)}.menu-item.danger{color:var(--c-overdue)}.menu-sep{height:1px;background:var(--c-divider);margin:4px 10px}.menu-label{padding:8px 14px 4px;font-size:11px;font-weight:600;color:var(--c-text-3);text-transform:uppercase;letter-spacing:.04em}.menu-deadline-section{padding:4px 4px 0}.deadline-chips{display:flex;gap:6px;padding:4px 10px 8px}.dl-chip{padding:5px 10px;border-radius:8px;border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-2);font-size:12px;font-weight:500;font-family:inherit;transition:all var(--dur-fast) ease}.dl-chip:hover{background:var(--c-surface-hover);border-color:var(--c-text-3)}.dl-chip:active{transform:scale(.95)}.deadline-custom{display:flex;align-items:center;gap:8px;padding:0 10px 8px}.dl-clear{width:24px;height:24px;display:grid;place-items:center;border:none;background:var(--c-overdue-soft);color:var(--c-overdue);border-radius:6px;font-size:12px;transition:all var(--dur-fast) ease}.dl-clear:active{transform:scale(.9)}.menu-fixed{position:fixed;z-index:200;overscroll-behavior:contain}@keyframes menu-in{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0006;display:grid;place-items:center;animation:menu-in var(--dur) var(--ease-out);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-dialog{background:var(--c-surface);border-radius:16px;padding:24px;max-width:300px;width:calc(100vw - 64px);box-shadow:var(--shadow-menu);text-align:center}.confirm-title{font-size:16px;font-weight:600;color:var(--c-text);margin:0 0 6px}.confirm-sub{font-size:13px;color:var(--c-text-3);margin:0 0 20px;line-height:1.4}.confirm-actions{display:flex;gap:10px}.confirm-btn{flex:1;padding:10px 16px;border-radius:10px;border:none;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--dur-fast) ease;background:var(--c-bg);color:var(--c-text-2)}.confirm-btn:hover{background:var(--c-surface-hover)}.confirm-btn:active{transform:scale(.96)}.confirm-danger{background:var(--c-overdue);color:#fff}.confirm-danger:hover{background:#e63328}@media(min-width:640px){.col-shell{width:340px!important;max-width:none!important;flex-shrink:0!important}}@keyframes col-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.task-move,.task-enter-active,.task-leave-active{transition:all var(--dur-slow) var(--ease-out)}.task-enter-from{opacity:0;transform:translate(-8px) scale(.97)}.task-leave-to{opacity:0;transform:scale(.95)}.task-leave-active{position:absolute;width:calc(100% - 8px)}@keyframes flash-new{0%,15%{background:var(--c-important-soft)}to{background:transparent}}.is-new{animation:flash-new 1.8s var(--ease-out) forwards}@keyframes flash-done{0%{background:var(--c-done-soft)}to{background:transparent}}.is-completing{animation:flash-done .6s var(--ease-out) forwards}.swipe-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-item);display:flex;align-items:center;padding-left:20px;background:linear-gradient(135deg,var(--c-done-soft) 0%,rgba(52,199,89,.18) 100%);opacity:0;transition:opacity var(--dur-fast) ease}.swipe-bg.is-active{opacity:1}.swipe-bg svg{width:22px;height:22px;stroke:var(--c-done);stroke-width:2.5;stroke-linecap:round;fill:none;transition:transform var(--dur) var(--ease-spring),opacity var(--dur-fast) ease;opacity:.6}.swipe-bg.is-threshold svg{transform:scale(1.3);opacity:1}.col-pills{display:flex;gap:8px;padding:6px 16px calc(env(safe-area-inset-bottom,4px) + 4px);overflow-x:auto;flex-shrink:0;mask-image:linear-gradient(to right,black 0,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black 0,black calc(100% - 24px),transparent 100%)}.col-pill{flex-shrink:0;padding:4px 12px;border-radius:20px;border:1.5px solid transparent;background:transparent;font-size:12px;font-weight:600;font-family:inherit;letter-spacing:.01em;transition:all var(--dur) var(--ease-out);white-space:nowrap}.col-pill:active{transform:scale(.94)}@media(min-width:640px){.col-pills{display:none}}input[type=date]{font-family:inherit;font-size:13px;color:var(--c-text-2);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-btn);padding:var(--space-1) var(--space-2);outline:none;-webkit-appearance:none;transition:border-color var(--dur-fast) ease}input[type=date]:focus{border-color:var(--c-accent)}.toast{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);left:50%;transform:translate(-50%);z-index:100;overflow:hidden;background:var(--c-text);color:var(--c-bg);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-size:14px;font-weight:500;box-shadow:var(--shadow-menu);display:flex;align-items:center;gap:var(--space-3);animation:toast-in var(--dur-slow) var(--ease-out);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.toast-action{color:var(--c-accent);font-weight:600;cursor:pointer}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff9;transform-origin:left;animation:toast-countdown 4s linear forwards;border-radius:0 0 var(--radius-full) var(--radius-full)}@media(prefers-color-scheme:dark){.toast-progress{background:var(--c-accent);opacity:.9}}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-color-scheme:dark){.toast{background:#2c2c2ee6;color:#f5f5f7}}.toast-error{background:var(--c-overdue);color:#fff}@media(prefers-color-scheme:dark){.toast-error{background:#cc2d25}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.kbd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:grid;place-items:center;animation:menu-in var(--dur) var(--ease-out)}.kbd-card{background:var(--c-surface);border-radius:var(--space-5);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-menu);min-width:280px}.kbd-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-ghost);margin:12px 0 2px;padding:0}.kbd-label{color:var(--c-text-2);font-size:13px}.kbd-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.kbd-key{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--space-2);background:var(--c-bg);border:1px solid var(--c-border);border-radius:6px;font-size:12px;font-weight:600;color:var(--c-text-2);font-family:inherit}
