*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: #f5f5f5;--card-bg: white;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #9ca3af;--text-color: #1f2937;--border-color: #e5e7eb;--grid-color: #e5e7eb;--task-bg: #fafafa;--input-border: #e0e0e0}@media (prefers-color-scheme: dark){:root{--bg-color: #1a1a1a;--card-bg: #2a2a2a;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-light: #9ca3af;--text-color: #f9fafb;--border-color: #404040;--grid-color: #404040;--task-bg: #1f1f1f;--input-border: #4b5563}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-color);min-height:100vh;height:100vh;overflow:hidden;display:flex;flex-direction:column}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .3s ease-out}.splash-screen.hidden{opacity:0;pointer-events:none}.splash-content{display:flex;flex-direction:column;align-items:center;gap:20px}.splash-icon{width:160px;height:160px}.splash-cross-h,.splash-cross-v{stroke:#fff;stroke-width:2;stroke-linecap:round;fill:none;stroke-dasharray:80;stroke-dashoffset:80;animation:splashCrossDraw .4s ease-out forwards}.splash-cross-v{animation-delay:.15s}@keyframes splashCrossDraw{to{stroke-dashoffset:0}}.splash-check{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;opacity:0;animation:splashCheckDraw .3s ease-out forwards}.splash-check-1{animation-delay:.35s}.splash-check-2{animation-delay:.5s}.splash-check-3{animation-delay:.65s}.splash-check-4{animation-delay:.8s}@keyframes splashCheckDraw{0%{opacity:1;stroke-dashoffset:30}to{opacity:1;stroke-dashoffset:0}}.splash-title{font-size:26px;font-weight:300;letter-spacing:6px;text-transform:uppercase;color:#fff;opacity:0;animation:splashTitleFade .4s ease-out .95s forwards}@keyframes splashTitleFade{to{opacity:1}}@media (prefers-reduced-motion: reduce){.splash-cross-h,.splash-cross-v{stroke-dashoffset:0;animation:none}.splash-check{opacity:1;stroke-dashoffset:0;animation:none}.splash-title{opacity:1;animation:none}.splash-screen{transition:opacity .2s ease}}.staging-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;padding:12px 16px;text-align:center;font-weight:600;font-size:14px;border-bottom:2px solid #f59e0b;box-shadow:0 2px 8px #f59e0b33;z-index:1000}.staging-banner-content{display:flex;align-items:center;justify-content:center;gap:12px;max-width:800px;margin:0 auto}.staging-badge{font-weight:700;font-size:13px;letter-spacing:.5px}.staging-text{font-size:13px;font-weight:500}.testing-banner{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#3b1e7f;border-bottom:2px solid #8b5cf6;box-shadow:0 2px 8px #8b5cf633}.container{display:flex;flex-direction:column;height:100vh;max-width:800px;margin:0 auto;width:100%}header,.app-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;flex-shrink:0;border-bottom:1px solid var(--border-color)}header h1,.app-header h1{display:block;font-size:1.5rem;color:var(--text-primary);margin:0}.settings-btn-header{background:none;border:none;cursor:pointer;font-size:24px;padding:8px;color:var(--text-primary);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;transition:opacity .2s}.settings-btn-header:hover{opacity:.7}.user-info{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end;margin-right:12px}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--border-color)}.user-email{font-size:.875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.logout-btn{background:none;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s;white-space:nowrap}.logout-btn:hover{background-color:var(--error-color, #ff6b6b);color:#fff;border-color:var(--error-color, #ff6b6b)}.logout-btn:active{transform:scale(.98)}@media (max-width: 600px){.user-email{display:none}.logout-btn{padding:6px 8px;font-size:.75rem}.user-info{gap:4px;margin-right:4px}}.settings-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;color:var(--text-primary);flex-shrink:0}.offline-indicator{background:#ff9800e6;color:#fff;padding:6px 12px;border-radius:6px;font-size:.85rem;margin-top:8px;display:inline-block}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{background:var(--card-bg);border-radius:20px;padding:40px 30px;max-width:400px;width:90%;text-align:center;box-shadow:0 10px 40px #0003}.login-logo{width:100px;height:100px;margin:0 auto 20px;display:block}.login-container h1{color:var(--text-primary);font-size:2rem;margin-bottom:10px}.login-subtitle{color:var(--text-secondary);font-size:1rem;margin-bottom:30px}.login-buttons{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.login-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border:2px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn:active{transform:scale(.98)}.google-btn{border-color:#4285f4}.google-btn:active{background:#f0f4ff}.apple-btn{border-color:#000}.guest-btn{border-color:#9ca3af}.guest-btn:active,.apple-btn:active{background:#f9fafb}.login-info{color:#9ca3af;font-size:.85rem;line-height:1.4}.drag-hint{background:var(--text-primary);color:var(--card-bg);padding:15px 20px;margin:0 10px 10px;border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center;animation:slideDown .4s ease-out}.drag-hint p{margin:0 0 10px;font-size:.95rem;line-height:1.4}.close-hint-btn{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.close-hint-btn:hover{background:var(--task-bg)}.close-hint-btn:active{transform:scale(.95)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.add-task-section{display:none}#taskInput{flex:1;padding:12px 16px;border:2px solid var(--input-border);border-radius:8px;font-size:1rem;transition:border-color .3s;background:transparent;color:var(--text-primary)}#taskInput:focus{outline:none;border-color:var(--text-secondary)}#addTaskBtn{padding:8px 12px;background:var(--text-primary);color:var(--card-bg);border:none;border-radius:6px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:35px;flex-shrink:0}#addTaskBtn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}#addTaskBtn:active{transform:scale(.95)}.segments{display:flex;flex-direction:column;flex:1;overflow-y:auto;gap:10px;padding:0 10px 80px;transition:transform .3s,opacity .3s}.segment{background:transparent;border-radius:10px;padding:10px;display:flex;flex-direction:column;height:auto}.segment-header{margin-bottom:10px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.q1 .segment-header{border-color:#1f2937}.q2 .segment-header{border-color:#4b5563}.q3 .segment-header{border-color:#6b7280}.q4 .segment-header{border-color:#9ca3af}.q5 .segment-header{border-color:#d1d5db}.segment-header h2{font-size:1rem;color:var(--text-primary);font-weight:700;flex:1}.segment-add-btn{width:24px;height:24px;border-radius:50%;background:transparent;border:1.5px solid var(--text-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:all .2s;flex-shrink:0;padding:0}.segment-add-btn:hover{background:var(--text-secondary);color:var(--card-bg);transform:scale(1.1)}.segment-add-btn:active{transform:scale(.95)}.task-list{overflow-y:visible;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-right:5px;align-items:flex-start;min-height:60px;transition:background .2s ease}.task-list::-webkit-scrollbar{width:6px}.task-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.task-list::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.task-list::-webkit-scrollbar-thumb:hover{background:#555}.task-item{background:#ffffff0d;padding:8px;border-radius:8px;display:flex;align-items:flex-end;gap:8px;transition:transform .2s,box-shadow .2s,background .2s;flex-shrink:0;position:relative;touch-action:pan-y;cursor:grab}.task-item:active{transform:scale(.98);background:#ffffff1a}.task-item.dragging{opacity:.5;background:#ffffff26}.task-delete-btn{background:transparent;border:none;color:var(--text-light);cursor:pointer;padding:2px 6px;font-size:1rem;opacity:0;transition:opacity .2s,color .2s;flex-shrink:0;margin-left:4px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px;vertical-align:middle}.task-item:hover .task-delete-btn{opacity:1;color:#f44}.task-delete-btn:active{transform:scale(1.2)}.task-reorder-buttons{display:flex;flex-direction:column;gap:2px;margin-left:auto;opacity:0;transition:opacity .2s}.task-item:hover .task-reorder-buttons{opacity:1}.reorder-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;padding:2px 6px;font-size:.8rem;line-height:1;border-radius:3px;transition:background .2s,transform .1s;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:20px}.reorder-btn:hover{background:var(--primary-color);color:#fff}.reorder-btn:active{transform:scale(.95)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.q5 .segment-add-btn{display:none}.task-list.drag-over{background:#667eea40;border:2px dashed rgba(102,126,234,.6);border-radius:8px;min-height:80px}.task-checkbox{width:20px;height:20px;min-width:20px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid var(--checkbox-color, #6b7280);border-radius:4px;background:transparent;position:relative;transition:all .2s;flex-shrink:0}.task-checkbox:not(:checked){border-color:var(--checkbox-color, #6b7280)}.task-checkbox:checked{background-color:var(--checkbox-color, #6b7280);border-color:var(--checkbox-color, #6b7280)}.task-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}.task-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.task-text{flex:1;color:var(--text-primary);font-size:.85rem;line-height:1.3;word-wrap:break-word}.task-timestamp{color:var(--text-secondary);font-size:.7rem;opacity:.8;font-style:italic}.q5 .task-item{opacity:.7}.q5 .task-text{text-decoration:line-through}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:var(--card-bg);padding:20px;border-radius:12px;max-width:340px;width:90%;box-shadow:0 10px 25px #0003;color:var(--text-color)}.modal-content h3{margin-bottom:20px;text-align:center;color:var(--text-primary);font-size:1.3rem}.modal-content p,.modal-content ul,.modal-content li{color:var(--text-color)}#editRecurringModal .modal-content{padding:18px;max-width:420px}#editRecurringModal .modal-content h3{margin-bottom:6px;font-size:1.1rem}#editRecurringModal .quick-add-category{margin:0 0 12px}#editRecurringModal .modal-buttons{margin-top:12px}#editRecurringModal .recurring-option[style*=border-top]{margin-top:12px;padding-top:12px}.segment-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}.segment-btn{padding:20px;border:2px solid;border-radius:8px;background:var(--card-bg);cursor:pointer;transition:transform .2s,box-shadow .2s;font-size:1.1rem;font-weight:700}.q1-btn{border-color:#ef4444;color:#ef4444}.q2-btn{border-color:#10b981;color:#10b981}.q3-btn{border-color:#f59e0b;color:#f59e0b}.q4-btn{border-color:#6b7280;color:#6b7280}.segment-btn:active{transform:scale(.95)}.q1-btn:active{background:#fef2f2}.q2-btn:active{background:#f0fdf4}.q3-btn:active{background:#fffbeb}.q4-btn:active{background:#f9fafb}.cancel-btn{flex-shrink:0;width:auto;background:var(--grid-color);color:var(--text-color);border-color:transparent}.cancel-btn:hover{background:var(--grid-color);opacity:.8}body.dark-mode .cancel-btn{background:#ffffff1a;color:var(--text-color);border-color:transparent}.recurring-config{margin:20px 0;padding:15px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.recurring-enable{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem;color:var(--text-primary)}.recurring-enable input[type=checkbox]{width:18px;height:18px;cursor:pointer}.recurring-options{margin-top:8px;padding:0;background:transparent;border-radius:0}.recurring-options label{display:block;margin-bottom:8px;color:var(--text-primary);font-size:.85rem}.recurring-options select,.recurring-options input[type=number]{width:100%;padding:8px;margin-top:5px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-primary);font-size:.9rem}.interval-options{margin-top:10px;padding:10px;background:var(--card-bg);border-radius:6px}.weekday-selector{display:flex;flex-wrap:wrap;gap:8px}.weekday-selector label{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--task-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.weekday-selector label:hover{background:var(--border-color)}.weekday-selector input[type=checkbox]{width:16px;height:16px;cursor:pointer}.recurring-indicator{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;background:none;border:none;cursor:pointer;color:#d1d5db;opacity:1;transition:opacity .2s ease,transform .1s ease;vertical-align:middle;min-width:16px;min-height:16px}.recurring-indicator:hover{opacity:.7;color:#9ca3af}.recurring-indicator:active{transform:scale(.9)}.recurring-indicator svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}body.dark-mode .recurring-indicator{color:#9ca3af}body.dark-mode .recurring-indicator:hover{color:#d1d5db}body.dark-mode .recurring-option label,body.dark-mode .recurring-option span,body.dark-mode .weekdays-container label,body.dark-mode .weekdays-container span{color:var(--text-primary)}.task-list:empty:before{content:"";color:#9ca3af;font-style:italic;text-align:center;padding:20px;font-size:.85rem}@media (min-width: 769px){body{padding:20px}.container{max-width:1200px}header h1{font-size:2.2rem;margin-bottom:10px}.add-task-section{margin:0 0 15px;padding:15px}.segments{padding:0;gap:8px}.segment{height:auto;padding:15px}.segment-header h2{font-size:1.3rem}.task-text{font-size:1rem}.segment-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.q1-btn:hover{background:#fef2f2}.q2-btn:hover{background:#f0fdf4}.q3-btn:hover{background:#fffbeb}.q4-btn:hover{background:#f9fafb}.cancel-btn:hover{background:#d1d5db}}@media (min-width: 1024px){.task-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}}footer{background:#0000000d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}footer a:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.settings-option{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.settings-option:last-of-type{border-bottom:none}.settings-label{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--text-primary);margin-bottom:8px}.language-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--task-bg);color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:border-color .2s}.language-select:focus{outline:none;border-color:var(--text-secondary)}.toggle-switch{position:relative;width:50px;height:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:13px;cursor:pointer;transition:background .3s}.toggle-switch:checked{background:var(--text-primary)}.toggle-switch:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .3s}.toggle-switch:checked:before{transform:translate(24px)}.settings-action-btn{flex:1;padding:10px 16px;background:var(--task-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.settings-action-btn:hover{background:var(--border-color);transform:translateY(-1px)}.settings-action-btn:active{transform:translateY(0)}.logout-btn-modal{width:100%;padding:12px 20px;background:var(--text-primary);color:var(--card-bg);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn-modal:hover{transform:scale(1.02);box-shadow:0 4px 12px #0003}.logout-btn-modal:active{transform:scale(.98)}body.dark-mode{--bg-color: #1a1a1a;--card-bg: #2a2a2a;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-light: #9ca3af;--text-color: #f9fafb;--border-color: #404040;--grid-color: #404040;--task-bg: #1f1f1f;--input-border: #4b5563}.search-highlight{background:#ffeb3b;color:#000;padding:2px 4px;border-radius:2px}body.dark-mode .search-highlight{background:#ffc107}.metrics-modal{max-width:650px;max-height:85vh;overflow-y:auto}.metrics-container{margin:15px 0}.metrics-section{margin-bottom:20px}.metrics-section h4{color:var(--text-primary);font-size:1rem;margin-bottom:10px;font-weight:600}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:15px}.metric-card{background:var(--task-bg);border:1px solid var(--border-color);border-radius:8px;padding:15px 10px;text-align:center}.metric-value{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:5px}.metric-label{font-size:.75rem;color:var(--text-secondary)}.chart-controls{display:flex;gap:8px;margin-bottom:10px;justify-content:center}.chart-period-btn{padding:6px 12px;background:var(--task-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.chart-period-btn:hover{background:var(--border-color)}.chart-period-btn.active{background:var(--text-primary);color:var(--card-bg);border-color:var(--text-primary)}.metrics-section canvas{max-height:250px;background:var(--task-bg);border-radius:8px;padding:10px}.settings-coffee-link{display:block;padding:12px 16px;background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);text-decoration:none;text-align:center;font-weight:600;transition:all .2s;cursor:pointer}.settings-coffee-link:hover{background:var(--task-bg);border-color:var(--text-primary)}.quick-add-modal{max-width:500px}.quick-add-modal h3{margin:0 0 8px;font-size:1rem}.quick-add-category{color:var(--text-secondary);font-size:.75rem;margin:0 0 8px;font-weight:500}.quick-add-input-wrapper{position:relative;margin-bottom:12px}.quick-add-input-wrapper input{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;background:var(--task-bg);color:var(--text-primary);transition:border-color .2s}.quick-add-input-wrapper input:focus{outline:none;border-color:var(--text-primary)}.char-counter{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--text-secondary);pointer-events:none}.char-counter.warning{color:#f59e0b}.char-counter.error{color:#ef4444}.recurring-config-quick{background:var(--task-bg);padding:8px;border-radius:4px;margin-bottom:10px}.recurring-enable{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.recurring-enable input[type=checkbox]{cursor:pointer}.recurring-option{margin-bottom:8px}.recurring-option label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-primary);cursor:pointer}.recurring-option input[type=radio],.recurring-option input[type=checkbox]{cursor:pointer;margin:0}.weekdays-container{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;margin-left:20px}.weekdays-container label{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--task-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .2s}.weekdays-container label:hover{background:var(--card-bg)}.weekdays-container input[type=checkbox]{margin:0;cursor:pointer}#editMonthDayContainer,#editCustomDaysContainer{margin-top:8px;margin-left:20px}#editMonthDayContainer input,#editCustomDaysContainer input{width:80px;padding:6px;border:1px solid var(--border-color);border-radius:4px;background:var(--task-bg);color:var(--text-primary);font-size:.85rem}.due-date-config{background:var(--task-bg);padding:8px;border-radius:4px;margin-bottom:10px}.due-date-label{display:block;font-weight:500;margin-bottom:6px;color:var(--text-primary);font-size:.9rem}.due-date-input{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px;background:var(--card-bg);color:var(--text-primary);font-size:.9rem;font-family:inherit}.due-date-input:focus{outline:none;border-color:var(--primary)}.task-due-date{font-size:.75rem;color:var(--text-secondary);margin-top:4px;display:flex;align-items:center;gap:4px}.task-due-date:before{content:"📅";font-size:.8rem}.urgent-task{border-left:3px solid #ef4444!important;background:#ef44440d}.urgent-task .task-text:after{content:"⚠️";margin-left:6px;font-size:.9rem}.smart-functions-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:8px}.smart-functions-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.modal-buttons{display:flex;gap:8px;justify-content:flex-end}.modal-buttons .btn{width:auto}.submit-btn{flex:1}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}@media (max-width: 600px){.app-footer{justify-content:center}.quick-add-modal{max-width:95%;margin:20px}.modal-buttons{flex-direction:column-reverse}.modal-buttons button{width:100%}.settings-header{padding:12px}.settings-header h3{font-size:16px}.close-btn{font-size:20px;padding:2px 4px;min-width:36px;min-height:36px}.settings-section{padding:8px 12px}.settings-section-title{font-size:11px;margin:0 0 8px}.settings-info{font-size:12px;line-height:1.3}.toggle-group{gap:6px}.settings-separator{margin:0}.settings-link{padding:8px 0;font-size:13px}.settings-link-flex{padding:8px 6px;font-size:12px}.settings-user-info{margin-bottom:12px}.settings-user-email{margin:0 0 8px;font-size:12px}}.task-item{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body{overscroll-behavior-y:contain}.task-list.drag-over{border:2px dashed var(--segment-color, #667eea);background:linear-gradient(to bottom,rgba(var(--segment-color-rgb, 102, 126, 234),.05),rgba(var(--segment-color-rgb, 102, 126, 234),.1));transform:scale(1.02);transition:all .2s ease;box-shadow:0 4px 12px #0000001a}.task-list.drag-invalid{border:2px dashed #e74c3c;background:#e74c3c0d}.task-item.dragging{opacity:.3!important;transform:scale(.98);transition:all .2s ease}@keyframes task-moved{0%{background:var(--segment-color);transform:scale(1.05)}to{background:transparent;transform:scale(1)}}.task-item.just-moved{animation:task-moved .6s ease}.task-item.swiping-left{transition:transform .1s ease,opacity .1s ease}.task-item[draggable=true]{cursor:grab}.task-item[draggable=true]:active{cursor:grabbing}.task-list.drag-over{cursor:move}.task-list.drag-invalid{cursor:not-allowed}@media (hover: none) and (pointer: coarse){.task-item{-webkit-tap-highlight-color:transparent}.task-item{touch-action:manipulation}}.task-item,.task-list{transform:translateZ(0);will-change:transform,opacity}.task-list[data-segment="1"].drag-over{--segment-color: #e74c3c;--segment-color-rgb: 231, 76, 60}.task-list[data-segment="2"].drag-over{--segment-color: #f39c12;--segment-color-rgb: 243, 156, 18}.task-list[data-segment="3"].drag-over{--segment-color: #3498db;--segment-color-rgb: 52, 152, 219}.task-list[data-segment="4"].drag-over{--segment-color: #95a5a6;--segment-color-rgb: 149, 165, 166}.task-list[data-segment="5"].drag-over{--segment-color: #27ae60;--segment-color-rgb: 39, 174, 96}@keyframes pulse{0%{box-shadow:0 0 #667eea66}70%{box-shadow:0 0 0 10px #667eea00}to{box-shadow:0 0 #667eea00}}.task-item.long-press-active{animation:pulse .3s ease-out}.task-item[data-sync-status=pending]:after{content:"⏳";position:absolute;top:8px;right:8px;font-size:12px;opacity:.6}.task-item[data-sync-status=failed]:after{content:"⚠️";position:absolute;top:8px;right:8px;font-size:12px}.task-item:focus-visible{outline:2px solid #667eea;outline-offset:2px}.task-list:focus-visible{outline:2px dashed #667eea;outline-offset:4px}.task-item.keyboard-selected{outline:3px solid #007bff;outline-offset:2px;box-shadow:0 0 0 4px #007bff33;background:#007bff0d;position:relative}.task-item.keyboard-selected:before{content:"✓ Selected";position:absolute;top:-24px;left:0;background:#007bff;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;z-index:100}.segment.keyboard-target{outline:3px dashed #28a745;outline-offset:-3px;background:#28a7450d;position:relative}.segment.keyboard-target:before{content:"→ Target (Press Enter to move)";position:absolute;top:8px;right:8px;background:#28a745;color:#fff;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;z-index:100;box-shadow:0 2px 4px #0003}*:focus-visible{outline:3px solid #007bff;outline-offset:2px;border-radius:4px}.task-item:focus-visible{box-shadow:0 0 0 3px #007bff4d}@media (prefers-color-scheme: dark){.task-item.keyboard-selected{background:#007bff1a;outline-color:#4dabf7}.task-item.keyboard-selected:before{background:#4dabf7}.segment.keyboard-target{background:#28a7451a;outline-color:#51cf66}.segment.keyboard-target:before{background:#51cf66;color:#1a1a1a}}body.dark-mode .task-item.keyboard-selected{background:#007bff1a;outline-color:#4dabf7}body.dark-mode .task-item.keyboard-selected:before{background:#4dabf7}body.dark-mode .segment.keyboard-target{background:#28a7451a;outline-color:#51cf66}body.dark-mode .segment.keyboard-target:before{background:#51cf66;color:#1a1a1a}#settingsModal .modal-content,#aboutModal .modal-content{padding:0 0 20px;overflow-y:auto;max-height:80vh}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--grid-color)}.settings-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-color)}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:4px 8px;color:var(--text-color);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.close-btn:hover{opacity:.7}.settings-section{padding:12px}.settings-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px}.settings-info{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.btn{display:flex;align-items:center;justify-content:center;width:100%;padding:8px 12px;background:transparent;color:#667eea;border:1.5px solid #667eea;border-radius:8px;font-size:13px;font-weight:500;min-height:32px;cursor:pointer;text-decoration:none;transition:background .2s ease;font-family:inherit;box-sizing:border-box}.btn:hover{background:#667eea14}.btn:active{background:#667eea26}.btn.active{background:#667eea;color:#fff;border-color:#667eea}.btn:visited{color:#667eea}.toggle-group{display:flex;gap:8px}.btn-toggle{flex:1;width:auto}.btn-toggle:disabled{opacity:.5;cursor:not-allowed}body.dark-mode .btn{color:#8b9eff;border-color:#8b9eff}body.dark-mode .btn:hover{background:#8b9eff1a}body.dark-mode .btn.active{background:#667eea;color:#fff;border-color:#667eea}.settings-separator{height:1px;background-color:var(--grid-color);margin:0}.settings-row{display:flex;gap:8px;padding:12px}.settings-row .btn{flex:1}.about-modal{max-width:512px}.about-content{padding:16px 0;font-size:14px;line-height:1.6;color:var(--text-color)}.about-section{margin-bottom:24px}.about-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px}.about-item{margin:0 0 4px;line-height:1.5;color:var(--text-secondary)}.about-item-hint{font-size:12px;font-style:italic;margin-top:4px}.about-section .btn{margin-top:8px;margin-bottom:8px}.settings-warning{margin-top:8px;padding:8px 12px;border-radius:6px;background-color:#ffa5001a;color:#ff8c00;font-size:11px;font-weight:600;line-height:1.4}body.dark-mode .settings-warning{background-color:#ffa50026;color:orange}.settings-user-info{margin-bottom:16px}.settings-user-email{margin:0 0 12px;font-size:13px;color:var(--text-primary);word-break:break-all;line-height:1.4}.settings-data-buttons{display:flex;gap:8px;width:100%}.settings-data-buttons .btn{flex:1}.undo-toast{position:fixed;bottom:-100px;left:50%;transform:translate(-50%);background:var(--card-bg);color:var(--text-primary);padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;gap:16px;z-index:10000;transition:bottom .3s ease-out;min-width:280px;max-width:90vw;border:1px solid var(--border-color)}.undo-toast.show{bottom:24px}.undo-toast-message{flex:1;font-size:14px;font-weight:500}.undo-toast-btn{background:#667eea;color:#fff;border:none;padding:6px 16px;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s;text-transform:uppercase;letter-spacing:.5px}.undo-toast-btn:hover{opacity:.8}.undo-toast-btn:active{opacity:.6}body.dark-mode .undo-toast{background:#2a2a2a;box-shadow:0 4px 12px #0009}@media (max-width: 600px){.undo-toast{bottom:-100px;min-width:auto;left:16px;right:16px;transform:none}.undo-toast.show{bottom:16px}}.tutorial-modal{max-width:500px;padding:0;overflow:hidden}.tutorial-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--grid-color)}.tutorial-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.tutorial-skip-btn{background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:4px 8px;transition:opacity .2s}.tutorial-skip-btn:hover{opacity:.7}.tutorial-slides{position:relative;min-height:300px;padding:32px 24px}.tutorial-slide{display:none;text-align:center;animation:fadeIn .3s ease-in}.tutorial-slide.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tutorial-icon{font-size:64px;margin-bottom:16px}.tutorial-slide h4{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.tutorial-slide p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0 0 24px}.tutorial-animation{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.tutorial-demo-task{background:var(--task-bg);border:1px solid var(--border-color);border-left:3px solid #667eea;padding:12px 16px;border-radius:6px;font-size:14px;color:var(--text-primary)}.tutorial-demo-arrow,.tutorial-demo-swipe{font-size:32px;color:#667eea;animation:slide 1.5s ease-in-out infinite}@keyframes slide{0%,to{transform:translate(0)}50%{transform:translate(10px)}}.tutorial-demo-swipe{animation:swipe 1.5s ease-in-out infinite}@keyframes swipe{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}.tutorial-progress{display:flex;justify-content:center;gap:8px;padding:16px 24px}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:var(--grid-color);transition:all .3s ease;cursor:pointer}.tutorial-dot.active{background:#667eea;width:24px;border-radius:4px}.tutorial-buttons{display:flex;gap:12px;padding:0 24px 20px}.tutorial-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.tutorial-btn:disabled{opacity:.4;cursor:not-allowed}.tutorial-btn-primary{background:#667eea;color:#fff}.tutorial-btn-primary:hover:not(:disabled){background:#5568d3}.tutorial-btn-secondary{background:var(--grid-color);color:var(--text-primary)}.tutorial-btn-secondary:hover:not(:disabled){opacity:.8}.tutorial-footer{padding:16px 24px;border-top:1px solid var(--grid-color)}.tutorial-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.tutorial-checkbox input[type=checkbox]{cursor:pointer}@media (max-width: 600px){.tutorial-modal{max-width:95%;margin:20px}.tutorial-slides{min-height:250px;padding:24px 16px}.tutorial-icon{font-size:48px}.tutorial-buttons{flex-direction:column-reverse}.tutorial-btn{width:100%}}.focus-mode-toggle{background:var(--card-bg);border:2px solid var(--grid-color);border-radius:8px;padding:6px 8px;cursor:pointer;transition:all .2s ease;margin-right:4px;display:flex;align-items:center;justify-content:center;color:var(--text-color)}.focus-mode-toggle:hover{background:var(--hover-bg);border-color:var(--primary-color)}.focus-mode-toggle.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 0 12px rgba(var(--primary-rgb),.4)}body.focus-mode .segment[data-segment="3"],body.focus-mode .segment[data-segment="4"]{display:none}body.focus-mode .segments{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}@media (max-width: 600px){.focus-mode-toggle{padding:4px 6px;margin-right:2px}}
