.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(to bottom,#0d1117,#010409)}.login-container{width:100%;max-width:480px;animation:fadeInScale .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.login-card{background:#161b22;border-radius:8px;overflow:hidden;border:1px solid #30363D;box-shadow:0 1px 2px #0003}.login-header{padding:32px 24px 24px;text-align:center;border-bottom:1px solid #21262D;background:#161b22}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.login-logo-icon{width:32px;height:32px;border-radius:6px;background:#23863626;border:1px solid rgba(35,134,54,.3);display:flex;align-items:center;justify-content:center}.login-logo-icon span{color:#3fb950;font-size:16px;font-weight:600}.login-logo h1{font-size:20px;font-weight:600;color:#e6edf3;margin:0;line-height:1}.login-subtitle{font-size:13px;color:#7d8590;margin:0;font-weight:400}.login-form-container{padding:24px}.login-form{display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:600;color:#c9d1d9}.form-field input{width:100%;padding:10px 12px;background:#0d1117;border:1px solid #30363D;border-radius:6px;font-size:14px;color:#e6edf3;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-field input:focus{outline:none;border-color:#58a6ff;background:#161b22}.form-field input::placeholder{color:#7d8590}.form-checkbox{display:flex;align-items:center;gap:8px}.form-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#238636}.form-checkbox label{font-size:13px;color:#7d8590;cursor:pointer;font-weight:400}.form-error{padding:10px 12px;background:#f8514926;border:1px solid rgba(248,81,73,.35);border-radius:6px;color:#ff7b72;font-size:13px;animation:fadeInDown .2s ease;font-weight:500}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submit-button{width:100%;padding:10px 16px;background:#238636;border:none;border-radius:6px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-top:4px}.submit-button:hover{background:#2ea043;box-shadow:0 2px 8px #2ea04366}.submit-button:active{transform:scale(.98)}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-toggle{margin-top:16px;text-align:center}.toggle-button{font-size:13px;color:#7d8590;background:transparent;border:none;cursor:pointer;font-weight:500;transition:color .2s ease}.toggle-button:hover{color:#58a6ff}.login-features{margin-top:24px;padding-top:20px;border-top:1px solid #21262D;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-item{display:flex;flex-direction:column;align-items:center;gap:6px}.feature-icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;border:1px solid;transition:all .2s ease}.feature-icon-blue{background:#1f6feb26;border-color:#1f6feb4d;color:#58a6ff}.feature-icon-purple{background:#a371f726;border-color:#a371f74d;color:#a371f7}.feature-icon-green{background:#23863626;border-color:#2386364d;color:#3fb950}.feature-label{font-size:11px;color:#7d8590;font-weight:500;text-align:center}*{margin:0;padding:0;box-sizing:border-box}body{background-color:#0d1117;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:600}code,pre{font-family:SF Mono,Monaco,Inconsolata,Fira Code,Consolas,monospace}button{border:none;background:none;cursor:pointer;font-family:inherit}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw}.main-content{display:flex;flex:1;overflow:hidden}.header{min-height:56px;background:#161b22;border-bottom:1px solid #21262D;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px}.header-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo-icon{width:32px;height:32px;border-radius:6px;background:#23863626;border:1px solid rgba(35,134,54,.3);display:flex;align-items:center;justify-content:center;color:#3fb950}.logo-text h1{font-size:16px;font-weight:600;line-height:1;color:#e6edf3}.logo-text p{font-size:11px;font-weight:400;color:#7d8590;margin-top:2px}.header-stats{display:flex;align-items:center;gap:8px;flex-shrink:0}.stat-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;background:#21262d;border:1px solid #30363D;color:#e6edf3;font-weight:500;font-size:13px}.stat-badge-primary{background:#1f6feb26;border-color:#1f6feb4d;color:#58a6ff}.stat-badge-success{background:#23863626;border-color:#2386364d;color:#3fb950}.stat-badge-danger{background:#da363326;border-color:#da36334d;color:#ff7b72}.stat-badge-accent{background:#a371f726;border-color:#a371f74d;color:#a371f7}.stat-value{font-size:14px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.stat-label{font-size:12px;font-weight:400;opacity:.8;line-height:1}.stat-divider{width:1px;height:16px;background:#fff3}.todo-container{flex:1;overflow-y:auto;padding:24px;background:linear-gradient(to bottom,#0d1117,#010409)}.todo-list{max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.todo-card{background:#161b22;border:1px solid #30363D;border-radius:8px;padding:20px;border-left-width:0;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0003}.todo-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:#30363d;transition:all .2s ease}.todo-card:hover{border-color:#484f58;box-shadow:0 2px 8px #0000004d}.todo-card.done{opacity:.5;background:#161b22}.todo-card.priority-high:before{background:#f85149}.todo-card.priority-medium:before{background:#d29922}.todo-card.priority-low:before{background:#30363d}.todo-content{display:flex;align-items:flex-start;gap:12px}.todo-checkbox{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:2.5px solid #484F58;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-top:1px;background:#0d1117;position:relative}.todo-checkbox:hover{border-color:#6e7681;background:#6e76811a;transform:scale(1.05)}.todo-checkbox.checked{background:#238636;border-color:#238636}.todo-checkbox.checked{background:linear-gradient(135deg,#2ea043,#238636);border-color:#2ea043;box-shadow:0 2px 8px #2ea04366}.todo-checkbox.checked:hover{transform:scale(1.1);box-shadow:0 2px 12px #2ea04399}.todo-body{flex:1;min-width:0}.todo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.todo-title{font-size:15px;font-weight:600;color:#e6edf3;line-height:1.4;letter-spacing:-.01em}.todo-title.done{text-decoration:line-through;color:#7d8590}.delete-button{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;flex-shrink:0;color:#7d8590}.todo-card:hover .delete-button{opacity:1}.delete-button:hover{background:#f8514926;color:#f85149;transform:scale(1.05)}.todo-metadata{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:2px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.4;border:1px solid;transition:all .15s ease}.badge:hover{transform:none;opacity:.85}.badge svg{width:13px;height:13px;flex-shrink:0}.badge-high{background:#f8514926;border-color:#f8514959;color:#ff7b72}.badge-medium{background:#d2992226;border-color:#d2992259;color:#e3b341}.badge-low,.badge-accent,.badge-primary{background:#8b949e26;border-color:#8b949e4d;color:#9ea7b3}.badge-warning{background:#d2992226;border-color:#d2992259;color:#e3b341}.badge-success{background:#2ea04326;border-color:#2ea04359;color:#3fb950}.subtasks{margin-top:14px;padding-left:14px;border-left:2px solid #30363D;display:flex;flex-direction:column;gap:8px}.subtask{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;padding:6px 8px;margin:-6px -8px;border-radius:4px;transition:all .15s ease;color:#e6edf3;font-weight:500}.subtask:hover{background:#58a6ff14;color:#58a6ff}.subtask svg{width:15px;height:15px;flex-shrink:0}.subtask.done{color:#7d8590;text-decoration:line-through}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:48px}.empty-content{text-align:center;max-width:480px}.empty-icon{width:64px;height:64px;margin:0 auto 24px;border-radius:12px;background:#21262d;border:1px solid #30363D;display:flex;align-items:center;justify-content:center}.empty-icon svg{width:32px;height:32px;color:#7d8590}.empty-title{font-size:20px;font-weight:600;margin-bottom:8px;color:#e6edf3}.empty-description{color:#7d8590;margin-bottom:24px;line-height:1.5;font-size:14px}.empty-cta{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;background:#21262d;border:1px solid #30363D}.empty-cta-icon{width:32px;height:32px;border-radius:6px;background:#238636;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.empty-cta code{font-size:13px;font-weight:400;color:#e6edf3}.editor-container{background:#0d1117;border-right:1px solid #21262D;display:flex;flex-direction:column;flex-shrink:0}.resize-handle{width:8px;background:transparent;cursor:col-resize;position:relative;flex-shrink:0;transition:background .2s ease;-webkit-user-select:none;user-select:none}.resize-handle:hover,.resize-handle.dragging{background:#58a6ff1a}.resize-handle-line{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:#30363d;border-radius:2px;transition:all .2s ease}.resize-handle:hover .resize-handle-line,.resize-handle.dragging .resize-handle-line{background:#58a6ff;height:60px}.resize-handle.dragging{background:#58a6ff26}.editor-header{height:40px;background:#161b22;border-bottom:1px solid #21262D;display:flex;align-items:center;padding:0 16px;gap:12px}.window-controls{display:flex;gap:6px}.window-dot{width:12px;height:12px;border-radius:50%;border:1px solid #21262D}.window-dot.red{background:#da3633}.window-dot.yellow{background:#d29922}.window-dot.green{background:#238636}.editor-content{flex:1;overflow:hidden}.todo-container::-webkit-scrollbar{width:12px}.todo-container::-webkit-scrollbar-track{background:transparent}.todo-container::-webkit-scrollbar-thumb{background:#21262d;border-radius:6px;border:3px solid #0D1117}.todo-container::-webkit-scrollbar-thumb:hover{background:#30363d}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.todo-card{animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.badge{animation:slideIn .2s ease}.badge.timer-running{animation:slideIn .2s ease,pulse 2s ease-in-out infinite}.mobile-stats{display:none}.todo-panel{flex:1;display:flex;flex-direction:column;background:#1a1d29}.todo-panel-header{height:48px;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;padding:0 24px;background:#a855f708;justify-content:space-between}.view-filters{display:flex;align-items:center;gap:8px}.filter-button{font-size:12px;font-weight:600;color:#ffffff80;padding:6px 12px;border-radius:8px;transition:all .2s;background:transparent;border:1px solid transparent}.filter-button:hover{color:#fffc;background:#ffffff0d}.filter-button.active{color:#a855f7;background:#a855f726;border-color:#a855f74d}@media(max-width:768px){.editor-container,.resize-handle{display:none}.todo-panel{width:100%}.todo-panel-header{padding:0 16px}.header{padding:0 16px;gap:8px;min-height:52px}.header-logo{gap:8px;flex:1}.logo-icon{width:28px;height:28px}.logo-text p{display:none}.header-stats{gap:6px;margin-left:auto}.header-stats-center{display:none}.stat-badge{padding:4px 8px;font-size:11px;gap:4px}.stat-value{font-size:12px}.stat-label{font-size:10px}.stat-badge-level .stat-divider{display:none}.stat-badge-level .stat-label:last-child{display:none}.view-filters{gap:4px}.filter-button{padding:4px 8px;font-size:11px}.mobile-stats{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#0d1117;border-bottom:1px solid #21262D}}.quick-add-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px #a855f766,0 2px 4px #0003;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100}.quick-add-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px #a855f780,0 3px 6px #0000004d}.quick-add-fab:active{transform:scale(.95)}@media(max-width:768px){.quick-add-fab{display:flex}}.quick-add-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}@media(min-width:768px){.quick-add-modal{align-items:center}}.quick-add-backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.quick-add-content{position:relative;background:#1c2128;border:1px solid #30363D;border-radius:16px 16px 0 0;width:100%;max-width:500px;padding:24px;animation:slideUp .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 24px #0006}@media(min-width:768px){.quick-add-content{border-radius:16px}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.quick-add-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.quick-add-header h3{font-size:18px;font-weight:700;color:#e6edf3;margin:0}.quick-add-close{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#7d8590;transition:all .2s ease}.quick-add-close:hover{background:#ffffff0d;color:#e6edf3}.quick-add-input{width:100%;background:#0d1117;border:1px solid #30363D;border-radius:8px;padding:12px 16px;font-size:15px;color:#e6edf3;font-family:inherit;transition:all .2s ease;margin-bottom:16px}.quick-add-input:focus{outline:none;border-color:#a855f7;box-shadow:0 0 0 3px #a855f71a}.quick-add-input::placeholder{color:#7d8590}.quick-add-actions{display:flex;gap:12px;justify-content:flex-end}.quick-add-cancel{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;color:#e6edf3;background:transparent;border:1px solid #30363D;transition:all .2s ease}.quick-add-cancel:hover{background:#ffffff0d;border-color:#7d8590}.quick-add-submit{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#a855f7,#7c3aed);border:none;transition:all .2s ease;box-shadow:0 2px 8px #a855f74d}.quick-add-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a855f766}.quick-add-submit:active{transform:translateY(0)}.subcategory-group{margin-bottom:40px;display:flex;flex-direction:column;gap:14px}.subcategory-header{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:0;background:#8b949e14;border-left:2px solid rgba(139,148,158,.3);border-radius:6px;border:none;width:100%;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.23,1,.32,1);color:#c9d1d9}.subcategory-header:hover{background:#8b949e1f;border-left-color:#8b949e66;transform:translate(2px)}.subcategory-header:active{transform:translate(1px)}.subcategory-header h4,.subcategory-title{font-size:12px;font-weight:600;color:#c9d1d9;margin:0;text-transform:uppercase;letter-spacing:.08em;flex:1}.subcategory-count{font-size:10px;font-weight:600;color:#8b949e;background:#8b949e26;padding:2px 8px;border-radius:12px}.subcategory-count{font-size:11px;font-weight:600;color:#58a6ffb3;background:#58a6ff26;padding:2px 8px;border-radius:12px}
