*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#f7f7f7;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.app{background:#fff;flex-direction:column;width:100%;min-height:100vh;display:flex}.inner{width:100%;max-width:680px;margin:0 auto}.progress-bar{background:#f0f0f0;height:3px;overflow:hidden}.progress-fill{background:#1a1a1a;height:100%;transition:width .4s}.add-task-container{border-bottom:1px solid #f0f0f0;padding:20px 24px}@media (width<=480px){.add-task-container{padding:16px}.task-item{padding:13px 16px}.section-label{padding:16px 16px 6px}}.add-task-form{align-items:center;gap:14px;display:flex}.add-btn-circle{cursor:pointer;color:#ccc;background:0 0;border:2px solid #ccc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:flex}.add-btn-circle:hover{color:#1a1a1a;border-color:#1a1a1a}.add-btn-circle svg{width:12px;height:12px}.task-input{color:#1a1a1a;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.task-input::placeholder{color:#ccc}.download-btn{cursor:pointer;color:#ccc;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.download-btn:hover{color:#1a1a1a}.task-list{flex:1;padding:8px 0;overflow-y:auto}.section-label{color:#bbb;letter-spacing:.8px;text-transform:uppercase;padding:16px 24px 6px;font-size:11px;font-weight:600}.task-item{align-items:center;gap:14px;padding:13px 24px;transition:background .1s;display:flex;position:relative}.task-item:hover{background:#fafafa}.task-item:hover .delete-btn,.task-item:hover .drag-handle{opacity:1}.drag-handle{cursor:grab;color:#ccc;opacity:0;touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:28px;padding:0;transition:opacity .15s;display:flex}.drag-handle:active{cursor:grabbing}.checkbox{cursor:pointer;background:0 0;border:2px solid #ddd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .2s;display:flex}.checkbox.checked{background:#1a1a1a;border-color:#1a1a1a}.checkbox svg{color:#fff;opacity:0;width:11px;height:11px;transition:opacity .15s}.checkbox.checked svg{opacity:1}.task-text{color:#1a1a1a;word-break:break-word;flex:1;font-size:16px;line-height:1.4;transition:color .2s}.task-text.done{color:silver;text-decoration:line-through}.delete-btn{cursor:pointer;color:#ccc;opacity:0;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.delete-btn:hover{color:#f44;background:#fff0f0}.delete-btn svg{width:14px;height:14px}.empty-state{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 24px;display:flex}.empty-icon{color:#e8e8e8;width:52px;height:52px}.empty-state p{color:#bbb;text-align:center;font-size:15px;line-height:1.5}.loading{color:#bbb;justify-content:center;align-items:center;padding:60px;font-size:14px;display:flex}.cat-tabs-wrap{scrollbar-width:none;border-bottom:1px solid #f0f0f0;overflow-x:auto}.cat-tabs-wrap::-webkit-scrollbar{display:none}.cat-tabs{align-items:center;gap:0;min-width:max-content;padding:0 16px;display:flex}.cat-tab{cursor:pointer;color:#999;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:12px 14px;font-family:inherit;font-size:14px;transition:color .15s,border-color .15s;display:flex}.cat-tab:hover{color:#1a1a1a}.cat-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a;font-weight:500}.cat-dot{cursor:pointer;border-radius:50%;flex-shrink:0;width:8px;height:8px}.cat-tab.droppable{transition:background .15s,color .15s}.cat-tab.drop-over{color:#1a1a1a;background:#f5f5f5;border-radius:6px 6px 0 0}.cat-tab-wrap{align-items:center;display:flex;position:relative}.cat-delete-tab-btn{cursor:pointer;color:#bbb;background:0 0;border:none;margin-left:-8px;padding:0 4px;font-size:16px;line-height:1;transition:color .15s}.cat-delete-tab-btn:hover{color:#f44}.task-cat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cat-add-btn{color:#bbb;font-size:13px}.cat-add-btn svg{width:10px;height:10px}.cat-add-btn:hover{color:#1a1a1a}.cat-add-form{align-items:center;padding:6px 0;display:flex}.cat-add-input{color:#1a1a1a;background:0 0;border:none;border-bottom:1px solid #ddd;outline:none;width:130px;padding:2px 4px;font-family:inherit;font-size:14px}.end-drop-zone{border:2px dashed #0000;border-radius:8px;height:48px;margin:4px 24px;transition:border-color .15s}.end-drop-zone.end-drop-active{border-color:#ddd}.cat-section-header{cursor:grab;align-items:center;gap:8px;padding:20px 24px 6px;display:flex}.cat-section-header:active{cursor:grabbing}.cat-section-header.cat-dragging{opacity:.4}.cat-section-header.cat-drag-over{border-top:2px solid #1a1a1a;padding-top:18px}.cat-drag-handle{cursor:grab;color:#ccc;opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:opacity .15s;display:flex}.cat-section-header:hover .cat-drag-handle{opacity:1}.cat-section-name{color:#555;flex:1;font-size:13px;font-weight:600}.cat-count{color:#bbb;font-size:12px}.context-menu{z-index:1000;background:#fff;border:1px solid #e8e8e8;border-radius:8px;min-width:200px;padding:8px;position:fixed;box-shadow:0 8px 24px #0000001a}.context-input{color:#1a1a1a;background:#f7f7f7;border:none;border-radius:4px;outline:none;width:100%;padding:6px 8px;font-family:inherit;font-size:14px}.context-input::placeholder{color:#bbb}.context-delete-btn{cursor:pointer;color:#1a1a1a;text-align:left;background:0 0;border:none;border-radius:4px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px;transition:background .1s}.context-delete-btn:hover{background:#f5f5f5}.task-text-input{color:#1a1a1a;background:0 0;border:none;border-bottom:1px solid #ddd;outline:none;flex:1;padding:0;font-family:inherit;font-size:16px;line-height:1.4}.cat-color-picker-ui{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.cat-color-swatch-input{cursor:pointer;background:0 0;border:2px solid #ddd;border-radius:50%;width:22px;height:22px;padding:0;overflow:hidden}.cat-color-confirm{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;line-height:1;display:flex}.cat-name-input{color:#555;background:0 0;border:none;border-bottom:1px solid #ddd;outline:none;flex:1;padding:0;font-family:inherit;font-size:13px;font-weight:600}.task-item.dragging{opacity:.4}.task-item.drag-over{border-top:2px solid #1a1a1a}.cat-section-header.drop-over-header{background:#f5f5f5}.dragging-overlay{cursor:grabbing;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000001f}
