*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f4f4f5;--apple-blue: #007AFF;--apple-green: #34C759;--apple-red: #FF3B30;--apple-orange: #FF9500;--apple-gray: #8E8E93;--apple-separator-light: rgba(60, 60, 67, .18);--apple-separator-dark: rgba(84, 84, 88, .65);--bg-primary: #F2F2F7;--bg-secondary: #FFFFFF;--text-primary: #000000;--text-secondary: #8E8E93;--separator: rgba(60, 60, 67, .18);--card-bg: #FFFFFF;--card-shadow: 0 2px 10px rgba(0, 0, 0, .04);--input-bg: rgba(120, 120, 128, .12);--card-bg-rgb: 255, 255, 255;--tab-bar-height: 72px;--add-button-size: 56px;--add-button-offset: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--grid-gap: 12px;--grid-columns: 2;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .16);--shadow-glow-blue: 0 4px 20px rgba(0, 122, 255, .25);--glass-bg: rgba(var(--card-bg-rgb), .6);--glass-bg-heavy: rgba(var(--card-bg-rgb), .8);--glass-blur: blur(20px) saturate(180%);--glass-border: .5px solid rgba(0, 0, 0, .06);--gradient-blue: linear-gradient(135deg, #007AFF 0%, #00C7BE 100%);--gradient-green: linear-gradient(135deg, #34C759 0%, #30D158 100%);--gradient-purple: linear-gradient(135deg, #5856D6 0%, #AF52DE 100%);--gradient-orange: linear-gradient(135deg, #FF9500 0%, #FF6B00 100%);--gradient-card: linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);--font-hero: 34px;--font-title: 22px;--font-body: 16px;--font-caption: 13px;--font-micro: 11px;--ease-spring: cubic-bezier(.25, .8, .25, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);padding:0;padding-top:var(--safe-area-top, 0px);overflow-x:hidden;overscroll-behavior:none;padding-bottom:170px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes btnSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.skeleton{background:linear-gradient(90deg,var(--tg-theme-secondary-bg-color) 25%,rgba(0,0,0,.05) 50%,var(--tg-theme-secondary-bg-color) 75%);background-size:200% 100%;animation:loading 1.5s infinite}.loading{text-align:center;padding:40px;color:var(--tg-theme-hint-color)}.spinner{width:40px;height:40px;margin:0 auto 16px;border:4px solid var(--tg-theme-secondary-bg-color);border-top-color:var(--tg-theme-button-color);border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.empty-state div:not(.empty-emoji){font-size:var(--font-body);line-height:1.5;max-width:280px}.empty-emoji{font-size:56px;margin-bottom:var(--space-2);animation:scaleIn .5s var(--ease-bounce)}.error{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.success{background:#e8f5e9;color:#2e7d32;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.warning{background:#fff3e0;color:#e65100;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.loading-skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px;height:120px}.error-card{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:12px;padding:20px;text-align:center}.error-icon{font-size:48px;margin-bottom:12px}.error-message{color:var(--text-primary);margin-bottom:16px}.retry-button{background:var(--apple-blue);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.retry-button:active{transform:scale(.96)}.bento-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gap)}.bento-card{background:var(--glass-bg-heavy);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);border:var(--glass-border);padding:var(--space-4);position:relative;overflow:hidden;transition:transform .2s var(--ease-spring)}.bento-card:before{content:"";position:absolute;inset:0;background:var(--gradient-card);pointer-events:none;border-radius:inherit}.bento-card:active{transform:scale(.97)}.bento-span-2{grid-column:span 2}.bento-tall{grid-row:span 2}.bento-grid>*{animation:fadeInUp .4s var(--ease-spring) backwards}.bento-grid>*:nth-child(1){animation-delay:0s}.bento-grid>*:nth-child(2){animation-delay:.05s}.bento-grid>*:nth-child(3){animation-delay:.06s}.bento-grid>*:nth-child(4){animation-delay:.1s}.bento-grid>*:nth-child(5){animation-delay:.15s}.bento-grid>*:nth-child(6){animation-delay:.2s}.bento-grid>*:nth-child(7){animation-delay:.25s}.bento-grid>*:nth-child(n+8){animation-delay:.3s}@keyframes scaleIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.add-income-floating{position:fixed;bottom:calc(var(--tab-bar-height) + var(--add-button-offset));left:50%;transform:translate(-50%);width:var(--add-button-size);height:var(--add-button-size);background:var(--gradient-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;box-shadow:var(--shadow-glow-blue),0 0 0 3px rgba(var(--card-bg-rgb),.5);z-index:100;cursor:pointer;transition:all .3s var(--ease-spring);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.add-income-floating:active{transform:translate(-50%) scale(.92);box-shadow:0 2px 8px #007aff66,0 4px 16px #007aff40}.add-income-floating:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#ffffff4d,#ffffff0d);border-radius:50%;opacity:.6;pointer-events:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--tab-bar-height);background:rgba(var(--card-bg-rgb),.75);backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);border-top:var(--glass-border);display:flex;justify-content:space-around;align-items:center;padding:0 max(env(safe-area-inset-right),8px) env(safe-area-inset-bottom) max(env(safe-area-inset-left),8px);z-index:50;box-shadow:0 -2px 20px #0000000f}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;cursor:pointer;transition:all .25s cubic-bezier(.25,.8,.25,1);color:var(--text-secondary);border-radius:12px;margin:0 4px;position:relative;background:transparent}.nav-item.active{color:#007aff;background:transparent}.nav-item.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#007aff}.nav-item:active{transform:scale(.92);opacity:.6}.nav-icon{font-size:26px;line-height:1;transition:transform .2s ease}.nav-item.active .nav-icon{transform:scale(1.08)}.nav-label{font-size:10px;font-weight:600;letter-spacing:-.1px}.modal{display:none;position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .3s ease}.modal.active{display:flex;align-items:flex-end}.modal.closing .modal-content{animation:slideDown .3s cubic-bezier(.4,0,1,1) forwards}.modal-content{background:var(--glass-bg-heavy);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:24px;width:100%;max-height:80vh;overflow-y:auto;animation:slideUp .4s cubic-bezier(.25,.8,.25,1);box-shadow:0 -8px 32px #0003;border-top:var(--glass-border)}#addIncomeModal .modal-content{max-height:calc(100vh - 64px);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding-top:8px}#addIncomeModal .modal-content:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:5px;background:#7878804d;border-radius:3px}#addIncomeModal .modal-header{margin-top:16px}#addIncomeModal .modal-content{padding-bottom:0}.modal-sticky-footer{position:sticky;bottom:0;left:0;right:0;background:var(--glass-bg-heavy);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:16px 0 calc(env(safe-area-inset-bottom) + 16px) 0;margin:0 -24px;padding-left:24px;padding-right:24px;border-top:var(--glass-border);z-index:10}.modal-sticky-footer .btn{height:52px!important;min-height:52px!important;max-height:52px!important}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:20px;font-weight:700}.modal-close{font-size:28px;background:none;border:none;cursor:pointer;color:var(--tg-theme-hint-color);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.input-group{margin-bottom:16px}.input-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--tg-theme-hint-color)}.input{width:100%;padding:14px 16px;border:var(--glass-border);border-radius:var(--radius-md);font-size:17px;background:var(--input-bg);color:var(--text-primary);transition:all .2s var(--ease-spring);letter-spacing:-.4px}.input:focus{outline:none;background:var(--input-bg);border-color:#007aff66;box-shadow:0 0 0 3px #007aff1f,var(--shadow-glow-blue)}.input-hint{font-size:12px;color:var(--tg-theme-hint-color);margin-top:4px}.emoji-picker-container{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.emoji-option{min-width:48px;height:48px;padding:0 12px;font-size:14px;border:2px solid transparent;border-radius:var(--radius-md);background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:all .2s var(--ease-spring);display:flex;align-items:center;justify-content:center;gap:6px;font-weight:500}.emoji-option.selected{border-color:var(--apple-blue);background:#007aff1a;color:var(--apple-blue)}.emoji-option:active{transform:scale(.95)}.btn{padding:0 16px;border:none;border-radius:14px;font-size:17px;font-weight:600;line-height:52px;cursor:pointer;transition:all .2s cubic-bezier(.25,.8,.25,1);display:flex;align-items:center;justify-content:center;gap:6px;width:100%;letter-spacing:-.4px;position:relative;min-height:52px!important;max-height:52px!important;height:52px!important;overflow:hidden;box-sizing:border-box;flex-shrink:0}.btn.loading{pointer-events:none;opacity:.7;height:52px!important}.btn.loading .btn-text{opacity:0;visibility:hidden}.btn-spinner{position:absolute;left:50%;top:50%;margin-left:-10px;margin-top:-10px;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btnSpinner .6s linear infinite;display:none}.btn.loading .btn-spinner{display:block}.btn:active{transform:scale(.96)}.btn-primary{background:var(--gradient-blue);color:#fff;box-shadow:var(--shadow-glow-blue)}.btn-secondary{background:#7878801f;color:var(--tg-theme-text-color)}.btn-danger{background:#ff3b30;color:#fff;margin-top:24px;box-shadow:0 4px 12px #ff3b3040}.btn-group{display:flex;gap:8px;margin-top:16px}.btn-group .btn{flex:1}.btn-text{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:52px;transition:opacity .15s ease;height:52px}#confirmUndoModal .btn-group{display:flex;gap:8px}#confirmUndoModal .btn-secondary{width:auto;padding:0 20px;white-space:nowrap}#confirmUndoBtn{flex:1;white-space:nowrap;padding:0 16px}.dist-preview{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-4);margin-top:var(--space-4);margin-bottom:var(--space-4)}.dist-preview-title{font-size:var(--font-micro);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3)}.dist-preview-item{display:flex;align-items:center;gap:10px;padding:var(--space-2) 0;border-bottom:.5px solid var(--separator)}.dist-preview-item:last-child{border-bottom:none}.dist-preview-emoji{font-size:20px;flex-shrink:0}.dist-preview-label{flex:1;font-size:var(--font-caption);color:var(--text-primary)}.dist-preview-amount{font-size:var(--font-body);font-weight:700;color:var(--text-primary)}.confirm-dialog{text-align:center;padding:16px 0}.confirm-message{font-size:16px;margin-bottom:16px}.confirm-detail{background:var(--tg-theme-secondary-bg-color);border-radius:8px;padding:12px;margin-bottom:16px;font-size:14px}.debug-panel{position:fixed;bottom:70px;left:0;right:0;background:#000000e6;color:#0f0;font-family:monospace;font-size:11px;padding:8px;max-height:120px;overflow-y:auto;z-index:999;display:none;border-top:2px solid #0f0}.debug-panel.active{display:block}.debug-title{margin-bottom:4px;font-weight:700;color:#0ff}.income-success{text-align:center;padding:var(--space-6) 0;animation:fadeInUp .4s var(--ease-spring)}.income-success-header{margin-bottom:var(--space-6)}.income-success-check{font-size:64px;margin-bottom:var(--space-3);animation:scaleIn .5s var(--ease-bounce)}.income-success-amount{font-size:var(--font-hero);font-weight:700;color:var(--apple-green)}.income-success-label{font-size:var(--font-caption);color:var(--text-secondary);margin-top:var(--space-1)}.income-dist-card{text-align:left;padding:var(--space-3)!important;min-height:auto!important}.income-dist-emoji{font-size:24px;margin-bottom:var(--space-1)}.income-dist-name{font-size:var(--font-caption);color:var(--text-secondary)}.income-dist-amount{font-size:17px;font-weight:700;color:var(--apple-green);margin-top:var(--space-1)}.income-dist-balance{font-size:var(--font-micro);color:var(--text-secondary);margin-top:2px}.page{display:none;padding:16px 16px 24px;animation:fadeIn .3s ease}.page.active{display:block}.goals-bento{padding:var(--space-4)}.goals-hero{background:var(--gradient-blue);color:#fff;text-align:center;padding:var(--space-6) var(--space-4);border:none}.goals-hero:before{background:none}.goals-hero-label{font-size:var(--font-caption);opacity:.8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}.goals-hero-amount{font-size:var(--font-hero);font-weight:700;letter-spacing:-1px}.goals-hero-meta{font-size:var(--font-micro);opacity:.7;margin-top:var(--space-2)}.goal-bento-card{display:flex;flex-direction:column;gap:var(--space-1);cursor:pointer;min-height:120px;padding:var(--space-4)}.goal-bento-emoji{font-size:28px;margin-bottom:var(--space-1)}.goal-bento-name{font-size:var(--font-caption);font-weight:600;color:var(--text-primary)}.goal-bento-amount{font-size:20px;font-weight:700;color:var(--text-primary);margin-top:auto}.goal-bento-percent{font-size:24px;font-weight:700;color:var(--apple-blue);margin-top:auto}.goal-bento-monthly,.goal-bento-meta{font-size:var(--font-micro);color:var(--text-secondary)}.goal-bento-progress{height:4px;background:#7878801f;border-radius:2px;overflow:hidden;margin-top:var(--space-2)}.goal-bento-progress-fill{height:100%;background:var(--gradient-blue);border-radius:2px;transition:width .6s var(--ease-spring);animation:progressFill .8s var(--ease-spring) .3s backwards}@keyframes progressFill{0%{width:0!important}}.goal-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:120px;border:2px dashed rgba(120,120,128,.25);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;cursor:pointer}.goal-add-card:before{display:none}.goal-add-card:active{background:#78788014}.goal-add-icon{font-size:28px;color:var(--text-secondary);font-weight:300}.goal-add-text{font-size:var(--font-caption);color:var(--text-secondary)}.goal-bento-card .drag-indicator{position:absolute;top:8px;right:10px;font-size:14px;color:var(--text-secondary);opacity:0;transition:opacity .2s}.goal-bento-card.drag-mode .drag-indicator{opacity:1;animation:pulse 1s ease-in-out infinite}.goal-bento-card.dragging{opacity:.5;transform:scale(1.05)}.history-month-group{margin-bottom:var(--space-4)}.history-month-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-2);position:sticky;top:0;background:var(--bg-primary);z-index:5}.history-month-label{font-size:var(--font-body);font-weight:700;text-transform:capitalize;color:var(--text-primary)}.history-month-total{font-size:var(--font-caption);color:var(--apple-green);font-weight:600}.history-tx{margin-bottom:var(--space-3);padding:var(--space-4)}.history-tx-header{display:flex;justify-content:space-between;align-items:center}.history-tx-amount{font-size:20px;font-weight:700;color:var(--apple-green)}.history-tx-date{font-size:var(--font-micro);color:var(--text-secondary)}.history-tx-desc{font-size:var(--font-caption);color:var(--text-secondary);margin-top:var(--space-2)}.history-tx-details{margin-top:var(--space-3)}.history-tx-summary{font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer;padding:var(--space-2) 0;list-style:none}.history-tx-summary::marker,.history-tx-summary::-webkit-details-marker{display:none}.history-tx-summary:after{content:" ▸"}details[open]>.history-tx-summary:after{content:" ▾"}.history-tx-breakdown{padding:var(--space-3);background:#7878800f;border-radius:var(--radius-md);margin-top:var(--space-2)}.history-dist-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) 0;font-size:var(--font-caption)}.history-dist-row:not(:last-child){border-bottom:1px solid var(--separator)}.history-tx-undo{margin-top:var(--space-3);font-size:var(--font-caption);color:var(--apple-red);background:#ff3b301a;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background .2s}.history-tx-undo:active{background:#ff3b3033}.stats-screen{display:none;padding:16px}.stats-screen.active{display:block;animation:fadeInUp .3s ease-out}.stats-screen.slide-right{animation:slideInRight .3s ease-out}.stats-hero-card{background:var(--gradient-blue);display:flex;align-items:center;gap:12px;padding:var(--space-4) var(--space-5)}.stats-hero-icon{font-size:32px}.stats-hero-content{flex:1}.stats-hero-label{font-size:var(--font-caption);color:#ffffffb3}.stats-hero-amount{font-size:var(--font-title);font-weight:700;color:#fff}.stats-hero-change{align-self:flex-end}.stats-hero-change span{color:#ffffffe6!important}.stats-metric{display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform .2s var(--ease-spring)}.stats-metric:active{transform:scale(.96)}.stats-metric-icon{font-size:24px;margin-bottom:4px}.stats-metric-label{font-size:var(--font-micro);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stats-metric-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.stats-metric-change{margin-top:2px}.stats-metric-sub{font-size:var(--font-micro);color:var(--text-secondary)}.stats-chart-card{padding:var(--space-4)}.stats-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stats-chart-title{font-size:var(--font-body);font-weight:600;color:var(--text-primary)}.stats-chart-period{font-size:var(--font-micro);color:var(--text-secondary);background:var(--input-bg);padding:4px 10px;border-radius:var(--radius-sm)}.stats-chart-wrapper{position:relative;height:180px}.stats-nav-bento{display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform .2s var(--ease-spring);padding:var(--space-3) var(--space-4)}.stats-nav-bento:active{transform:scale(.97)}.stats-nav-icon{font-size:24px}.stats-nav-text{flex:1;font-size:var(--font-body);font-weight:500;color:var(--text-primary)}.stats-nav-arrow{font-size:20px;color:var(--text-secondary);font-weight:300}.stats-insight-card{display:flex;align-items:flex-start;gap:10px;padding:var(--space-3) var(--space-4);border-left:3px solid var(--text-secondary)}.stats-insight-card.stats-insight-income_growth{border-left-color:#34c759}.stats-insight-card.stats-insight-income_decline{border-left-color:#ff3b30}.stats-insight-card.stats-insight-goal_progress{border-left-color:#007aff}.stats-insight-card.stats-insight-stability{border-left-color:#ffd60a}.stats-insight-card.stats-insight-goal_near{border-left-color:#af52de}.stats-insight-card.stats-insight-forecast_positive{border-left-color:#34c759}.stats-insight-card.stats-insight-forecast_warning{border-left-color:#ff9500}.stats-insight-icon{font-size:18px;flex-shrink:0}.stats-insight-text{font-size:var(--font-caption);color:var(--text-primary);line-height:1.4}.stats-achievement-card{display:flex;align-items:center;gap:12px;cursor:pointer;background:linear-gradient(135deg,#ffd60a14,#af52de14)}.stats-achievement-card:active{transform:scale(.97)}.stats-achievement-emoji{font-size:36px}.stats-achievement-info{flex:1}.stats-achievement-title{font-size:var(--font-body);font-weight:600;color:var(--text-primary)}.stats-achievement-desc{font-size:var(--font-micro);color:var(--text-secondary);margin-top:2px}.stats-achievement-badge{font-size:var(--font-micro);color:var(--text-secondary);background:var(--input-bg);padding:4px 8px;border-radius:var(--radius-sm)}.stats-goal-detail{padding:var(--space-4)}.stats-goal-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.stats-goal-emoji{font-size:28px}.stats-goal-info{flex:1}.stats-goal-name{font-size:var(--font-body);font-weight:600;color:var(--text-primary)}.stats-goal-meta{font-size:var(--font-micro);color:var(--text-secondary)}.stats-goal-done{font-size:20px}.stats-goal-progress{height:6px;background:var(--input-bg);border-radius:3px;overflow:hidden;margin-bottom:8px}.stats-goal-progress-fill{height:100%;background:var(--gradient-blue);border-radius:3px;transition:width .6s var(--ease-spring)}.stats-goal-footer{display:flex;justify-content:space-between;font-size:var(--font-micro);color:var(--text-secondary)}.stats-screen-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-button{background:var(--input-bg);border:none;color:#007aff;padding:8px 16px;border-radius:var(--radius-md);font-size:14px;cursor:pointer;transition:all .2s ease}.back-button:active{transform:scale(.95);opacity:.8}.period-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:20px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.period-tab{background:var(--input-bg);border:none;color:var(--text-secondary);padding:10px 20px;border-radius:var(--radius-md);font-size:14px;cursor:pointer;transition:all .3s var(--ease-spring);white-space:nowrap;flex-shrink:0}.period-tab.active{background:#007aff;color:#fff}.period-content{margin-top:16px}.settings-bento{padding:16px}.settings-header-card{display:flex;align-items:center;gap:12px;background:var(--gradient-blue);padding:var(--space-4) var(--space-5)}.settings-header-icon{font-size:32px}.settings-header-title{font-size:var(--font-title);font-weight:700;color:#fff}.settings-group{padding:var(--space-4)}.settings-group-title{font-size:var(--font-micro);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-3)}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:.5px solid var(--separator)}.settings-toggle-row:last-child{border-bottom:none}.settings-toggle-label{font-size:var(--font-body);font-weight:500;color:var(--text-primary)}.settings-info-card{display:flex;flex-direction:column;gap:4px}.settings-info-label{font-size:var(--font-micro);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.settings-info-value{font-size:var(--font-body);font-weight:600;color:var(--text-primary)}.settings-action-card{display:flex;align-items:center;gap:10px;padding:var(--space-3) var(--space-4);transition:transform .2s var(--ease-spring)}.settings-action-card:active{transform:scale(.97)}.settings-action-label{font-size:var(--font-body);color:var(--text-primary);font-weight:500}.toggle{width:50px;height:28px;background:#ccc;border-radius:14px;position:relative;cursor:pointer;transition:background .3s ease}.toggle.active{background:var(--success-color)}.toggle:after{content:"";position:absolute;width:24px;height:24px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .3s ease}.toggle.active:after{transform:translate(22px)}.onboarding-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:2000;display:none;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;overflow-y:auto}.onboarding-overlay.active{display:flex;animation:fadeIn .4s ease}.onboarding-content{max-width:340px;text-align:center;animation:fadeInUp .6s var(--ease-spring)}.onboarding-emoji{font-size:72px;margin-bottom:var(--space-5);animation:scaleIn .6s var(--ease-bounce)}.onboarding-title{font-size:28px;font-weight:700;margin-bottom:var(--space-3);color:var(--text-primary);line-height:1.2}.onboarding-description{font-size:var(--font-body);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.5}.onboarding-features{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6);text-align:left}.onboarding-feature{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)!important;font-size:var(--font-caption);font-weight:500;color:var(--text-primary)}.onboarding-hint{background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-5);font-size:var(--font-micro);color:var(--text-secondary);text-align:center}
