@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);*{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}:root{--primary-blue:#007aff;--text-primary:#000;--text-secondary:#6b6b6b;--text-tertiary:#999;--background:#fff;--background-secondary:#f5f5f5;--border-light:#e5e5e5;--success:#34c759;--warning:#ff9500;--error:#ff3b30;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-lg:17px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:34px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px}button{border:none;cursor:pointer}button,input{font-family:inherit;outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#c7c7c7;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.container{margin:0 auto;max-width:480px;padding:0 16px}.text-center{text-align:center}.text-primary{color:#000;color:var(--text-primary)}.text-secondary{color:#6b6b6b;color:var(--text-secondary)}.text-tertiary{color:#999;color:var(--text-tertiary)}.mt-sm{margin-top:8px;margin-top:var(--spacing-sm)}.mt-md{margin-top:16px;margin-top:var(--spacing-md)}.mt-lg{margin-top:24px;margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:8px;margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:16px;margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.auth-page{align-items:center;background:#0d1117;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-container{background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 8px 24px #0006;max-width:340px;padding:24px;width:100%}.auth-logo{background:#21262d;border:1px solid #30363d;border-radius:6px;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.auth-logo,.auth-logo-circles{align-items:center;display:flex}.auth-logo-circles{flex-direction:column;gap:4px}.auth-logo-circle{background:#539bf5;border-radius:50%;height:12px;width:12px}.auth-logo-circle.small{height:8px;width:8px}.auth-form{gap:16px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-label{font-weight:600;padding-left:0}.form-input,.form-label{color:#e6edf3;font-size:14px}.form-input{background:#0d1117;border:1px solid #30363d;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;line-height:20px;outline:none;padding:5px 12px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.form-input::placeholder{color:#6e7681}.form-input:focus{background:#010409;border-color:#539bf5;box-shadow:0 0 0 3px #539bf54d}.auth-button{background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin-top:8px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.auth-button:hover{background:#2ea043}.auth-button:active{background:#26a148;box-shadow:inset 0 1px 0 #00000026}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-footer{border-top:1px solid #21262d;color:#8d96a0;font-size:14px;margin-top:24px;padding-top:16px;text-align:center}.auth-link{color:#539bf5;cursor:pointer;font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.error-message{background:#2d1117;border:1px solid #f85149;border-radius:6px;color:#ff7b72}.error-message,.success-message{font-size:14px;padding:8px 12px;text-align:left}.success-message{background:#0d1117;border:1px solid #238636;border-radius:6px;color:#3fb950}@media (max-width:480px){.auth-container{padding:16px}.auth-logo{height:60px;margin-bottom:20px;width:60px}}:root{--nav-bg:#161b22;--nav-border:#30363d;--nav-active:#539bf5;--nav-muted:#8d96a0;--nav-hover:#21262d;--nav-shadow:0 -1px 0 #30363d80}.bottom-nav{background:#161b22;background:var(--nav-bg);border-top:1px solid #30363d;border-top:1px solid var(--nav-border);bottom:0;box-shadow:0 -1px 0 #30363d80;box-shadow:var(--nav-shadow);left:0;padding:8px 8px 12px;position:fixed;right:0;z-index:1000}.bottom-nav-items{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:420px}.bottom-nav-item{align-items:center;background:none;border:none;border-radius:6px;color:#8d96a0;color:var(--nav-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:12px;font-weight:500;gap:4px;padding:6px 8px;transition:all .2s cubic-bezier(.3,0,.5,1)}.bottom-nav-item:hover{background:#21262d;background:var(--nav-hover);color:#e6edf3}.bottom-nav-icon{align-items:center;display:flex;height:24px;justify-content:center;transition:all .2s ease;width:24px}.bottom-nav-item.active,.bottom-nav-item.active .bottom-nav-icon{color:#539bf5;color:var(--nav-active)}.bottom-nav-label{line-height:1}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}:root{--gh-primary:#539bf5;--gh-primary-soft:#1c2d41;--gh-bg-light:#0d1117;--gh-text-main:#e6edf3;--gh-text-muted:#8d96a0;--gh-radius:6px;--gh-shadow-soft:0 0 #0000,0 0 #0000,0 1px 3px #0000001f,0 1px 2px #0000003d}.dashboard-page{background:#0d1117;background:var(--gh-bg-light);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;min-height:100vh;padding:16px 16px 96px}.dashboard-header{align-items:center;display:flex;height:60px;justify-content:space-between;margin-bottom:16px}.dashboard-logo{align-items:center;display:flex;height:100%}.dashboard-logo-img{filter:brightness(0) invert(1);height:90%;object-fit:contain;width:auto}.dashboard-header-actions{align-items:center;display:flex;gap:8px}.streak-pill{background:#539bf5;background:var(--gh-primary);border:1px solid #f0f6fc1a;border-radius:999px;color:#fff;font-size:12px;font-weight:600;padding:3px 10px}.update-today-header-button{align-items:center;background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s cubic-bezier(.3,0,.5,1);width:40px}.update-today-header-button:hover{background:#2ea043}.update-today-header-button:active{background:#26a148;box-shadow:inset 0 1px 0 #00000026}.update-today-header-button:disabled{opacity:.6}.dashboard-title{color:#e6edf3;color:var(--gh-text-main);font-size:32px;font-weight:600;line-height:1.25;margin-bottom:4px}.dashboard-subtitle{color:#8d96a0;color:var(--gh-text-muted);font-size:16px;line-height:1.5;margin-bottom:24px}.quote-section{background:#161b22;border:1px solid #30363d;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--gh-shadow-soft);margin-bottom:24px;padding:16px}.quote-icon{font-size:20px;margin-bottom:8px}.quote-text{color:#e6edf3;color:var(--gh-text-main);font-size:14px;line-height:1.5}.quote-loading{color:#8d96a0;color:var(--gh-text-muted);font-size:14px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.stat-card{background:#161b22;border:1px solid #30363d;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--gh-shadow-soft);padding:16px}.stat-icon{font-size:18px;margin-bottom:8px}.stat-value{color:#e6edf3;color:var(--gh-text-main);font-size:24px;font-weight:600;line-height:1}.stat-unit{font-weight:500;margin-left:4px}.stat-label,.stat-unit{color:#8d96a0;color:var(--gh-text-muted);font-size:14px}.goals-status-section,.stat-label{margin-top:8px}.section-header{margin-bottom:16px}.section-title{color:var(--gh-text-main);font-size:20px}.goal-status-card{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--gh-shadow-soft);display:flex;justify-content:space-between;padding:12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.goal-status-card:hover{border-color:#8d96a0}.goal-status-card.completed{background:#0d1117;border-color:#238636}.goal-status-card.partial{background:#2d2001;border-color:#d29922}.goal-status-card.incomplete{background:#2d1117;border-color:#f85149}.goal-status-icon{font-size:24px}.goal-status-info{flex:1 1;margin-left:12px}.goal-status-name{color:#e6edf3;color:var(--gh-text-main);font-size:14px;font-weight:600}.goal-status-meta{color:#8d96a0;color:var(--gh-text-muted);font-size:12px}.goal-status-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:flex;font-size:12px;font-weight:500;gap:4px;line-height:18px;padding:0 7px}.goal-status-badge.completed{background:#0d1117;border-color:#238636;color:#3fb950}.goal-status-badge.partial{background:#2d2001;border-color:#d29922;color:#e3b341}.goal-status-badge.incomplete{background:#2d1117;border-color:#f85149;color:#ff7b72}.empty-goals-dashboard{background:#161b22;border:1px solid #30363d;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--gh-shadow-soft);padding:40px 20px;text-align:center}.empty-goals-dashboard-icon{color:#8d96a0;color:var(--gh-text-muted);font-size:40px;margin-bottom:12px}.empty-goals-dashboard-text{color:#8d96a0;color:var(--gh-text-muted);font-size:14px;margin-bottom:16px}.empty-goals-dashboard-button{align-items:center;background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;line-height:20px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1)}.empty-goals-dashboard-button:hover{background:#2ea043}.loading-container{color:var(--gh-text-muted)}.error-container,.loading-container{padding:20px;text-align:center}.error-retry-button{background:#539bf5;border:1px solid #f0f6fc1a;border-radius:6px;border-radius:var(--gh-radius);box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:12px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1)}.error-retry-button:hover{background:#6cb6ff}.commitment-page{background:#0d1117;min-height:100vh;padding-bottom:40px}.commitment-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;gap:12px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.back-button{align-items:center;background:none;border:none;border-radius:6px;color:#539bf5;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s cubic-bezier(.3,0,.5,1)}.back-button:hover{background:#21262d}.back-button:active{background:#30363d}.commitment-header-title{color:#e6edf3;flex:1 1;font-size:16px;font-weight:600}.commitment-content{margin:0 auto;max-width:600px;padding:24px 16px}.commitment-date{margin-bottom:24px;padding:16px 0;text-align:center}.date-label{color:#8d96a0;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.date-value{color:#e6edf3;font-size:20px;font-weight:600}.rating-section{background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 0 #0000,0 0 #0000,0 1px 3px #0000001f;margin-bottom:32px;padding:24px}.section-title{margin-bottom:20px;text-align:center}.rating-stars-container{display:flex;gap:12px;justify-content:center;padding:12px 0}.star-button{background:none;border:none;border-radius:6px;cursor:pointer;padding:8px;transition:all .2s cubic-bezier(.3,0,.5,1)}.star-button:hover{background:#21262d;transform:scale(1.1)}.star-button:active{transform:scale(.95)}.star-icon{color:#30363d;height:40px;transition:all .2s;width:40px}.star-icon.filled{color:#d29922}.goals-checklist-section{margin-bottom:32px}.goals-checklist{display:flex;flex-direction:column;gap:8px}.goal-item{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:6px;display:flex;gap:12px;padding:12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.goal-item:hover{border-color:#8d96a0;box-shadow:0 3px 6px #0000004d}.goal-checkbox-wrapper{align-items:center;display:flex;flex-shrink:0}.goal-checkbox{align-items:center;background:#0d1117;border:1px solid #30363d;border-radius:6px;cursor:pointer;display:flex;height:20px;justify-content:center;transition:all .2s cubic-bezier(.3,0,.5,1);width:20px}.goal-checkbox:hover{background:#161b22;border-color:#539bf5}.goal-checkbox.checked{background:#539bf5;border-color:#539bf5}.goal-checkbox input[type=checkbox]{display:none}.check-icon{color:#fff;height:14px;width:14px}.goal-info{align-items:center;display:flex;flex:1 1;gap:12px}.goal-icon{flex-shrink:0;font-size:24px}.goal-details{flex:1 1;min-width:0}.goal-name{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:2px}.goal-meta{color:#8d96a0;font-size:12px}.goal-numeric-input-wrapper{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.goal-numeric-input{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;font-weight:600;outline:none;padding:5px 12px;text-align:center;transition:all .2s cubic-bezier(.3,0,.5,1);width:80px}.goal-numeric-input:focus{background:#010409;border-color:#539bf5;box-shadow:0 0 0 3px #539bf54d}.goal-numeric-input:hover{border-color:#8d96a0}.goal-unit{color:#8d96a0;font-size:12px;font-weight:500;min-width:50px}.notes-section{margin-bottom:24px}.notes-label{color:#e6edf3;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.notes-subtext{color:#8d96a0;font-size:12px;margin-bottom:8px}.notes-textarea{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;min-height:120px;outline:none;padding:8px 12px;resize:vertical;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.notes-textarea::placeholder{color:#6e7681}.notes-textarea:focus{background:#010409;border-color:#539bf5;box-shadow:0 0 0 3px #539bf54d}.notes-textarea:hover{border-color:#8d96a0}.save-button{background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin-bottom:16px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.save-button:hover{background:#2ea043}.save-button:active{background:#26a148;box-shadow:inset 0 1px 0 #00000026}.save-button:disabled{cursor:not-allowed;opacity:.6}.success-banner{align-items:center;animation:slideDown .3s ease-out;background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;box-shadow:0 8px 24px #23863666;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;left:50%;padding:8px 16px;position:fixed;top:20px;transform:translateX(-50%);z-index:2000}.empty-goals-state{background:#161b22;border:1px dashed #30363d;border-radius:6px;color:#8d96a0;padding:60px 20px;text-align:center}.empty-goals-icon{opacity:.6}.empty-goals-text{margin-bottom:20px}.empty-goals-button{align-items:center;background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:5px 16px;text-decoration:none;transition:all .2s cubic-bezier(.3,0,.5,1)}.empty-goals-button:hover{background:#2ea043}.loading-container{align-items:center;color:#8d96a0;display:flex;font-size:14px;justify-content:center;min-height:300px}@media (max-width:480px){.commitment-content{padding:20px 12px}.rating-stars-container{gap:8px}.star-icon{height:36px;width:36px}.goal-numeric-input{font-size:13px;width:70px}.notes-textarea{min-height:100px}.date-value{font-size:18px}.goals-checklist-section,.rating-section{margin-bottom:24px}}.goal-item{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.back-button:focus-visible,.save-button:focus-visible,.star-button:focus-visible{outline:2px solid #539bf5;outline-offset:2px}.goal-checkbox:focus-visible{outline:2px solid #539bf5;outline-offset:2px}.goals-page{background:#0d1117;min-height:100vh;padding-bottom:80px}.goals-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;padding:12px 16px}.goals-header-left{align-items:center;display:flex;gap:12px}.goals-header-title{color:#e6edf3;font-size:16px;font-weight:600}.add-goal-icon-button{align-items:center;background:none;border:none;border-radius:6px;color:#539bf5;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s cubic-bezier(.3,0,.5,1)}.add-goal-icon-button:hover{background:#0d1117}.goals-content{margin:0 auto;max-width:480px;padding:24px 16px}.goals-subtitle{color:#8d96a0;font-size:12px;margin-bottom:24px;padding:0 4px}.goals-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.goal-card{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.goal-card:hover{border-color:#8d96a0;box-shadow:0 3px 6px #8c959f26}.goal-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.goal-card-main{align-items:center;display:flex;flex:1 1;gap:12px}.goal-card-icon{flex-shrink:0;font-size:24px}.goal-card-info{flex:1 1;min-width:0}.goal-card-name{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:2px}.goal-card-meta{color:#8d96a0;font-size:12px}.toggle-switch{flex-shrink:0;height:24px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#eaeef2;border:1px solid #30363d;border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.toggle-slider,.toggle-slider:before{position:absolute;transition:.2s cubic-bezier(.3,0,.5,1)}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:2px;content:"";height:18px;left:2px;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:#539bf5;border-color:#539bf5}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.goal-card-actions{border-top:1px solid #30363d;display:flex;gap:8px;margin-top:12px;padding-top:12px}.goal-action-button{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:500;gap:6px;justify-content:center;line-height:20px;padding:5px 12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.goal-action-button:hover{background:#0d1117}.goal-action-button.edit{color:#539bf5}.goal-action-button.edit:hover{background:#ddf4ff;border-color:#539bf5}.goal-action-button.remove{color:#f85149}.goal-action-button.remove:hover{background:#2d1117;border-color:#f85149}.add-goal-section{margin-top:32px}.add-goal-button{align-items:center;background:#238636;border:1px solid #1f232826;border-radius:6px;color:#161b22;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;line-height:20px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.add-goal-button:hover{background:#2ea043}.add-goal-button:active{background:#18762f}.modal-overlay{align-items:flex-end;animation:fadeIn .2s ease-out;background:#1f232880;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:slideUp .3s ease-out;background:#161b22;border:1px solid #30363d;border-bottom:none;border-radius:6px 6px 0 0;max-height:90vh;max-width:480px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;padding:16px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-title{color:#e6edf3;font-size:16px;font-weight:600}.modal-close-button{align-items:center;background:none;border:none;border-radius:6px;color:#8d96a0;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s cubic-bezier(.3,0,.5,1)}.modal-close-button:hover{background:#0d1117}.modal-body{padding:16px}.form-field{margin-bottom:16px}.form-field-label{color:#e6edf3;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-field-hint{color:#8d96a0;font-size:12px;margin-top:4px}.form-text-input{background:#161b22;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;outline:none;padding:5px 12px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.form-text-input:focus{border-color:#539bf5;outline:2px solid #539bf5;outline-offset:-1px}.form-text-input::placeholder{color:#8d96a0}.type-selector{display:flex;gap:8px}.type-option{background:#161b22;border:1px solid #30363d;border-radius:6px;cursor:pointer;flex:1 1;padding:12px;text-align:center;transition:all .2s cubic-bezier(.3,0,.5,1)}.type-option:hover{background:#0d1117;border-color:#8d96a0}.type-option.selected{background:#ddf4ff;border-color:#539bf5}.type-option-label{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:4px}.type-option-desc{color:#8d96a0;font-size:12px}.numeric-fields{display:flex;gap:8px}.numeric-fields .form-field{flex:1 1}.category-select{background:#161b22;border:1px solid #30363d;border-radius:6px;color:#e6edf3;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;outline:none;padding:5px 12px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.category-select:focus{border-color:#539bf5;outline:2px solid #539bf5;outline-offset:-1px}.icon-input{background:#161b22;border:1px solid #30363d;border-radius:6px;font-size:24px;outline:none;padding:8px 12px;text-align:center;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.icon-input:focus{border-color:#539bf5;outline:2px solid #539bf5;outline-offset:-1px}.form-submit-button{background:#238636;border:1px solid #1f232826;border-radius:6px;color:#161b22;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin-top:8px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.form-submit-button:hover{background:#2ea043}.form-submit-button:active{background:#18762f}.form-submit-button:disabled{cursor:not-allowed;opacity:.6}.empty-goals{padding:60px 20px;text-align:center}.empty-goals-icon{color:#8d96a0;font-size:64px;margin-bottom:16px}.empty-goals-title{color:#e6edf3;font-size:20px;font-weight:600;margin-bottom:8px}.empty-goals-text{color:#8d96a0;font-size:14px;line-height:1.5;margin-bottom:24px}@media (min-width:640px){.modal-content{border:1px solid #30363d;border-radius:6px;margin:40px;max-height:calc(100vh - 80px)}}@media (max-width:480px){.goals-content{padding:20px 12px}}.emoji-picker-container{position:relative;width:100%}.emoji-input-wrapper{align-items:center;display:flex;gap:12px}.emoji-display-button{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;height:80px;justify-content:center;transition:all .2s cubic-bezier(.3,0,.5,1);width:80px}.emoji-display-button:hover{background:#21262d;border-color:#539bf5}.emoji-display-button:active{transform:scale(.98)}.emoji-display{font-size:40px;line-height:1}.emoji-text-input{background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3;flex:1 1;font-size:14px;outline:none;padding:5px 12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.emoji-text-input:focus{background:#010409;border-color:#539bf5;box-shadow:0 0 0 3px #539bf54d}.emoji-text-input::placeholder{color:#6e7681}.emoji-picker-dropdown{animation:slideDown .2s ease-out;background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 8px 24px #0006;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.emoji-picker-header{background:#161b22;border-bottom:1px solid #30363d;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.emoji-picker-title{color:#e6edf3;font-size:14px;font-weight:600}.emoji-picker-content{padding:8px}.emoji-category{margin-bottom:16px}.emoji-category:last-child{margin-bottom:8px}.emoji-category-title{color:#8d96a0;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 8px 4px;text-transform:uppercase}.emoji-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));padding:4px}.emoji-option{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:0;transition:all .15s cubic-bezier(.3,0,.5,1);width:40px}.emoji-option:hover{background:#21262d;transform:scale(1.1)}.emoji-option:active{transform:scale(.95)}.emoji-option.selected{background:#1c2d41;border:1px solid #539bf5}.emoji-picker-dropdown::-webkit-scrollbar{width:8px}.emoji-picker-dropdown::-webkit-scrollbar-track{background:#0d1117;border-radius:0 6px 6px 0}.emoji-picker-dropdown::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.emoji-picker-dropdown::-webkit-scrollbar-thumb:hover{background:#8d96a0}@media (max-width:480px){.emoji-picker-dropdown{max-height:300px}.emoji-grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}.emoji-option{font-size:22px;height:36px;width:36px}}.bottom-navigation,.expense-item,.money-date-header,.money-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif}.money-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;padding:16px}.money-title{color:#e6edf3;font-size:20px;font-weight:600}.money-add-button{align-items:center;background:#238636;border:1px solid #f0f6fc1a;border-radius:6px;box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s cubic-bezier(.3,0,.5,1);width:40px}.money-add-button:hover{background:#2ea043}.money-date-header{align-items:center;background:#0d1117;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;padding:12px 16px}.date-nav-button{background:none;border:none;border-radius:6px;color:#8d96a0;cursor:pointer;padding:6px;transition:all .2s cubic-bezier(.3,0,.5,1)}.date-nav-button:hover{background:#21262d;color:#e6edf3}.money-date-center{align-items:center;display:flex;gap:8px}.money-date-text{color:#e6edf3;font-size:14px;font-weight:600}.calendar-button{background:none;border:none;border-radius:6px;color:#539bf5;cursor:pointer;padding:4px;transition:all .2s cubic-bezier(.3,0,.5,1)}.calendar-button:hover{background:#1c2d41}.money-content{background:#0d1117;padding:16px 16px 100px}.expense-list{display:flex;flex-direction:column;gap:8px}.expense-item{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:6px;display:flex;gap:12px;padding:12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.expense-item:hover{border-color:#8d96a0;box-shadow:0 3px 6px #0000004d}.expense-item-icon{align-items:center;background:#21262d;border-radius:6px;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.expense-item-info{flex:1 1;min-width:0}.expense-item-title{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:2px}.expense-item-category{color:#8d96a0;font-size:12px;line-height:1.3}.expense-item-amount{color:#e6edf3;font-size:14px;font-weight:600}.empty-expenses{padding:60px 20px;text-align:center}.empty-expenses-icon{color:#8d96a0;font-size:48px;margin-bottom:12px}.empty-expenses-text{color:#8d96a0;font-size:14px}.bottom-navigation{background:#161b22;border-top:1px solid #30363d;bottom:0;box-shadow:0 -1px 0 #30363d80;height:64px;justify-content:space-around;left:0;position:fixed;right:0;z-index:1000}.bottom-navigation,.nav-item{align-items:center;display:flex}.nav-item{background:none;border:none;border-radius:6px;color:#8d96a0;cursor:pointer;flex:1 1;flex-direction:column;font-size:12px;font-weight:500;gap:4px;justify-content:center;padding:8px;transition:all .2s cubic-bezier(.3,0,.5,1)}.nav-item:hover{background:#21262d;color:#e6edf3}.nav-item.active{color:#539bf5}.nav-icon{stroke-width:2}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-navigation{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}.expense-form-card{background:#161b22;border:1px solid #30363d;border-radius:6px;margin-bottom:16px;padding:16px}.expense-form-card-header{align-items:center;color:#e6edf3;display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:12px}.remove-expense-button{background:none;border:none;border-radius:6px;color:#f85149;cursor:pointer;font-size:18px;padding:4px;transition:all .2s cubic-bezier(.3,0,.5,1)}.remove-expense-button:hover{background:#2d1117}.add-another-expense-button{align-items:center;background:#161b22;border:1px dashed #30363d;border-radius:6px;color:#539bf5;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;line-height:20px;margin:8px 0 16px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.add-another-expense-button:hover{background:#21262d;border-color:#539bf5}.expense-item-left{align-items:center;display:flex;gap:12px}.expense-item-emoji{align-items:center;background:#21262d;border-radius:6px;display:flex;font-size:20px;height:36px;justify-content:center;width:36px}.expense-item-name{color:#e6edf3;font-size:14px;font-weight:600}.expense-item-note{color:#8d96a0;font-size:12px;margin-top:4px}.money-date-button{background:none;border:none;border-radius:6px;color:#539bf5;cursor:pointer;padding:6px;transition:all .2s cubic-bezier(.3,0,.5,1)}.money-date-button:hover{background:#1c2d41}.money-date-label{color:#e6edf3;font-size:14px;font-weight:600}:root{--gh-blue:#539bf5;--gh-blue-light:#6cb6ff;--gh-blue-dark:#4184e4;--gh-blue-subtle:#1c2d41;--gh-canvas-default:#0d1117;--gh-canvas-subtle:#161b22;--gh-canvas-inset:#010409;--gh-border-default:#30363d;--gh-border-muted:#21262d;--gh-fg-default:#e6edf3;--gh-fg-muted:#8d96a0;--gh-fg-subtle:#6e7681;--gh-fg-onEmphasis:#fff;--gh-success:#3fb950;--gh-success-subtle:#0d1117;--gh-success-bg:#26a148;--gh-attention:#d29922;--gh-attention-subtle:#1c2d41;--gh-danger:#f85149;--gh-danger-subtle:#1c2d41;--gh-done:#a371f7;--gh-done-subtle:#1c2d41;--primary:var(--gh-blue);--primary-soft:var(--gh-blue-subtle);--text-main:var(--gh-fg-default);--text-muted:var(--gh-fg-muted);--text-light:var(--gh-fg-subtle);--bg-main:var(--gh-canvas-default);--bg-card:var(--gh-canvas-subtle);--border-light:var(--gh-border-muted);--border-default:var(--gh-border-default);--radius-sm:6px;--radius-md:6px;--radius-lg:6px;--shadow-soft:0 0 #0000,0 0 #0000,0 1px 3px #0000001f,0 1px 2px #0000003d;--shadow-md:0 3px 6px #0000004d;--shadow-lg:0 8px 24px #0006;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}body,html{background:#0d1117;background:var(--bg-main);color:#e6edf3;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;margin:0;padding:0}.app-page{min-height:100vh;padding-bottom:88px}.app-card{background:#161b22;background:var(--bg-card);border:1px solid #30363d;border:1px solid var(--border-default);border-radius:6px;border-radius:var(--radius-lg);padding:16px;padding:var(--space-md)}.app-title{color:#e6edf3;color:var(--text-main);font-size:20px;font-weight:600}.app-subtitle{color:#8d96a0;color:var(--text-muted);font-size:14px;margin-top:4px}.section-title{color:#e6edf3;color:var(--text-main);font-size:16px;font-weight:600;margin-bottom:8px;margin-bottom:var(--space-sm)}.gh-btn{align-items:center;border:1px solid;border-radius:6px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;line-height:20px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1);vertical-align:middle;white-space:nowrap}.gh-btn-primary{background-color:#26a148;background-color:var(--gh-success-bg);border-color:#f0f6fc1a;box-shadow:0 0 #0000,0 0 #0000,0 1px 0 #0000001a;color:#fff;color:var(--gh-fg-onEmphasis)}.gh-btn-primary:hover{background-color:#3fb950;background-color:var(--gh-success)}.gh-btn-primary:active{background-color:#238636}.insights-page{background:#0d1117;min-height:100vh;padding-bottom:90px}.insights-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;display:flex;gap:12px;padding:16px}.insights-back-button{background:none;border:none;border-radius:6px;color:#539bf5;cursor:pointer;padding:6px;transition:all .2s cubic-bezier(.3,0,.5,1)}.insights-back-button:hover{background:#0d1117}.insights-title{color:#e6edf3;font-size:20px;font-weight:600}.insights-subtitle{color:#8d96a0;font-size:14px;margin-top:2px}.insights-tabs{background:#161b22;border-bottom:1px solid #30363d;display:flex;justify-content:space-around;padding:8px 16px 0}.insights-tab{background:none;border:none;border-radius:6px 6px 0 0;color:#8d96a0;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;position:relative;transition:all .2s cubic-bezier(.3,0,.5,1)}.insights-tab:hover{color:#e6edf3}.insights-tab.active{color:#539bf5;font-weight:600}.insights-tab.active:after{background:#f68e1f;bottom:-1px;content:"";height:2px;left:0;position:absolute;width:100%}.insights-content{display:flex;flex-direction:column;gap:12px;padding:16px}.mi-card{background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 1px 0 #1f23280a;padding:16px}.mi-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.mi-stat-row{align-items:center;display:flex;justify-content:space-between}.mi-title{color:#8d96a0;font-size:12px;font-weight:600}.mi-value{color:#539bf5;font-size:20px;font-weight:600;margin-top:4px}.mi-context{color:#8d96a0;font-size:12px;margin-top:2px}.mi-icon{align-items:center;background:#ddf4ff;border-radius:6px;color:#539bf5;display:flex;height:32px;justify-content:center;width:32px}.mi-highlight{color:#e6edf3;font-size:16px;font-weight:600;margin-top:6px}.budget-ring-wrapper{align-items:center;display:flex;justify-content:center;margin:20px 0;position:relative}.budget-ring-center{position:absolute;text-align:center}.budget-ring-percent{color:#e6edf3;font-size:32px;font-weight:600;line-height:1}.budget-ring-label{margin-top:4px}.budget-ring-amount,.budget-ring-label{color:#8d96a0;font-size:12px;font-weight:500}.budget-ring-amount{margin-top:6px}.budget-ring-stats{border-top:1px solid #30363d;display:flex;justify-content:space-around;margin-top:16px;padding-top:16px}.budget-ring-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.budget-stat-label{color:#8d96a0;font-size:12px}.budget-stat-value{color:#e6edf3;font-size:16px;font-weight:600}.budget-alert{align-items:center;border:1px solid;border-radius:6px;display:flex;gap:12px;padding:12px}.budget-alert-success{background:#0d1117;border-color:#2ea043}.budget-alert-warning{background:#2d2001;border-color:#d29922}.budget-alert-danger{background:#2d1117;border-color:#f85149}.budget-alert-icon{flex-shrink:0;font-size:20px}.budget-alert-content{flex:1 1}.budget-alert-title{font-size:14px;font-weight:600;margin-bottom:2px}.budget-alert-success .budget-alert-title{color:#116329}.budget-alert-warning .budget-alert-title{color:#7d4e00}.budget-alert-danger .budget-alert-title{color:#a40e26}.budget-alert-context{color:#8d96a0;font-size:12px}.heatmap-row{display:flex;gap:8px;margin-top:12px}.heatmap-cell{border:1px solid #30363d;border-radius:6px;height:24px;width:24px}.donut-wrapper{display:flex;justify-content:center;margin:16px 0;position:relative}.donut-center{color:#e6edf3;font-size:18px;font-weight:600;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.donut-center span{color:#8d96a0;display:block;font-size:12px;font-weight:500;margin-top:2px}.donut-legend{display:flex;flex-direction:column;gap:8px;margin-top:12px}.legend-row{align-items:center;color:#e6edf3;display:flex;font-size:14px;gap:8px}.legend-dot{border-radius:50%;height:10px;width:10px}.bar-chart{align-items:flex-end;height:160px;justify-content:space-between;margin-top:16px;padding:0 4px}.bar-chart,.bar-col{display:flex;gap:8px}.bar-col{align-items:center;flex:1 1;flex-direction:column;min-width:0}.bar{background:linear-gradient(180deg,#0a6edf,#539bf5);border-radius:6px 6px 0 0;box-shadow:0 1px 0 #1f23280a;transition:height .3s ease;width:100%}.bar-label{color:#8d96a0;font-size:11px;font-weight:500;margin-top:4px;text-align:center}.completion-ring-wrapper{align-items:center;display:flex;justify-content:center;margin:20px 0;position:relative}.completion-ring-center{position:absolute;text-align:center}.completion-ring-percent{color:#539bf5;font-size:32px;font-weight:600;line-height:1}.completion-ring-label{color:#8d96a0;font-size:12px;font-weight:500;margin-top:4px}.completion-ring-stats{border-top:1px solid #30363d;display:flex;justify-content:space-around;margin-top:16px;padding-top:16px}.completion-ring-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.completion-stat-label{color:#8d96a0;font-size:12px}.completion-stat-value{color:#e6edf3;font-size:16px;font-weight:600}.performance-alert{align-items:center;background:#161b22;border:1px solid;border-radius:6px;display:flex;gap:12px;padding:12px}.performance-alert-success{background:#0d1117;border-color:#2ea043}.performance-alert-warning{background:#2d2001;border-color:#d29922}.performance-alert-info{background:#ddf4ff;border-color:#539bf5}.performance-alert-icon{flex-shrink:0;font-size:20px}.performance-alert-content{flex:1 1}.performance-alert-title{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:2px}.performance-alert-context{color:#8d96a0;font-size:12px}.goal-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.goal-stat-card{background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 1px 0 #1f23280a;padding:16px}.goal-stat-title{color:#8d96a0;font-size:12px;font-weight:600;margin-bottom:8px}.goal-stat-value{color:#539bf5;font-size:20px;font-weight:600}.goal-stat-context{color:#8d96a0;font-size:12px;margin-top:4px}.habit-highlights-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.habit-card-best,.habit-card-worst{background:#161b22;border:1px solid #30363d;border-radius:6px;overflow:hidden;padding:16px;position:relative;text-align:center}.habit-card-best:before{background:#2ea043}.habit-card-best:before,.habit-card-worst:before{content:"";height:3px;left:0;position:absolute;top:0;width:100%}.habit-card-worst:before{background:#f85149}.habit-emoji{font-size:32px;margin-bottom:8px}.habit-label{font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.habit-card-best .habit-label{color:#2ea043}.habit-card-worst .habit-label{color:#f85149}.habit-name{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:4px}.habit-streak{color:#8d96a0;font-size:12px}.goal-performance-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.goal-perf-item{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:12px}.goal-perf-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.goal-perf-name{color:#e6edf3;font-size:14px;font-weight:600}.goal-perf-badge{border:1px solid;border-radius:999px;font-size:12px;font-weight:500;line-height:18px;padding:0 7px}.goal-perf-high{background:#0d1117;border-color:#2ea043;color:#116329}.goal-perf-medium{background:#2d2001;border-color:#d29922;color:#7d4e00}.goal-perf-low{background:#2d1117;border-color:#f85149;color:#a40e26}.goal-perf-stats{color:#8d96a0;display:flex;font-size:12px;gap:12px;margin-bottom:10px}.goal-perf-streak{color:#f68e1f;font-weight:500}.goal-perf-bar{background:#eaeef2;border-radius:3px;height:6px;overflow:hidden;width:100%}.goal-perf-fill{border-radius:3px;height:100%;transition:width .3s ease}.goal-perf-fill.goal-perf-high{background:#2ea043}.goal-perf-fill.goal-perf-medium{background:#d29922}.goal-perf-fill.goal-perf-low{background:#f85149}.goal-week-label{color:#539bf5;font-size:12px;font-weight:600;margin-bottom:14px;margin-top:6px}.goal-mini-bars{display:flex;gap:8px;justify-content:space-between}.goal-mini-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.goal-mini-bar{border-radius:6px;height:50px;transition:all .3s ease;width:100%}.goal-mini-bar.completed{background:linear-gradient(180deg,#2ea043,#116329);box-shadow:0 1px 0 #1f23280a}.goal-mini-bar.incomplete{background:#eaeef2;border:2px dashed #30363d}.goal-mini-label{color:#8d96a0;font-size:11px;font-weight:500}.loading{color:#8d96a0;font-size:14px;padding:40px 20px;text-align:center}.profile-page{background:#0d1117;min-height:100vh;padding-bottom:80px}.profile-header{background:#161b22;border-bottom:1px solid #30363d;padding:16px;text-align:center}.profile-header-title{color:#e6edf3;font-size:16px;font-weight:600}.profile-content{margin:0 auto;max-width:480px;padding:32px 16px}.profile-info-section{background:#161b22;border:1px solid #30363d;border-radius:6px;margin-bottom:32px;padding:24px;text-align:center}.profile-avatar-wrapper{display:inline-block;margin-bottom:16px;position:relative}.profile-avatar{border:1px solid #30363d;border-radius:50%;height:120px;object-fit:cover;width:120px}.profile-avatar-edit{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:50%;bottom:4px;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:4px;transition:all .2s cubic-bezier(.3,0,.5,1);width:32px}.profile-avatar-edit:hover{background:#0d1117;border-color:#539bf5}.profile-name{color:#e6edf3;font-size:24px;font-weight:600;margin-bottom:4px}.profile-email{color:#8d96a0;font-size:14px}.profile-settings-list{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}.profile-setting-item{align-items:center;background:#161b22;border:1px solid #30363d;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:16px 12px;transition:all .2s cubic-bezier(.3,0,.5,1)}.profile-setting-item:hover{border-color:#8d96a0;box-shadow:0 3px 6px #8c959f26}.profile-setting-item:active{transform:scale(.99)}.profile-setting-icon{align-items:center;background:#0d1117;border-radius:6px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.profile-setting-content{flex:1 1;min-width:0;text-align:left}.profile-setting-title{color:#e6edf3;font-size:14px;font-weight:600;margin-bottom:4px}.profile-setting-subtitle{color:#8d96a0;font-size:12px}.budget-subtitle{color:#2ea043;font-size:12px;font-weight:600}.profile-setting-next-date{color:#539bf5;font-size:12px;font-weight:500;margin-top:4px}.profile-logout-section{margin-top:40px}.profile-logout-button{align-items:center;background:#2d1117;border:1px solid #f85149;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:16px 12px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.profile-logout-button:hover{background:#ffd8d3;box-shadow:0 3px 6px #cf222e33}.profile-logout-button:active{transform:scale(.99)}.profile-logout-icon{align-items:center;background:#161b22;border-radius:6px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.profile-logout-title{color:#f85149;font-size:14px;font-weight:600}.profile-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#1f232880;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.profile-modal-content{animation:slideUp .3s ease-out;background:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 8px 24px #8c959f33;max-width:400px;padding:24px;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-modal-header{margin-bottom:16px}.profile-modal-title{color:#e6edf3;font-size:16px;font-weight:600;margin-bottom:8px}.profile-modal-subtitle{color:#8d96a0;font-size:14px;line-height:1.5}.profile-modal-body{margin-bottom:20px}.profile-modal-input-group{margin-bottom:16px}.profile-modal-label{color:#e6edf3;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.profile-modal-input{background:#161b22;border:1px solid #30363d;border-radius:6px;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;outline:none;padding:5px 12px;transition:all .2s cubic-bezier(.3,0,.5,1);width:100%}.profile-modal-input:focus{border-color:#539bf5;outline:2px solid #539bf5;outline-offset:-1px}select.profile-modal-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2359636e' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.profile-modal-actions{display:flex;gap:8px}.profile-modal-button{border:1px solid #30363d;border-radius:6px;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:20px;padding:5px 16px;transition:all .2s cubic-bezier(.3,0,.5,1)}.profile-modal-button.cancel{background:#161b22;color:#e6edf3}.profile-modal-button.cancel:hover{background:#0d1117}.profile-modal-button.save{background:#238636;border-color:#1f232826;color:#161b22}.profile-modal-button.save:hover{background:#2ea043}.profile-modal-button:active{transform:scale(.98)}.profile-modal-button:disabled{cursor:not-allowed;opacity:.6}.profile-success-message{animation:slideDown .3s ease-out;background:#238636;border:1px solid #1f232826;border-radius:6px;box-shadow:0 8px 24px #1f883d66;color:#161b22;font-size:14px;font-weight:500;left:50%;padding:8px 16px;position:fixed;top:20px;transform:translateX(-50%);z-index:3000}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-30px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:480px){.profile-content{padding:24px 12px}.profile-avatar{height:100px;width:100px}.profile-name{font-size:20px}.profile-modal-content{padding:16px}}
/*# sourceMappingURL=main.231e4ad5.css.map*/