*{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-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;--text-tertiary: #C7C7CC;--accent-dim: rgba(52, 199, 89, .12);--accent-glow: rgba(52, 199, 89, .25);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08);--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .15);--shadow-fab: 0 4px 16px rgba(52, 199, 89, .3)}}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}@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 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 pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.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}.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)}}.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),4px) env(safe-area-inset-bottom) max(env(safe-area-inset-left),4px);z-index:50}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;cursor:pointer;transition:color .2s ease;color:var(--text-tertiary);position:relative}.nav-item.active{color:var(--accent)}.nav-item.active .nav-icon{background:var(--accent-dim);border-radius:var(--radius-full)}.nav-item:active{opacity:.6}.nav-icon{width:36px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background .2s ease}.nav-label{font-size:10px;font-weight:600;letter-spacing:-.1px;line-height:1}.nav-fab{flex:1.2;color:#fff;padding:0;margin-bottom:20px}.nav-fab-circle{width:52px;height:52px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;box-shadow:var(--shadow-fab),0 0 0 3px #000c;transition:transform .2s var(--ease-spring),box-shadow .2s ease}.nav-fab:active .nav-fab-circle{transform:scale(.92);box-shadow:0 2px 8px #30d15866,0 4px 16px #30d15840}.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-xl) var(--radius-xl) 0 0;padding:24px;width:100%;max-height:90vh;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)}.modal-handle{width:36px;height:4px;background:#fff3;border-radius:var(--radius-full);margin:0 auto 16px}#addIncomeModal .modal-content{max-height:calc(100vh - 64px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-top:8px}#addIncomeModal .modal-header{margin-top:0}#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:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px;padding:8px;background:var(--bg-input);border-radius:var(--radius-md)}.emoji-option{aspect-ratio:1;border:2px solid transparent;border-radius:var(--radius-sm, 8px);background:transparent;cursor:pointer;transition:all .2s var(--ease-spring);display:flex;align-items:center;justify-content:center;padding:4px}.emoji-option .emoji-native{font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}.lottie-emoji{display:flex;align-items:center;justify-content:center}.lottie-emoji svg{display:block}.static-emoji{display:flex;align-items:center;justify-content:center}.emoji-option.selected{border-color:var(--accent);background:var(--accent-dim);border-radius:var(--radius-md)}.emoji-option:active{transform:scale(.9)}.btn{padding:0 16px;border:none;border-radius:var(--radius-md);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}.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{margin-bottom:var(--space-3);animation:scaleIn .5s var(--ease-bounce);display:flex;justify-content:center}.income-success-check svg{width:48px;height:48px}.income-success-amount{font-size:var(--text-3xl, 40px);font-weight:700;color:var(--accent)}.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(--accent);margin-top:var(--space-1)}.income-dist-balance{font-size:var(--font-micro);color:var(--text-secondary);margin-top:2px}.income-dist-stagger{opacity:0;animation:fadeInUp .3s var(--ease-spring) forwards}.income-success .gam-xp-reward{background:var(--accent-dim);border:1px solid rgba(48,209,88,.15);border-radius:var(--radius-md);padding:12px 16px;margin-top:var(--space-4)}.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:20px;border-radius:var(--radius-xl);border:none}.goals-hero-label{font-size:var(--text-xs, 11px);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:var(--space-1)}.goals-hero-amount{font-size:40px;font-weight:800;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.goals-hero-meta{font-size:var(--font-micro);color:var(--text-secondary);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-4)}.goal-bento-emoji{font-size:28px;margin-bottom:var(--space-1);line-height: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:5px;background:#7878801f;border-radius:2px;overflow:hidden;margin-top:var(--space-2)}.goal-bento-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .6s var(--ease-spring);animation:progressFill .8s var(--ease-spring) .3s backwards}.goal-bento-card[data-progress=high] .goal-bento-progress-fill{background:var(--accent)}.goal-bento-card[data-progress=mid] .goal-bento-progress-fill{background:var(--apple-blue)}.goal-bento-card[data-progress=low] .goal-bento-progress-fill{background:var(--text-secondary)}@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:1.5px dashed rgba(255,255,255,.12);background:transparent;cursor:pointer}.goal-add-card:active{background:#78788014}.goal-add-icon{font-size:24px;color:var(--text-tertiary);font-weight:300}.goal-add-text{font-size:var(--font-caption);color:var(--text-tertiary)}.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(--accent);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(--accent);font-variant-numeric:tabular-nums}.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:none;border:none;padding:var(--space-1) 0;cursor:pointer;font-weight:500;transition:opacity .2s;float:right}.history-tx-undo:active{opacity:.6}.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;flex-direction:column;padding:20px}.stats-hero-icon{display:none}.stats-hero-content{flex:1}.stats-hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.stats-hero-amount{font-size:40px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.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;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.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);grid-column:span 2;border-bottom:1px solid var(--border-card)}.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:transparent}.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}.segmented-control,.period-tabs{display:flex;background:var(--bg-input);padding:3px;border-radius:10px;margin-bottom:20px;gap:0;overflow-x:visible}.period-tab{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:8px 0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap}.period-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #0003}.period-content{margin-top:16px}.settings-page{padding:0}.settings-page-title{font-size:28px;font-weight:700;color:var(--text-primary);padding:var(--space-4) var(--space-2) var(--space-3)}.settings-section{margin-bottom:var(--space-4)}.settings-section-label{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:0 var(--space-4);margin-bottom:var(--space-2)}.settings-section-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-card);overflow:hidden}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:14px var(--space-4);border-bottom:.5px solid rgba(255,255,255,.06)}.settings-toggle-row:last-child{border-bottom:none}.settings-toggle-label{font-size:16px;font-weight:400;color:var(--text-primary)}.settings-info-row{display:flex;justify-content:space-between;align-items:center;padding:14px var(--space-4);border-bottom:.5px solid rgba(255,255,255,.06)}.settings-info-row:last-child{border-bottom:none}.settings-info-value{font-size:16px;color:var(--text-secondary)}.settings-action-row{display:flex;align-items:center;gap:10px;padding:14px var(--space-4);transition:opacity .2s}.settings-action-row:active{opacity:.6}.toggle{width:48px;height:28px;background:#ffffff1a;border-radius:14px;position:relative;cursor:pointer;transition:background .3s ease;flex-shrink:0}.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(20px)}.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);position:relative}.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-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px}.gam-achievement-webp{width:64px;height:64px;object-fit:contain;border-radius:8px}.gam-achievement-emoji-fallback{font-size:2rem;line-height:1}.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}.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-legendary{box-shadow:0 0 16px #ffd70026}.goal-bento-emoji{transition:transform .3s var(--ease-spring)}.goal-bento-card:active .goal-bento-emoji{transform:scale(1.15)}.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:var(--accent);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;animation:gentlePulse 2s ease-in-out infinite;display:inline-block}.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}.gam-league-badge{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary, #f5f5f5);border-radius:12px;margin-top:8px}.gam-league-icon{font-size:2rem;line-height:1}.gam-league-info{flex:1;min-width:0}.gam-league-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.gam-league-progress-text{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.gam-league-bar{height:4px;background:var(--bg-tertiary, #e0e0e0);border-radius:2px;margin-top:6px;overflow:hidden}.gam-league-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#2196f3);border-radius:2px;transition:width .6s ease}.gam-league-max{font-size:.75rem;color:gold;font-weight:600;margin-top:4px}.chips-row{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:var(--font-caption, .8rem);background:var(--bg-secondary, #f0f0f0);color:var(--text-secondary, #666);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.chip-active{background:var(--accent-primary, #4CAF50);color:#fff;font-weight:600}.achievement-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(100px);background:var(--card-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;max-width:320px;width:90%;z-index:10000;transition:transform .3s ease,opacity .3s ease;opacity:0;box-shadow:0 4px 20px #0000004d}.achievement-toast-visible{transform:translate(-50%) translateY(0);opacity:1}.achievement-toast-bronze{border-color:#cd7f32}.achievement-toast-silver{border-color:silver}.achievement-toast-gold{border-color:gold}.achievement-toast-platinum{border-color:#e8e8ff}.achievement-toast-ethereal{border-color:#9b59b6}.toast-emoji{font-size:2em;flex-shrink:0}.toast-content{flex:1;min-width:0}.toast-title{font-weight:700;font-size:.9em;margin-bottom:2px;color:var(--text-primary, #fff)}.toast-flavor{font-size:.75em;opacity:.7;margin-bottom:4px;color:var(--text-secondary, #aaa)}.toast-xp{font-size:.85em;color:#4caf50;font-weight:700}.achievement-silhouette .gam-achievement-emoji,.achievement-silhouette .gam-achievement-emoji-fallback{filter:brightness(0) opacity(.3)}.gam-achievement-tier{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:6px;margin-top:2px}.achievement-tier-bronze{background:#cd7f3226;color:#cd7f32}.achievement-tier-silver{background:#c0c0c026;color:silver}.achievement-tier-gold{background:#ffd70026;color:#daa520}.achievement-tier-platinum{background:#e8e8ff26;color:#b0b0ff}.achievement-tier-ethereal{background:#9b59b626;color:#9b59b6}.gam-achievement-xp{font-size:var(--font-micro, 10px);color:#4caf50;font-weight:600;margin-top:2px}.gam-rarity-mythic{border-left:3px solid #9B59B6}.gam-rarity-badge-mythic{background:#9b59b61f;color:#9b59b6}.vinyl-bronze{border:1px solid #CD7F32;background:linear-gradient(135deg,#cd7f321f,#8b572214);box-shadow:inset 0 1px #cd7f3240,0 2px 8px #cd7f3226}.vinyl-bronze .gam-achievement-emoji,.vinyl-bronze .gam-achievement-emoji-fallback{filter:sepia(.3) saturate(1.2)}.vinyl-silver{border:1px solid #C0C0C0;background:linear-gradient(135deg,#dcdcdc2e,#a0a0a014,#c8c8c824);box-shadow:inset 0 1px #fff6,0 2px 8px #c0c0c033}.vinyl-silver .gam-achievement-emoji,.vinyl-silver .gam-achievement-emoji-fallback{filter:saturate(.6) brightness(1.1)}@keyframes vinyl-gold-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.vinyl-gold{border:1px solid #FFD700;background:linear-gradient(135deg,#ffd70026,#daa52014);box-shadow:inset 0 1px #ffd70066,0 2px 12px #ffd70033;position:relative;overflow:hidden}.vinyl-gold:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);background-size:200% 100%;animation:vinyl-gold-shimmer 2.5s linear infinite;pointer-events:none}.vinyl-gold .gam-achievement-emoji,.vinyl-gold .gam-achievement-emoji-fallback{filter:saturate(1.3) brightness(1.05)}@keyframes vinyl-platinum-iridescent{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.vinyl-platinum{border:1px solid #B0B0FF;background:linear-gradient(135deg,#b0b0ff2e,#c8c8ff1a,#a0c8ff24,#d2a0ff1f);background-size:300% 300%;animation:vinyl-platinum-iridescent 3s ease infinite;box-shadow:inset 0 1px #c8c8ff80,0 2px 16px #b0b0ff40;will-change:background-position}.vinyl-platinum .gam-achievement-emoji,.vinyl-platinum .gam-achievement-emoji-fallback{filter:hue-rotate(10deg) saturate(.8) brightness(1.15)}@keyframes vinyl-ethereal-pulse{0%,to{box-shadow:inset 0 1px #9b59b666,0 0 12px #9b59b64d,0 0 24px #9b59b61a}50%{box-shadow:inset 0 1px #c864ff99,0 0 20px #9b59b680,0 0 40px #9b59b633,0 0 60px #6432c81a}}.vinyl-ethereal{border:1px solid rgba(155,89,182,.8);background:linear-gradient(135deg,#9b59b62e,#6432c81a,#b464ff24);animation:vinyl-ethereal-pulse 2s ease-in-out infinite;will-change:box-shadow}.vinyl-ethereal .gam-achievement-emoji,.vinyl-ethereal .gam-achievement-emoji-fallback{filter:hue-rotate(280deg) saturate(1.4) brightness(1.1)}.vinyl-bronze .achievement-icon-img,.vinyl-silver .achievement-icon-img,.vinyl-gold .achievement-icon-img,.vinyl-platinum .achievement-icon-img,.vinyl-ethereal .achievement-icon-img{display:none}@media(prefers-reduced-motion:reduce){.vinyl-gold:after{animation:none}.vinyl-platinum,.vinyl-ethereal{animation:none;will-change:auto}.vinyl-platinum{background:linear-gradient(135deg,#b8b8d4,#e8e8ff,#b8b8d4);background-size:100% 100%}.vinyl-ethereal{background:linear-gradient(135deg,#a0d8ef,#e8d5f5,#f5e6c8)}}.seasonal-banner{border-radius:12px;padding:.875rem 1rem;margin-bottom:.75rem;background:linear-gradient(135deg,var(--tg-theme-secondary-bg-color, #f0f0f0),var(--tg-theme-bg-color, #fff));border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden}.seasonal-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffc8321a,#ff64321a);pointer-events:none}.seasonal-banner-content{display:flex;align-items:center;gap:.75rem}.seasonal-emoji{font-size:1.75rem}.seasonal-info{flex:1}.seasonal-name{font-weight:700;font-size:.95rem}.seasonal-desc{font-size:.8rem;opacity:.75;margin-top:2px}.seasonal-multiplier{font-weight:800;font-size:1.1rem;color:#f59e0b;white-space:nowrap}.seasonal-quest{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.06);font-size:.8rem;display:flex;gap:.4rem;align-items:center;opacity:.8}.mystery-box-modal{text-align:center;padding:2rem 1.5rem}.mystery-box-animate{font-size:3rem;animation:mystery-shake .6s ease-in-out}.mystery-box-reward-reveal{transition:opacity .4s ease;font-size:1.5rem;margin-top:1rem}.mystery-box-reward-emoji{font-size:2rem;display:block;margin-bottom:.5rem}.mystery-box-reward-label{font-size:1.1rem;font-weight:600}.mystery-box-title{font-size:1.3rem;font-weight:700;margin:1rem 0 .5rem}.mystery-box-close{margin-top:1.5rem;width:100%}@keyframes mystery-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-8px) rotate(-5deg)}40%{transform:translate(8px) rotate(5deg)}60%{transform:translate(-5px) rotate(-3deg)}80%{transform:translate(5px) rotate(3deg)}}.aura-bronze{box-shadow:0 0 8px 2px #cd7f3266,0 0 20px 4px #cd7f3233;border-radius:50%}.aura-silver{box-shadow:0 0 10px 3px #c0c0c080,0 0 25px 8px #c0c0c040,0 0 40px 12px #c0c0c01a;border-radius:50%;animation:aura-silver-pulse 2s ease-in-out infinite}@keyframes aura-silver-pulse{0%,to{box-shadow:0 0 10px 3px #c0c0c080,0 0 25px 8px #c0c0c040,0 0 40px 12px #c0c0c01a}50%{box-shadow:0 0 15px 5px #c0c0c0b3,0 0 35px 12px #c0c0c066,0 0 55px 18px #c0c0c026}}.aura-gold{box-shadow:0 0 12px 4px #ffd70099,0 0 30px 10px #ffd70059,0 0 55px 18px #ffd70026,0 0 80px 25px #ffa5001a;border-radius:50%;animation:aura-gold-pulse 1.5s ease-in-out infinite}@keyframes aura-gold-pulse{0%,to{box-shadow:0 0 12px 4px #ffd70099,0 0 30px 10px #ffd70059,0 0 55px 18px #ffd70026,0 0 80px 25px #ffa5001a}50%{box-shadow:0 0 18px 6px #ffd700cc,0 0 45px 15px #ffd70080,0 0 75px 25px #ffd70033,0 0 110px 35px #ffa50026}}.prestige-halo{position:relative}.prestige-halo:before{content:"👑";position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:16px;animation:halo-float 2s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,215,0,.9));z-index:10}@keyframes halo-float{0%,to{transform:translate(-50%) translateY(0);filter:drop-shadow(0 0 6px rgba(255,215,0,.9))}50%{transform:translate(-50%) translateY(-3px);filter:drop-shadow(0 0 10px rgba(255,215,0,1))}}@media(prefers-reduced-motion:reduce){.aura-silver,.aura-gold,.prestige-halo:before{animation:none}}.prestige-section{margin:16px 0;padding:16px;border-radius:12px;background:linear-gradient(135deg,#ffd70014,#ffa5000d);border:1px solid rgba(255,215,0,.3)}.prestige-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:8px 0}.prestige-description{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:8px 0 16px}.btn-prestige{width:100%;padding:14px;border-radius:10px;background:linear-gradient(135deg,gold,orange);color:#000;font-weight:700;font-size:15px;border:none;cursor:pointer;transition:opacity .2s}.btn-prestige:active{opacity:.8}.prestige-hint{font-size:12px;color:var(--text-secondary);text-align:center;padding:8px;background:#ffd7000d;border-radius:8px;margin:8px 0}.prestige-success-modal{text-align:center}.prestige-success-icon{font-size:64px;margin-bottom:16px;animation:halo-float 2s ease-in-out infinite}.genesis-block-section{margin:16px 0}.genesis-block{padding:16px;border-radius:12px;background:linear-gradient(135deg,#ffd7000f,#ffa50008);border:1px solid rgba(255,215,0,.2)}.genesis-block--locked{opacity:.6;filter:blur(.5px)}.genesis-block-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.genesis-block-subtitle{font-size:12px;color:var(--text-secondary);margin:0 0 12px}.genesis-block-list{display:flex;flex-direction:column;gap:8px}.genesis-block-entry{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-input, rgba(255,255,255,.04));border-radius:8px;font-size:13px}.genesis-block-entry--me{background:#ffd7001a;border:1px solid rgba(255,215,0,.3)}.genesis-rank{color:var(--text-secondary);min-width:24px}.genesis-user{flex:1;font-weight:500}.genesis-prestige{color:gold;font-weight:600}.genesis-level{color:var(--text-secondary);font-size:12px}.genesis-empty{text-align:center;color:var(--text-secondary);font-style:italic;padding:16px}.genesis-block-hint{font-size:13px;color:var(--text-secondary);text-align:center}.faculty-card{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:12px;border-radius:16px;background:var(--card-bg, rgba(255,255,255,.05));cursor:pointer;transition:opacity .2s}.faculty-card.faculty-locked{opacity:.4;cursor:default;pointer-events:none}.faculty-emoji{font-size:32px;width:48px;text-align:center}.faculty-info{flex:1}.faculty-name{font-size:15px;font-weight:600;margin-bottom:4px}.faculty-progress{font-size:13px;opacity:.6}.faculty-lock{font-size:20px}.lesson-card{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:8px;border-radius:12px;background:var(--card-bg, rgba(255,255,255,.05));transition:opacity .2s}.lesson-card.lesson-locked{opacity:.4;pointer-events:none}.lesson-card.lesson-available{cursor:pointer}.lesson-card.lesson-read{border-left:3px solid var(--accent, #30D158);cursor:pointer}.lesson-card.lesson-completed:after{content:"";font-size:16px;margin-left:auto}.lesson-number{width:32px;height:32px;border-radius:8px;background:#30d15826;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--accent, #30D158);flex-shrink:0}.lesson-card.lesson-locked .lesson-number{background:#96969626;color:#96969699}.lesson-info{flex:1}.lesson-title{font-size:14px;font-weight:500;line-height:1.3}.lesson-xp{font-size:12px;opacity:.55;margin-top:2px}.lesson-detail-header{margin-bottom:20px}.lesson-detail-title{font-size:20px;font-weight:700;line-height:1.3;margin-bottom:8px}.lesson-detail-meta{font-size:13px;opacity:.55}.lesson-body{font-size:15px;line-height:1.6;margin-bottom:24px}.lesson-read-btn{width:100%;padding:14px;border-radius:12px;background:var(--accent, #30D158);color:#000;font-size:15px;font-weight:600;border:none;cursor:pointer;margin-bottom:24px}.lesson-read-done{text-align:center;font-size:14px;color:var(--accent, #30D158);margin-bottom:24px}.quiz-section{border-top:1px solid rgba(150,150,150,.2);padding-top:20px}.quiz-title{font-size:17px;font-weight:700;margin-bottom:16px}.quiz-question{margin-bottom:20px}.quiz-question-text{font-size:15px;font-weight:500;margin-bottom:10px}.quiz-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;margin-bottom:8px;cursor:pointer;background:#96969614;transition:background .15s}.quiz-option.selected{background:#30d15826;border:1px solid var(--accent, #30D158)}.quiz-submit-btn{width:100%;padding:14px;border-radius:12px;background:var(--accent, #30D158);color:#000;font-size:15px;font-weight:600;border:none;cursor:pointer;margin-top:16px}.quiz-submit-btn:disabled{opacity:.4;cursor:default}.quiz-result{text-align:center;padding:20px;border-radius:12px;margin-top:16px}.quiz-result-pass{background:#30d1581a;color:var(--accent, #30D158)}.quiz-result-fail{background:#ff453a1a;color:var(--apple-red, #FF453A)}.quiz-result-score{font-size:32px;font-weight:800;margin-bottom:8px}.quiz-result-text{font-size:14px}.quiz-xp-earned{font-size:20px;font-weight:700;margin-top:8px;color:var(--accent, #30D158)}.academy-content,.lesson-content{padding:0 16px 32px}.academy-back-to-faculty{display:flex;align-items:center;gap:8px;font-size:14px;opacity:.6;margin-bottom:16px;cursor:pointer}.faculty-section-header{font-size:17px;font-weight:700;margin:20px 0 12px}@keyframes xpPop{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-40px)}}
