@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg:#fafaf7;--color-surface:#fff;--color-border:#e8e6e1;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-tertiary:#999;--color-overlay:#1a1a1a73;--accent-coral:#ff6b6b;--accent-amber:#ffa94d;--accent-lime:#94d82d;--accent-teal:#20c997;--accent-sky:#4dabf7;--accent-grape:#845ef7;--priority-low:var(--accent-teal);--priority-medium:var(--accent-amber);--priority-high:var(--accent-coral);--danger:#e03131;--danger-bg:#e031311a;--success:var(--accent-teal);--font-display:"Instrument Serif", Georgia, serif;--font-body:"Inter Tight", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #1a1a1a0f;--shadow-md:0 4px 12px #1a1a1a14;--shadow-lg:0 12px 32px #1a1a1a24;--shadow-drag:0 16px 40px #1a1a1a38;--ease-hover:.15s ease;--ease-modal:.2s ease;--ease-theme:.3s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#0f0f0e;--color-surface:#1a1a18;--color-border:#2a2a28;--color-text-primary:#f5f5f0;--color-text-secondary:#a0a099;--color-text-tertiary:#666660;--color-overlay:#0009;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 12px 32px #00000073;--shadow-drag:0 16px 40px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--ease-theme), color var(--ease-theme);font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}button,input,textarea,select{color:inherit;font-family:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent-sky);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}kbd{font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);background:var(--color-text-primary);color:var(--color-bg);transition:transform var(--ease-hover), background var(--ease-hover), border-color var(--ease-hover), opacity var(--ease-hover);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{opacity:.88}.btn:active{transform:scale(.98)}.btn--ghost{color:var(--color-text-primary);border-color:var(--color-border);background:0 0}.btn--ghost:hover{background:var(--color-bg);opacity:1}.btn--danger{background:var(--danger);color:#fff}.btn--icon{color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:7px}.btn--icon:hover{background:var(--color-bg);color:var(--color-text-primary);opacity:1}.btn--sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.field input[type=text],.field textarea,.field select{font-family:var(--font-body);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:border-color var(--ease-hover);padding:9px 12px;font-size:14px}.field input[type=text]:focus,.field textarea:focus,.field select:focus{border-color:var(--accent-sky)}.field textarea{resize:vertical;min-height:72px;font-family:inherit}.board-switcher{position:relative}.board-switcher__trigger{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);align-items:center;gap:8px;max-width:220px;padding:8px 12px;font-size:13.5px;font-weight:600;display:flex}.board-switcher__trigger:hover{border-color:var(--color-text-tertiary)}.board-switcher__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-switcher__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-lg);z-index:50;animation:bs-rise var(--ease-modal);padding:6px;position:absolute;top:calc(100% + 6px);left:0}.board-switcher__item{border-radius:var(--radius-sm);align-items:center;gap:4px;display:flex}.board-switcher__item:hover{background:var(--color-bg)}.board-switcher__item--active .board-switcher__item-name{color:var(--accent-sky)}.board-switcher__item-name{text-align:left;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:8px;font-size:13.5px;overflow:hidden}.board-switcher__item-actions{gap:2px;padding-right:4px;display:flex}.board-switcher__item--editing input{border:1px solid var(--accent-sky);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;color:var(--color-text-primary);padding:8px;font-size:13.5px}.board-switcher__divider{background:var(--color-border);height:1px;margin:6px 2px}.board-switcher__create{width:100%;color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:8px;font-size:13.5px;font-weight:600;display:flex}.board-switcher__create:hover{background:var(--color-bg);color:var(--color-text-primary)}@keyframes bs-rise{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-secondary);transition:background var(--ease-hover), color var(--ease-hover);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--color-bg);color:var(--color-text-primary)}.search-bar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:240px;height:36px;transition:border-color var(--ease-hover);align-items:center;gap:8px;padding:0 10px;display:flex}.search-bar:focus-within{border-color:var(--accent-sky)}.search-bar__icon{color:var(--color-text-tertiary);flex-shrink:0}.search-bar input{background:0 0;border:none;flex:1;min-width:0;font-size:13.5px}.search-bar input:focus{outline:none}.search-bar__clear{color:var(--color-text-tertiary);background:0 0;border:none;flex-shrink:0;display:flex}.search-bar__clear:hover{color:var(--color-text-primary)}.search-bar__hint{flex-shrink:0}@media (width<=720px){.search-bar{width:160px}}.tag-chip{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.tag-chip--clickable{transition:border-color var(--ease-hover), color var(--ease-hover);font-family:inherit}.tag-chip--clickable:hover{border-color:var(--accent-sky);color:var(--color-text-primary)}.tag-chip--active{background:var(--accent-sky);border-color:var(--accent-sky);color:#fff}.tag-chip--removable{padding-right:4px}.tag-chip__remove{color:inherit;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;display:flex}.tag-chip__remove:hover{color:var(--danger)}.filter-panel{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-panel__priorities{gap:6px;display:flex}.filter-panel__priority{border:1px solid var(--color-border);color:var(--color-text-secondary);transition:border-color var(--ease-hover), background var(--ease-hover), color var(--ease-hover);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:12.5px;font-weight:600;display:flex}.filter-panel__priority:hover{border-color:var(--color-text-tertiary)}.filter-panel__priority-dot{border-radius:50%;width:7px;height:7px}.filter-panel__priority--low .filter-panel__priority-dot{background:var(--priority-low)}.filter-panel__priority--medium .filter-panel__priority-dot{background:var(--priority-medium)}.filter-panel__priority--high .filter-panel__priority-dot{background:var(--priority-high)}.filter-panel__priority--active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg)}.filter-panel__tag{color:var(--color-text-tertiary);align-items:center;gap:5px;display:flex}.filter-panel__clear{color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:5px;padding:6px 8px;font-size:12.5px;font-weight:600;display:flex}.filter-panel__clear:hover{color:var(--danger);background:var(--danger-bg)}.header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:10px;padding:16px 24px;display:flex}.header__row{justify-content:space-between;align-items:center;gap:16px;display:flex}.header__row--filters{justify-content:flex-start}.header__brand{align-items:center;gap:16px;min-width:0;display:flex}.header__logo{font-family:var(--font-display);color:var(--color-text-primary);white-space:nowrap;font-size:26px}.header__controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.header__palette-btn{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:border-color var(--ease-hover), color var(--ease-hover);align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.header__palette-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.header__palette-btn span{white-space:nowrap}@media (width<=860px){.header__palette-btn span{display:none}}.priority-badge{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.priority-badge__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.priority-badge--low .priority-badge__dot{background:var(--priority-low)}.priority-badge--medium .priority-badge__dot{background:var(--priority-medium)}.priority-badge--high .priority-badge__dot{background:var(--priority-high)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:grab;transition:box-shadow var(--ease-hover), border-color var(--ease-hover), transform var(--ease-hover);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.card:hover{box-shadow:var(--shadow-sm);border-color:var(--color-text-tertiary)}.card:active{cursor:grabbing}.card--dragging{box-shadow:var(--shadow-drag);cursor:grabbing;opacity:.92;transform:rotate(2deg)}.card__header{justify-content:space-between;align-items:center;display:flex}.card__title{color:var(--color-text-primary);margin:0;font-size:14px;font-weight:600;line-height:1.4}.card__description{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.card__tags{flex-wrap:wrap;gap:6px;display:flex}.column-header{align-items:center;gap:8px;padding:12px 10px 12px 6px;display:flex}.column-header__grip{color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:grab;touch-action:none;background:0 0;border:none;padding:4px;display:flex}.column-header__grip:hover{color:var(--color-text-primary);background:var(--color-bg)}.column-header__dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.column-header__dot--coral{background:var(--accent-coral)}.column-header__dot--amber{background:var(--accent-amber)}.column-header__dot--lime{background:var(--accent-lime)}.column-header__dot--teal{background:var(--accent-teal)}.column-header__dot--sky{background:var(--accent-sky)}.column-header__dot--grape{background:var(--accent-grape)}.column-header__title{text-align:left;color:var(--color-text-primary);border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;min-width:0;padding:4px 6px;font-size:14px;font-weight:700;overflow:hidden}.column-header__title:hover{background:var(--color-bg)}.column-header__input{border:1px solid var(--accent-sky);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);flex:1;min-width:0;padding:4px 6px;font-family:inherit;font-size:14px;font-weight:700}.column-header__count{font-family:var(--font-mono);color:var(--color-text-tertiary);background:var(--color-bg);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:11px}.column-header__actions{flex-shrink:0;gap:2px;display:flex}.column{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:300px;max-height:100%;transition:box-shadow var(--ease-hover);flex-direction:column;flex-shrink:0;display:flex}.column--dragging{box-shadow:var(--shadow-drag);opacity:.9;transform:rotate(1.5deg)}.column__cards{flex-direction:column;flex:1;gap:8px;min-height:60px;padding:0 10px;display:flex;overflow-y:auto}.column__empty{color:var(--color-text-tertiary);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);margin:0;padding:20px 8px;font-size:12.5px}.column__add-card{border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:border-color var(--ease-hover), color var(--ease-hover), background var(--ease-hover);background:0 0;margin:10px;padding:9px;font-size:13px;font-weight:600}.column__add-card:hover{border-color:var(--accent-sky);color:var(--color-text-primary);background:var(--color-surface)}.add-column-trigger{border:1px dashed var(--color-border);border-radius:var(--radius-lg);width:280px;height:48px;color:var(--color-text-secondary);transition:border-color var(--ease-hover), color var(--ease-hover), background var(--ease-hover);background:0 0;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.add-column-trigger:hover{border-color:var(--accent-sky);color:var(--color-text-primary);background:var(--color-surface)}.add-column-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:12px;padding:14px;display:flex}.add-column-form input[type=text]{font-family:var(--font-body);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:9px 12px;font-size:14px}.add-column-form input[type=text]:focus{border-color:var(--accent-sky);outline:none}.add-column-form__accents{gap:8px;display:flex}.add-column-form__swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.add-column-form__swatch--active{border-color:var(--color-text-primary)}.add-column-form__swatch--coral{background:var(--accent-coral)}.add-column-form__swatch--amber{background:var(--accent-amber)}.add-column-form__swatch--lime{background:var(--accent-lime)}.add-column-form__swatch--teal{background:var(--accent-teal)}.add-column-form__swatch--sky{background:var(--accent-sky)}.add-column-form__swatch--grape{background:var(--accent-grape)}.add-column-form__actions{justify-content:flex-end;gap:8px;display:flex}.empty-board{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:auto;padding:80px 20px;display:flex}.empty-board__headline{font-family:var(--font-display);color:var(--color-text-primary);margin:0;font-size:28px}.empty-board__hint{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px}.board{flex:1;align-items:flex-start;gap:16px;min-height:0;padding:20px 24px;display:flex;overflow-x:auto}.board__card-overlay{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:276px;box-shadow:var(--shadow-drag);flex-direction:column;gap:8px;padding:12px 14px;display:flex;transform:rotate(2deg)}.board__card-overlay-title{color:var(--color-text-primary);margin:0;font-size:14px;font-weight:600}.board__column-overlay{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:300px;box-shadow:var(--shadow-drag);align-items:center;gap:8px;padding:12px 14px;display:flex;transform:rotate(1.5deg)}.board__column-overlay-title{color:var(--color-text-primary);font-size:14px;font-weight:700}.modal-overlay{background:var(--color-overlay);z-index:100;animation:modal-fade var(--ease-modal);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:85vh;animation:modal-rise var(--ease-modal);flex-direction:column;display:flex}.modal--wide{max-width:640px}.modal__header{justify-content:space-between;align-items:center;padding:20px 20px 0;display:flex}.modal__title{font-family:var(--font-display);color:var(--color-text-primary);margin:0;font-size:24px;font-weight:400}.modal__close{color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background var(--ease-hover), color var(--ease-hover);background:0 0;border:none;padding:6px;display:flex}.modal__close:hover{background:var(--color-bg);color:var(--color-text-primary)}.modal__body{padding:16px 20px 20px;overflow-y:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card-editor__error{color:var(--danger);font-size:12px}.card-editor__tags{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:8px 10px;display:flex}.card-editor__tag-input{min-width:100px;font-family:var(--font-body);background:0 0;border:none;flex:1;padding:3px 2px;font-size:13px}.card-editor__tag-input:focus{outline:none}.card-editor__actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.card-editor__actions-right{gap:10px;margin-left:auto;display:flex}.card-editor__delete{color:var(--danger)}.confirm-dialog{align-items:flex-start;gap:12px;display:flex}.confirm-dialog__icon{background:var(--danger-bg);width:36px;height:36px;color:var(--danger);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.confirm-dialog__message{color:var(--color-text-secondary);margin:6px 0 0;line-height:1.5}.confirm-dialog__actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.toast{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--success);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:260px;max-width:360px;animation:toast-in var(--ease-modal);align-items:center;gap:10px;padding:12px 12px 12px 14px;display:flex}.toast--error{border-left-color:var(--danger)}.toast__icon{color:var(--success);flex-shrink:0;display:flex}.toast--error .toast__icon{color:var(--danger)}.toast__message{color:var(--color-text-primary);flex:1;font-size:13.5px}.toast__close{color:var(--color-text-tertiary);background:0 0;border:none;flex-shrink:0;padding:2px;display:flex}.toast__close:hover{color:var(--color-text-primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-container{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.app{flex-direction:column;min-height:100vh;display:flex}.app__main{flex:1;min-height:0;display:flex;overflow:hidden}.app__no-boards{text-align:center;flex-direction:column;align-items:center;gap:6px;margin:auto;padding:60px 20px;display:flex}.app__no-boards-headline{font-family:var(--font-display);color:var(--color-text-primary);margin:0;font-size:30px}.app__no-boards-hint{color:var(--color-text-secondary);margin:0 0 14px;font-size:14px}.app__footer{border-top:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:12.5px;font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.app__footer a{color:var(--color-text-tertiary);transition:color var(--ease-hover);text-decoration:none}.app__footer a:hover{color:var(--color-text-primary)}
