:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}body{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden}h1{margin:0}button{font-family:inherit;cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}*{margin:0;padding:0;box-sizing:border-box}h3{font-size:small}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;color:#2d3748;min-height:100vh}.app{min-height:100vh;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:0 20px}.header h1{color:#2d3748;font-size:2rem;font-weight:600}.header-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.header-control-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-inline-editor{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-period-label{font-size:14px;color:#718096;font-weight:500}.time-period-select{padding:8px 12px;border:1px solid #f3e8ff;border-radius:8px;font-size:14px;background:#fff;color:#2d3748;cursor:pointer;transition:all .2s ease}.area-path-select{min-width:280px;max-width:420px}.area-path-input{min-width:280px}.time-period-select:hover{border-color:#e9d5ff}.time-period-select:focus{outline:none;border-color:#e9d5ff;box-shadow:0 0 0 3px #e9d5ff1a}.time-period-select:disabled{opacity:.6;cursor:not-allowed}.refresh-indicator{font-size:12px;color:#f8bbda;font-weight:500;animation:pulse 1.5s ease-in-out infinite}@media(max-width:900px){.header{flex-direction:column;align-items:flex-start;gap:16px}.header-controls{width:100%;justify-content:flex-start}.area-path-select{min-width:220px;max-width:100%}.area-path-input{min-width:220px;width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header-actions{display:flex;gap:10px}.btn{padding:8px 16px;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 4px #0000000d}.btn-primary{background:#e2e8f0;color:#2d3748;border:1px solid #cbd5e0}.btn-primary:hover{background:#fbb6ce;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-secondary{background:#fff;color:#2d3748;border:1px solid #e2e8f0}.btn-secondary:hover{background:#fed7d7;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-danger{background:#fed7d7;color:#2d3748;border:1px solid #fbb6ce}.btn-danger:hover{background:#fbb6ce;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.kanban-container{max-width:none;margin:0 10px;display:flex;flex-direction:column}.kanban-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-right:10px;flex-shrink:0}.search-container{flex:1;max-width:1200px;margin-right:20px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input{width:100%;min-width:620px;padding:8px 12px 8px 36px;border:1px solid #f3e8ff;border-radius:12px;font-size:14px;background:#fff;color:#2d3748;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.search-input:focus{outline:none;border-color:#e9d5ff;box-shadow:0 0 0 3px #e9d5ff1a}.search-input::placeholder{color:#a0aec0}.search-icon{position:absolute;left:12px;color:#a0aec0;font-size:14px;z-index:1;pointer-events:none}.search-clear{position:absolute;right:12px;color:#a0aec0;font-size:14px;cursor:pointer;transition:color .2s ease;z-index:1}.search-clear:hover{color:#2d3748}.tags-input-container{position:relative}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #f3e8ff;border-radius:8px;box-shadow:0 4px 8px #0000001a;z-index:1000;max-height:200px;overflow-y:auto}.tag-suggestion{padding:8px 12px;cursor:pointer;color:#2d3748;font-size:14px;transition:background-color .2s ease;border-bottom:1px solid #f1f5f9}.tag-suggestion:hover{background:#f3e8ff}.tag-suggestion:last-child{border-bottom:none}.kanban-board{display:flex;gap:20px;align-items:start;padding-bottom:10px}.kanban-board .column{flex:0 0 300px;min-width:300px}.column{background:#fff;border-radius:16px;padding:16px;min-height:500px;box-shadow:0 4px 6px #0000000d;border:1px solid #f3e8ff}.column-header{margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #f3e8ff}.column-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.column-title-section{display:flex;align-items:center;gap:8px;flex:1}.column-title{font-size:18px;font-weight:600;color:#2d3748;margin:0}.column-title.editable{cursor:pointer;padding:4px 8px;border-radius:8px;transition:background-color .2s ease}.column-title.editable:hover{background:#f3e8ff}.column-title-edit{flex:1}.column-title-input{width:100%;font-size:18px;font-weight:600;color:#2d3748;background:#fff;border:2px solid #e9d5ff;border-radius:8px;padding:4px 8px;margin:0}.column-title-input:focus{outline:none;box-shadow:0 0 0 3px #e9d5ff4d}.column-count{background:#f8bbda;color:#fff;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600;min-width:20px;text-align:center;line-height:1}.add-task-header-btn{background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;border-radius:4px;font-size:12px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-left:auto}.add-task-header-btn:hover{background:#f3e8ff;color:#2d3748}.done-toggle-btn{background:none;border:none;color:#718096;cursor:pointer;padding:4px;border-radius:4px;font-size:12px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.done-toggle-btn:hover{background:#f3e8ff;color:#2d3748}.tasks-container.collapsed{display:none}.tasks-container{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.add-task-btn-bottom{margin-top:auto;width:auto;align-self:center;padding:8px 16px;font-size:13px;border-radius:12px;background:#f3e8ff;color:#2d3748;border:1px dashed #e9d5ff;transition:all .2s ease}.add-task-btn-bottom:hover{background:#e9d5ff;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.task-card{background:#fafafa;border-radius:12px;padding:12px;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;border:1px solid #f1f5f9;position:relative}.task-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.task-card.dragging{opacity:.8;box-shadow:0 8px 16px #0000004d;z-index:1000}.task-card.drag-overlay{opacity:1;box-shadow:0 8px 16px #0000004d}.task-card.syncing{opacity:.7;pointer-events:none;cursor:not-allowed;position:relative}.task-card.syncing:after{content:"";position:absolute;inset:0;background:#fff6;border-radius:12px}.task-card.todo,.task-card.inprogress{background:#fef7ff}.task-card.done{background:#f3e8ff}.task-card.completing{animation:completeTask .5s ease-out}.search-highlight{background-color:#fef08a;color:#854d0e;padding:1px 2px;border-radius:2px;font-weight:500}.subtask-badge{position:absolute;top:0;right:2px;background:#ffe285;color:#a06102;padding:2px 10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:0 0 6px 6px;box-shadow:0 2px 4px #ce8e594d;z-index:1}@keyframes completeTask{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02);background:#bbf7d0;box-shadow:0 0 12px #22c55e66}to{transform:scale(1);opacity:1}}.task-title{font-size:14px;font-weight:600;margin-bottom:6px;color:#2d3748}.task-description{font-size:12px;color:#718096;margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.task-tags{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.tag{background:var(--tag-bg, #f3e8ff);color:var(--tag-text, #2d3748);padding:2px 6px;border-radius:8px;font-size:10px;font-weight:500;border:1px solid var(--tag-border, #e9d5ff)}.task-meta{display:flex;justify-content:flex-start;align-items:center;gap:8px;font-size:10px;color:#a0aec0;margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.task-actions{display:flex;gap:4px}.task-delete-btn{opacity:0;transition:opacity .2s ease;margin-bottom:4px;border-radius:50%!important;width:24px!important;height:24px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important}.task-card:hover .task-delete-btn{opacity:1}.subtask-item-inline .btn{opacity:0;transition:opacity .2s ease}.subtask-item-inline:hover .btn{opacity:1}.subtask-item-inline:not(:first-child){border-top:1px solid #e2e8f0;margin-top:4px}.comment{margin-bottom:8px;padding:8px;background-color:#f8f9fa;border-radius:4px}.comment-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.comment-delete-btn{opacity:.6;transition:opacity .2s}.comment-delete-btn:hover{opacity:1}.description-preview{margin-top:12px}.description-preview h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151}.image-preview-container{display:flex;flex-wrap:wrap;gap:12px}.image-preview-item{position:relative;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb}.preview-image{width:100%;height:auto;object-fit:cover;display:block}.image-delete-btn{position:absolute;top:4px;right:4px;background:#ef4444e6;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s;z-index:1}.image-preview-item:hover .image-delete-btn{opacity:1}.image-delete-btn:hover{background:#dc2626f2}.subtask-item .btn{opacity:0;transition:opacity .2s ease}.subtask-item:hover .btn{opacity:1}.btn-small{padding:4px 6px;font-size:10px;border-radius:8px}.column-remove-btn{padding:2px 6px;font-size:16px;line-height:1;font-weight:700;margin-left:8px;opacity:0;transition:opacity .2s ease}.column-header-top:hover .column-remove-btn{opacity:1}.add-column-container{display:flex;align-items:center;justify-content:center;background:#ffffff80;border:2px dashed #f3e8ff;border-radius:16px;padding:16px;min-height:200px;transition:all .2s ease}.add-column-container:hover{border-color:#e9d5ff;background:#fef7ff}.add-column-btn{padding:12px 20px;font-size:16px;font-weight:600;white-space:nowrap}.add-column-btn-small{padding:6px 12px;font-size:12px;font-weight:500;white-space:nowrap}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:stretch;justify-content:flex-end;z-index:1000}.modal-overlay:has(.confirmation-dialog){align-items:center;justify-content:center;z-index:1001}.modal{background:#fff;border-radius:0;padding:0;width:40vw;max-width:90vw;height:100vh;overflow-y:auto;transform:translate(100%);transition:transform .3s ease-in-out;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column}.modal.open{transform:translate(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #f3e8ff;flex-shrink:0;background:#fef7ff}.modal-header-actions{display:flex;align-items:center;gap:8px}.actions-menu-container{position:relative}.actions-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s cubic-bezier(.4,0,.2,1)}.actions-btn:hover{background:#64748b1a;color:#334155}.actions-btn:active{transform:scale(.95)}.actions-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1000;min-width:220px;padding:8px;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.actions-menu-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:2px 0;cursor:pointer;font-size:14px;font-weight:500;color:#374151;border-radius:8px;transition:all .15s ease}.actions-menu-item:hover{background:#f3f4f6}.actions-menu-item svg{color:#9ca3af;transition:transform .15s ease}.actions-menu-item:hover svg{transform:translate(2px)}.move-to-submenu{margin-top:4px;padding-top:8px;border-top:1px solid #f3f4f6}.column-option{padding:10px 12px;margin:2px 0;cursor:pointer;font-size:14px;color:#4b5563;border-radius:8px;transition:all .15s ease}.column-option:hover{background:linear-gradient(135deg,#e9d5ff,#f3e8ff);color:#1f2937}.modal-content{flex:1;padding:24px;overflow-y:auto}.modal-title-section{flex:1}.breadcrumb-navigation{margin-bottom:8px;font-size:14px}.breadcrumb-parent:hover{color:#4a5568!important;text-decoration:underline}.modal-title{font-size:20px;font-weight:600;color:#2d3748;margin:0}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#a0aec0;border-radius:8px;padding:4px;transition:all .2s ease}.close-btn:hover{color:#2d3748;background:#fef7ff}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:4px;font-size:14px;font-weight:500;color:#4a5568}.form-input,.form-textarea{width:100%;padding:8px 12px;border:1px solid #f3e8ff;border-radius:8px;font-size:14px;transition:border-color .2s ease;background:#fff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#e9d5ff;box-shadow:0 0 0 3px #e9d5ff1a}.form-textarea{resize:vertical;min-height:80px}.tags-input{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border:1px solid #f3e8ff;border-radius:8px;min-height:40px;background:#fff}.tag-item{display:flex;align-items:center;gap:4px;background:var(--tag-bg, #f3e8ff);color:var(--tag-text, #2d3748);padding:4px 8px;border-radius:8px;font-size:12px;border:1px solid var(--tag-border, #e9d5ff)}.tag-remove{background:none;border:none;color:#2d3748;cursor:pointer;font-size:12px;border-radius:4px;padding:1px;transition:background-color .2s ease}.tag-remove:hover{background:#2d37481a}.comments-section{margin-top:20px}.comments-list{margin-bottom:12px}.comment{background:#fef7ff;padding:8px;border-radius:8px;margin-bottom:8px;font-size:12px;border:1px solid #f3e8ff}.comment-content{margin-bottom:4px}.comment-time{color:#64748b;font-size:10px}.subtasks-section{margin-top:20px}.subtask-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#fef7ff;border-radius:8px;margin-bottom:8px;border:1px solid #f3e8ff}.subtask-title{font-size:12px;font-weight:500}.import-export{display:flex;gap:10px;align-items:center}.file-input{display:none}.drop-zone{border:2px dashed #c7d2fe;border-radius:12px;padding:20px;text-align:center;color:#64748b;cursor:pointer;transition:all .2s ease;background:#ffffff80}.drop-zone:hover,.drop-zone.drag-over{border-color:#a5b4fc;background:#e0e7ff;color:#3730a3}.custom-checkbox{width:18px;height:18px;border:2px solid #c7d2fe;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff;flex-shrink:0}.custom-checkbox:hover{border-color:#a5b4fc;background:#e0e7ff}.custom-checkbox.checked{background:#a0e8ab;border-color:#87be70}.custom-checkbox.checked:hover{background:#86efac;border-color:#4ade80}.checkmark{color:#fff;font-size:10px;font-weight:700;line-height:1}.subtask-checkbox{width:14px;height:14px;border:1px solid #c7d2fe;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff;flex-shrink:0}.subtask-checkbox:hover{border-color:#a5b4fc;background:#e0e7ff}.subtask-checkbox.checked{background:#bbf7d0;border-color:#86efac}.subtask-checkbox.checked:hover{background:#7cc269;border-color:#59de4a}.subtask-checkbox .checkmark{font-size:8px}.confirmation-dialog{background:#fff;border-radius:16px;max-width:480px;width:90vw;margin:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;top:50%;transform:translateY(-50%);border:1px solid #e0e7ff}.confirmation-header{padding:24px 24px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:16px 16px 0 0}.confirmation-title{font-size:18px;font-weight:600;color:#2d3748;margin:0}.confirmation-content{padding:24px}.confirmation-message{color:#4a5568;font-size:14px;margin-bottom:24px;line-height:1.5}.confirmation-actions{display:flex;gap:12px;flex-wrap:wrap}.confirmation-actions .btn{flex:1;min-width:120px;justify-content:center}.search-container{display:flex;align-items:center;gap:12px}.tag-filter-container{position:relative}.tag-filter-btn{position:relative;padding:8px 12px;min-width:auto;transition:all .2s ease}.tag-filter-btn.active{background:#f8bbda;color:#fff;border-color:#f8bbda}.tag-count{position:absolute;top:-4px;right:-4px;background:#f472b6;color:#fff;font-size:10px;font-weight:600;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;line-height:1}.tag-filter-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #f3e8ff;border-radius:12px;box-shadow:0 8px 16px #0000001a;z-index:1000;min-width:220px;max-width:300px;max-height:320px;overflow:hidden}.tag-filter-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f3e8ff;background:#fef7ff;font-weight:600;font-size:14px;color:#2d3748}.filter-search-container{position:relative;padding:8px 12px;border-bottom:1px solid #f3e8ff}.filter-search-input{width:100%;padding:8px 32px 8px 12px;border:1px solid #f3e8ff;border-radius:8px;font-size:13px;background:#fff;color:#2d3748;transition:border-color .2s ease,box-shadow .2s ease}.filter-search-input:focus{outline:none;border-color:#e9d5ff;box-shadow:0 0 0 3px #e9d5ff1a}.filter-search-input::placeholder{color:#a0aec0}.filter-search-clear{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#a0aec0;cursor:pointer;font-size:12px;transition:color .2s ease}.filter-search-clear:hover{color:#2d3748}.btn-text{background:none;border:none;color:#f8bbda;font-size:12px;padding:4px 8px;cursor:pointer;border-radius:6px;transition:all .2s ease}.btn-text:hover{background:#f8bbda1a;color:#f472b6}.tag-filter-list{max-height:240px;overflow-y:auto;padding:8px 0}.tag-filter-option{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;cursor:pointer;font-size:14px;color:#2d3748;transition:all .2s ease;border-bottom:1px solid #f8fafc}.tag-filter-option:hover{background:#fef7ff}.tag-filter-option.selected{background:#f3e8ff;color:#2d3748;font-weight:500}.tag-filter-option.selected:hover{background:#e9d5ff}.tag-filter-name{flex:1}.tag-remove-icon{color:#a0aec0;font-size:12px;margin-left:8px;opacity:.7;transition:opacity .2s ease}.tag-filter-option.selected .tag-remove-icon{opacity:1}.tag-filter-option:hover .tag-remove-icon{opacity:1;color:#718096}.tag-filter-empty{padding:16px;text-align:center;color:#a0aec0;font-size:14px;font-style:italic}.rich-text-editor-container{width:100%;border:1px solid #f3e8ff;border-radius:8px;transition:border-color .2s ease;background:#fff}.editor-menu-bar{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-bottom:1px solid #f3e8ff;background:#fef7ff;border-radius:8px 8px 0 0}.editor-menu-bar button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:#4a5568;cursor:pointer;transition:all .15s ease;font-size:12px}.editor-menu-bar button:hover{background:#e9d5ff;color:#2d3748}.editor-menu-bar button:disabled{opacity:.4;cursor:not-allowed}.editor-menu-bar button:disabled:hover{background:transparent;color:#4a5568}.editor-menu-bar button.is-active{background:#d8b4fe;color:#1e1b4b}.editor-menu-bar button.is-active:hover{background:#c4b5fd}.menu-divider{width:1px;height:16px;background:#e9d5ff;margin:4px}.heading-level{font-size:9px;font-weight:700;margin-left:1px;vertical-align:sub}.rich-text-editor-container:focus-within{border-color:#e9d5ff;box-shadow:0 0 0 3px #e9d5ff1a}.rich-text-editor-container .ProseMirror{min-height:var(--editor-min-height, 150px);padding:12px;font-size:14px;color:#2d3748;line-height:1.5;outline:none;overflow-y:auto}.comment-editor-wrapper .rich-text-editor-container{border-radius:8px}.comment-editor-wrapper .rich-text-editor-container .ProseMirror{min-height:36px;padding:8px 12px}.comment-editor-wrapper .rich-text-editor-container .ProseMirror p{margin:0}.rich-text-editor-container .ProseMirror p{margin:0 0 .5em}.rich-text-editor-container .ProseMirror p:last-child{margin-bottom:0}.rich-text-editor-container .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#a0aec0;font-style:italic;float:left;height:0;pointer-events:none}.rich-text-editor-container .ProseMirror strong{font-weight:600}.rich-text-editor-container .ProseMirror em{font-style:italic}.rich-text-editor-container .ProseMirror ul,.rich-text-editor-container .ProseMirror ol{padding-left:1.5em;margin:.5em 0}.rich-text-editor-container .ProseMirror li{margin:.25em 0}.rich-text-editor-container .ProseMirror blockquote{border-left:3px solid #e9d5ff;padding-left:1em;margin:.5em 0;color:#718096}.rich-text-editor-container .ProseMirror code{background:#f3e8ff;padding:.2em .4em;border-radius:4px;font-family:monospace;font-size:.9em}.rich-text-editor-container .ProseMirror pre{background:#2d3748;color:#f7fafc;padding:.75em 1em;border-radius:8px;overflow-x:auto;margin:.5em 0}.rich-text-editor-container .ProseMirror pre code{background:none;padding:0;color:inherit}.rich-text-editor-container .ProseMirror img{max-width:100%;height:auto;border-radius:8px;margin:.5em 0}.rich-text-editor-container .ProseMirror hr{border:none;border-top:2px solid #f3e8ff;margin:1em 0}.rich-text-editor-container .ProseMirror a{color:#805ad5;text-decoration:underline}.inline-image-wrapper{position:relative;display:inline-block;margin:4px 8px 4px 0;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb;background:#f9fafb;max-width:100%}.inline-image{width:100%;height:auto;display:block;border-radius:7px}.inline-image-delete{position:absolute;top:4px;right:4px;background:#ef4444e6;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .2s ease;z-index:10;line-height:1}.inline-image-wrapper:hover .inline-image-delete{opacity:1}.inline-image-delete:hover{background:#dc2626f2;transform:scale(1.1)}.assignee-selector{position:relative;width:100%}.assignee-selector-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:1px solid #f3e8ff;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.assignee-selector-trigger:hover{border-color:#e9d5ff}.assignee-selector-trigger.compact{padding:2px 6px;border:none;background:transparent;border-radius:6px;width:auto}.assignee-selector-trigger.compact:hover{background:transparent}.assignee-selector-trigger.compact .assignee-selected{gap:4px}.assignee-selector-trigger.compact .assignee-avatar{width:32px;height:32px}.assignee-selector-trigger.compact .assignee-initials{width:32px;height:32px;font-size:12px}.assignee-selector-trigger.compact .assignee-placeholder-icon{width:20px;height:20px;font-size:14px}.assignee-selector-trigger.compact .assignee-name{font-size:11px}.assignee-selector-trigger.compact .assignee-chevron{font-size:8px;margin-left:2px}.assignee-selector-trigger.extra-compact .assignee-avatar{width:24px;height:24px}.assignee-selector-trigger.extra-compact .assignee-initials{width:24px;height:24px;font-size:7px}.assignee-selector-trigger.extra-compact .assignee-placeholder-icon{width:24px;height:24px;font-size:10px}.assignee-selector-trigger:focus{outline:none;border-color:#e9d5ff;box-shadow:0 0 0 3px #e9d5ff1a}.assignee-selected{display:flex;align-items:center;gap:10px}.assignee-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.assignee-initials{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#e9d5ff,#f3e8ff);color:#6b21a8;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.assignee-placeholder-icon{width:24px;height:24px;color:#a0aec0}.assignee-name{color:#2d3748}.assignee-unassigned .assignee-name{color:#a0aec0}.assignee-chevron{color:#a0aec0;font-size:12px;transition:transform .2s ease}.assignee-chevron.open{transform:rotate(180deg)}.assignee-dropdown{background:#fff;border:1px solid #f3e8ff;border-radius:8px;box-shadow:0 8px 16px #0000001a;max-height:280px;overflow:hidden;display:flex;flex-direction:column}.assignee-search-container{position:relative;padding:8px;border-bottom:1px solid #f3e8ff}.assignee-search-input{width:100%;padding:8px 32px 8px 12px;border:1px solid #f3e8ff;border-radius:6px;font-size:13px;background:#fef7ff;transition:border-color .2s ease}.assignee-search-input:focus{outline:none;border-color:#e9d5ff}.assignee-search-input::placeholder{color:#a0aec0}.assignee-search-clear{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:#a0aec0;cursor:pointer;padding:4px;font-size:12px;transition:color .2s ease}.assignee-search-clear:hover{color:#2d3748}.assignee-list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;max-height:220px}.assignee-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:14px;color:#2d3748;transition:background-color .2s ease}.assignee-option:hover{background:#fef7ff}.assignee-option.selected{background:#f3e8ff}.assignee-option.selected:hover{background:#e9d5ff}.assignee-no-results{padding:12px;text-align:center;color:#a0aec0;font-size:13px;font-style:italic}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.loading-screen p{font-size:16px;color:#718096;margin:0}.loading-spinner{width:48px;height:48px;border:4px solid #f3e8ff;border-top-color:#f8bbda;border-radius:50%;animation:spin 1s linear infinite}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f8f9fa;padding:20px}.error-boundary-content{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center;max-width:500px}.error-boundary-content h2{color:#dc3545;margin-bottom:16px}.error-boundary-content p{color:#666;margin-bottom:24px}.error-boundary-details{text-align:left;margin-bottom:24px;padding:12px;background:#f8f9fa;border-radius:4px}.error-boundary-details summary{cursor:pointer;color:#666;font-size:14px}.error-boundary-details pre{margin-top:12px;padding:12px;background:#fff;border:1px solid #dee2e6;border-radius:4px;overflow-x:auto;font-size:12px;color:#dc3545}.error-boundary-actions{display:flex;gap:12px;justify-content:center}.error-boundary-actions .btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.error-boundary-actions .btn-primary{background-color:#007bff;color:#fff}.error-boundary-actions .btn-primary:hover{background-color:#0056b3}.error-boundary-actions .btn-secondary{background-color:#6c757d;color:#fff}.error-boundary-actions .btn-secondary:hover{background-color:#545b62}.error-banner{position:fixed;top:0;left:0;right:0;background:#fed7d7;color:#9b2c2c;padding:12px 48px 12px 16px;border-radius:0;border-bottom:2px solid #fc8181;box-shadow:0 4px 12px #00000026;z-index:2000;display:flex;align-items:center;justify-content:center;gap:12px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.error-banner-message{font-size:14px;font-weight:500}.error-banner-close{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9b2c2c;cursor:pointer;padding:4px;font-size:14px;opacity:.7;transition:opacity .2s ease}.error-banner-close:hover{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.fab-add-task{display:none}@media(max-width:768px){.app{padding:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{flex-direction:row;gap:8px;align-items:center;padding:12px 16px;margin-bottom:0;background:#fff;border-bottom:1px solid #f3e8ff;flex-shrink:0}.header h1{font-size:1.25rem}.header-actions{justify-content:flex-end}.kanban-container{height:calc(100vh - 60px);margin:0;display:flex;flex-direction:column;overflow:hidden}.kanban-header{padding:8px 12px;margin-bottom:0;flex-shrink:0;background:#fef7ff;border-bottom:1px solid #f3e8ff}.search-container{flex-direction:row;align-items:center;gap:8px;flex-wrap:nowrap}.search-input-wrapper{flex:1;min-width:0}.search-input{min-width:unset;width:100%;padding:10px 12px 10px 36px;font-size:16px}.tag-filter-btn{padding:10px;flex-shrink:0}.tag-filter-dropdown{position:fixed;inset:auto 0 0;max-width:100%;max-height:50vh;border-radius:16px 16px 0 0;z-index:1001}.kanban-board{flex:1;display:flex;flex-direction:row;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0}.kanban-board .column{flex:0 0 85vw;min-width:85vw;max-width:85vw;scroll-snap-align:center;margin:8px 4px;height:calc(100vh - 150px);display:flex;flex-direction:column;border-radius:12px}.kanban-board .column:first-child{margin-left:8vw}.kanban-board .column:last-child{margin-right:8vw}.column-header{flex-shrink:0}.tasks-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:80px}.task-card{padding:14px;margin-bottom:10px}.task-title{font-size:15px}.task-delete-btn{opacity:1;width:32px!important;height:32px!important}.modal-overlay{align-items:stretch;justify-content:stretch}.modal{width:100vw;max-width:100vw;height:100vh;border-radius:0}.modal.open{transform:translate(0)}.modal-header{padding:16px;position:sticky;top:0;z-index:10}.modal-content{padding:16px 16px 100px}.modal-title{font-size:18px}.close-btn{font-size:28px;padding:8px}.fab-add-task{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f8bbda,#e9d5ff);color:#2d3748;border:none;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;z-index:999;transition:transform .2s ease,box-shadow .2s ease}.fab-add-task:active{transform:scale(.95);box-shadow:0 2px 8px #0003}.add-task-btn-bottom{display:none}.confirmation-dialog{width:90vw;max-width:90vw}.confirmation-actions{flex-direction:column}.confirmation-actions .btn{width:100%}.add-column-container{flex:0 0 60vw;min-width:60vw;scroll-snap-align:center;margin:8px 4px;height:calc(100vh - 150px)}.error-banner{top:10px;left:10px;right:10px;transform:none;max-width:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.rich-text-editor-container .ProseMirror{min-height:120px}.assignee-dropdown{position:fixed;inset:auto 0 0;max-height:50vh;border-radius:16px 16px 0 0;z-index:1001}}@media(max-width:480px){.kanban-board .column{flex:0 0 90vw;min-width:90vw;max-width:90vw}.kanban-board .column:first-child{margin-left:5vw}.kanban-board .column:last-child{margin-right:5vw}.header h1{font-size:1.1rem}.search-input{padding:8px 10px 8px 32px;font-size:14px}.tag-filter-btn{padding:8px}.fab-add-task{bottom:16px;right:16px;width:48px;height:48px;font-size:20px}}.cli-mode:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:9999}.cli-mode,.cli-mode *{font-family:Cascadia Code,Fira Code,Consolas,Monaco,Courier New,monospace!important}.cli-mode{text-shadow:0 0 5px rgba(0,255,0,.5)}@keyframes cli-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.cli-cursor:after{content:"█";animation:cli-cursor-blink 1s infinite;color:#0f0;margin-left:2px}@keyframes cli-typing{0%{width:0}to{width:100%}}.cli-typing{overflow:hidden;white-space:nowrap;animation:cli-typing .5s steps(30) forwards}@keyframes cli-flicker{0%,to{opacity:1}50%{opacity:.98}51%{opacity:1}52%{opacity:.97}}.cli-mode{animation:cli-flicker .15s infinite}.cli-prompt{color:#0f0}.cli-prompt:before{content:"> ";color:#0c0}.cli-box{border:1px solid #00FF00;padding:8px 12px;background-color:#0a0a0a}.cli-mode .cli-interactive:hover{background-color:#030!important;cursor:pointer}.cli-boot-screen{position:fixed;inset:0;background-color:#000;z-index:10000;display:flex;flex-direction:column;padding:40px;overflow:hidden;font-family:Cascadia Code,Fira Code,Consolas,monospace;color:#0f0}.cli-boot-line{opacity:0;animation:cli-fade-in .3s forwards;margin-bottom:4px;white-space:pre}@keyframes cli-fade-in{0%{opacity:0}to{opacity:1}}.cli-boot-progress{width:400px;height:20px;border:1px solid #00FF00;margin-top:8px;position:relative;overflow:hidden}.cli-boot-progress-bar{height:100%;background-color:#0f0;animation:cli-progress-fill 2s ease-out forwards}@keyframes cli-progress-fill{0%{width:0%}to{width:100%}}.cli-boot-fade-out{animation:cli-boot-fade .5s forwards}@keyframes cli-boot-fade{0%{opacity:1}to{opacity:0}}.cli-mode ::-webkit-scrollbar{width:8px;height:8px}.cli-mode ::-webkit-scrollbar-track{background:#0a0a0a}.cli-mode ::-webkit-scrollbar-thumb{background:#0f0;border-radius:0}.cli-mode ::-webkit-scrollbar-thumb:hover{background:#3f3}.cli-status-success{color:#0f0}.cli-status-warning{color:#ff0}.cli-status-error{color:#f33}.cli-status-pending{color:#888}.cli-status-running{color:#0cf}
