.pomodoro-container{background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 4px 12px #00000014;padding:24px;width:100%;animation:slideDown .4s ease;overflow:hidden;max-height:550px;transition:background-color .3s ease}.pomodoro-container.flashing{animation:flashNotification .5s ease-in-out 6}@keyframes flashNotification{0%,to{background:#fff;box-shadow:0 4px 12px #00000014}50%{background:#f0f7ff;box-shadow:0 4px 20px #007aff4d}}@keyframes slideDown{0%{max-height:0;opacity:0;padding-top:0;padding-bottom:0}to{max-height:550px;opacity:1;padding-top:24px;padding-bottom:24px}}.timer-mode{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:18px;font-weight:600;color:#007aff;margin-bottom:16px}.selected-task-info{display:flex;flex-direction:column;align-items:center;gap:4px}.task-breadcrumb{font-size:12px;font-weight:400;color:#8e8e93;opacity:.8}.task-main-text{font-size:18px;font-weight:600;color:#007aff}.edit-task-button{background:none;border:none;color:#8e8e93;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.edit-task-button:hover{color:#007aff;transform:scale(1.1)}.edit-task-button:active{transform:scale(.95)}.timer-display{position:relative;width:240px;height:240px;margin:0 auto 24px}.progress-ring{transform:rotate(-90deg)}.progress-ring-background{fill:none;stroke:#f0f0f0;stroke-width:12}.progress-ring-progress{fill:none;stroke:#007aff;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:52px;font-weight:700;color:#1d1d1f;font-variant-numeric:tabular-nums;transition:all .2s ease}.timer-text.editable{cursor:pointer;padding:8px 16px;border-radius:12px}.timer-text.editable:hover{background:#007aff1a;color:#007aff}.timer-text-edit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px}.timer-duration-input{width:100px;font-size:52px;font-weight:700;color:#007aff;border:2px solid #007aff;border-radius:12px;text-align:center;padding:8px;font-variant-numeric:tabular-nums;outline:none;font-family:inherit}.timer-duration-input::-webkit-inner-spin-button,.timer-duration-input::-webkit-outer-spin-button{opacity:1}.timer-duration-label{font-size:24px;font-weight:600;color:#8e8e93}.task-selector{margin-bottom:16px}.selected-task{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f0f7ff;border-radius:12px;color:#1d1d1f}.selected-task strong{color:#007aff}.change-task-button{background:#fff;border:1px solid #007aff;color:#007aff;padding:6px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.change-task-button:hover{background:#007aff;color:#fff}.select-task-button{width:100%;background:#007aff;border:none;color:#fff;padding:12px 24px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.select-task-button:hover{background:#0051d5}.timer-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.control-button{padding:12px 24px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;min-width:100px}.control-button:active{transform:scale(.98)}.start-button{background:#34c759;color:#fff}.start-button:hover{background:#28a745}.pause-button{background:#ff9500;color:#fff}.pause-button:hover{background:#e68500}.reset-button{background:#f0f0f0;color:#1d1d1f}.reset-button:hover{background:#e0e0e0}.skip-button{background:#007aff;color:#fff}.skip-button:hover{background:#0051d5}.task-selector-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease}.task-selector-content{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.task-selector-content h3{font-size:20px;font-weight:600;color:#1d1d1f;margin:0 0 16px}.task-list{flex:1;overflow-y:auto;margin-bottom:16px}.task-option{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;text-align:left}.task-option:hover{background:#f0f7ff;border-color:#007aff}.task-option:active{transform:scale(.98)}.task-option span{color:#1d1d1f}.task-option .task-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-option.task-completed{opacity:.5}.task-option.task-completed .task-text{text-decoration:line-through}.task-time{font-weight:600;color:#007aff!important;font-size:14px;flex-shrink:0}.cancel-button{width:100%;background:#f0f0f0;border:none;color:#1d1d1f;padding:12px 24px;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:#e0e0e0}.app-container{width:100%;max-width:700px;margin:0 auto;padding:0 8px}.notes-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:visible}.empty-state-feedback-external{margin:8px 0 24px;text-align:center;font-size:12px;color:#999;line-height:1.4;padding:0 16px}.empty-state-feedback-external a{color:#007aff;text-decoration:none;font-weight:500}.empty-state-feedback-external a:hover{text-decoration:underline}.feedback-footer{margin:16px 0 32px;text-align:center;font-size:12px;color:#888;line-height:1.4}.feedback-footer a{color:inherit;text-decoration:underline;text-decoration-color:#0003}.feedback-footer a:hover,.feedback-footer a:focus{color:#555;text-decoration-color:currentColor}html{overflow-y:scroll;scrollbar-gutter:stable}.auth-header{display:flex;justify-content:center;align-items:center;margin-bottom:8px}.app-title-container{display:flex;flex-direction:column;align-items:center;gap:2px}.app-title{font-size:14px;color:#666;font-weight:500;letter-spacing:.5px}.app-tagline{font-size:11px;color:#999;font-weight:300;letter-spacing:.3px}.app-title-header{display:flex;flex-direction:row;align-items:center;gap:12px}.app-title-tagline{font-size:28px;opacity:.7}.notes-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e5}.total-time-header{font-size:28px;font-weight:600;color:#1d1d1f;letter-spacing:-.5px;cursor:pointer;transition:all .2s ease;padding:8px 12px;border-radius:8px;-webkit-user-select:none;user-select:none;border:2px dotted #d1d1d1}.total-time-header:hover,.total-time-header.active{background:#f0f7ff;color:#007aff;border-color:#007aff}.header-actions{display:flex;align-items:center;gap:12px}.completion-counter{background:#f0f7ff;color:#007aff;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:500;white-space:nowrap;transition:all .2s ease}.completion-counter:hover{background:#e0edff;transform:scale(1.02)}.auth-button{background:#007aff;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-button:hover{background:#0051d5;transform:scale(1.02)}.auth-button:active{transform:scale(.98)}.auth-hint{color:#a0a0a0;font-size:13px;font-weight:400;cursor:pointer;transition:color .2s ease}.auth-hint:hover{color:#666}.total-time{font-size:16px;font-weight:500;color:#007aff;padding:6px 12px;background:#f0f7ff;border-radius:8px}.expand-collapse-buttons{display:flex;gap:8px}.action-button{background:#fff;border:1px solid #d1d1d1;color:#1d1d1f;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button:hover{background:#f5f5f5;border-color:#007aff;color:#007aff}.action-button:active{transform:scale(.98)}.copy-button{background:#007aff;color:#fff;border-color:#007aff;transition:all .3s ease}.copy-button:hover{background:#0051d5;border-color:#0051d5;color:#fff}.play-button{background:#34c759;color:#fff;border:none;width:48px;height:48px;border-radius:50%;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding-left:3px;box-shadow:0 2px 8px #34c7594d}.play-button:hover{background:#28a745;transform:scale(1.05);box-shadow:0 4px 12px #34c75966}.play-button:active{transform:scale(.95)}.play-button.close-mode{background:#8e8e93;font-size:32px;line-height:.8}.play-button.close-mode:hover{background:#6e6e73}.done-button{background:#007aff;color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.done-button:hover{background:#0051d5}.done-button:active{transform:scale(.98)}.todos-list{padding:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 24px 20px;text-align:center;min-height:auto}.empty-state-description{font-size:17px;color:#666;margin:0 0 24px;line-height:1.5;font-weight:500}.empty-state-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.empty-state-features li{font-size:14px;color:#1d1d1f;padding:8px 16px;background:#f9f9f9;border-radius:8px;transition:all .2s ease}.empty-state-features li:hover{background:#f0f7ff;transform:scale(1.02)}.empty-state-divider{width:100%;max-width:400px;height:1px;background:linear-gradient(to right,transparent,#e5e5e5 20%,#e5e5e5 80%,transparent);margin:16px 0}.empty-state-hint{font-size:14px;color:#8e8e93;font-style:italic;margin:0;padding:16px 24px;background:#fafafa;border-radius:12px;border:1px dashed #d1d1d1}.empty-state-feedback{display:none}@media (max-width: 768px){.empty-state{padding:8px 16px 16px;min-height:auto}.empty-state-description{font-size:14px}.empty-state-features li{font-size:13px;padding:8px 12px}.empty-state-divider{margin:12px 0}.empty-state-hint{font-size:13px;padding:12px 16px}.empty-state-feedback-external{font-size:11px;margin:8px 0 20px}.app-title-header{flex-direction:column;align-items:flex-start;gap:4px}.app-title-tagline{margin-left:12px;font-size:18px}.app-container{padding:0}}.todo-wrapper{border-bottom:1px solid #f0f0f0;cursor:grab;transition:all .2s ease}.todo-wrapper:active{cursor:grabbing}.todo-wrapper:last-child{border-bottom:none}.todo-wrapper.dragging{opacity:.4;cursor:grabbing}.todo-wrapper:not(.dragging):hover{background:#fafafa}.todo-item{display:flex;align-items:center;padding:16px 24px;font-size:16px;color:#1d1d1f;line-height:1.5;transition:all .3s ease}.todo-item.drop-target{background:#f0f7ff;border:2px dashed #007aff;border-radius:8px;box-shadow:0 0 0 4px #007aff1a}.todo-item.completed{background:#d4f4dd}.todo-item.completed.drop-target{background:#c8efd4;border-color:#34c759;box-shadow:0 0 0 4px #34c7591a}.todo-item.completed .todo-text{text-decoration:line-through;text-decoration-thickness:1px;opacity:.7}.task-checkbox{width:20px;height:20px;margin-right:12px;cursor:pointer;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid #d1d1d1;border-radius:4px;background:#fff;position:relative;transition:all .2s ease}.task-checkbox:checked{background:#34c759;border-color:#34c759}.task-checkbox:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.time-estimate{min-width:0;overflow:hidden;margin-right:16px;font-weight:600;color:#007aff;font-size:14px;white-space:nowrap;opacity:0;transform:translate(-20px);animation:slideIn .4s ease forwards}.time-value.editable{cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .2s ease}.time-value.editable:hover{background:#f0f7ff;transform:scale(1.05)}.time-input{width:60px;padding:2px 4px;border:2px solid #007aff;border-radius:4px;font-weight:600;color:#007aff;font-size:14px;text-align:center;outline:none;font-family:inherit}.time-input::-webkit-inner-spin-button,.time-input::-webkit-outer-spin-button{opacity:1}.todo-item.show-estimate .time-estimate{min-width:60px}.todo-item:not(.show-estimate) .todo-text{margin-left:0}@keyframes slideIn{to{opacity:1;transform:translate(0)}}@keyframes newTaskFlash{0%{background:#e0f2ff;box-shadow:0 0 20px #007aff4d}to{background:#fff;box-shadow:none}}.todo-item.new-task-flash{animation:newTaskFlash 1.5s ease-out forwards}.todo-text{flex:1;transition:transform .3s ease}.todo-item.show-estimate .todo-text{transform:translate(0)}.todo-text p{margin:0;display:inline}.todo-text strong{font-weight:600;color:#1d1d1f}.todo-text em{font-style:italic}.todo-text code{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.9em}.step-item .todo-text strong{font-weight:600;color:#1d1d1f}.input-container{position:sticky;top:0;z-index:100;display:flex;align-items:stretch;gap:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;background:#fff;box-shadow:0 2px 8px #0000000a;flex-wrap:wrap;margin-bottom:16px;order:-1}.input-container .record-button,.input-container .generation-mode-selector{flex-shrink:0}.send-button{position:absolute;right:195px;bottom:18px;width:28px;height:28px;border:none;background:transparent;color:#007aff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease;opacity:1;padding:0;z-index:10}.send-button:hover{transform:scale(1.1)}.send-button:active{transform:scale(.95)}.send-button svg{width:28px;height:28px}.input-container .generation-mode-selector{border-left:1px solid #e5e5e5;display:flex;align-items:center;padding:0 16px}.todo-input{flex:1;border:none;padding:16px 20px;font-size:16px;font-family:inherit;resize:none;min-height:80px;outline:none;color:#1d1d1f;line-height:1.5;caret-color:#007aff;min-width:0}.input-container.has-text .todo-input{padding-right:50px}.todo-input:placeholder-shown{caret-color:transparent}.todo-input:disabled{opacity:.6;cursor:not-allowed;background:#fafafa}.todo-input::placeholder{color:#a0a0a0}.custom-cursor{position:absolute;left:105px;top:16px;width:2px;height:24px;background:#007aff;animation:blink 1s ease-in-out infinite;pointer-events:none;z-index:1;box-shadow:0 0 8px currentColor;transition:background-color 2s ease}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.record-button{background:#f9f9f9;border:none;border-right:2px solid #e0e0e0;color:#007aff;cursor:pointer;padding:20px 24px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:90px;align-self:stretch}.record-button svg{width:32px;height:32px;transition:all .3s ease}.record-button:hover:not(:disabled){background:#f0f7ff;border-color:#007aff}.record-button:hover:not(:disabled) svg{transform:scale(1.1)}.record-button:active:not(:disabled){transform:scale(.95)}.record-button.recording{color:#ff3b30;background:#fff5f5;border-color:#ff3b30;animation:pulse 1.5s ease-in-out infinite}.record-button.transcribing{color:#8e8e93;cursor:not-allowed;background:#fafafa}.record-button:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.spinner-small{width:20px;height:20px;border:2px solid #e5e5e5;border-top-color:#007aff;border-radius:50%;animation:spin .6s linear infinite}.spinner{width:16px;height:16px;border:2px solid #e5e5e5;border-top-color:#007aff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:#666;font-size:14px}.todo-item:nth-child(1) .time-estimate{animation-delay:0s}.todo-item:nth-child(2) .time-estimate{animation-delay:.05s}.todo-item:nth-child(3) .time-estimate{animation-delay:.1s}.todo-item:nth-child(4) .time-estimate{animation-delay:.15s}.todo-item:nth-child(5) .time-estimate{animation-delay:.2s}.todo-item:nth-child(n+6) .time-estimate{animation-delay:.25s}.subtask-counter{font-size:13px;color:#666;font-weight:500;margin-right:12px;padding:2px 8px;background:#f0f0f0;border-radius:10px;white-space:nowrap;flex-shrink:0}.expand-button{background:none;border:none;font-size:24px;color:#a0a0a0;cursor:pointer;padding:4px 8px;margin-left:2px;margin-right:12px;transition:all .2s ease;line-height:1;-webkit-user-select:none;user-select:none}.expand-button:hover{color:#007aff}.expand-button.ready{color:#34c759}.expand-button.ready:hover{color:#28a745}.expand-button.expanded{transform:rotate(90deg);color:#007aff}.expand-button.expanded.ready{color:#007aff}.button-group{display:flex;align-items:center;gap:8px}.copy-icon-button{background:none;border:none;color:#a0a0a0;cursor:pointer;padding:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.copy-icon-button:hover{color:#007aff;transform:scale(1.1)}.copy-icon-button:active{transform:scale(.95)}.copied-indicator{font-size:12px;color:#34c759;font-weight:500;padding:4px 8px}.generation-mode-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;-webkit-user-select:none;user-select:none;cursor:pointer;transition:all .2s ease;border-radius:4px}.generation-mode-indicator:hover{background:#0000000d}.generation-mode-indicator .mode-icon{font-size:16px;opacity:.4;filter:grayscale(100%);transition:opacity .2s ease,filter .2s ease}.generation-mode-indicator:hover .mode-icon{opacity:.7;filter:grayscale(50%)}.generation-mode-indicator .mode-label{font-size:12px;color:#666;font-weight:500;white-space:nowrap;max-width:0;overflow:hidden;opacity:0;transition:max-width .3s ease,opacity .3s ease}.generation-mode-indicator:hover .mode-label{max-width:150px;opacity:1}.delete-button{background:none;border:none;font-size:24px;color:#d1d1d1;cursor:pointer;padding:4px 8px;transition:all .2s ease;line-height:1;-webkit-user-select:none;user-select:none}.delete-button:hover{color:#ff3b30;transform:scale(1.1)}.delete-button:active{transform:scale(.95)}.steps-container{background:#f9f9f9;animation:expandDown .3s ease}@keyframes expandDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.steps-list{padding:0;margin:0}.step-wrapper{border-top:1px solid #e5e5e5}.step-item{display:flex;align-items:center;padding:12px 24px 12px 48px;font-size:15px;color:#1d1d1f;line-height:1.5;background:#f9f9f9}.step-item.completed{background:#d4f4dd}.step-item.completed .todo-text{text-decoration:line-through;text-decoration-thickness:1px;opacity:.7}.step-item .time-estimate{min-width:60px;margin-right:16px;font-weight:600;color:#007aff;font-size:13px;opacity:1;transform:none;animation:none}.step-item .todo-text{flex:1}.step-item .todo-text p{margin:0;display:inline}.step-item .todo-text strong{font-weight:600}.step-item .todo-text em{font-style:italic}.step-item .todo-text code{background:#e5e5e5;padding:2px 6px;border-radius:3px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.85em}.subtasks-container{animation:expandDown .3s ease}.subtasks-list{padding:0;margin:0}.depth-0 .subtasks-container{background:#f9f9f9}.depth-1 .subtasks-container{background:#f0f0f0}.depth-2 .subtasks-container{background:#e5e5e5}.depth-3 .subtasks-container{background:#dadada}.depth-4 .subtasks-container{background:#d0d0d0}.depth-5 .subtasks-container,.depth-6 .subtasks-container,.depth-7 .subtasks-container,.depth-8 .subtasks-container,.depth-9 .subtasks-container,.depth-max .subtasks-container{background:#c5c5c5}.depth-1 .step-item{padding-left:48px;background:#f9f9f9;border-top:1px solid #e5e5e5}.depth-2 .step-item{padding-left:72px;background:#f0f0f0;border-top:1px solid #e0e0e0}.depth-3 .step-item{padding-left:96px;background:#e5e5e5;border-top:1px solid #d0d0d0}.depth-4 .step-item{padding-left:120px;background:#dadada;border-top:1px solid #c5c5c5}.depth-5 .step-item{padding-left:144px;background:#d0d0d0;border-top:1px solid #bababa}.depth-6 .step-item,.depth-7 .step-item,.depth-8 .step-item,.depth-9 .step-item,.depth-max .step-item{padding-left:168px;background:#c5c5c5;border-top:1px solid #b0b0b0}.item-wrapper .step-item.completed{background:#d4f4dd}.steps-loading{display:flex;align-items:center;gap:12px;padding:16px 24px;color:#666;font-size:14px}.error-text{color:#ff3b30;font-size:13px;margin-left:8px}.retry-button{background:#ff3b30;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:40px}.retry-button:hover{background:#ff2d1f;transform:scale(1.05)}.retry-button:active{transform:scale(.95)}.steps-error{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:#fff5f5;border-top:1px solid #ffebeb}.expand-button:disabled{opacity:.3;cursor:not-allowed}.add-subtask-section{background:#fff;padding:16px 24px;border-top:1px solid #e5e5e5;display:flex;justify-content:center;align-items:center}.depth-0 .add-subtask-section{background:#f9f9f9;border-top:1px solid #e5e5e5}.depth-1 .add-subtask-section{background:#f0f0f0;border-top:1px solid #e0e0e0}.depth-2 .add-subtask-section{background:#e5e5e5;border-top:1px solid #d0d0d0}.depth-3 .add-subtask-section{background:#dadada;border-top:1px solid #c5c5c5}.depth-4 .add-subtask-section{background:#d0d0d0;border-top:1px solid #bababa}.depth-5 .add-subtask-section,.depth-6 .add-subtask-section,.depth-7 .add-subtask-section,.depth-8 .add-subtask-section,.depth-9 .add-subtask-section,.depth-max .add-subtask-section{background:#c5c5c5;border-top:1px solid #b0b0b0}.add-subtask-button{width:auto;padding:10px 20px;background:#f5f5f7;border:1px dashed #d1d1d1;color:#8e8e93;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:16px;display:block}.add-subtask-button:hover{background:#e8e8ed;border-color:#8e8e93;color:#1d1d1f}.add-subtask-form{display:flex;flex-direction:column;gap:8px}.add-subtask-form-header{display:flex;gap:8px;align-items:center}.add-subtask-form-header .subtask-text-input{flex:1}.add-subtask-form-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end}@media (max-width: 768px){.input-container{position:fixed;bottom:0;left:0;right:0;top:auto;margin-bottom:0;border-radius:0;width:100%;max-width:100%;box-shadow:0 -2px 8px #00000014;padding-bottom:env(safe-area-inset-bottom)}.todos-list:not(.empty){padding-bottom:200px}.todos-list.empty{padding-bottom:0}.input-container .generation-mode-selector{order:-1;width:100%;border-left:none;border-bottom:1px solid #e5e5e5;justify-content:center;padding:12px 16px}.input-container .record-button,.input-container .todo-input{order:1}.input-container.has-text .record-button{display:none}.custom-cursor{top:84px;left:105px}.send-button{right:16px;bottom:18px;top:auto}.input-container.has-text .todo-input{padding-left:16px;padding-right:60px}.add-subtask-form{flex-direction:column;gap:12px;align-items:stretch}.subtask-text-input{width:100%;font-size:16px}.subtask-time-input{flex:1}.add-subtask-save,.add-subtask-cancel{flex:1;white-space:nowrap}}.subtask-text-input{flex:1;padding:8px 12px;border:1px solid #d1d1d1;border-radius:6px;font-size:14px;font-family:inherit;outline:none}.subtask-text-input:focus{border-color:#007aff}.subtask-time-input{width:80px;padding:8px 12px;border:1px solid #d1d1d1;border-radius:6px;font-size:14px;font-family:inherit;outline:none;text-align:center}.subtask-time-input:focus{border-color:#007aff}.add-subtask-save{background:#007aff;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-subtask-save:hover{background:#0051d5}.add-subtask-save:active{transform:scale(.98)}.add-subtask-cancel{background:#f0f0f0;color:#1d1d1f;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-subtask-cancel:hover{background:#e0e0e0}.add-subtask-cancel:active{transform:scale(.98)}.no-steps{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;color:#a0a0a0;font-size:14px;font-style:italic}.todo-text-wrapper{flex:1}.editable-text{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px;transition:all .2s ease}.editable-text:hover{background:#f0f7ff}.editable-text .todo-text{margin:0}.text-edit-container{flex:1;display:flex;flex-direction:column;gap:8px}.text-edit-input{flex:1;min-height:60px;padding:8px 12px;border:2px solid #007aff;border-radius:6px;font-size:15px;font-family:inherit;color:#1d1d1f;line-height:1.5;resize:vertical;outline:none;background:#fff}.text-edit-input:focus{border-color:#0051d5;box-shadow:0 0 0 3px #007aff1a}.text-edit-buttons{display:flex;gap:8px;justify-content:flex-start}.text-edit-save{background:#007aff;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.text-edit-save:hover{background:#0051d5;transform:scale(1.02)}.text-edit-save:active{transform:scale(.98)}.text-edit-save-run{background:#34c759;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.text-edit-save-run:hover{background:#28a745;transform:scale(1.02)}.text-edit-save-run:active{transform:scale(.98)}.text-edit-cancel{background:#f0f0f0;color:#1d1d1f;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.text-edit-cancel:hover{background:#e0e0e0}.text-edit-cancel:active{transform:scale(.98)}.settings-sidebar{position:fixed;top:0;right:0;width:400px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:1000;transform:translate(100%);transition:transform .3s ease;overflow-y:auto}.settings-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-sidebar.open{transform:translate(0)}.settings-content{padding:20px;height:100%}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid #e5e5e5}.settings-header h3{margin:0;font-size:24px;font-weight:600;color:#1d1d1f}.close-settings{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:5px;border-radius:4px;transition:background-color .2s ease}.close-settings:hover{background-color:#f0f0f0}.settings-section{margin-bottom:30px}.settings-section h4{margin:0 0 15px;font-size:18px;font-weight:600;color:#1d1d1f}.user-profile,.auth-buttons,.timezone-selector{display:flex;flex-direction:column;gap:10px}.timezone-select{padding:12px;border:1px solid #d1d1d1;border-radius:8px;font-size:16px;background:#fff;cursor:pointer;transition:border-color .2s ease}.timezone-select:focus{outline:none;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.timezone-info{font-size:14px;color:#666;padding:10px;background:#f9f9f9;border-radius:6px;line-height:1.4}.settings-toggle{position:fixed;top:10px;right:20px;width:40px;height:40px;border:none;border-radius:8px;background:transparent;color:#666;font-size:20px;cursor:pointer;z-index:999;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.settings-toggle:hover{background:#f0f0f0;color:#333}.settings-toggle:active{transform:scale(.95)}@media (max-width: 768px){.settings-sidebar{width:100vw}.settings-backdrop{display:block}.settings-toggle{top:8px;right:15px;width:36px;height:36px;font-size:18px}.settings-content{padding:15px}.settings-header h3{font-size:20px}}@media (min-width: 769px){.settings-backdrop{display:none}}.date-navigation{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f9f9f9;border-bottom:1px solid #e5e5e5;gap:16px}.date-nav-button{background:#fff;border:1px solid #d1d1d1;color:#1d1d1f;width:40px;height:40px;border-radius:8px;font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.date-nav-button:hover:not(:disabled){background:#007aff;color:#fff;border-color:#007aff;transform:scale(1.05)}.date-nav-button:active:not(:disabled){transform:scale(.95)}.date-nav-button:disabled{opacity:.3;cursor:not-allowed}.current-date-display{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.date-text{font-size:18px;font-weight:600;color:#1d1d1f;letter-spacing:-.3px}.day-name{font-size:13px;color:#8e8e93;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.today-button{margin-top:4px;background:#007aff;color:#fff;border:none;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.today-button:hover{background:#0051d5;transform:scale(1.05)}.today-button:active{transform:scale(.95)}.generation-mode-selector{position:relative;display:inline-block}.generation-mode-button{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:auto;height:44px;padding:0 var(--space-md);background:var(--color-bg-white);border:1px solid var(--color-border-medium);border-radius:var(--radius-large);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.generation-mode-button:hover{background:var(--color-bg-hover);border-color:var(--color-border-gray)}.generation-mode-button:active{transform:scale(.97)}.generation-mode-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mode-icon{font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.mode-label-with-icon{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.dropdown-arrow{font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--color-text-secondary);transition:transform var(--transition-fast)}.generation-mode-selector.small .generation-mode-button{height:36px;padding:0 var(--space-sm);font-size:var(--font-size-sm)}.generation-mode-selector.small .mode-label-with-icon{font-size:var(--font-size-sm)}.generation-mode-selector.small .mode-icon{font-size:var(--font-size-md)}.generation-mode-selector.small .dropdown-arrow{font-size:10px}.generation-mode-dropdown{position:absolute;top:0;left:0;right:0;min-width:280px;background:var(--color-bg-white);border:1px solid var(--color-border-medium);border-radius:var(--radius-large);box-shadow:var(--shadow-medium);padding:var(--space-xs);z-index:var(--z-dropdown);animation:dropdownFadeIn var(--transition-fast)}@keyframes dropdownFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes dropdownFadeInUpward{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.mode-option{width:100%;display:block;padding:var(--space-md);background:transparent;border:none;border-radius:var(--radius-medium);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.mode-option:hover{background:var(--color-bg-hover)}.mode-option:active{background:var(--color-bg-gray-2)}.mode-option.selected{background:#007aff14}.mode-option.selected:hover{background:#007aff1f}.mode-option.keyboard-focused{background:var(--color-bg-hover)}.mode-option.selected.keyboard-focused{background:#007aff1f;outline:2px solid var(--color-primary);outline-offset:-2px}.mode-option-content{display:flex;flex-direction:column;gap:var(--space-xs)}.mode-option-header{display:flex;align-items:center;gap:var(--space-sm)}.mode-option-icon{font-size:var(--font-size-lg);line-height:var(--line-height-tight);flex-shrink:0}.mode-option-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);flex:1}.mode-checkmark{font-size:var(--font-size-base);color:var(--color-primary);font-weight:var(--font-weight-semibold);margin-left:auto}.mode-option-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-base);margin-left:calc(var(--font-size-lg) + var(--space-sm))}.dropdown-backdrop{display:none}@media (max-width: 768px){.dropdown-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:150}.generation-mode-dropdown{top:auto;bottom:0;min-width:100%;left:0;right:0;transform:none;animation:dropdownFadeInUpward var(--transition-fast);z-index:250;box-shadow:0 -4px 12px #0000001f;padding:0;border-radius:0;border-left:none;border-right:none}.mode-option{padding:var(--space-sm) var(--space-md)}.mode-option-label{font-size:var(--font-size-md)}.mode-option-description{font-size:var(--font-size-xs)}}@media (max-width: 480px){.generation-mode-dropdown{min-width:100%;max-width:100%;top:auto;bottom:0;left:0;right:0;transform:none}}:root{--color-primary: #007aff;--color-primary-hover: #0051d5;--color-success: #34c759;--color-success-hover: #28a745;--color-destructive: #ff3b30;--color-destructive-hover: #ff2d1f;--color-text-primary: #1d1d1f;--color-text-secondary: #666;--color-text-tertiary: #8e8e93;--color-text-placeholder: #a0a0a0;--color-bg-white: white;--color-bg-gray-1: #f9f9f9;--color-bg-gray-2: #f5f5f7;--color-bg-gray-3: #f0f0f0;--color-bg-gray-4: #e5e5e5;--color-bg-gray-5: #dadada;--color-bg-gray-6: #d0d0d0;--color-bg-gray-7: #c5c5c5;--color-bg-completed: #d4f4dd;--color-bg-hover: #fafafa;--color-bg-selected: #f0f7ff;--color-bg-error: #fff5f5;--color-border-light: #f0f0f0;--color-border-medium: #e5e5e5;--color-border-gray: #d1d1d1;--color-border-dark: #e0e0e0;--shadow-light: 0 2px 8px rgba(52, 199, 89, .3);--shadow-medium: 0 2px 10px rgba(0, 0, 0, .08);--shadow-strong: 0 4px 12px rgba(52, 199, 89, .4);--shadow-sidebar: -4px 0 20px rgba(0, 0, 0, .15);--radius-small: 4px;--radius-medium: 6px;--radius-large: 8px;--radius-xlarge: 12px;--radius-pill: 16px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-base: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-xxl: 24px;--font-size-xxxl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--letter-spacing-tight: -.5px;--letter-spacing-base: -.3px;--letter-spacing-wide: .5px;--line-height-tight: 1;--line-height-base: 1.4;--line-height-relaxed: 1.5;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .4s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-backdrop: 999;--z-sidebar: 1000;--z-modal: 1100;--z-tooltip: 1200;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;justify-content:center;padding:4px 0}@media (max-width: 768px){#root{min-height:auto;padding:0}}
