:root{--bg:#0a0a0f;--bg-card:#13131a;--bg-card-hover:#1a1a24;--bg-elevated:#1c1c28;--text:#e8e8f0;--text-dim:#8888a0;--text-muted:#55556a;--accent:#ff6b00;--accent-light:#ff8c3a;--accent-glow:#ff6b004d;--danger:#ff2d55;--success:#0f8;--success-dim:#00ff8826;--warning:gold;--gradient:linear-gradient(135deg, #ff6b00, #ff2d55);--gradient-cool:linear-gradient(135deg, #00d4ff, #7b2ff7);--radius:16px;--radius-sm:10px;--radius-xs:6px;--shadow:0 4px 24px #0006;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Space Grotesk", "Inter", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:hidden}body{margin:0;padding:0}#root{text-align:left;border:none;width:100%;max-width:1200px;min-height:100dvh;margin:0 auto}.app{flex-direction:column;min-height:100dvh;display:flex}.app-content{will-change:transform, opacity;flex:1;padding-bottom:80px;overflow-y:auto}.app-content.page-exit-right{animation:.15s forwards pageExitRight}.app-content.page-exit-left{animation:.15s forwards pageExitLeft}.app-content.page-enter-right{animation:.3s forwards pageEnterRight}.app-content.page-enter-left{animation:.3s forwards pageEnterLeft}@keyframes pageExitRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes pageExitLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes pageEnterRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pageEnterLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.page{padding:16px;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tab-bar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:1200px;padding:6px 0 env(safe-area-inset-bottom,8px);z-index:100;background:#0d0d12f2;border-top:1px solid #ffffff0f;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-indicator{background:var(--gradient);z-index:1;border-radius:0 0 3px 3px;height:3px;transition:left .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0}.tab-btn{color:var(--text-muted);cursor:pointer;font-family:var(--font);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;transition:color .2s;display:flex;position:relative;overflow:hidden}.tab-btn:active{transform:scale(.92)}.tab-btn.active{color:var(--accent)}.tab-ripple{background:var(--accent-glow);pointer-events:none;border-radius:50%;width:60px;height:60px;animation:.5s ease-out forwards tabRipple;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes tabRipple{0%{opacity:.5;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(3)}}.tab-icon{font-size:22px;line-height:1;transition:transform .3s cubic-bezier(.4,0,.2,1)}.tab-icon-active{filter:drop-shadow(0 2px 6px var(--accent-glow));transform:scale(1.15)translateY(-1px)}.tab-label{letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:600;transition:opacity .2s}.home-header{padding:12px 0 8px}.brand-name{font-family:var(--font-display);letter-spacing:10px;background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:42px;font-weight:700;line-height:1.1}.brand-full{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-top:2px;font-size:11px}.greeting{color:var(--text-dim);margin-top:4px;font-size:14px}.streak-banner{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ff6b0026;margin:12px 0;padding:20px;position:relative;overflow:hidden}.streak-banner:before{content:"";background:radial-gradient(circle, var(--accent-glow), transparent 70%);pointer-events:none;width:200px;height:200px;position:absolute;top:-50%;right:-20%}.streak-fire{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex;position:relative}.streak-number{font-family:var(--font-display);background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:56px;font-weight:700;line-height:1}.streak-label{letter-spacing:2px;color:var(--text-dim);font-size:14px;font-weight:700}.streak-badge{background:var(--success-dim);color:var(--success);letter-spacing:1px;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700}.streak-badge.warning{color:var(--warning);background:#ffd70026}.streak-badge.danger{color:var(--danger);background:#ff2d5526}.week-dots{justify-content:space-between;gap:6px;margin:16px 0 12px;display:flex}.week-dot{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.dot-day{color:var(--text-muted);letter-spacing:.5px;font-size:11px;font-weight:600}.dot-circle{width:36px;height:36px;color:var(--text-muted);background:#ffffff0a;border:2px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .3s;display:flex}.week-dot.done .dot-circle{background:var(--gradient);color:#fff;box-shadow:0 2px 12px var(--accent-glow);border-color:#0000}.week-dot.today .dot-circle{border-color:var(--accent)}.streak-stats-mini{gap:16px;margin-top:4px;display:flex}.mini-stat{flex-direction:column;display:flex}.mini-val{font-family:var(--font-display);color:var(--text);font-size:20px;font-weight:700}.mini-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.tip-card{background:var(--bg-elevated);border-radius:var(--radius);cursor:pointer;border:1px solid #ffffff0a;align-items:flex-start;gap:12px;margin:12px 0;padding:16px;transition:transform .2s,background .2s;display:flex;position:relative}.tip-card:active{background:var(--bg-card-hover);transform:scale(.98)}.tip-icon{flex-shrink:0;font-size:28px}.tip-content{flex:1;min-width:0}.tip-type{letter-spacing:1.5px;color:var(--accent);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.tip-text{color:var(--text);font-size:14px;line-height:1.5}.tip-refresh{color:var(--text-muted);font-size:10px;position:absolute;bottom:6px;right:12px}.routine-section{margin:24px 0 16px}.section-title{font-family:var(--font-display);color:var(--text);letter-spacing:.5px;margin:0;font-size:20px;font-weight:700}.section-sub{color:var(--text-muted);margin-top:2px;margin-bottom:12px;font-size:13px}.routine-list{flex-direction:column;gap:8px;display:flex}.routine-card{background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #ffffff0a;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.routine-card:active{background:var(--bg-card-hover);border-color:#ff6b0033;transform:scale(.98)}.routine-icon{flex-shrink:0;font-size:32px}.routine-info{flex:1;min-width:0}.routine-name{font-family:var(--font-display);color:var(--text);margin:0;font-size:16px;font-weight:600}.routine-desc{color:var(--text-dim);margin-top:2px;font-size:12px}.routine-meta{gap:12px;margin-top:4px;display:flex}.routine-time{color:var(--accent);font-size:11px;font-weight:600}.routine-diff{color:var(--warning);letter-spacing:1px;font-size:11px}.routine-arrow{color:var(--text-muted);font-size:18px;font-weight:300}.workout-page{flex-direction:column;min-height:100dvh;padding-bottom:20px;display:flex}.workout-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.btn-back{color:var(--text-dim);cursor:pointer;font-size:14px;font-family:var(--font);background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:6px 14px}.workout-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:16px;font-weight:600}.workout-progress-text{color:var(--text-dim);font-size:14px;font-weight:600}.progress-bar{background:#ffffff0f;border-radius:2px;height:4px;margin-bottom:24px;overflow:hidden}.progress-fill{background:var(--gradient);border-radius:2px;height:100%;transition:width .5s}.exercise-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:20px 0;display:flex}.exercise-icon-big{font-size:72px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.exercise-name-big{font-family:var(--font-display);color:var(--text);margin:0;font-size:28px;font-weight:700}.exercise-instructions{color:var(--text-dim);max-width:300px;font-size:14px;line-height:1.5}.exercise-target{gap:24px;margin:16px 0;display:flex}.target-box{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffffff0f;flex-direction:column;align-items:center;padding:16px 28px;transition:border-color .3s,box-shadow .3s;display:flex;position:relative}.target-val{font-family:var(--font-display);background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:700}.target-label{color:var(--text-muted);letter-spacing:2px;margin-top:2px;font-size:11px;font-weight:700}.rest-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:40px 0;display:flex}.rest-screen.slide-in-right,.exercise-screen.slide-in-right{animation:.4s forwards slideInRight}.rest-screen.slide-out-left,.exercise-screen.slide-out-left{animation:.25s forwards slideOutLeft}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}.rest-screen.rest-urgent{animation:.5s ease-in-out infinite restUrgentBg}@keyframes restUrgentBg{0%,to{background:0 0}50%{background:#ff2d550a}}.rest-timer-ring-wrapper{justify-content:center;align-items:center;width:200px;height:200px;display:flex;position:relative}.rest-timer-ring-wrapper.shake{animation:.4s ease-in-out infinite timerShake}@keyframes timerShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.progress-ring{position:absolute;top:0;left:0}.progress-ring-circle{filter:drop-shadow(0 0 8px var(--accent-glow));transition:stroke-dashoffset 1s linear,stroke .3s}.progress-ring-circle.urgent{filter:drop-shadow(0 0 12px #ff2d5580)}.rest-timer-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex}.rest-time{font-family:var(--font-display);color:var(--accent);font-size:56px;font-weight:700;line-height:1;transition:color .3s,transform .3s}.rest-time.urgent{color:#ff2d55;animation:.5s ease-in-out infinite urgentPulse}@keyframes urgentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.rest-label{letter-spacing:3px;color:var(--text-dim);margin-top:4px;font-size:12px;font-weight:700}.rest-hype{font-family:var(--font-display);color:var(--accent);text-align:center;margin-bottom:8px;font-size:18px;font-weight:700;animation:.3s fadeIn}.rest-next{color:var(--text-dim);font-size:14px}.btn-skip-rest{opacity:.7;padding:10px 24px;font-size:14px}.btn-skip-rest:active{opacity:1}.target-ring-mini{opacity:.3;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.target-urgent{border-color:#ff2d554d;animation:.5s ease-in-out infinite targetUrgentPulse}@keyframes targetUrgentPulse{0%,to{box-shadow:0 0 #ff2d5500}50%{box-shadow:0 0 20px #ff2d5526}}.set-dots{gap:8px;margin-top:8px;display:flex}.set-dot{background:#ffffff14;border:2px solid #ffffff1f;border-radius:50%;width:10px;height:10px;transition:all .3s}.set-dot.done{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.set-dot.current{border-color:var(--accent);animation:1.5s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{box-shadow:0 0 #ff6b0000}50%{box-shadow:0 0 10px var(--accent-glow)}}.btn-complete-set{position:relative;overflow:hidden}.btn-complete-set:active{transform:scale(.96)}.btn-primary{background:var(--gradient);color:#fff;font-family:var(--font-display);letter-spacing:1px;cursor:pointer;box-shadow:0 4px 20px var(--accent-glow);border:none;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:700;transition:all .2s}.btn-primary:active{transform:scale(.96)}.btn-primary.btn-large{width:100%;max-width:320px;padding:18px;font-size:18px}.btn-primary.pulsing{animation:1s ease-in-out infinite btnPulse}@keyframes btnPulse{0%,to{box-shadow:0 4px 20px var(--accent-glow)}50%{box-shadow:0 4px 40px #ff6b0080}}.btn-danger{color:var(--danger);border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;background:#ff2d551a;border:1px solid #ff2d554d;width:100%;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.btn-danger:active{background:#ff2d5533}.complete-page{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100dvh;padding:40px 16px 32px;display:flex;position:relative;overflow:hidden auto}.complete-flash{animation:.6s screenFlash}@keyframes screenFlash{0%{background:#ff6b004d}to{background:0 0}}.complete-bg-glow{pointer-events:none;z-index:0;background:radial-gradient(#ff6b001f 0%,#0000 70%);width:120%;height:60%;animation:3s ease-in-out infinite bgGlowPulse;position:fixed;top:-30%;left:50%;transform:translate(-50%)}@keyframes bgGlowPulse{0%,to{opacity:.6}50%{opacity:1}}.complete-content{z-index:1;flex-direction:column;align-items:center;gap:16px;width:100%;display:flex;position:relative}.complete-icon{opacity:0;font-size:90px;transition:all .6s cubic-bezier(.175,.885,.32,1.4);transform:scale(0)}.complete-icon.visible{opacity:1;animation:.8s cubic-bezier(.175,.885,.32,1.4) iconBounce;transform:scale(1)}@keyframes iconBounce{0%{transform:scale(0)rotate(-20deg)}50%{transform:scale(1.3)rotate(5deg)}70%{transform:scale(.9)rotate(-2deg)}to{transform:scale(1)rotate(0)}}.complete-title{font-family:var(--font-display);background:var(--gradient);-webkit-text-fill-color:transparent;letter-spacing:3px;opacity:0;-webkit-background-clip:text;background-clip:text;margin:0;font-size:32px;font-weight:700;transition:all .5s;transform:translateY(20px)}.complete-title.visible{opacity:1;animation:2s ease-in-out 1s infinite titlePulse;transform:translateY(0)}@keyframes titlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.complete-routine{color:var(--text-dim);opacity:0;font-size:16px;transition:all .4s;transform:translateY(10px)}.complete-routine.visible{opacity:1;transform:translateY(0)}.complete-quote{color:var(--text-muted);opacity:0;max-width:280px;font-size:14px;font-style:italic;transition:all .4s .1s;transform:translateY(10px)}.complete-quote.visible{opacity:1;transform:translateY(0)}.complete-stats{opacity:0;gap:24px;margin:8px 0;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex;transform:translateY(20px)scale(.9)}.complete-stats.visible{opacity:1;transform:translateY(0)scale(1)}.complete-stat{flex-direction:column;align-items:center;display:flex}.complete-stat-val{font-family:var(--font-display);color:var(--text);font-size:34px;font-weight:700}.complete-stat-label{color:var(--text-muted);letter-spacing:1px;font-size:11px;font-weight:700}.complete-xp-earned{opacity:0;background:linear-gradient(135deg,#ff6b0026,#ff2d551a);border:1px solid #ff6b004d;border-radius:50px;align-items:center;gap:8px;padding:10px 24px;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex;transform:scale(.5)}.complete-xp-earned.visible{opacity:1;transform:scale(1)}.complete-xp-icon{font-size:20px}.complete-xp-value{font-family:var(--font-display);color:var(--accent);letter-spacing:1px;font-size:22px;font-weight:700}.complete-streak{background:var(--bg-card);opacity:0;border:1px solid #ff6b0033;border-radius:50px;align-items:center;gap:8px;padding:12px 24px;transition:all .5s;display:flex;transform:translateY(15px)}.complete-streak.visible{opacity:1;transform:translateY(0)}.complete-streak-fire{font-size:24px;animation:1.5s ease-in-out infinite fireFlicker}@keyframes fireFlicker{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.1)rotate(-3deg)}75%{transform:scale(1.05)rotate(3deg)}}.complete-streak-num{font-family:var(--font-display);color:var(--accent);font-size:28px;font-weight:700}.complete-streak-label{color:var(--text-dim);letter-spacing:1px;font-size:11px;font-weight:700}.complete-prs{opacity:0;transition:all .5s cubic-bezier(.175,.885,.32,1.275);transform:translateY(15px)scale(.95)}.complete-prs.visible{opacity:1;transform:translateY(0)scale(1)}.complete-exercises{opacity:0;width:100%;max-width:320px;margin:8px 0;transition:all .4s;transform:translateY(10px)}.complete-exercises.visible{opacity:1;transform:translateY(0)}.complete-exercise-row{opacity:0;border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:8px 0;animation:.3s forwards exerciseSlideIn;display:flex}@keyframes exerciseSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.complete-check{color:var(--success);font-size:14px;font-weight:700}.complete-exercise-name{color:var(--text);text-align:left;flex:1;font-size:13px}.complete-exercise-detail{color:var(--text-dim);font-size:13px;font-weight:600}.btn-complete-close{opacity:0;margin-top:8px;transition:all .4s;transform:translateY(10px)}.btn-complete-close.visible{opacity:1;transform:translateY(0)}.confetti{pointer-events:none;z-index:50;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{border-radius:2px;width:8px;height:8px;animation:3.5s ease-in forwards confettiFall;position:absolute;top:-10px}.confetti-large{border-radius:50%;width:12px;height:12px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}60%{opacity:1}to{opacity:0;transform:translateY(100vh)rotate(1080deg)scale(.5)}}.achievement-sparkle{background:var(--accent);pointer-events:none;border-radius:50%;animation:1.5s ease-out infinite sparkle;position:absolute}@keyframes sparkle{0%{opacity:1;transform:scale(0)}50%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(0)}}.page-title{font-family:var(--font-display);color:var(--text);letter-spacing:.5px;margin:0 0 4px;font-size:28px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-bottom:16px;font-size:13px}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon{margin-bottom:16px;font-size:48px}.history-day{margin-bottom:20px}.history-date{color:var(--accent);text-transform:capitalize;letter-spacing:.5px;margin-bottom:8px;font-size:14px;font-weight:700}.history-card{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff0a;margin-bottom:8px;padding:14px 16px}.history-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.history-routine{font-family:var(--font-display);color:var(--text);font-size:15px;font-weight:600}.history-time{color:var(--text-muted);font-size:12px}.history-card-stats{color:var(--text-dim);gap:16px;margin-bottom:8px;font-size:12px;display:flex}.history-exercises{flex-wrap:wrap;gap:4px;display:flex}.history-exercise-tag{color:var(--text-muted);background:#ffffff0a;border-radius:20px;padding:2px 8px;font-size:11px}.stats-header-row{justify-content:space-between;align-items:center;display:flex}.stats-tabs{gap:4px;display:flex}.stats-tab{background:var(--bg-card);color:var(--text-dim);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);border:1px solid #ffffff1a;border-radius:20px;padding:6px 14px;transition:all .2s}.stats-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-sm);text-align:center;border:1px solid #ffffff0a;flex-direction:column;align-items:center;padding:14px 12px;display:flex}.stat-card.accent{background:#ff6b000f;border-color:#ff6b004d}.stat-icon{margin-bottom:4px;font-size:20px}.stat-value{font-family:var(--font-display);color:var(--text);font-size:24px;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:10px}.stats-section{margin:24px 0}.stats-section-title{font-family:var(--font-display);color:var(--text);letter-spacing:.5px;margin-bottom:12px;font-size:16px;font-weight:700}.bar-chart{align-items:flex-end;gap:6px;height:120px;padding:0 4px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.bar-wrapper{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.bar{background:var(--gradient);border-radius:6px 6px 2px 2px;justify-content:center;align-items:flex-start;width:100%;max-width:32px;min-height:4px;padding-top:4px;transition:height .5s;display:flex}.bar-val{color:#fff;font-size:11px;font-weight:700}.bar-label{color:var(--text-muted);margin-top:6px;font-size:11px;font-weight:600}.muscle-bars{flex-direction:column;gap:8px;display:flex}.muscle-bar-row{align-items:center;gap:10px;display:flex}.muscle-name{color:var(--text-dim);text-align:right;flex-shrink:0;width:80px;font-size:12px}.muscle-bar-track{background:#ffffff0a;border-radius:4px;flex:1;height:8px;overflow:hidden}.muscle-bar-fill{background:var(--gradient);border-radius:4px;min-width:4px;height:100%;transition:width .5s}.muscle-count{color:var(--text-muted);width:30px;font-size:12px;font-weight:600}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.achievement-card{background:var(--bg-card);border-radius:var(--radius-sm);text-align:center;border:1px solid #ffffff0a;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;transition:all .3s;display:flex}.achievement-card.locked{opacity:.4}.achievement-card.unlocked{background:#ff6b000a;border-color:#ff6b004d}.achievement-icon{font-size:28px}.achievement-name{color:var(--text);letter-spacing:.3px;font-size:11px;font-weight:700}.achievement-desc{color:var(--text-muted);font-size:10px;line-height:1.3}.settings-group{margin-bottom:24px}.settings-group-title{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:14px;font-weight:700}.setting-row{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.setting-name{color:var(--text);font-size:15px;font-weight:600;display:block}.setting-desc{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.toggle{cursor:pointer;background:#ffffff1a;border:none;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .3s;position:relative}.toggle.on{background:var(--accent)}.toggle-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .3s;position:absolute;top:3px;left:3px}.toggle.on .toggle-thumb{transform:translate(20px)}.equipment-list{flex-direction:column;gap:6px;display:flex}.equipment-item{background:var(--bg-card);border-radius:var(--radius-xs);color:var(--text);border:1px solid #ffffff0a;padding:12px 16px;font-size:14px}.settings-about{color:var(--text-dim);margin-bottom:8px;font-size:14px;line-height:1.6}.settings-version{color:var(--text-muted);font-size:12px}.achievement-popup{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;cursor:pointer;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.achievement-popup-content{background:var(--bg-elevated);border-radius:var(--radius);text-align:center;border:1px solid #ff6b004d;padding:40px 32px;animation:.4s cubic-bezier(.175,.885,.32,1.275) popIn;position:relative;overflow:hidden}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.achievement-glow{background:radial-gradient(circle at center, var(--accent-glow), transparent 60%);width:200%;height:200%;animation:2s ease-in-out infinite glowPulse;position:absolute;top:-50%;left:-50%}@keyframes glowPulse{0%,to{opacity:.3}50%{opacity:.6}}.achievement-popup-icon{margin-bottom:12px;font-size:64px;display:block;position:relative}.achievement-popup-title{letter-spacing:3px;color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:700;position:relative}.achievement-popup-name{font-family:var(--font-display);color:var(--text);margin:0 0 8px;font-size:24px;font-weight:700;position:relative}.achievement-popup-desc{color:var(--text-dim);margin:0;font-size:14px;position:relative}.home-challenges-row{flex-direction:column;gap:12px;margin:12px 0;display:flex}.routine-section-featured{border-radius:var(--radius);background:linear-gradient(135deg,#ff6b000a,#0000);border:1px solid #ff6b0026;margin:8px 0 16px;padding:16px}.home-widgets{scrollbar-width:none;-ms-overflow-style:none;gap:8px;margin:12px 0;padding-bottom:4px;display:flex;overflow-x:auto}.home-widgets::-webkit-scrollbar{display:none}.widget{background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #ffffff0a;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;min-width:72px;padding:12px 14px;transition:all .2s;display:flex}.widget:active{transform:scale(.95)}.water-widget{background:#00d4ff0d;border-color:#00d4ff33}.supp-widget.taken{background:#00ff880f;border-color:#00ff884d}.widget-icon{font-size:20px}.widget-val{font-family:var(--font-display);color:var(--text);font-size:16px;font-weight:700}.supp-widget.taken .widget-val{color:var(--success)}.widget-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.widget-action{color:#00d4ff99;font-size:9px;font-weight:600}.exercises-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.btn-build{background:var(--bg-card);color:var(--accent);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border:1px solid #ff6b004d;border-radius:20px;padding:8px 16px;transition:all .2s}.btn-build.active{color:var(--danger);background:#ff2d551a;border-color:#ff2d554d}.custom-routines-section{margin-bottom:20px}.custom-routine-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.custom-routine-card{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ff6b0026;align-items:center;display:flex;overflow:hidden}.custom-routine-info{cursor:pointer;flex:1;align-items:center;gap:12px;padding:12px 16px;display:flex}.custom-routine-icon{font-size:24px}.custom-routine-name{font-family:var(--font-display);color:var(--text);font-size:14px;font-weight:600;display:block}.custom-routine-meta{color:var(--text-muted);font-size:11px}.btn-delete-routine{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:12px 16px;font-size:18px;transition:color .2s}.btn-delete-routine:hover{color:var(--danger)}.builder-bar{background:var(--bg-elevated);border-radius:var(--radius);border:1px solid #ff6b0033;margin-bottom:12px;padding:14px}.builder-input{background:var(--bg-card);border-radius:var(--radius-xs);width:100%;color:var(--text);font-size:15px;font-family:var(--font);border:1px solid #ffffff14;outline:none;margin-bottom:10px;padding:10px 14px}.builder-input:focus{border-color:var(--accent)}.builder-input::placeholder{color:var(--text-muted)}.builder-info{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:13px;display:flex}.btn-save-routine{background:var(--gradient);color:#fff;font-family:var(--font-display);letter-spacing:.5px;cursor:pointer;border:none;border-radius:20px;padding:8px 20px;font-size:12px;font-weight:700}.btn-save-routine:disabled{opacity:.4;cursor:not-allowed}.selected-exercises{margin-bottom:16px}.selected-exercise-row{background:var(--bg-card);border-radius:var(--radius-xs);border:1px solid #ff6b001a;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;display:flex}.selected-num{font-family:var(--font-display);color:var(--accent);flex-shrink:0;width:20px;font-size:14px;font-weight:700}.selected-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.selected-controls{flex-shrink:0;gap:8px;display:flex}.control-group{align-items:center;gap:2px;display:flex}.ctrl-btn{color:var(--text);cursor:pointer;width:24px;height:24px;font-size:16px;font-family:var(--font);background:#ffffff0f;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.ctrl-val{color:var(--accent);text-align:center;min-width:24px;font-size:12px;font-weight:700}.filter-pills{scrollbar-width:none;-ms-overflow-style:none;gap:6px;margin-bottom:4px;padding-bottom:12px;display:flex;overflow-x:auto}.filter-pills::-webkit-scrollbar{display:none}.pill{background:var(--bg-card);color:var(--text-dim);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--font);border:1px solid #ffffff0f;border-radius:20px;flex-shrink:0;padding:6px 14px;transition:all .2s}.pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.exercise-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.exercise-card{background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #ffffff0a;flex-direction:column;gap:6px;padding:14px 12px;transition:all .2s;display:flex;position:relative}.exercise-card:active{transform:scale(.97)}.exercise-card.selected{border-color:var(--accent);background:#ff6b000f}.exercise-check{color:#fff;border:2px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.exercise-check.checked{background:var(--accent);border-color:var(--accent)}.exercise-card-icon{font-size:28px}.exercise-card-name{font-family:var(--font-display);color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.exercise-card-tags{flex-wrap:wrap;gap:4px;display:flex}.etag{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:2px 6px;font-size:9px;font-weight:600}.etag.muscle{color:var(--accent-light);background:#ff6b001f}.etag.equip{color:#00d4ff;background:#00d4ff1a}.exercise-card-default{color:var(--text-muted);font-size:11px}.exercise-detail{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 0;display:flex}.exercise-detail-icon{font-size:72px}.exercise-detail-name{font-family:var(--font-display);color:var(--text);margin:0;font-size:24px;font-weight:700}.exercise-detail-tags{gap:8px;display:flex}.detail-tag{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.detail-tag.muscle{color:var(--accent-light);background:#ff6b001f}.detail-tag.equipment{color:#00d4ff;background:#00d4ff1a}.exercise-detail-box{background:var(--bg-card);border-radius:var(--radius);text-align:left;border:1px solid #ffffff0a;width:100%;padding:20px}.exercise-detail-box h4{font-family:var(--font-display);color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700}.exercise-detail-box p{color:var(--text-dim);font-size:15px;line-height:1.6}.exercise-detail-defaults{gap:24px;display:flex}.default-item{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffffff0f;flex-direction:column;align-items:center;padding:16px 28px;display:flex}.default-val{font-family:var(--font-display);background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.default-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:11px}.ed-quick-start{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffffff0a;flex-direction:column;gap:16px;width:100%;padding:20px;display:flex}.ed-quick-start h4{font-family:var(--font-display);color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.ed-customizer{justify-content:center;gap:24px;display:flex}.ed-customizer>.control-group{flex-direction:column;align-items:center;gap:8px;display:flex}.ed-start-btn,.ed-start-btn .btn-primary{width:100%}.water-page{flex-direction:column;align-items:center;display:flex}.water-page .page-title,.water-page .page-subtitle{text-align:center;width:100%}.water-ring-container{width:200px;height:200px;margin:24px 0;position:relative}.water-ring{width:100%;height:100%}.water-ring-content{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.water-count{font-family:var(--font-display);color:#00d4ff;font-size:48px;font-weight:700;line-height:1;transition:transform .2s}.water-count.water-bump{transform:scale(1.2)}.water-goal-label{color:var(--text-muted);font-size:16px;font-weight:600}.water-ml{color:var(--text-dim);margin-top:2px;font-size:12px}.water-complete-badge{background:var(--success-dim);color:var(--success);letter-spacing:2px;border-radius:20px;margin-bottom:16px;padding:6px 16px;font-size:12px;font-weight:700;animation:.4s cubic-bezier(.175,.885,.32,1.275) popIn}.water-actions{gap:12px;margin-bottom:24px;display:flex}.btn-water-add{color:#fff;font-family:var(--font-display);cursor:pointer;letter-spacing:1px;background:linear-gradient(135deg,#00d4ff,#7b2ff7);border:none;border-radius:50px;padding:14px 40px;font-size:18px;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #00d4ff4d}.btn-water-add:active{transform:scale(.95)}.btn-water-remove,.btn-water-add-small{background:var(--bg-card);color:var(--text-dim);cursor:pointer;width:48px;height:48px;font-size:20px;font-weight:700;font-family:var(--font-display);border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.btn-water-remove:disabled{opacity:.3;cursor:not-allowed}.water-glasses{flex-wrap:wrap;justify-content:center;gap:8px;max-width:300px;margin-bottom:24px;display:flex}.water-glass{opacity:.2;font-size:24px;transition:all .3s}.water-glass.filled{opacity:1;animation:.3s dropIn}@keyframes dropIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.water-tips{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffffff0a;width:100%;padding:16px}.water-tips-title{font-family:var(--font-display);color:var(--text);letter-spacing:.5px;margin-bottom:10px;font-size:14px;font-weight:700}.water-tip-item{color:var(--text-dim);border-bottom:1px solid #ffffff08;padding:6px 0;font-size:13px;line-height:1.4}.water-tip-item:last-child{border-bottom:none}.settings-supp-desc{color:var(--text-muted);margin-bottom:12px;font-size:12px}.supplement-list{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.supplement-row{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.supplement-left{align-items:center;gap:10px;display:flex}.supplement-icon{font-size:20px}.supplement-name{color:var(--text);font-size:14px;font-weight:600}.supplement-right{align-items:center;gap:8px;display:flex}.supplement-time-input{background:var(--bg-elevated);border-radius:var(--radius-xs);color:var(--text);font-size:13px;font-family:var(--font);border:1px solid #ffffff14;width:80px;padding:4px 8px}.supplement-time-input::-webkit-calendar-picker-indicator{filter:invert()}.toggle.small{border-radius:10px;width:36px;height:20px}.toggle.small .toggle-thumb{width:16px;height:16px;top:2px;left:2px}.toggle.small.on .toggle-thumb{transform:translate(16px)}.btn-remove-supp{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px}.btn-remove-supp:hover{color:var(--danger)}.add-supplement-row{gap:8px;display:flex}.add-supplement-input{background:var(--bg-card);border-radius:var(--radius-xs);color:var(--text);font-size:14px;font-family:var(--font);border:1px solid #ffffff14;outline:none;flex:1;padding:10px 14px}.add-supplement-input:focus{border-color:var(--accent)}.add-supplement-input::placeholder{color:var(--text-muted)}.btn-add-supplement{background:var(--accent);color:#fff;border-radius:var(--radius-xs);cursor:pointer;border:none;justify-content:center;align-items:center;width:44px;font-size:22px;font-weight:700;display:flex}.btn-add-supplement:disabled{opacity:.3;cursor:not-allowed}.email-config-section{margin-top:8px}.btn-email-setup{background:var(--bg-card);color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);text-align:center;border:1px solid #ff6b0033;width:100%;margin-bottom:8px;padding:10px 16px}.email-fields{flex-direction:column;gap:6px;animation:.3s fadeIn;display:flex}.email-setup-help{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff0a;margin-bottom:4px;padding:12px 14px}.email-setup-help p{color:var(--text-dim);font-size:12px;line-height:1.8}.email-input{background:var(--bg-card);border-radius:var(--radius-xs);color:var(--text);font-size:14px;font-family:var(--font);border:1px solid #ffffff14;outline:none;width:100%;padding:10px 14px}.email-input:focus{border-color:var(--accent)}.email-input::placeholder{color:var(--text-muted)}.email-options{flex-direction:column;gap:8px;margin-top:4px;display:flex}.email-option{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.email-hour-input{background:var(--bg-card);border-radius:var(--radius-xs);color:var(--text);font-size:14px;font-family:var(--font);text-align:center;border:1px solid #ffffff14;width:50px;padding:4px 8px}.email-hour-label{color:var(--text-muted);font-size:13px}.setting-row.compact{padding:10px 14px}::-webkit-scrollbar{background:0 0;width:0}@supports (padding:env(safe-area-inset-top)){.home-header{padding-top:calc(12px + env(safe-area-inset-top))}}.coach-card{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;border:1px solid #ff6b0026;margin:12px 0;padding:16px;transition:transform .15s,border-color .3s;position:relative;overflow:hidden}.coach-card:before{content:"";background:var(--gradient);height:2px;position:absolute;top:0;left:0;right:0}.coach-card:active{transform:scale(.98)}.coach-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.coach-avatar{background:#ff6b001f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;display:flex}.coach-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.coach-badge-offline{letter-spacing:.5px;color:var(--text-muted);text-transform:uppercase;background:#ffffff0f;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.coach-message{align-items:center;min-height:40px;display:flex}.coach-text{color:var(--text);margin:0;font-size:14px;line-height:1.5}.coach-typing{gap:4px;padding:8px 0;display:flex}.typing-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.coach-refresh{text-align:right;color:var(--text-muted);margin-top:8px;font-size:11px;display:block}.challenge-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ff2d5526;margin:12px 0;padding:16px;position:relative;overflow:hidden}.challenge-card:before{content:"";background:linear-gradient(90deg,#ff2d55,gold);height:2px;position:absolute;top:0;left:0;right:0}.challenge-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.challenge-badge{align-items:center;gap:6px;display:flex}.challenge-badge-icon{font-size:16px}.challenge-badge-text{font-family:var(--font-display);letter-spacing:2px;color:var(--danger);text-transform:uppercase;font-size:11px;font-weight:700}.challenge-xp-badge{font-family:var(--font-display);color:var(--warning);letter-spacing:.5px;background:#ffd7001a;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.challenge-title{font-family:var(--font-display);color:var(--text);margin:0 0 6px;font-size:18px;font-weight:700}.challenge-desc{color:var(--text-dim);margin:0 0 12px;font-size:13px;line-height:1.4}.challenge-target{border-radius:var(--radius-sm);background:#ffffff0a;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.challenge-target-icon{font-size:16px}.challenge-target-text{color:var(--text);font-size:14px;font-weight:600}.challenge-meta{margin-bottom:12px}.challenge-difficulty{letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:700}.btn-challenge-complete{background:var(--gradient);border-radius:var(--radius-sm);color:#fff;width:100%;font-family:var(--font-display);letter-spacing:2px;cursor:pointer;border:none;padding:14px;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s}.btn-challenge-complete:active{opacity:.9;transform:scale(.97)}.challenge-done{background:var(--success-dim);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.challenge-done-icon{color:var(--success);font-size:18px;font-weight:700}.challenge-done-text{font-family:var(--font-display);letter-spacing:1px;color:var(--success);font-size:14px;font-weight:700}.challenge-level-bar{border-top:1px solid #ffffff0d;margin-top:14px;padding-top:12px}.challenge-level-info{justify-content:space-between;margin-bottom:6px;display:flex}.challenge-level-label{color:var(--text-dim);font-size:12px;font-weight:700;font-family:var(--font-display);letter-spacing:.5px}.challenge-level-xp{color:var(--warning);font-size:12px;font-weight:600}.challenge-level-track{background:#ffffff0f;border-radius:3px;width:100%;height:6px;overflow:hidden}.challenge-level-fill{background:linear-gradient(90deg, var(--warning), var(--accent));border-radius:3px;height:100%;transition:width .5s}.profile-fields{flex-direction:column;gap:12px;display:flex}.profile-input{background:var(--bg-elevated);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);border:1px solid #ffffff14;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.profile-input:focus{border-color:var(--accent)}.profile-row-3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.profile-field{flex-direction:column;gap:6px;display:flex}.profile-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.profile-input-sm{background:var(--bg-elevated);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);text-align:center;border:1px solid #ffffff14;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.profile-input-sm:focus{border-color:var(--accent)}.profile-pills{flex-wrap:wrap;gap:6px;display:flex}.profile-pill{background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font);cursor:pointer;border:1px solid #ffffff14;border-radius:20px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .2s}.profile-pill.active{border-color:var(--accent);color:var(--accent);background:#ff6b0026;font-weight:600}.profile-pill:active{transform:scale(.95)}.coach-status-box{border-radius:var(--radius-sm);background:#ffffff08;align-items:flex-start;gap:10px;margin-top:8px;padding:12px;display:flex}.coach-status-icon{flex-shrink:0;font-size:20px}.coach-status-text{color:var(--text-dim);font-size:12px;line-height:1.5}.coach-status-text code{color:var(--accent);background:#ff6b001f;border-radius:3px;padding:1px 5px;font-size:11px}.body-tracker-page .page-subtitle{color:var(--text-dim);margin-bottom:16px;font-size:13px}.tac-comment-bubble{border-radius:var(--radius);background:#ff6b0014;border:1px solid #ff6b0033;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;animation:.3s fadeIn;display:flex;position:relative}.tac-comment-avatar{flex-shrink:0;font-size:22px}.tac-comment-text{color:var(--text);flex:1;margin:0;font-size:13px;line-height:1.5}.tac-comment-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.body-stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.body-stat-card{background:var(--bg-card);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:14px;display:flex;position:relative;overflow:hidden}.body-stat-header{align-items:center;gap:6px;display:flex}.body-stat-icon{font-size:14px}.body-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.body-stat-value{font-family:var(--font-display);color:var(--text);font-size:28px;font-weight:700}.body-stat-unit{color:var(--text-dim);margin-left:2px;font-size:14px}.body-stat-trend{font-size:12px;font-weight:600}.body-stat-trend.down{color:var(--success)}.body-stat-trend.up{color:var(--danger)}.body-stat-trend.same{color:var(--text-muted)}.body-mini-chart{width:100%;height:40px;margin-top:4px}.btn-add-body{width:100%;margin:8px 0 16px}.body-form{background:var(--bg-card);border-radius:var(--radius);margin-bottom:16px;padding:16px}.body-form-title{font-family:var(--font-display);color:var(--text);margin-bottom:12px;font-size:15px;font-weight:700}.body-form-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:10px 0;display:flex}.body-form-icon{flex-shrink:0;font-size:16px}.body-form-label{color:var(--text-dim);flex:1;font-size:13px}.body-form-input{background:var(--bg-elevated);border-radius:var(--radius-xs);width:80px;color:var(--text);font-family:var(--font);text-align:center;border:1px solid #ffffff14;outline:none;padding:8px 10px;font-size:14px}.body-form-input:focus{border-color:var(--accent)}.body-form-actions{gap:8px;margin-top:14px;display:flex}.btn-body-cancel{background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font);cursor:pointer;border:none;flex:1;padding:12px;font-size:14px}.body-form-actions .btn-primary{flex:1}.body-history{margin-top:16px}.body-history-title{font-family:var(--font-display);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:14px;font-weight:700}.body-history-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:10px 0;display:flex}.body-history-date{color:var(--text-muted);flex-shrink:0;min-width:75px;font-size:12px}.body-history-values{flex-wrap:wrap;flex:1;gap:6px;display:flex}.body-history-val{color:var(--text-dim);background:#ffffff0a;border-radius:4px;padding:3px 8px;font-size:11px}.body-history-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.body-empty{text-align:center;color:var(--text-dim);padding:40px 16px;font-size:14px}.body-empty p{margin-bottom:8px}.complete-prs{border-radius:var(--radius);text-align:center;background:#ffd70014;border:1px solid #ffd70040;margin:16px 0;padding:16px;animation:1s ease-in-out prPulse}@keyframes prPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.pr-banner{justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pr-banner-icon{font-size:24px}.pr-banner-text{font-family:var(--font-display);letter-spacing:2px;color:var(--warning);font-size:14px;font-weight:700}.pr-message{color:var(--text);margin:0 0 12px;font-size:13px;font-style:italic}.pr-detail{justify-content:center;align-items:center;gap:8px;padding:6px 0;display:flex}.pr-exercise{color:var(--text);font-size:13px;font-weight:600}.pr-value{font-family:var(--font-display);color:var(--warning);font-size:15px;font-weight:700}.pr-previous{color:var(--text-muted);font-size:11px}.pr-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pr-card{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffd7001a;flex-direction:column;gap:2px;padding:12px;display:flex}.pr-card-icon{font-size:16px}.pr-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.pr-card-value{font-family:var(--font-display);color:var(--warning);font-size:18px;font-weight:700}.pr-card-date{color:var(--text-muted);font-size:10px}.onboarding{min-height:100dvh;padding:0 16px env(safe-area-inset-bottom,20px);flex-direction:column;max-width:520px;margin:0 auto;animation:.5s fadeIn;display:flex}.onboarding-bar{z-index:10;background:#ffffff0f;border-radius:2px;height:4px;margin-bottom:24px;position:sticky;top:0}.onboarding-bar-fill{background:var(--gradient);border-radius:2px;height:100%;transition:width .4s}.onboarding-step{padding-top:env(safe-area-inset-top,12px);flex-direction:column;flex:1;animation:.4s obSlideIn;display:flex}@keyframes obSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.ob-question-header{align-items:center;gap:12px;margin-bottom:6px;display:flex}.ob-q-icon{flex-shrink:0;font-size:32px}.ob-q-title{font-family:var(--font-display);color:var(--text);font-size:22px;font-weight:700;line-height:1.2}.ob-q-sub{color:var(--text-dim);margin-bottom:20px;font-size:14px;line-height:1.4}.ob-nav{gap:10px;margin-top:auto;padding:20px 0 16px;display:flex}.ob-nav .btn-secondary{background:var(--bg-card);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font);cursor:pointer;border:1px solid #ffffff1a;flex:1;padding:14px;font-size:14px;font-weight:600}.ob-nav .btn-primary{flex:2}.ob-nav .btn-primary:disabled{opacity:.4;pointer-events:none}.ob-welcome{text-align:center;justify-content:center;align-items:center;padding-top:10vh}.ob-logo{font-family:var(--font-display);letter-spacing:12px;background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:2px;font-size:72px;font-weight:700}.ob-subtitle{color:var(--text-dim);margin-bottom:24px;font-size:16px;font-weight:500}.ob-avatar-big{opacity:0;margin-bottom:12px;font-size:80px;animation:1s forwards obEntrance,3s ease-in-out 1s infinite obFloat}@keyframes obEntrance{0%{opacity:0;transform:scale(.3)rotate(-20deg)}60%{opacity:1;transform:scale(1.15)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes obFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.ob-welcome-tagline{font-family:var(--font-display);color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;opacity:0;margin-bottom:24px;font-size:14px;font-weight:600;animation:.6s .5s forwards fadeIn}.ob-speech{text-align:left;background:var(--bg-card);border-radius:var(--radius);border-left:3px solid var(--accent);margin-bottom:28px;padding:20px;position:relative}.ob-speech p{color:var(--text);margin-bottom:8px;font-size:14px;line-height:1.6}.ob-speech p:last-child{margin-bottom:0}.ob-speech p strong{color:var(--accent)}.ob-btn{width:100%;max-width:320px}.btn-large{padding:16px 24px!important;font-size:16px!important}.ob-skip-hint{color:var(--text-muted);margin-top:16px;font-size:12px}.ob-input-big{background:var(--bg-card);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font);border:2px solid #ffffff1a;outline:none;margin-bottom:20px;padding:16px 18px;font-size:20px;font-weight:600;transition:border-color .2s}.ob-input-big:focus{border-color:var(--accent)}.ob-input-big::placeholder{color:var(--text-muted);font-weight:400}.ob-field-optional{margin-bottom:16px}.ob-label-sm{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.ob-input{background:var(--bg-card);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);border:1px solid #ffffff14;outline:none;padding:12px 14px;font-size:15px;transition:border-color .2s}.ob-input:focus{border-color:var(--accent)}.ob-body-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.ob-body-field{flex-direction:column;gap:6px;display:flex}.ob-body-field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.ob-input-unit{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff14;align-items:center;padding-right:10px;transition:border-color .2s;display:flex}.ob-input-unit:focus-within{border-color:var(--accent)}.ob-input-num{width:100%;color:var(--text);font-family:var(--font);text-align:center;background:0 0;border:none;outline:none;flex:1;padding:14px 10px;font-size:18px;font-weight:600}.ob-input-num::placeholder{color:var(--text-muted)}.ob-unit{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:500}.ob-privacy{color:var(--text-muted);text-align:center;margin-top:8px;font-size:12px}.ob-test-counter{text-align:center;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;font-size:12px;font-weight:600}.ob-test-options{flex-direction:column;gap:10px;display:flex}.ob-test-option{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;color:var(--text);font-family:var(--font);text-align:left;border:2px solid #ffffff0f;justify-content:space-between;align-items:center;padding:16px 18px;transition:all .2s;display:flex}.ob-test-option:active{transform:scale(.98)}.ob-test-option.selected{border-color:var(--accent);background:#ff6b0014}.ob-test-label{color:var(--text);font-size:18px;font-weight:700}.ob-test-desc{color:var(--text-dim);font-size:13px}.ob-test-option.selected .ob-test-label{color:var(--accent)}.ob-equip-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.ob-equip-card{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;color:var(--text);font-family:var(--font);text-align:center;border:2px solid #ffffff0f;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;transition:all .2s;display:flex}.ob-equip-card:active{transform:scale(.96)}.ob-equip-card.active{border-color:var(--success);background:#00ff880f}.ob-equip-icon{font-size:28px}.ob-equip-label{font-size:13px;font-weight:700}.ob-equip-desc{color:var(--text-dim);font-size:11px}.ob-equip-card.active .ob-equip-label{color:var(--success)}.ob-dumbbell-weight{background:var(--bg-card);border-radius:var(--radius-sm);margin-bottom:12px;padding:14px}.ob-dumbbell-weight label{color:var(--text-dim);margin-bottom:10px;font-size:13px;display:block}.ob-weight-pills{flex-wrap:wrap;gap:8px;display:flex}.ob-weight-pill{background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font);cursor:pointer;border:1px solid #ffffff14;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.ob-weight-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ob-goal-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ob-goal-card{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;color:var(--text);font-family:var(--font);text-align:center;border:2px solid #ffffff0f;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px 10px;transition:all .2s;display:flex}.ob-goal-card:active{transform:scale(.95)}.ob-goal-card.active{border-color:var(--accent);background:#ff6b0014}.ob-goal-icon{font-size:28px}.ob-goal-label{font-size:13px;font-weight:700}.ob-goal-desc{color:var(--text-dim);font-size:11px}.ob-goal-card.active .ob-goal-label{color:var(--accent)}.ob-schedule-options{flex-direction:column;gap:10px;display:flex}.ob-schedule-card{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;color:var(--text);font-family:var(--font);border:2px solid #ffffff0f;align-items:center;gap:14px;padding:16px 18px;transition:all .2s;display:flex}.ob-schedule-card:active{transform:scale(.98)}.ob-schedule-card.active{border-color:var(--accent);background:#ff6b0014}.ob-sched-icon{flex-shrink:0;font-size:24px}.ob-sched-label{font-size:16px;font-weight:700}.ob-sched-desc{color:var(--text-dim);margin-left:auto;font-size:13px}.ob-schedule-card.active .ob-sched-label{color:var(--accent)}.ob-plan-header{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.ob-plan-avatar{flex-shrink:0;font-size:42px}.ob-plan-bubble{background:var(--bg-card);border-radius:var(--radius);border-top-left-radius:4px;flex:1;padding:14px 16px}.ob-plan-bubble p{color:var(--text);margin-bottom:6px;font-size:14px;line-height:1.5}.ob-plan-bubble p:last-child{margin-bottom:0}.ob-plan-bubble strong{color:var(--accent)}.ob-plan-level{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffffff0f;align-items:center;gap:14px;margin-bottom:16px;padding:16px;display:flex}.ob-plan-level-badge{font-size:36px}.ob-plan-level-info{flex-direction:column;gap:2px;display:flex}.ob-plan-level-name{font-family:var(--font-display);color:var(--accent);font-size:16px;font-weight:700}.ob-plan-level-score{color:var(--text-dim);font-size:13px}.ob-plan-details{margin-bottom:16px}.ob-plan-section-title{font-family:var(--font-display);color:var(--text);margin-bottom:10px;font-size:15px;font-weight:700}.ob-plan-schedule{flex-direction:column;gap:6px;display:flex}.ob-plan-day{background:var(--bg-card);border-radius:var(--radius-sm);border-left:3px solid var(--accent);align-items:center;gap:12px;padding:12px 14px;display:flex}.ob-plan-day-label{color:var(--text);min-width:80px;font-size:13px;font-weight:700}.ob-plan-day-routine{color:var(--text-dim);text-transform:capitalize;font-size:13px}.ob-plan-tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.ob-tag{background:var(--bg-elevated);color:var(--text-dim);border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500}.ob-plan-note{color:var(--text-muted);margin-bottom:8px;font-size:13px;line-height:1.5}.ob-ready{text-align:center;justify-content:center;align-items:center;padding-top:8vh}.ob-ready-icon{margin-bottom:12px;font-size:64px}.ob-ready-title{font-family:var(--font-display);color:var(--text);margin-bottom:24px;font-size:26px;font-weight:700}.ob-ready-rules{background:var(--bg-card);border-radius:var(--radius);text-align:left;width:100%;margin-bottom:24px;padding:20px}.ob-ready-rules h3{font-family:var(--font-display);color:var(--text);margin-bottom:14px;font-size:15px;font-weight:700}.ob-rule{border-bottom:1px solid #ffffff0a;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.ob-rule:last-child{border-bottom:none}.ob-rule-num{background:var(--gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.ob-rule-text{color:var(--text-dim);padding-top:3px;font-size:14px;line-height:1.4}.ob-rule-text strong{color:var(--text)}.ob-ready-disclaimer{color:var(--text-dim);max-width:340px;margin-bottom:24px;font-size:13px;line-height:1.5}.activity-calendar{background:var(--bg-card);border-radius:var(--radius);margin-bottom:16px;padding:16px}.ac-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.ac-header .stats-section-title{margin:0}.ac-rate{color:var(--text-dim);font-size:11px}.ac-months{grid-template-columns:14px repeat(13,1fr);margin-bottom:4px;display:grid}.ac-month-label{color:var(--text-muted);letter-spacing:.3px;font-size:9px}.ac-grid{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;display:grid}.ac-day-label{color:var(--text-muted);justify-content:flex-end;align-items:center;padding-right:4px;font-size:9px;display:flex}.ac-cell{aspect-ratio:1;border-radius:2px;width:100%;min-width:0}.ac-i-1{background:0 0}.ac-i0{background:#ffffff0a}.ac-i1{background:#ff6b004d}.ac-i2{background:#ff6b0099}.ac-i3{background:#ff6b00}.ac-today{outline:1px solid var(--text-muted);outline-offset:-1px}.ac-legend{justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;display:flex}.ac-legend .ac-cell{width:12px;height:12px;aspect-ratio:unset}.ac-legend-label{color:var(--text-muted);font-size:9px}.quick-challenge-btn{border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;font-family:var(--font);background:linear-gradient(135deg,#ff6b001f,#ff2d551f);border:1px dashed #ff6b004d;align-items:center;gap:12px;margin:10px 0;padding:16px 18px;transition:transform .15s;display:flex}.quick-challenge-btn:active{transform:scale(.97)}.qc-icon{font-size:24px}.qc-text{font-family:var(--font-display);color:var(--accent);letter-spacing:1px;font-size:15px;font-weight:700;display:block}.qc-sub{color:var(--text-dim);margin-top:1px;font-size:12px;display:block}.quick-challenge-active{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ff6b0033;margin:10px 0;padding:16px;animation:.3s fadeIn}.quick-challenge-active.qc-done{border-color:#00ff884d}.qc-top{align-items:center;gap:12px;margin-bottom:8px;display:flex}.qc-challenge-icon{font-size:28px}.qc-challenge-text{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:700;display:block}.qc-challenge-meta{color:var(--text-dim);margin-top:2px;font-size:12px;display:block}.qc-taunt{color:var(--accent-light);margin:8px 0 14px;font-size:13px;font-style:italic}.qc-actions{gap:8px;display:flex}.qc-btn-done{background:var(--gradient);border-radius:var(--radius-sm);color:#fff;font-family:var(--font-display);letter-spacing:1px;cursor:pointer;border:none;flex:2;padding:12px;font-size:14px;font-weight:700;transition:transform .15s}.qc-btn-done:active{transform:scale(.97)}.qc-btn-another{background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font);cursor:pointer;border:1px solid #ffffff14;flex:1;padding:12px;font-size:13px;font-weight:600}.qc-btn-another.full{flex:1}.protein-tracker{background:var(--bg-card);border-radius:var(--radius);margin:10px 0;padding:14px 16px}.pt-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.pt-icon{font-size:18px}.pt-title{font-family:var(--font-display);color:var(--text);text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:700}.pt-progress-row{align-items:center;gap:10px;display:flex}.pt-bar-track{background:#ffffff0f;border-radius:5px;flex:1;height:10px;overflow:hidden}.pt-bar-fill{background:linear-gradient(90deg,#ff6b00,#0f8);border-radius:5px;height:100%;transition:width .4s}.pt-nums{color:var(--text-dim);white-space:nowrap;font-size:13px}.pt-nums strong{color:var(--text);font-family:var(--font-display)}.pt-tac-msg{color:var(--accent-light);margin:8px 0 0;font-size:12px;font-style:italic}.pt-toggle-sources{border-radius:var(--radius-sm);width:100%;color:var(--text-dim);font-family:var(--font);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;margin-top:10px;padding:10px;font-size:13px;font-weight:500;transition:background .2s}.pt-toggle-sources:active{background:#ffffff14}.pt-sources{margin-top:10px;animation:.3s fadeIn}.pt-source-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.pt-source-btn{background:var(--bg-elevated);border-radius:var(--radius-xs);cursor:pointer;text-align:left;font-family:var(--font);color:var(--text);border:1px solid #ffffff0f;align-items:center;gap:6px;padding:10px;transition:transform .15s,border-color .2s;display:flex}.pt-source-btn:active{border-color:var(--accent);transform:scale(.96)}.pt-src-icon{flex-shrink:0;font-size:16px}.pt-src-name{color:var(--text-dim);flex:1;font-size:11px;line-height:1.2}.pt-src-grams{color:var(--accent);flex-shrink:0;font-size:12px;font-weight:700}.pt-custom-row{gap:6px;display:flex}.pt-custom-input{background:var(--bg-elevated);border-radius:var(--radius-xs);color:var(--text);font-family:var(--font);border:1px solid #ffffff14;outline:none;flex:1;padding:10px 12px;font-size:14px}.pt-custom-input:focus{border-color:var(--accent)}.pt-custom-add{background:var(--gradient);border-radius:var(--radius-xs);color:#fff;cursor:pointer;border:none;width:44px;font-size:20px;font-weight:700}.pt-custom-add:disabled{opacity:.3}.tac-popup{background:var(--bg-elevated);border-radius:var(--radius);z-index:200;width:calc(100% - 32px);max-width:380px;box-shadow:0 8px 32px #0009, 0 0 20px var(--accent-glow);cursor:pointer;border:1px solid #ff6b004d;align-items:center;gap:12px;padding:14px 16px;animation:.4s cubic-bezier(.34,1.56,.64,1) popupSlideIn;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.tac-popup-leaving{animation:.3s forwards popupSlideOut}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-20px)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes popupSlideOut{to{opacity:0;transform:translate(-50%)translateY(-20px)scale(.95)}}.tac-popup-avatar{flex-shrink:0;font-size:28px}.tac-popup-text{color:var(--text);flex:1;font-size:13px;line-height:1.4}.tac-popup-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:16px}.quest-board{margin:12px 0}.quest-levelup{border-radius:var(--radius);text-align:center;background:linear-gradient(135deg,#ffd70033,#ff6b0033);border:1px solid #ffd70066;margin-bottom:12px;padding:16px;animation:.5s questLevelUp}@keyframes questLevelUp{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.quest-levelup-icon{margin-bottom:4px;font-size:32px;display:block}.quest-levelup-text{color:var(--warning);font-size:14px;font-weight:600}.quest-levelup-title{color:var(--text-dim);margin-top:4px;font-size:12px}.quest-header{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;border:1px solid #ffffff0f;align-items:center;gap:12px;padding:14px;display:flex}.quest-level-badge{background:var(--gradient);width:44px;height:44px;box-shadow:0 0 16px var(--accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.quest-level-num{font-family:var(--font-display);color:#fff;font-size:20px;font-weight:700}.quest-level-info{flex:1;min-width:0}.quest-level-top{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.quest-title-text{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.quest-xp-text{color:var(--accent-light);flex-shrink:0;margin-left:8px;font-size:11px;font-weight:500}.quest-xp-track{background:#ffffff0f;border-radius:4px;width:100%;height:8px;overflow:hidden}.quest-xp-fill{background:var(--gradient);height:100%;box-shadow:0 0 8px var(--accent-glow);border-radius:4px;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.quest-total-xp{font-family:var(--font-display);color:var(--text-dim);text-align:right;flex-shrink:0;font-size:12px}.quest-progress-badge{border-radius:var(--radius-sm);background:#ff6b0014;border:1px solid #ff6b0026;align-items:center;gap:6px;margin-top:8px;padding:8px 14px;display:flex}.quest-progress-icon{font-size:16px}.quest-progress-text{color:var(--accent-light);font-size:13px;font-weight:600}.quest-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.quest-item{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:12px;padding:12px;transition:all .3s;display:flex}.quest-item.quest-done{opacity:.75;background:#00ff880d;border-color:#00ff8826}.quest-item-left{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.quest-item-icon{flex-shrink:0;margin-top:2px;font-size:24px}.quest-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.quest-item-text{color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.quest-done .quest-item-text{color:var(--text-dim);text-decoration:line-through}.quest-item-action{color:var(--text-muted);font-size:11px}.quest-item-right{flex-shrink:0}.quest-complete-btn{background:var(--gradient);border-radius:var(--radius-xs);color:#fff;font-family:var(--font-display);cursor:pointer;border:none;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 14px;font-size:12px;font-weight:700;transition:transform .2s;display:flex}.quest-complete-btn:active{transform:scale(.95)}.quest-xp-reward{color:#fffc;font-size:10px;font-weight:600}.quest-done-badge{color:var(--success);flex-direction:column;align-items:center;gap:2px;min-width:50px;display:flex}.quest-done-check{font-size:20px;font-weight:700}.quest-done-xp{color:var(--success);opacity:.7;font-size:10px}.quest-detail{background:var(--bg-card);border-radius:var(--radius-sm);margin-top:8px;padding:12px;animation:.2s fadeIn}.quest-detail-row{color:var(--text-dim);border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.quest-detail-row strong{color:var(--text)}.quest-next-title{text-align:center;color:var(--accent-light);border-top:1px solid #ffffff0f;margin-top:8px;padding-top:8px;font-size:12px}@media (width>=768px){.page{padding:24px 32px}.tab-bar{background:linear-gradient(#0d0d12fa 0%,#0a0a0ffc 100%);border-top:none;border-right:1px solid #ffffff0f;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;width:88px;max-width:88px;padding:20px 8px;position:fixed;inset:0 auto 0 0;transform:none}.tab-bar:before{content:"😈";filter:drop-shadow(0 0 8px #ff6b0066);margin-bottom:20px;font-size:32px;display:block}.tab-btn{border-radius:var(--radius-sm);flex-direction:column;width:72px;padding:10px 8px;transition:all .25s;position:relative}.tab-btn:hover{color:var(--text);background:#ff6b0014}.tab-btn.active{color:var(--accent);background:#ff6b001f}.tab-btn.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.tab-icon{font-size:22px}.tab-label{letter-spacing:.5px;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:600}#root{max-width:calc(100% - 88px);margin-left:88px}.app-content{max-width:960px;margin:0 auto;padding-bottom:16px}.home-page .routine-section .routine-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.home-widgets{flex-wrap:wrap;gap:12px;display:flex}.home-widgets .widget{flex:1;min-width:120px}.stats-grid{grid-template-columns:repeat(3,1fr)}.body-stats-grid{grid-template-columns:repeat(5,1fr)}.achievements-grid,.pr-grid{grid-template-columns:repeat(4,1fr)}.settings-page{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.settings-page .page-title{grid-column:1/-1}.profile-pills{flex-wrap:wrap}.onboarding{flex-direction:column;align-items:center;max-width:640px;padding:40px;display:flex}.onboarding-step{width:100%;max-width:600px}.ob-goal-grid,.ob-equip-grid{grid-template-columns:repeat(3,1fr)}.ob-test-options{max-width:500px}.ob-welcome{padding-top:6vh}.ob-plan-schedule{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pt-source-grid{grid-template-columns:repeat(4,1fr)}.quick-challenge-active{max-width:500px}.coach-card,.challenge-card{max-width:600px}.complete-page{justify-content:center;align-items:center;min-height:100dvh;display:flex}.complete-content{width:100%;max-width:500px}.workout-page{max-width:600px;margin:0 auto}.history-day{max-width:100%}.water-page{max-width:600px;margin:0 auto}.body-form{max-width:500px}.exercise-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.page-title{font-size:28px}.section-title{font-size:18px}.home-header h1{font-size:26px}.home-header .greeting{font-size:16px}.routine-name{font-size:17px}.routine-desc{font-size:14px}.stat-value{font-size:26px}.stat-label{font-size:13px}.settings-group-title{font-size:18px}.settings-supp-desc{font-size:14px}.exercise-card-name{font-size:15px}.exercise-detail-name{font-size:26px}.exercise-instructions{font-size:15px}.workout-title{font-size:22px}.exercise-name-big{font-size:24px}.target-val{font-size:42px}.quest-title-text{font-size:17px}.coach-message{font-size:15px}.water-count{font-size:52px}.body-stat-value{font-size:22px}.btn-primary{padding:16px 36px;font-size:17px}.streak-count{font-size:32px}.tab-label{font-size:11px}.profile-input{font-size:16px}.profile-label{font-size:13px}}@media (width>=1200px){.tab-bar{background:linear-gradient(#0d0d12fa 0%,#0a0a0ffc 100%);gap:2px;width:220px;max-width:220px;padding:20px 12px}.tab-bar:before{margin-bottom:8px;font-size:36px}.tab-bar:after{content:"TAC";font-family:var(--font-display);color:var(--accent);letter-spacing:4px;margin-bottom:24px;font-size:18px;font-weight:900;display:block}.tab-btn{border-radius:var(--radius-sm);flex-direction:row;justify-content:flex-start;gap:12px;width:100%;padding:12px 16px}.tab-btn.active:before{width:4px;height:28px;left:-12px}.tab-label{text-transform:none;letter-spacing:0;margin-top:0;font-size:13px}.tab-icon{font-size:20px}#root{max-width:calc(100% - 220px);margin-left:220px}.app-content{max-width:1000px}.home-page{grid-template-columns:1fr 1fr;gap:16px;display:grid}.home-page .home-header,.home-page .streak-banner,.home-page .home-widgets,.home-page .routine-section{grid-column:1/-1}.stats-grid,.achievements-grid{grid-template-columns:repeat(6,1fr)}.page-title{font-size:32px}.home-header h1,.stat-value,.exercise-detail-name{font-size:30px}.target-val{font-size:48px}.water-count{font-size:60px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffffff0f;width:100%;max-width:400px;padding:28px 24px;animation:.3s obSlideIn;position:relative}.auth-close,.pro-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;display:flex;position:absolute;top:12px;right:12px}.auth-close:hover,.pro-close:hover{color:var(--text);background:#ffffff0f}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{font-family:var(--font-display);background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:28px;font-weight:700;display:block}.auth-title{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:20px;font-weight:700}.auth-subtitle{color:var(--text-dim);font-size:13px}.auth-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.auth-input{background:var(--bg);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);border:1px solid #ffffff1a;outline:none;padding:14px 16px;font-size:15px;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.auth-error{color:var(--danger);text-align:center;border-radius:var(--radius-xs);background:#ff2d551a;padding:8px;font-size:13px}.auth-submit{width:100%;padding:14px;font-size:15px;font-weight:700}.auth-switch{text-align:center;color:var(--text-dim);margin-bottom:20px;font-size:13px}.auth-switch button{color:var(--accent);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);background:0 0;border:none;text-decoration:underline}.auth-benefits{border-top:1px solid #ffffff0f;flex-direction:column;gap:8px;padding-top:16px;display:flex}.auth-benefit{color:var(--text-dim);align-items:center;gap:10px;font-size:13px;display:flex}.pro-modal{background:var(--bg-card);border-radius:var(--radius);border:1px solid #ffd70033;width:100%;max-width:420px;max-height:90vh;padding:28px 24px;animation:.3s obSlideIn;position:relative;overflow-y:auto}.pro-header{text-align:center;margin-bottom:24px}.pro-badge-big{margin-bottom:8px;font-size:48px;animation:2s infinite obBounce}.pro-title{font-family:var(--font-display);color:var(--text);font-size:28px;font-weight:700}.pro-label{background:linear-gradient(135deg,gold,#fa0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.pro-tagline{color:var(--text-dim);margin-top:4px;font-size:14px}.pro-active-box{border-radius:var(--radius-sm);background:#00ff8814;border:1px solid #0f83;align-items:center;gap:10px;margin-top:16px;padding:14px 16px;display:flex}.pro-active-icon{font-size:20px}.pro-active-text{color:var(--success);font-size:14px;font-weight:600}.pro-features{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.pro-feature{align-items:flex-start;gap:12px;display:flex}.pro-feature-icon{flex-shrink:0;margin-top:2px;font-size:22px}.pro-feature-info{flex-direction:column;gap:2px;display:flex}.pro-feature-title{color:var(--text);font-size:14px;font-weight:700}.pro-feature-desc{color:var(--text-dim);font-size:12px}.pro-pricing{text-align:center;border-radius:var(--radius-sm);background:#ffd7000d;border:1px solid #ffd7001a;margin-bottom:16px;padding:16px}.pro-price{justify-content:center;align-items:baseline;gap:4px;display:flex}.pro-price-amount{font-family:var(--font-display);color:var(--warning);font-size:36px;font-weight:700}.pro-price-period{color:var(--text-dim);font-size:14px}.pro-price-note{color:var(--text-muted);margin-top:4px;font-size:12px}.pro-cta{width:100%;margin-bottom:12px;padding:16px;font-size:16px;font-weight:700;color:#000!important;background:linear-gradient(135deg,gold,#ff8c00)!important;border:none!important}.pro-cta:hover{transform:scale(1.02)}.pro-guarantee{text-align:center;color:var(--text-muted);font-size:12px}.exercise-illustration{justify-content:center;align-items:center;margin:8px 0 12px;display:flex}.exercise-illustration svg{filter:drop-shadow(0 0 8px var(--accent-glow))}.pro-badge-inline{background:linear-gradient(135deg,gold,#ff8c00);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-left:6px;font-size:12px;font-weight:700}.account-section{flex-direction:column;gap:10px;display:flex}.account-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-btn{background:var(--bg);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);cursor:pointer;text-align:center;border:1px solid #ffffff14;padding:12px;font-size:13px;font-weight:600;transition:background .2s}.account-btn:active{background:var(--bg-card-hover)}.account-login-btn{width:100%;padding:14px}.btn-pro-upgrade{border-radius:var(--radius-sm);width:100%;color:var(--warning);font-family:var(--font);cursor:pointer;background:linear-gradient(135deg,#ffd7001a,#ff8c001a);border:1px solid #ffd70040;padding:14px;font-size:14px;font-weight:700;transition:all .2s}.btn-pro-upgrade:hover{background:linear-gradient(135deg,#ffd70026,#ff8c0026)}.btn-link-muted{color:var(--text-muted);font-family:var(--font);cursor:pointer;text-align:center;background:0 0;border:none;padding:8px 0;font-size:13px}.btn-link-muted:hover{color:var(--text-dim)}.install-banner{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius);z-index:500;justify-content:space-between;align-items:center;gap:12px;width:calc(100% - 32px);max-width:460px;padding:14px 16px;animation:.4s installSlide;display:flex;position:fixed;bottom:70px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #ff6b0033}@keyframes installSlide{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.install-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.install-icon{flex-shrink:0;font-size:28px}.install-text{flex-direction:column;gap:2px;min-width:0;display:flex}.install-text strong{color:var(--text);font-size:14px}.install-text span{color:var(--text-dim);font-size:12px}.install-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.install-btn{background:var(--gradient);color:#fff;font-family:var(--font-display);letter-spacing:.5px;cursor:pointer;border:none;border-radius:20px;padding:8px 16px;font-size:12px;font-weight:700}.install-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px}@media (width>=768px){.install-banner{max-width:380px;bottom:24px;left:auto;right:24px;transform:none}@keyframes installSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}.settings-install-group{border:1px solid var(--accent);background:linear-gradient(135deg,#ff6b000d,#ff6b0005)}.btn-install-app{background:var(--gradient);border-radius:var(--radius);color:#fff;width:100%;font-family:var(--font-display);letter-spacing:.5px;cursor:pointer;border:none;margin-top:8px;padding:14px 20px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s}.btn-install-app:active{transform:scale(.97)}.install-instructions-box{background:var(--bg-card);border-radius:var(--radius);flex-direction:column;gap:8px;margin-top:8px;padding:14px 16px;display:flex}.install-step{color:var(--text-dim);margin:0;font-size:14px;line-height:1.5}.install-step strong{color:var(--text)}.install-step-icon{font-size:16px}.install-btn-info{background:var(--bg-card);color:var(--text-dim)}.water-mini-section{background:var(--bg-card);border-radius:var(--radius);border:1px solid #00d4ff26;margin:12px 0;padding:14px 16px}.water-mini-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.water-mini-icon{font-size:18px}.water-mini-title{font-family:var(--font-display);color:var(--text);flex:1;font-size:14px;font-weight:600}.water-mini-count{color:var(--text-dim);font-size:13px;font-weight:600}.water-mini-bar{background:#ffffff0f;border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.water-mini-fill{background:var(--gradient-cool);border-radius:3px;height:100%;transition:width .4s}.water-mini-actions{gap:8px;display:flex}.water-mini-btn{background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font-display);cursor:pointer;border:1px solid #ffffff14;border-radius:20px;flex:1;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.water-mini-btn:active{transform:scale(.95)}.water-mini-btn.add{color:#00d4ff;background:#00d4ff1a;border-color:#00d4ff33;flex:2}.water-mini-btn.add-sm{color:#00d4ff;background:#00d4ff0f;border-color:#00d4ff26}.water-mini-btn.remove{flex:.5}.water-mini-done{text-align:center;color:var(--success);margin-top:6px;font-size:12px;font-weight:600;display:block}.body-tracker-embedded{padding:8px 0}.protein-widget-mini{background:#ff6b000d;border-color:#ff6b0033}.weekly-volume-chart{align-items:flex-end;gap:8px;height:140px;padding:12px 0;display:flex}.wv-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.wv-bar-wrapper{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.wv-bar{background:var(--gradient);border-radius:6px 6px 2px 2px;justify-content:center;align-items:flex-start;width:100%;max-width:50px;min-height:4px;padding-top:4px;transition:height .5s;display:flex}.wv-val{color:#fff;font-size:10px;font-weight:700}.wv-label{color:var(--text-dim);font-size:11px;font-weight:600}.wv-workouts{color:var(--text-muted);font-size:10px}.prediction-badge{border-radius:var(--radius-sm);margin-top:8px;padding:10px 14px;font-size:13px;font-weight:600}.prediction-up{color:var(--success);background:#00ff881a;border:1px solid #0f83}.prediction-down{color:var(--danger);background:#ff2d551a;border:1px solid #ff2d5533}.prediction-stable{color:var(--warning);background:#ffd7001a;border:1px solid #ffd70033}.top-muscles{flex-direction:column;gap:6px;display:flex}.top-muscle-row{background:var(--bg-card);border-radius:var(--radius-xs);align-items:center;gap:10px;padding:8px 12px;display:flex}.top-muscle-first{background:linear-gradient(135deg,#ff6b0026,#ff2d551a);border:1px solid #ff6b0033}.top-muscle-rank{text-align:center;width:28px;font-size:16px}.top-muscle-name{flex:1;font-size:14px;font-weight:600}.top-muscle-reps{color:var(--accent);font-size:13px;font-weight:700}.muscle-tip{color:var(--text-dim);margin-top:8px;font-size:12px;font-style:italic}.weekly-challenges{margin:20px 0}.wc-header{justify-content:space-between;align-items:center;display:flex}.wc-title{color:var(--text);font-size:18px;font-weight:700}.wc-timer{color:var(--accent);background:#ff6b001a;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.wc-subtitle{color:var(--text-dim);margin:4px 0 12px;font-size:13px}.wc-list{flex-direction:column;gap:10px;display:flex}.wc-card{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid #ffffff0d;padding:14px;transition:all .3s}.wc-done{border-color:#00ff884d}.wc-claimed{opacity:.6}.wc-card-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.wc-icon{font-size:24px}.wc-info{flex-direction:column;flex:1;display:flex}.wc-name{font-size:14px;font-weight:700}.wc-desc{color:var(--text-dim);margin-top:2px;font-size:12px}.wc-xp{color:var(--accent);font-size:14px;font-weight:800}.wc-progress-track{background:#ffffff0d;border-radius:3px;height:6px;overflow:hidden}.wc-progress-fill{background:var(--gradient);border-radius:3px;height:100%;transition:width .5s}.wc-done .wc-progress-fill{background:var(--success)}.wc-card-bottom{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.wc-progress-text{color:var(--text-dim);font-size:12px;font-weight:600}.wc-claim-btn{background:var(--gradient);color:#fff;cursor:pointer;font-size:12px;font-weight:800;font-family:var(--font);border:none;border-radius:20px;padding:6px 16px;animation:1.5s infinite pulse}.wc-claimed-badge{color:var(--success);background:#00ff881a;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:700}.leaderboard{margin-top:12px}.lb-title{margin-bottom:4px;font-size:18px;font-weight:700}.lb-subtitle{color:var(--text-dim);margin-bottom:16px;font-size:13px}.lb-loading{text-align:center;color:var(--text-dim);padding:40px 0;font-size:14px}.lb-offline{text-align:center;padding:20px}.lb-offline p{color:var(--text-dim);margin-bottom:12px;font-size:13px}.lb-my-score{background:var(--bg-card);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:12px;padding:14px;display:flex}.lb-my-rank{color:var(--text-dim);font-size:18px;font-weight:800}.lb-my-name{font-weight:700}.lb-my-xp{color:var(--accent);font-weight:800}.lb-my-level{color:var(--text-dim);font-size:13px}.lb-table{flex-direction:column;gap:4px;display:flex}.lb-row{background:var(--bg-card);border-radius:var(--radius-xs);align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.lb-row:first-child{background:linear-gradient(135deg,#ffd7001a,#ff6b000d);border:1px solid #ffd70033}.lb-row:nth-child(2){background:linear-gradient(135deg,#c0c0c014,#0000);border:1px solid #c0c0c026}.lb-row:nth-child(3){background:linear-gradient(135deg,#cd7f3214,#0000);border:1px solid #cd7f3226}.lb-me{border:1px solid var(--accent)!important;background:#ff6b0014!important}.lb-row-outside{border-top:2px dashed #ffffff1a;margin-top:8px}.lb-rank{text-align:center;width:36px;color:var(--text-dim);font-size:16px;font-weight:800}.lb-row:first-child .lb-rank{color:gold}.lb-row:nth-child(2) .lb-rank{color:silver}.lb-row:nth-child(3) .lb-rank{color:#cd7f32}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.lb-level{color:var(--text-dim);font-size:12px;font-weight:600}.lb-xp{color:var(--accent);text-align:right;min-width:60px;font-size:13px;font-weight:800}.native-ad{background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-card-hover) 100%);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #ffffff0f;margin:16px 0;padding:14px;transition:all .2s;position:relative;overflow:hidden}.native-ad:hover{border-color:#ff6b0033}.native-ad-badge{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:#ffffff0f;border-radius:0 0 0 8px;padding:3px 8px;font-size:9px;font-weight:600;position:absolute;top:0;right:0}.native-ad-content{align-items:center;gap:12px;display:flex}.native-ad-icon{flex-shrink:0;font-size:28px}.native-ad-info{flex-direction:column;flex:1;gap:2px;display:flex}.native-ad-title{font-size:14px;font-weight:700}.native-ad-text{color:var(--text-dim);font-size:12px;line-height:1.3}.native-ad-cta{text-align:right;color:var(--accent);margin-top:8px;font-size:12px;font-weight:700;display:block}.tip-jar{padding:4px 0}.tip-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.tip-icon{font-size:32px}.tip-text{flex-direction:column;display:flex}.tip-title{font-size:16px;font-weight:700}.tip-desc{color:var(--text-dim);font-size:12px}.tip-buttons{gap:10px;display:flex}.tip-btn{background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);color:var(--text);border:1px solid #ffffff14;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;transition:all .2s;display:flex}.tip-btn:hover{border-color:var(--accent);background:#ff6b000d}.tip-btn-emoji{font-size:24px}.tip-btn-amount{color:var(--accent);font-size:18px;font-weight:800}.tip-btn-text{color:var(--text-dim);font-size:10px}.tip-jar-thanks{text-align:center;padding:20px}.tip-thanks-emoji{margin-bottom:8px;font-size:48px;display:block}.tip-thanks-text{color:var(--text);font-size:14px;line-height:1.4}.ai-plan{padding:4px 0}.ai-plan-header{margin-bottom:16px}.ai-plan-badge{background:var(--gradient);color:#fff;border-radius:12px;margin-bottom:8px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.ai-plan-title{margin-bottom:4px;font-size:18px;font-weight:700}.ai-plan-desc{color:var(--text-dim);font-size:13px;line-height:1.4}.ai-plan-warning{color:var(--warning);border-radius:var(--radius-xs);background:#ffd7001a;border:1px solid #ffd70033;margin-bottom:12px;padding:10px 14px;font-size:12px}.ai-plan-features{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.ai-plan-feature{color:var(--text-dim);align-items:center;gap:10px;font-size:13px;display:flex}.ai-plan-feature span:first-child{font-size:18px}.ai-plan-price{text-align:center;margin-bottom:12px}.ai-plan-price-amount{color:var(--accent);font-size:32px;font-weight:900}.ai-plan-price-note{color:var(--text-dim);margin-left:4px;font-size:13px}.ai-plan-cta{width:100%;padding:14px;font-size:15px}.ai-plan-loading{text-align:center;padding:40px 0}.ai-plan-spinner{border:3px solid #ff6b0033;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-plan-loading-text{margin-bottom:4px;font-weight:600}.ai-plan-loading-sub{color:var(--text-dim);font-size:12px}.ai-plan-result{padding:0}.ai-plan-content{margin:12px 0}.ai-plan-text{background:var(--bg-card);border-radius:var(--radius-sm);font-family:var(--font);color:var(--text);white-space:pre-wrap;word-break:break-word;border:1px solid #ffffff0f;max-height:500px;padding:16px;font-size:12px;line-height:1.6;overflow-y:auto}.ai-plan-saved{color:var(--success);text-align:center;font-size:11px}.adaptive-badge{border-radius:var(--radius-sm);border:1px solid;align-items:center;gap:8px;margin-bottom:8px;padding:8px 14px;display:flex}.adaptive-label{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:12px;font-weight:800}.adaptive-desc{color:var(--text-dim);font-size:11px}
