*{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: #000000;--tg-theme-text-color: #FFFFFF;--tg-theme-hint-color: #8E8E93;--tg-theme-link-color: #30D158;--tg-theme-button-color: #30D158;--tg-theme-button-text-color: #000000;--tg-theme-secondary-bg-color: #141414;--apple-blue: #007AFF;--apple-green: #34C759;--apple-red: #FF3B30;--apple-orange: #FF9500;--apple-gray: #8E8E93;--apple-purple: #AF52DE;--apple-gold: #FFD700;--apple-separator-light: rgba(60, 60, 67, .18);--apple-separator-dark: rgba(84, 84, 88, .65);--bg-primary: #000000;--bg-secondary: #0A0A0A;--bg-card: #141414;--bg-card-hover: #1C1C1E;--bg-elevated: #1C1C1E;--bg-input: #1A1A1A;--border-card: rgba(255, 255, 255, .08);--separator: rgba(84, 84, 88, .65);--text-primary: #FFFFFF;--text-secondary: #8E8E93;--text-tertiary: #48484A;--accent: #30D158;--accent-dim: rgba(48, 209, 88, .12);--accent-glow: rgba(48, 209, 88, .25);--gradient-accent: linear-gradient(135deg, #30D158 0%, #00C7BE 100%);--gradient-gold: linear-gradient(135deg, #FFD700 0%, #FF9500 100%);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .5);--shadow-fab: 0 4px 16px rgba(48, 209, 88, .3);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--grid-gap: 12px;--grid-columns: 2;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 40px;--text-4xl: 48px;--font-hero: 34px;--font-title: 22px;--font-body: 16px;--font-caption: 13px;--font-micro: 11px;--tab-bar-height: 72px;--add-button-size: 56px;--add-button-offset: 20px;--ease-spring: cubic-bezier(.25, .8, .25, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}[data-theme="light"],@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg-primary: #F2F2F7;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-card-hover: #F2F2F7;--bg-elevated: #FFFFFF;--bg-input: rgba(120, 120, 128, .12);--border-card: rgba(0, 0, 0, .06);--separator: rgba(60, 60, 67, .18);--text-primary: #000000;--accent: #34C759;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08);--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .15)}}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,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:140px}.page{padding:16px 16px 14px}@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(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-card);padding:var(--space-4);position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .2s var(--ease-spring),background .15s ease}.bento-card:active{background:var(--bg-card-hover);transform:scale(.98)}.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:.06s}.bento-grid>*:nth-child(3){animation-delay:.12s}.bento-grid>*:nth-child(4){animation-delay:.18s}.bento-grid>*:nth-child(5){animation-delay:.24s}.bento-grid>*:nth-child(6){animation-delay:.3s}.bento-grid>*:nth-child(n+7){animation-delay:.3s}@keyframes scaleIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.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(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;box-shadow:var(--shadow-fab),0 0 0 3px #00000080;z-index:100;cursor:pointer;transition:all .3s var(--ease-spring)}.add-income-floating:active{transform:translate(-50%) scale(.92);box-shadow:0 2px 8px #30d15866,0 4px 16px #30d15840}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--tab-bar-height);background:var(--bg-card);border-top:1px solid var(--border-card);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(--bg-elevated);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:1px solid var(--border-card)}#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(--bg-elevated);padding:16px 0 calc(env(safe-area-inset-bottom) + 16px) 0;margin:0 -24px;padding-left:24px;padding-right:24px;border-top:1px solid var(--border-card);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:1px solid var(--border-card);border-radius:var(--radius-md);font-size:17px;background:var(--bg-input);color:var(--text-primary);transition:all .2s var(--ease-spring);letter-spacing:-.4px}.input:focus{outline:none;background:var(--bg-input);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.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(--bg-card-hover);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(--accent);color:#000;box-shadow:var(--shadow-fab)}.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}.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 14px;animation:fadeIn .3s ease}.page.active{display:block}.goals-bento{padding:0}.goals-hero{background:var(--bg-card);color:var(--text-primary);text-align:center;padding:var(--space-4) var(--space-3);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:100px;padding:var(--space-3)}.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:22px;font-weight:700;color:var(--text-primary);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(--text-secondary);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:100px;border:2px dashed rgba(120,120,128,.25);background:transparent;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-3)}.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-2);padding:var(--space-3)}.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-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:10px}.stats-screen.active{display:block;animation:fadeInUp .3s ease-out}.stats-screen.slide-right{animation:slideInRight .3s ease-out}.stats-hero-card{background:var(--bg-card);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:var(--text-secondary)}.stats-hero-amount{font-size:var(--font-title);font-weight:700;color:var(--accent)}.stats-hero-change{align-self:flex-end}.stats-hero-change span{color:var(--text-secondary)!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(--bg-input);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(--bg-input);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(--bg-input);border-radius:3px;overflow:hidden;margin-bottom:8px}.stats-goal-progress-fill{height:100%;background:var(--text-secondary);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(--bg-input);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(--bg-input);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:10px}.settings-header-card{display:flex;align-items:center;gap:12px;background:var(--bg-card);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:var(--text-primary)}.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(--accent)}.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(--bg-card);border:1px solid var(--border-card);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}.gam-level-card{cursor:pointer;padding:var(--space-4);transition:transform .2s var(--ease-spring)}.gam-level-card:active{transform:scale(.97)}.gam-level-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.gam-level-circle{width:44px;height:44px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 12px var(--accent-glow)}.gam-level-number{font-size:18px;font-weight:700;color:#fff}.gam-level-info{flex:1;min-width:0}.gam-level-name{font-size:var(--font-body);font-weight:600;color:var(--text-primary)}.gam-xp-text{font-size:var(--font-micro);color:var(--text-secondary);margin-top:2px}.gam-streak-badge{font-size:var(--font-caption);font-weight:600;color:#ff9500;background:#ff95001f;padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.gam-xp-bar{height:6px;background:#7878801f;border-radius:3px;overflow:hidden;margin-bottom:10px}.gam-xp-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .6s var(--ease-spring)}.gam-achievements-preview{display:flex;align-items:center;gap:8px}.gam-preview-emojis{font-size:18px;letter-spacing:2px}.gam-preview-count{font-size:var(--font-micro);color:var(--text-secondary);flex:1}.gam-preview-arrow{font-size:20px;color:var(--text-secondary);font-weight:300}.gam-cat-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 0 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gam-cat-tabs::-webkit-scrollbar{display:none}.gam-cat-tab{padding:8px 14px;border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-secondary);font-size:var(--font-caption);font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.gam-cat-tab.active{background:#007aff;color:#fff}.gam-cat-tab:active{transform:scale(.95)}.gam-achievements-grid{gap:8px}.gam-achievement-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-3);min-height:110px;justify-content:center;gap:6px;transition:transform .2s var(--ease-spring)}.gam-achievement-card.unlocked{cursor:pointer}.gam-achievement-card.unlocked:active{transform:scale(.95)}.gam-achievement-card.locked{opacity:.5}.gam-achievement-emoji{font-size:32px}.gam-achievement-title{font-size:var(--font-caption);font-weight:600;color:var(--text-primary);line-height:1.2}.gam-achievement-desc{font-size:var(--font-micro);color:var(--text-secondary);line-height:1.3}.gam-achievement-rarity{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:6px;margin-top:2px}.gam-rarity-common{border-left:3px solid var(--text-secondary)}.gam-rarity-rare{border-left:3px solid #007AFF}.gam-rarity-epic{border-left:3px solid #AF52DE}.gam-rarity-legendary{border-left:3px solid #FFD700;background:linear-gradient(135deg,#ffd7000d,#ffa5000d)}.gam-rarity-badge-common{background:#8e8e931f;color:var(--text-secondary)}.gam-rarity-badge-rare{background:#007aff1f;color:#007aff}.gam-rarity-badge-epic{background:#af52de1f;color:#af52de}.gam-rarity-badge-legendary{background:#ffd70026;color:#daa520}.gam-xp-reward{margin-top:20px;padding:var(--space-4);background:var(--accent-dim);border-radius:var(--radius-md);text-align:center;animation:fadeInUp .5s var(--ease-spring) .3s backwards}.gam-xp-amount{font-size:28px;font-weight:700;color:var(--accent);margin-bottom:4px}.gam-xp-breakdown{font-size:var(--font-micro);color:var(--text-secondary);margin-bottom:8px}.gam-new-achievement{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0;animation:fadeInUp .4s var(--ease-spring) .6s backwards}.gam-new-achievement-emoji{font-size:24px}.gam-new-achievement-title{font-size:var(--font-caption);font-weight:600;color:var(--text-primary)}.gam-level-up{margin-top:8px;padding:10px;background:#ffd7001f;border-radius:var(--radius-md);font-size:var(--font-body);font-weight:600;color:#daa520;animation:scaleIn .5s var(--ease-bounce) .8s backwards}.gam-heatmap-card{padding:var(--space-4)}.gam-heatmap-title{font-size:var(--font-caption);font-weight:600;color:var(--text-primary);margin-bottom:12px}.gam-heatmap-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.gam-heat-cell{aspect-ratio:1;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--text-secondary);transition:transform .2s ease}.gam-heat-cell span{line-height:1}.gam-heat-0{background:#78788014}.gam-heat-1{background:#007aff40;color:#007aff}.gam-heat-2{background:#007aff80;color:#fff}.gam-heat-risk{background:#ff950033;color:#ff9500}.gam-heatmap-legend{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:var(--font-micro);color:var(--text-secondary);justify-content:flex-end}.gam-heat-legend{width:14px;height:14px;border-radius:3px;aspect-ratio:auto}.gam-achievements-grid .gam-achievement-card{position:relative;overflow:hidden}.gam-achievement-card.unlocked.gam-rarity-rare{box-shadow:0 0 12px #007aff26,inset 0 0 20px #007aff08}.gam-achievement-card.unlocked.gam-rarity-epic{box-shadow:0 0 16px #af52de33,inset 0 0 20px #af52de0a}.gam-achievement-card.unlocked.gam-rarity-legendary{box-shadow:0 0 16px #ffd70026}.goal-bento-emoji{transition:transform .3s var(--ease-spring),text-shadow .3s ease}.goal-bento-card:active .goal-bento-emoji{transform:scale(1.15)}.goal-bento-card[data-progress=high] .goal-bento-emoji{text-shadow:0 0 16px rgba(52,199,89,.4)}.goal-bento-card[data-progress=mid] .goal-bento-emoji{text-shadow:0 0 12px rgba(0,122,255,.3)}.goal-bento-card[data-progress=low] .goal-bento-emoji{text-shadow:0 0 8px rgba(142,142,147,.2)}.gam-level-circle{position:relative}.gam-bar{display:flex;align-items:center;gap:12px;padding:var(--space-3) var(--space-4);cursor:pointer;transition:transform .2s var(--ease-spring)}.gam-bar:active{transform:scale(.97)}.gam-bar-left{flex:1;min-width:0}.gam-bar-level{font-size:var(--font-caption);font-weight:700;color:#007aff;display:inline}.gam-bar-name{font-size:var(--font-caption);color:var(--text-secondary);display:inline;margin-left:6px}.gam-bar-xp-track{height:4px;background:#7878801f;border-radius:2px;overflow:hidden;margin-top:6px}.gam-bar-xp-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .6s var(--ease-spring)}.gam-bar-xp-text{font-size:var(--font-micro);color:var(--text-secondary);margin-top:4px}.gam-bar-streak{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.gam-bar-fire{font-size:24px}.gam-bar-streak-num{font-size:var(--font-micro);font-weight:700;color:#ff9500}.gam-insight{display:flex;align-items:center;gap:10px;padding:var(--space-3) var(--space-4)}.gam-insight-icon{font-size:20px;flex-shrink:0}.gam-insight-text{font-size:var(--font-caption);color:var(--text-primary);line-height:1.4}
