.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:#e8f4fd}.auth-container{background:#fff;border-radius:16px;padding:32px 24px;width:100%;max-width:400px;box-shadow:0 4px 16px #0000001a}.auth-header{text-align:center;margin-bottom:24px}.app-title{font-size:32px;font-weight:700;color:#4a90e2;margin-bottom:8px}.app-subtitle{color:#666;font-size:14px}.auth-tabs{display:flex;gap:8px;margin-bottom:24px;background:#e8f4fd;padding:4px;border-radius:12px}.auth-tab{flex:1;padding:12px;background:transparent;border-radius:8px;font-size:15px;font-weight:500;color:#666;transition:all .3s}.auth-tab.active{background:#fff;color:#4a90e2;box-shadow:0 2px 4px #0000001a}.auth-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-group input{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:border-color .3s}.form-group input:focus{border-color:#4a90e2}.auth-button{width:100%;padding:14px;border-radius:12px;font-size:16px;font-weight:600;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px}.auth-button.primary{background:#4a90e2;color:#fff;margin-bottom:20px}.auth-button.primary:hover{background:#357abd;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.auth-button.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-button.google{background:#fff;color:#333;border:2px solid #e0e0e0;margin-bottom:12px}.auth-button.google:hover{border-color:#4285f4;background:#f8f9fa}.auth-button.apple{background:#000;color:#fff}.auth-button.apple:hover{background:#333}.auth-button:disabled{opacity:.6;cursor:not-allowed}.passwordless-option{margin:12px 0;text-align:center}.passwordless-link{background:none;border:none;color:#4a90e2;font-size:14px;cursor:pointer;text-decoration:underline;padding:0}.passwordless-link:hover{color:#357abd}.success-message{padding:12px;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-size:14px;margin-bottom:16px;text-align:center}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px;text-align:center}.auth-capacitor-warning{color:#856404}.auth-capacitor-warning code{font-family:ui-monospace,monospace;background:#0000000f;padding:2px 6px;border-radius:4px;font-size:13px}.auth-divider{text-align:center;margin:24px 0;position:relative}.auth-divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:#e0e0e0}.auth-divider span{background:#fff;padding:0 15px;color:#999;position:relative}.social-auth{display:flex;flex-direction:column}@media (max-width: 480px){.auth-container{padding:24px 20px}.app-title{font-size:28px}}.set-goal-container{animation:fadeIn .3s ease-in;width:100%;overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.set-goal-card{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:20px;padding:24px;box-shadow:0 6px 20px #4a90e226;width:100%;max-width:100%;overflow-x:hidden;border:2px solid rgba(74,144,226,.1)}.set-goal-card h2{font-size:24px;font-weight:700;background:linear-gradient(135deg,#4a90e2,#7b5cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.subtitle{color:#666;font-size:14px;margin-bottom:24px}.goal-form{display:flex;flex-direction:column}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:15px;font-weight:600;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:border-color .3s;resize:vertical;font-family:inherit}.form-group-target-date{position:relative}.target-date-wrapper{position:relative;display:block;width:100%}.target-date-input-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;z-index:1}.target-date-input-overlay::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.target-date-display{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;font-weight:500;color:#333;background:#f8f9fa;pointer-events:none;transition:border-color .3s,background .3s,color .3s}.target-date-wrapper:focus-within .target-date-display{border-color:#4a90e2;background:#e8f4fd;color:#4a90e2}.target-date-wrapper:hover .target-date-display{border-color:#4a90e2;background:#e8f4fd;color:#4a90e2}.target-date-change{margin-top:8px;padding:8px 12px;background:transparent;color:#4a90e2;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:background .3s}.target-date-change:hover{background:#e8f4fd}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#4a90e2;outline:none}.interval-toggle{display:flex;gap:10px;background:#f8f9fa;padding:4px;border-radius:999px;border:2px solid #e0e0e0}.interval-option{flex:1;border:none;background:transparent;border-radius:999px;padding:10px 12px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .25s ease}.interval-option.active{background:linear-gradient(135deg,#4a90e2,#7b5cff);color:#fff;box-shadow:0 2px 8px #4a90e266}.interval-option:not(.active):hover{background:#4a90e20f}.form-group textarea{font-family:inherit;line-height:1.5}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.submit-button{padding:16px;background:linear-gradient(135deg,#4a90e2,#7b5cff);color:#fff;border-radius:12px;font-size:16px;font-weight:600;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:100%;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-width:0;box-shadow:0 4px 12px #4a90e266;border:none}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#6a4ce6);transform:translateY(-2px);box-shadow:0 6px 16px #4a90e280}.submit-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 480px){.set-goal-card{padding:20px}.set-goal-card h2{font-size:20px}}.reminder-settings{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #e0e0e0;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.reminder-settings h4{font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.schedule-type-selector{display:flex;gap:12px;margin-bottom:16px}.radio-option{flex:1;display:flex;align-items:center;gap:8px;padding:12px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s}.radio-option input[type=radio]{width:18px;height:18px;accent-color:#4a90e2;cursor:pointer}.radio-option:has(input:checked){border-color:#4a90e2;background:#e8f4fd}.radio-option span{font-size:14px;font-weight:500;color:#333}.time-selector{margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box}.time-selector:last-child{margin-bottom:0}.time-selector label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.time-input,.day-select{width:100%;max-width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;background:#fff;color:#333;box-sizing:border-box;min-width:0}.time-input:focus,.day-select:focus{outline:none;border-color:#4a90e2}.weekly-settings{display:flex;flex-direction:column;gap:12px}.reminder-display{margin-top:12px;padding:10px;background:#e8f4fd;border-radius:8px;font-size:14px;color:#4a90e2;font-weight:500}@media (max-width: 480px){.reminder-settings{padding:16px;width:100%;max-width:100%;box-sizing:border-box}.schedule-type-selector{flex-direction:column}.time-input,.day-select{width:100%;max-width:100%;box-sizing:border-box;font-size:16px}}.my-goals-container{animation:fadeIn .3s ease-in;width:100%;overflow-x:hidden}.notifications-disclaimer{background:#fff8e6;border:1px solid #f0d050;border-radius:12px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.notifications-disclaimer p{margin:0;font-size:14px;color:#664d00;line-height:1.5}.enable-notifications-btn{align-self:flex-start;padding:10px 16px;background:#4a90e2;color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .3s}.enable-notifications-btn:hover{background:#357abd}.empty-state{background:#fff;border-radius:16px;padding:48px 24px;text-align:center;box-shadow:0 4px 16px #0000001a}.empty-state h3{font-size:20px;color:#333;margin-bottom:8px}.empty-state p{color:#666;font-size:15px}.goal-card{background:#fff;border-radius:16px;margin-bottom:16px;box-shadow:0 4px 16px #0000001a;overflow:hidden;transition:transform .3s,box-shadow .3s;width:100%;max-width:100%}.goal-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0000001f}.goal-header{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}.goal-header.clickable{cursor:pointer}.goal-header.clickable:hover{background:#f8f9fa;border-radius:12px 12px 0 0}.goal-header-right{display:flex;align-items:center;gap:12px}.expand-goal-icon{font-size:14px;color:#4a90e2;font-weight:700;min-width:20px}.goal-info{flex:1}.goal-info h3{font-size:18px;font-weight:600;color:#333;margin-bottom:8px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.goal-meta{display:flex;gap:12px;flex-wrap:wrap}.days-remaining,.progress-badge{font-size:12px;padding:6px 12px;border-radius:16px;font-weight:500}.days-remaining,.progress-badge{background:#e8f4fd;color:#4a90e2}.progress-bar-container{width:80px;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.progress-bar{height:100%;background:#4a90e2;transition:width .3s;border-radius:3px}.goal-details{padding:20px;border-top:1px solid #f0f0f0;margin-top:12px}.goal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.goal-actions-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.details-button{width:100%;padding:12px 20px;background:linear-gradient(135deg,#4a90e2,#7b5cff);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #4a90e24d}.details-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}.details-button:active{transform:translateY(0)}.delete-goal-button{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid #ff4444;background:#fff5f5;color:#f44;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-width:0;width:100%;max-width:100%}.delete-goal-button:hover{background:#f44;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #ff44444d}.goal-card.isolated{border:3px solid #ff4444;background:linear-gradient(135deg,#fff5f5,#ffe0e0)}.isolated-goal-view{padding:24px;text-align:center}.isolated-goal-header h3{font-size:20px;font-weight:700;color:#333;margin-bottom:12px}.isolated-goal-meta{font-size:14px;color:#666;margin-bottom:24px}.isolated-goal-actions{display:flex;gap:12px;justify-content:center}.cancel-isolate-button{padding:12px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid #4a90e2;background:#fff;color:#4a90e2;flex:1;max-width:150px}.cancel-isolate-button:hover{background:#e8f4fd}.confirm-delete-button{padding:12px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none;background:linear-gradient(135deg,#f44,#c00);color:#fff;flex:1;max-width:150px;box-shadow:0 2px 8px #ff44444d}.confirm-delete-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f446}.goal-action-btn{padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,color .2s;border:2px solid #4a90e2;background:#e8f4fd;color:#4a90e2;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-width:0;width:100%;max-width:100%}.goal-action-btn:hover{background:#4a90e2;color:#fff}.goal-action-status{margin:0 0 12px;font-size:14px;color:#333;padding:8px 12px;background:#f0f8ff;border-radius:8px;border-left:4px solid #4a90e2}.tasks-section h4{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.tasks-list{display:flex;flex-direction:column;gap:10px}.task-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8f9fa;border-radius:8px;transition:background .3s;margin-bottom:12px}.task-item:hover{background:#f0f0f0}.task-item.completed{opacity:.6}.task-item.future-task{opacity:.5;background:#f0f0f0}.task-item.future-task:hover{background:#e8e8e8}.task-checkbox{width:20px;height:20px;cursor:pointer;margin-top:2px;accent-color:#4a90e2;flex-shrink:0}.task-content-wrapper{flex:1}.task-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;width:100%}.task-header-row.clickable{cursor:pointer}.task-title-section{flex:1;display:flex;flex-direction:column;gap:4px}.task-text{font-size:15px;font-weight:500;color:#333;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.task-description{font-size:13px;color:#666;line-height:1.4}.task-date-section{display:flex;align-items:center;gap:8px}.task-date{font-size:12px;color:#4a90e2;font-weight:500;white-space:nowrap;padding:4px 8px;background:#e8f4fd;border-radius:6px}.task-date.today{background:#4a90e2;color:#fff;font-weight:600}.expand-icon{font-size:12px;color:#4a90e2;cursor:pointer}.task-item.completed .task-text{text-decoration:line-through;color:#999}.task-explanation-text{font-size:14px;color:#666;line-height:1.6;margin:8px 0}.task-guide,.task-websites{margin-top:12px;font-size:14px}.task-guide strong,.task-websites strong{color:#333;display:block;margin-bottom:6px}.task-steps{margin:8px 0 0 20px;padding:0;color:#666;line-height:1.8}.task-steps li{margin-bottom:6px}.website-list{margin:8px 0 0 20px;padding:0;list-style:none}.website-list li{margin-bottom:6px}.website-list a{color:#4a90e2;text-decoration:none;font-size:14px}.website-list a:hover{text-decoration:underline}.task-details{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.loading-guide,.no-guide{padding:12px;text-align:center;color:#999;font-size:14px;font-style:italic}@media (max-width: 480px){.goal-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.goal-header-right{width:100%;justify-content:space-between}.progress-bar-container{width:100%;flex:1}.goal-info{width:100%}.goal-info h3{font-size:16px;word-wrap:break-word;overflow-wrap:break-word}.goal-details{padding:16px;width:100%;overflow-x:hidden}.goal-actions{width:100%;flex-direction:column}.goal-action-btn{width:100%}.task-item{flex-direction:column;align-items:flex-start}.task-header-row{flex-direction:column;align-items:flex-start;gap:8px}.task-date-section{width:100%;justify-content:flex-start}}.coach-chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.coach-chat-modal{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;width:100%;max-width:440px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.coach-chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee;background:#e8f4fd}.coach-chat-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.coach-chat-close{width:36px;height:36px;border:none;background:transparent;font-size:24px;line-height:1;color:#666;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.coach-chat-close:hover{background:#0000000f;color:#333}.coach-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.coach-chat-placeholder{color:#999;font-size:14px;margin:0;text-align:center;padding:24px 16px}.coach-message{max-width:85%;padding:12px 16px;border-radius:12px;font-size:15px;line-height:1.5}.coach-message-user{align-self:flex-end;background:#4a90e2;color:#fff}.coach-message-assistant{align-self:flex-start;background:#f0f0f0;color:#333}.coach-message-assistant.coach-loading{opacity:.7;font-style:italic}.coach-chat-input-wrap{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #eee;background:#f8f9fa}.coach-chat-input{flex:1;padding:12px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:15px;transition:border-color .2s}.coach-chat-input:focus{outline:none;border-color:#4a90e2}.coach-chat-input:disabled{opacity:.7;cursor:not-allowed}.coach-chat-send{padding:12px 20px;background:#4a90e2;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.coach-chat-send:hover:not(:disabled){background:#357abd}.coach-chat-send:disabled{opacity:.5;cursor:not-allowed}.daily-task-container{animation:fadeIn .3s ease-in;width:100%;overflow-x:hidden}.daily-tasks-header{margin-bottom:20px;padding:0 4px}.daily-tasks-header h2{font-size:22px;font-weight:700;background:linear-gradient(135deg,#4a90e2,#7b5cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.tasks-subtitle{font-size:14px;color:#666;margin:0}.all-tasks-list{display:flex;flex-direction:column;gap:16px}.task-card-item{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:16px;padding:20px;box-shadow:0 4px 16px #4a90e226;width:100%;max-width:100%;overflow-x:hidden;border:2px solid rgba(74,144,226,.1)}.task-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.task-card-info{flex:1;min-width:0}.task-card-goal-title{font-size:14px;font-weight:600;color:#4a90e2;margin-bottom:4px;word-wrap:break-word;overflow-wrap:break-word}.task-card-date-container{display:flex;align-items:center;gap:8px}.task-card-date{font-size:12px;color:#666}.view-details-link{font-size:10px;color:#4a90e2;cursor:pointer;text-decoration:underline;opacity:.8;transition:opacity .2s}.view-details-link:hover{opacity:1}.task-card-actions{flex-shrink:0}.task-done-checkbox-label-small{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;font-weight:500;color:#333}.task-done-checkbox-label-small input[type=checkbox]{width:18px;height:18px;accent-color:#4a90e2;cursor:pointer}.task-card-content{margin-bottom:12px}.task-card-title{font-size:16px;font-weight:600;color:#333;margin-bottom:8px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.task-card-description{font-size:14px;color:#666;line-height:1.5;margin:0;word-wrap:break-word;overflow-wrap:break-word}.expand-details-button-small{width:100%;padding:10px 14px;background:linear-gradient(135deg,#4a90e2,#7b5cff);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-width:0;box-sizing:border-box;box-shadow:0 2px 8px #4a90e24d}.expand-details-button-small:hover{background:linear-gradient(135deg,#357abd,#6a4ce6);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}.daily-task-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000001a;width:100%;max-width:100%;overflow-x:hidden}.goal-selector{margin-bottom:24px}.goal-selector label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#333}.goal-select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;background:#fff;color:#333}.goal-select:focus{outline:none;border-color:#4a90e2}.task-header-section{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.task-header-section h2{font-size:22px;font-weight:700;color:#333;margin-bottom:12px}.goal-description{font-size:15px;color:#666;line-height:1.6}.task-content-section{display:flex;flex-direction:column;gap:24px}.task-description{font-size:15px;color:#666;line-height:1.6;margin-top:8px}.task-expand-section{margin-top:20px}.expand-details-button{width:100%;max-width:100%;padding:14px;background:#4a90e2;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-width:0;box-sizing:border-box}.expand-details-button:hover{background:#357abd;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.task-details-expanded{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:12px}.loading-guide,.no-guide{padding:20px;text-align:center;color:#999;font-size:14px;font-style:italic}.task-websites-section{margin-top:20px}.task-websites-section h4{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.task-websites-section .website-list{list-style:none;padding:0;margin:0}.task-websites-section .website-list li{margin-bottom:8px}.task-websites-section .website-list a{color:#4a90e2;text-decoration:none;font-size:14px}.task-websites-section .website-list a:hover{text-decoration:underline}.task-main{padding:20px;background:#e8f4fd;border-radius:12px;border-left:4px solid #4a90e2}.task-title{font-size:18px;font-weight:600;color:#333;line-height:1.5;margin:0}.task-explanation-section,.task-guide-section{padding:20px;background:#f8f9fa;border-radius:12px}.task-explanation-section h4,.task-guide-section h4{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.task-explanation{font-size:15px;color:#666;line-height:1.7;margin:0}.guide-steps{display:flex;flex-direction:column;gap:12px}.guide-step{display:flex;gap:12px;align-items:flex-start}.step-number{width:28px;height:28px;background:#4a90e2;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.step-text{flex:1;font-size:15px;color:#666;line-height:1.6;padding-top:4px}.guide-text{font-size:15px;color:#666;line-height:1.7;margin:0}.task-done-section{margin-top:20px;padding-top:16px;border-top:1px solid #e0e0e0}.task-done-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;font-weight:500;color:#333}.task-done-checkbox{width:20px;height:20px;accent-color:#4a90e2;cursor:pointer}.coach-cta-section{margin-top:16px;padding:16px;background:#e8f4fd;border-radius:12px;border:1px solid rgba(74,144,226,.3)}.coach-cta-text{margin:0 0 12px;font-size:14px;color:#333;line-height:1.5}.coach-cta-button{width:100%;padding:12px 16px;background:#4a90e2;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .3s}.coach-cta-button:hover{background:#357abd}@media (max-width: 480px){.daily-task-card{padding:20px}.task-header-section h2{font-size:20px}.task-title{font-size:16px}.task-main,.task-explanation-section,.task-guide-section{padding:16px}}.user-settings-container{animation:fadeIn .3s ease-in}.user-settings-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000001a}.user-settings-card h2{font-size:24px;font-weight:700;color:#333;margin-bottom:24px}.user-info-section{margin-bottom:32px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-label{font-size:15px;font-weight:500;color:#666}.info-value{font-size:15px;color:#333}.logout-button{width:100%;padding:16px;background:#f44;color:#fff;border-radius:12px;font-size:16px;font-weight:600;transition:all .3s}.logout-button:hover{background:#c00;transform:translateY(-1px);box-shadow:0 4px 12px #ff44444d}@media (max-width: 480px){.user-settings-card{padding:20px}.user-settings-card h2{font-size:20px}}.home-page{min-height:100vh;min-height:-webkit-fill-available;background:linear-gradient(135deg,#e8f4fd,#f0e8ff,#ffe8f0);padding-bottom:40px;width:100%;overflow-x:hidden;position:relative}.home-header{background:linear-gradient(135deg,#fff,#f8f9ff);padding:16px 20px 12px;padding-top:max(16px,env(safe-area-inset-top,0px) + 8px);padding-bottom:max(12px,env(safe-area-inset-bottom,0px) + 12px);box-shadow:0 4px 16px #4a90e226;width:100%;position:relative;z-index:10;border-bottom:3px solid #4a90e2}.header-content{max-width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;width:100%;box-sizing:border-box;position:relative}.logo-section{flex:1;text-align:center;min-width:0;overflow:hidden}.home-header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,#4a90e2,#7b5cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;word-wrap:break-word;overflow-wrap:break-word}.slogan{font-size:14px;color:#666;margin:0;word-wrap:break-word;overflow-wrap:break-word}.user-account{position:absolute;top:8px!important;right:20px;z-index:100;flex-shrink:0}.user-menu-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#4a90e2,#7b5cff);border:none;border-radius:12px;cursor:pointer;transition:all .3s;white-space:nowrap;max-width:200px;overflow:hidden;min-width:0;word-wrap:break-word;overflow-wrap:break-word;box-shadow:0 2px 8px #4a90e24d}.user-menu-button:hover{background:#4a90e2;color:#fff}.user-menu-button:hover .user-name{color:#fff}.user-name{font-size:14px;color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.user-menu-icon{font-size:10px;color:#fff;transition:transform .3s}.user-menu-button:hover .user-menu-icon{color:#fff}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;padding:16px;min-width:200px;z-index:1000}.user-menu-item{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid #f0f0f0}.user-menu-item:last-of-type{border-bottom:none;padding-bottom:0}.menu-label{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.5px}.menu-value{font-size:14px;color:#333;font-weight:500}.logout-menu-button{width:100%;padding:12px;background:#f44;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:12px}.logout-menu-button:hover{background:#c00}.tabs-container{max-width:100%;margin:16px auto;display:flex;gap:8px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 2px 8px #00000014;width:100%;box-sizing:border-box;overflow-x:hidden}.tab{flex:1;padding:12px 8px;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#666;transition:all .3s;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word}.tab.active{background:linear-gradient(135deg,#4a90e2,#7b5cff);color:#fff;box-shadow:0 2px 8px #4a90e266;font-weight:600}.goal-creation-banner{background:#e8f4fd;border:2px solid #4a90e2;border-radius:12px;padding:12px 16px;margin:16px;display:flex;align-items:center;gap:12px;font-size:14px;color:#4a90e2;font-weight:500;box-shadow:0 2px 8px #4a90e233}.spinner-small{width:16px;height:16px;border:2px solid rgba(74,144,226,.3);border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.home-content{max-width:100%;margin:20px auto;padding:0 16px;width:100%;overflow-x:hidden;padding-bottom:max(20px,env(safe-area-inset-bottom,0px) + 20px)}@media (max-width: 768px){.home-header{padding:20px 16px 16px;padding-top:max(20px,env(safe-area-inset-top,0px) + 16px);padding-bottom:max(16px,env(safe-area-inset-bottom,0px) + 16px)}.home-header h1{font-size:22px;word-wrap:break-word;overflow-wrap:break-word}.slogan{font-size:12px;word-wrap:break-word;overflow-wrap:break-word}.user-account{top:6px!important;right:16px}.user-menu-button{padding:6px 12px;max-width:150px}.user-name{font-size:12px;max-width:100px}.tabs-container{margin:12px auto;padding:6px;gap:4px;width:calc(100% - 32px);max-width:100%}.tab{padding:10px 4px;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-content{margin:16px auto;padding:0 12px;width:100%;max-width:100%}}.notification-banner{margin:8px 16px;padding:12px 14px;background:linear-gradient(135deg,#fff4e5,#ffe0cc);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#7a4b00;box-shadow:0 2px 8px #0000000f;position:relative}.notification-close{position:absolute;top:6px;right:6px;background:#7a4b0026;border:none;color:#7a4b00;font-size:20px;font-weight:700;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .2s;z-index:10;flex-shrink:0}.notification-close:hover{background:#7a4b0040}.notification-close:active{background:#7a4b0059}.notification-text{flex:1}.notification-button{border:none;background:#ff9500;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.notification-button:hover{background:#e27f00}.notification-warning{margin:4px 16px 0;padding:10px 12px;border-radius:10px;background:#fff5f5;color:#b3261e;font-size:12px}.user-menu-divider{height:1px;background:#e0e0e0;margin:8px 0}.settings-toggle-button{width:100%;padding:12px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#333;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.settings-toggle-button:hover{background:#f8f9fa}.settings-panel{padding:12px 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;margin:8px 0}.settings-section{margin-bottom:16px}.settings-section:last-child{margin-bottom:0}.settings-section h4{font-size:13px;font-weight:600;color:#666;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.settings-checkbox{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;font-size:14px;color:#333}.settings-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#4a90e2;cursor:pointer}.settings-input-group{margin-bottom:12px}.settings-input-group label{display:block;font-size:12px;font-weight:600;color:#666;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.settings-input{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;transition:border-color .2s;box-sizing:border-box}.settings-input:focus{outline:none;border-color:#4a90e2}.settings-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.settings-button{width:100%;padding:10px;background:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:8px}.settings-button:hover{background:#357abd}.app-footer{margin-top:40px;padding:24px 16px;text-align:center;border-top:1px solid rgba(74,144,226,.2)}.footer-links{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.footer-link{color:#4a90e2;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.footer-link:hover{color:#357abd;text-decoration:underline}.footer-separator{color:#999;font-size:14px}.footer-copyright{font-size:12px;color:#999;margin-top:8px}@media (max-width: 480px){.home-header{padding:20px 12px 12px;padding-top:max(20px,env(safe-area-inset-top,0px) + 12px);padding-bottom:max(12px,env(safe-area-inset-bottom,0px) + 12px)}.home-header h1{font-size:20px}.slogan{font-size:11px}.user-menu-button{padding:6px 10px;max-width:120px}.user-name{font-size:11px;max-width:80px}.tabs-container{margin:10px auto;padding:4px;gap:2px;width:calc(100% - 24px)}.tab{padding:8px 4px;font-size:10px}.home-content{margin:12px auto;padding:0 12px}}.support-page{min-height:100vh;padding:24px 16px;background:linear-gradient(135deg,#e8f4fd,#f0e8ff,#ffe8f0);overflow-y:auto;-webkit-overflow-scrolling:touch}.support-container{max-width:800px;margin:0 auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 16px #0000001a}.support-container h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,#4a90e2,#7b5cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.support-section{margin-top:32px}.support-section h2{font-size:20px;font-weight:600;color:#333;margin-bottom:12px}.support-section p{color:#666;line-height:1.6;margin-bottom:8px}.faq-item{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.faq-item:last-child{border-bottom:none}.faq-item h3{font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.faq-item p{color:#666;line-height:1.6}@media (max-width: 480px){.support-container{padding:20px}}.privacy-page{min-height:100vh;padding:24px 16px;background:linear-gradient(135deg,#e8f4fd,#f0e8ff,#ffe8f0);overflow-y:auto;-webkit-overflow-scrolling:touch}.back-button{padding:10px 16px;margin-bottom:20px;background:linear-gradient(135deg,#4a90e2,#7b5cff);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.back-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #4a90e24d}.privacy-container{max-width:800px;margin:0 auto;background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 16px #0000001a}.privacy-container h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,#4a90e2,#7b5cff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.last-updated{color:#999;font-size:14px;margin-bottom:32px}.privacy-section{margin-top:32px}.privacy-section h2{font-size:20px;font-weight:600;color:#333;margin-bottom:12px}.privacy-section p{color:#666;line-height:1.6;margin-bottom:12px}.privacy-section ul{color:#666;line-height:1.8;margin-left:20px;margin-bottom:12px}.privacy-section li{margin-bottom:8px}@media (max-width: 480px){.privacy-container{padding:20px}}.app{min-height:100vh;min-height:-webkit-fill-available;width:100%;overflow-x:hidden;position:relative}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e8f4fd;min-height:100vh;min-height:-webkit-fill-available;color:#333;overflow-x:hidden;position:relative;width:100%;max-width:100vw;word-wrap:break-word;overflow-wrap:break-word}#root{min-height:100vh;min-height:-webkit-fill-available;width:100%;max-width:100vw;overflow-x:hidden;position:relative;word-wrap:break-word;overflow-wrap:break-word}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea{font-family:inherit;outline:none}
