*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}:root{color-scheme:dark;--font-rpg: "Cinzel", serif;--bg: #0D0D12;--surface: #16151F;--surface-elevated: #1E1C2E;--accent: #7C3AED;--accent-hover: #6D28D9;--accent-secondary: #A78BFA;--accent-glow: rgba(124,58,237,.22);--glow: rgba(124,58,237,.22);--success: #10B981;--warning: #F59E0B;--text-primary: #F5F3FF;--text-secondary: #9CA3AF;--border: #2D2B3D;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px)}*{font-family:Barlow,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Cinzel,serif}html,body{height:100%;width:100%;margin:0;padding:0;overflow:hidden}html{background:#0d0d12}body{font-family:Barlow,system-ui,-apple-system,sans-serif;background:#0d0d12;color:#f5f3ff;-webkit-font-smoothing:antialiased;-webkit-touch-callout:none;-webkit-user-select:none;user-select:text}#root{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;display:flex;justify-content:center;align-items:flex-start;background:#08080d}.momentum-scroll{overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y}@keyframes slideInRight{0%{transform:translate3d(40px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate3d(-40px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}.screen-enter{animation:slideInRight .3s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}.screen-back{animation:slideInLeft .3s cubic-bezier(.16,1,.3,1) both;will-change:transform,opacity}.xp-bar-fill,.budget-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-secondary))!important;position:relative;overflow:hidden;transition:width .4s ease-out!important}.xp-bar-fill:after,.budget-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);animation:shimmer 2.4s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.level-badge,.level-hex{box-shadow:0 0 12px var(--accent-glow)}.path-badge,.profile-path-badge{background:linear-gradient(135deg,var(--accent),var(--accent-hover))!important;color:#f5f3ff!important;border-color:var(--accent-glow)!important}button,a,[role=button],.action-btn,.fab,.grocery-item,.grid-card,.list-card,.filter-pill,.cat-chip,.strip-day,.mark-btn,.meal-add-btn,.sheet-close,.log-sheet-close,.sheet-confirm,.log-sheet-confirm,.confirm-btn,.back-btn,.avatar-btn,.view-btn,.search-clear,.nav-arrow,.week-nav-arrow,.log-slot-pill,.check-row,.tutorial-skip,.tutorial-next-btn,.tutorial-back-btn,.reset-app-btn,.budget-edit-btn,.budget-prompt-btn,.cooked-confirmation,.delete-popup-btn,.ac-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active:not(:disabled),.action-btn:active,.fab:active,.grocery-item:active,.grid-card:active,.list-card:active,.filter-pill:active,.cat-chip:active,.strip-day:active,.mark-btn:active,.sheet-confirm:active,.log-sheet-confirm:active,.confirm-btn:active{transform:scale(.96)!important;transition:transform .15s ease-out!important}.item-checkbox{transition:background .2s ease-out,border-color .2s ease-out,transform .2s ease-out}.grocery-item.checked .item-checkbox{animation:checkPop .2s ease-out}@keyframes checkPop{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes cookedPulse{0%{box-shadow:0 0 #10b98173}50%{box-shadow:0 0 0 14px #10b98100}to{box-shadow:0 0 #10b98100}}.meal-card.cooked{animation:cookedPulse .4s cubic-bezier(.16,1,.3,1)}@keyframes cookedCheckIn{0%{transform:scale(0) rotate(-45deg);opacity:0}60%{transform:scale(1.25) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.meal-card.cooked .cooked-check{display:inline-block;animation:cookedCheckIn .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center}@keyframes xpFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-32px)}}.xp-float{position:absolute;top:-8px;right:16px;font-size:14px;font-weight:800;color:var(--accent-secondary);pointer-events:none;animation:xpFloat .6s ease-out forwards;z-index:10}@keyframes badgeBounce{0%{transform:scale(1);box-shadow:0 0 0 transparent}30%{transform:scale(1.12);box-shadow:0 0 18px var(--accent-glow)}60%{transform:scale(.97);box-shadow:0 0 8px var(--accent-glow)}to{transform:scale(1);box-shadow:0 0 12px var(--accent-glow)}}.badge-card.just-earned{animation:badgeBounce .5s ease-out}.levelup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .4s ease}.levelup-overlay:not(.levelup-phase--dark):not(.levelup-phase--burst){background:#0d0d12e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:levelup-screen-pulse 1.8s ease-in-out infinite}@keyframes levelup-screen-pulse{0%,to{box-shadow:inset 0 0 60px 0 var(--accent-glow)}50%{box-shadow:inset 0 0 120px 20px var(--accent-glow)}}.levelup-burst{position:absolute;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#fff 0%,var(--accent) 35%,transparent 72%);animation:levelup-burst-expand .55s cubic-bezier(.15,.7,.3,1) forwards;pointer-events:none}@keyframes levelup-burst-expand{0%{transform:scale(0);opacity:1}60%{opacity:.9}to{transform:scale(60);opacity:0}}.levelup-coins{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.levelup-coin{position:absolute;top:-10%;line-height:1;animation-name:levelup-coin-fall;animation-timing-function:linear;animation-iteration-count:infinite;filter:drop-shadow(0 0 4px rgba(250,204,21,.7))}@keyframes levelup-coin-fall{0%{transform:translateY(0) rotate(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translateY(115vh) rotate(320deg);opacity:0}}.levelup-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 32px}.levelup-character{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 0 28px var(--accent-glow));animation:levelup-character-in .55s cubic-bezier(.34,1.56,.64,1) both}@keyframes levelup-character-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.levelup-level-num{font-family:var(--font-rpg);font-size:76px;font-weight:900;line-height:1;color:#ffd966;text-shadow:0 0 24px rgba(250,204,21,.85),0 0 60px rgba(250,204,21,.5);animation:levelup-number-in .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes levelup-number-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.levelup-title{font-family:var(--font-rpg);font-size:21px;font-weight:700;color:var(--accent-secondary);text-shadow:0 0 14px var(--accent-glow);letter-spacing:.08em;min-height:1.3em}.levelup-claim-btn{margin-top:14px;padding:14px 34px;border:none;border-radius:14px;font-size:15px;font-weight:800;letter-spacing:.04em;color:#12100a;background:linear-gradient(135deg,#fde68a,#fbbf24,#d97706);box-shadow:0 6px 24px #fbbf2480;position:relative;overflow:hidden;animation:levelup-btn-in .35s ease-out both}.levelup-claim-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translate(-100%);animation:xp-shimmer-sweep 2.2s ease-in-out infinite}@keyframes levelup-btn-in{0%{transform:translateY(8px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes levelup-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,2px)}80%{transform:translate(4px,-2px)}}.milestone-shake{animation:levelup-shake .42s ease-in-out}@media (prefers-reduced-motion: reduce){.levelup-overlay:not(.levelup-phase--dark):not(.levelup-phase--burst),.levelup-coin,.levelup-claim-btn:after,.milestone-shake{animation:none}}@keyframes toastSlideIn{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-16px,0);opacity:0}}.xp-toast-stack{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);z-index:9998;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.xp-toast{background:linear-gradient(135deg,#1e1c2e,#2d2b3d);border:1px solid var(--accent-glow);border-radius:12px;padding:10px 18px;font-size:14px;font-weight:700;color:#f5f3ff;box-shadow:0 4px 20px var(--accent-glow);animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1),toastSlideOut .3s ease-in 2.5s forwards;white-space:nowrap;will-change:transform,opacity}.xp-to-next{display:block;font-size:11px;font-weight:500;color:var(--text-secondary, #9CA3AF);margin-top:4px;text-align:center}@keyframes milestoneBgPulse{0%{opacity:0}15%{opacity:1}to{opacity:1}}@keyframes milestonePulseGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes milestoneContentIn{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}40%{transform:translate(-50%,-50%) scale(1.08);opacity:1}60%{transform:translate(-50%,-50%) scale(.96)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes milestoneTrophy{0%{transform:scale(0);opacity:0}30%{transform:scale(1.3);opacity:1}50%{transform:scale(.9)}70%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes milestoneParticleBurst{0%{transform:rotate(var(--angle)) translateY(0);opacity:1}60%{opacity:1}to{transform:rotate(var(--angle)) translateY(calc(var(--dist) * -1));opacity:0}}@keyframes milestoneRain{0%{transform:translateY(-20px);opacity:0}10%{opacity:1}90%{opacity:.6}to{transform:translateY(100vh);opacity:0}}@keyframes milestoneClaimPulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 8px #fbbf2400}}.milestone-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;animation:milestoneBgPulse .8s ease-out forwards;overflow:hidden}.milestone-bg-pulse{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,var(--accent-glow) 0%,rgba(13,13,18,.97) 70%);animation:milestonePulseGlow 2s ease-in-out infinite}.milestone-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;animation:milestoneContentIn .8s cubic-bezier(.34,1.56,.64,1) .3s both;z-index:2}.milestone-trophy{font-size:72px;line-height:1;animation:milestoneTrophy 1s cubic-bezier(.34,1.56,.64,1) .3s both;filter:drop-shadow(0 0 24px rgba(251,191,36,.5))}.milestone-level-num{font-family:var(--font-rpg);font-size:80px;font-weight:900;color:#fbbf24;line-height:1;text-shadow:0 0 40px rgba(251,191,36,.6),0 0 80px rgba(251,191,36,.2);margin-top:4px}.milestone-rank-title{font-family:var(--font-rpg);font-size:14px;font-weight:700;color:#fbbf24;text-transform:uppercase;letter-spacing:.15em;opacity:.9;margin-top:4px}.milestone-level-name{font-family:var(--font-rpg);font-size:24px;font-weight:800;color:#f5f3ff;text-shadow:0 0 12px var(--accent-glow)}.milestone-subtitle{font-size:14px;font-weight:500;color:var(--accent-secondary);opacity:.85;font-style:italic;max-width:260px;margin-top:4px}.milestone-claim-btn{all:unset;box-sizing:border-box;margin-top:24px;padding:14px 36px;font-size:16px;font-weight:700;color:#0d0d12;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:14px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;animation:milestoneClaimPulse 1.5s ease-in-out infinite 1s;transition:transform .15s ease-out}.milestone-claim-btn:active{transform:scale(.95)}.milestone-particles{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.milestone-particle{position:absolute;width:var(--size);height:var(--size);border-radius:50%;animation:milestoneParticleBurst 1.4s ease-out var(--delay) forwards}.milestone-particle.violet{background:var(--accent-secondary);box-shadow:0 0 8px var(--accent-glow)}.milestone-particle.gold{background:#fbbf24;box-shadow:0 0 8px #fbbf24cc}.milestone-rain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.milestone-raindrop{position:absolute;top:0;left:var(--left);width:var(--rain-size);height:var(--rain-size);border-radius:50%;animation:milestoneRain var(--rain-duration) ease-in var(--rain-delay) infinite}.milestone-raindrop.violet{background:var(--accent-secondary);box-shadow:0 0 4px var(--accent-glow)}.milestone-raindrop.gold{background:#fbbf24;box-shadow:0 0 4px #fbbf2499}@keyframes flameBounce{0%{transform:scale(1) translateY(0)}20%{transform:scale(1.35) translateY(-4px)}40%{transform:scale(.95) translateY(0)}60%{transform:scale(1.15) translateY(-2px)}80%{transform:scale(1) translateY(0)}to{transform:scale(1)}}@keyframes flameFlicker{0%,to{opacity:1;filter:brightness(1)}25%{opacity:.85;filter:brightness(1.2)}50%{opacity:1;filter:brightness(1.1)}75%{opacity:.9;filter:brightness(1.15)}}.streak-flame-anim{display:inline-block;animation:flameBounce .6s ease-out,flameFlicker 1.5s ease-in-out}.streak-flame--normal{filter:brightness(1)}.streak-flame--gold{filter:brightness(1.2) saturate(1.5) hue-rotate(-15deg);font-size:120%!important}@keyframes infernoFlame{0%,to{transform:scale(1) rotate(0);filter:brightness(1.3)}15%{transform:scale(1.2) rotate(-5deg);filter:brightness(1.5)}30%{transform:scale(1.1) rotate(3deg);filter:brightness(1.2)}45%{transform:scale(1.3) rotate(-3deg);filter:brightness(1.6)}60%{transform:scale(1.15) rotate(2deg);filter:brightness(1.3)}75%{transform:scale(1.25) rotate(-4deg);filter:brightness(1.4)}}.streak-flame--inferno{animation:infernoFlame 1.2s ease-in-out infinite!important;font-size:140%!important}@keyframes smokeFade{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.1) translateY(-3px);opacity:.5}to{transform:scale(.9);opacity:.3}}.streak-smoke-anim{display:inline-block;animation:smokeFade 1.5s ease-out forwards;filter:grayscale(1) opacity(.5)}@keyframes goldGlow{0%,to{box-shadow:0 0 8px #fbbf244d}50%{box-shadow:0 0 16px #fbbf2480}}.streak-card--gold,.streak-chip-dash.streak-chip--gold{animation:goldGlow 2s ease-in-out infinite;border-color:#fbbf2459!important}@keyframes infernoGlow{0%,to{box-shadow:0 0 10px #ef44444d,0 0 20px #f59e0b26}50%{box-shadow:0 0 20px #ef444480,0 0 30px #f59e0b40}}.streak-card--inferno,.streak-chip-dash.streak-chip--inferno{animation:infernoGlow 1.5s ease-in-out infinite;border-color:#ef444466!important}.streak-chip-dash{display:flex;align-items:center;gap:8px;background:#1e1c2e99;border:1px solid #2D2B3D;border-radius:10px;padding:8px 14px;margin-bottom:10px}.streak-chip-fire{font-size:16px;line-height:1}.streak-chip-count{font-size:15px;font-weight:800;color:#f5f3ff}.streak-chip-label{font-size:13px;font-weight:500;color:#9ca3af}@keyframes streakLostIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes streakLostOut{0%{opacity:1}to{opacity:0}}.streak-lost-overlay{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9990;animation:streakLostIn .4s ease-out,streakLostOut .5s ease-in 2.5s forwards;pointer-events:none}.streak-lost-content{display:flex;flex-direction:column;align-items:center;gap:6px}.streak-lost-smoke{position:relative;width:40px;height:40px}@keyframes smokeRise{0%{opacity:.6;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.5)}}.smoke-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:#6b6880;left:calc(50% - 4px + (var(--i) - 4) * 4px);bottom:0;opacity:0;animation:smokeRise 1.2s ease-out calc(var(--i) * .1s) forwards}.streak-lost-msg{font-size:13px;font-weight:500;color:#6b6880;text-align:center;white-space:nowrap}.streak-lost-prev{font-size:11px;color:#3d3a50}@keyframes streakBannerIn{0%{transform:translate(-50%) translateY(-30px) scale(.9);opacity:0}to{transform:translate(-50%) translateY(0) scale(1);opacity:1}}@keyframes streakBannerOut{0%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.streak-banner{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);z-index:9997;cursor:pointer;animation:streakBannerIn .4s ease-out,streakBannerOut .4s ease-in 2.6s forwards}.streak-banner--30{animation:streakBannerIn .4s ease-out,streakBannerOut .4s ease-in 3.6s forwards}.streak-banner-inner{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:14px;background:linear-gradient(135deg,#1e1c2e,#2d2b3d);border:1px solid rgba(245,158,11,.3);box-shadow:0 4px 20px #f59e0b26}.streak-banner--7 .streak-banner-inner{border-color:#fbbf2480;box-shadow:0 4px 24px #fbbf2440}.streak-banner--30 .streak-banner-inner{border-color:#ef444480;box-shadow:0 4px 28px #ef444433,0 0 40px #f59e0b26;background:linear-gradient(135deg,#2d1a1a,#2d2b3d)}.streak-banner-fire{font-size:28px;line-height:1}.streak-banner--7 .streak-banner-fire,.streak-banner--30 .streak-banner-fire{filter:brightness(1.3)}.streak-banner-text{display:flex;flex-direction:column;gap:2px}.streak-banner-title{font-size:15px;font-weight:700;color:#f5f3ff;white-space:nowrap}.streak-banner-xp{font-size:12px;font-weight:600;color:#f59e0b}.streak-banner--30 .streak-banner-xp{color:#ef4444}@keyframes celebrationFlash{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes celebrationScale{0%{transform:translate(-50%,-50%) scale(.5)}20%{transform:translate(-50%,-50%) scale(1.1)}35%{transform:translate(-50%,-50%) scale(.98)}50%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes celebrationIconPop{0%{transform:scale(0) rotate(-20deg)}30%{transform:scale(1.35) rotate(5deg)}50%{transform:scale(.9) rotate(-2deg)}70%{transform:scale(1.1) rotate(1deg)}to{transform:scale(1) rotate(0)}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d12d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9998;animation:celebrationFlash 2.5s ease-out forwards;cursor:pointer}.celebration-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;animation:celebrationScale .6s cubic-bezier(.34,1.56,.64,1)}.celebration-icon{font-size:72px;line-height:1;animation:celebrationIconPop .7s cubic-bezier(.34,1.56,.64,1) .15s both;filter:drop-shadow(0 0 20px var(--cel-glow))}.celebration-title{font-family:var(--font-rpg);font-size:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.celebration-subtitle{font-size:18px;font-weight:600;color:#f5f3ff;opacity:.85}.celebration-particles{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.celebration-particle{position:absolute;width:var(--size);height:var(--size);border-radius:50%;animation:particleBurst 1s ease-out var(--delay) forwards}@keyframes legendaryFlame{0%,to{transform:scale(1) rotate(0);filter:brightness(1.4) hue-rotate(0deg)}12%{transform:scale(1.25) rotate(-4deg);filter:brightness(1.6) hue-rotate(-10deg)}25%{transform:scale(1.1) rotate(3deg);filter:brightness(1.3) hue-rotate(15deg)}37%{transform:scale(1.35) rotate(-2deg);filter:brightness(1.7) hue-rotate(-5deg)}50%{transform:scale(1.15) rotate(4deg);filter:brightness(1.4) hue-rotate(20deg)}62%{transform:scale(1.3) rotate(-3deg);filter:brightness(1.5) hue-rotate(-15deg)}75%{transform:scale(1.2) rotate(2deg);filter:brightness(1.6) hue-rotate(10deg)}87%{transform:scale(1.28) rotate(-5deg);filter:brightness(1.4) hue-rotate(-8deg)}}.streak-flame--legendary{animation:legendaryFlame 1.5s ease-in-out infinite!important;font-size:150%!important}@keyframes legendaryGlow{0%,to{box-shadow:0 0 12px #fbbf2466,0 0 24px var(--accent-glow)}50%{box-shadow:0 0 22px #fbbf2499,0 0 36px var(--accent-glow)}}.streak-card--legendary,.streak-chip-dash.streak-chip--legendary{animation:legendaryGlow 1.8s ease-in-out infinite;border-color:#fbbf2480!important}.prestige-overlay-v2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;will-change:contents}.prestige-blackout{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;z-index:1;transition:opacity .4s ease-out;will-change:opacity}.prestige-blackout.active{opacity:1}.prestige-blackout.fade{opacity:0;transition:opacity 1.2s ease-in .5s}.prestige-shockwave-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.prestige-shockwave{width:20px;height:20px;border-radius:50%;border:3px solid;background:transparent;will-change:transform,opacity;animation:prestigeShockExpand 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes prestigeShockExpand{0%{transform:scale(1);opacity:1}60%{opacity:.8}to{transform:scale(80);opacity:0}}.prestige-shock-particle{position:absolute;top:50%;left:50%;width:var(--s-size);height:var(--s-size);border-radius:50%;will-change:transform,opacity;animation:shockParticleFly .8s ease-out forwards}@keyframes shockParticleFly{0%{transform:translate(-50%,-50%) translate(0);opacity:1}to{transform:translate(-50%,-50%) translate(calc(cos(var(--s-angle))*50vmin),calc(sin(var(--s-angle))*50vmin));opacity:0}}.prestige-ink-bleed{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:50%;will-change:transform,opacity;animation:inkBleedExpand 1.2s ease-out forwards;pointer-events:none}@keyframes inkBleedExpand{0%{transform:scale(0);opacity:0}30%{opacity:.9}to{transform:scale(3);opacity:.35}}.prestige-star-stage{position:relative;z-index:5;width:160px;height:160px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.prestige-mega-star{font-size:96px;line-height:1;will-change:transform,opacity;animation:megaStarIn 1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes megaStarIn{0%{transform:scale(0) rotateY(-180deg);opacity:0}40%{transform:scale(1.3) rotateY(20deg);opacity:1}60%{transform:scale(.9) rotateY(-10deg)}80%{transform:scale(1.1) rotateY(5deg)}to{transform:scale(1) rotateY(0)}}.prestige-orbit-star{position:absolute;top:50%;left:50%;font-size:var(--o-size);line-height:1;will-change:transform,opacity;animation:orbitStar var(--o-speed) linear var(--o-delay) infinite;transform-origin:0 0}@keyframes orbitStar{0%{transform:translate(-50%,-50%) rotate(0) translate(var(--o-dist)) rotate(0);opacity:.8}50%{opacity:1}to{transform:translate(-50%,-50%) rotate(360deg) translate(var(--o-dist)) rotate(-360deg);opacity:.8}}.prestige-title-block{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;will-change:transform,opacity;animation:titleExplodeIn .6s cubic-bezier(.34,1.56,.64,1) forwards}.prestige-number{font-size:32px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;will-change:opacity;animation:prestigeGlowPulse 2s ease-in-out infinite}.prestige-theme-name{font-size:22px;font-weight:700;opacity:.9}@keyframes titleExplodeIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes prestigeGlowPulse{0%,to{opacity:1}50%{opacity:.75}}.prestige-gold-shower{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.prestige-gold-particle{position:absolute;top:-10px;left:var(--g-left);width:var(--g-size);height:var(--g-size);border-radius:50%;will-change:transform,opacity;animation:goldFall var(--g-duration) ease-in var(--g-delay) infinite}@keyframes goldFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}to{transform:translateY(calc(100vh + 20px)) translate(var(--g-drift)) rotate(360deg);opacity:.3}}.prestige-details-row{position:relative;z-index:6;display:flex;align-items:center;gap:10px;margin-top:16px}.prestige-detail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;border-radius:14px;border:1.5px solid;background:#0000004d;will-change:transform,opacity}.prestige-detail-left{animation:slideFromLeft .5s cubic-bezier(.34,1.56,.64,1) forwards}.prestige-detail-center{animation:slideFromBottom .5s cubic-bezier(.34,1.56,.64,1) .15s both;border-color:#fbbf2440;background:#fbbf2415}.prestige-detail-right{animation:slideFromRight .5s cubic-bezier(.34,1.56,.64,1) .3s both}.prestige-detail-icon{font-size:22px;line-height:1}.prestige-detail-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.prestige-detail-multiplier{font-size:20px;font-weight:900}.prestige-detail-title{font-size:16px;font-weight:800}.prestige-detail-sub{font-size:10px;color:#9ca3af;font-weight:500}@keyframes slideFromLeft{0%{transform:translate(-60px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideFromRight{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideFromBottom{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.prestige-settle{position:relative;z-index:7;display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:24px;will-change:transform,opacity;animation:fadeInUp .6s ease-out forwards}.prestige-ascended{font-size:14px;font-weight:600;color:#9ca3af;letter-spacing:.15em;text-transform:uppercase;animation:fadeInUp .5s ease-out forwards}.prestige-claim-btn{all:unset;box-sizing:border-box;padding:16px 40px;border-radius:16px;font-size:17px;font-weight:800;color:#0d0d12;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;animation:claimBtnPulse 1.5s ease-in-out infinite;transition:transform .15s ease-out}.prestige-claim-btn:active{transform:scale(.95)}@keyframes claimBtnPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.88}}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.prestige-color-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;will-change:opacity;animation:colorWashSweep 1s ease-in-out forwards;pointer-events:none}@keyframes colorWashSweep{0%{opacity:0}20%{opacity:.9}60%{opacity:.5}to{opacity:0}}.prestige-overlay-v2.prestige-claimed>*:not(.prestige-color-wash){animation:fadeOut .4s ease-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.prestige-trigger-btn{background:linear-gradient(135deg,#FBBF24,#F59E0B,var(--accent))!important;color:#0d0d12!important;animation:milestoneClaimPulse 1s ease-in-out infinite,prestigeBtnShimmer 2s ease-in-out infinite!important}@keyframes prestigeBtnShimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.avatar-prestige-star{position:absolute;bottom:-4px;right:-4px;font-size:12px;line-height:1;filter:drop-shadow(0 0 4px rgba(251,191,36,.6))}html[data-theme=dark]{--bg: #151520;--surface: #1C1B2A;--surface-elevated: #252338;--border: #3A3752}html[data-theme=dark],html[data-theme=dark] body{background:#151520}html[data-theme=dark] #root{background:#0f0f18}html[data-theme=dark] .dashboard-root,html[data-theme=dark] .profile-root,html[data-theme=dark] .settings-root,html[data-theme=dark] .history-root{background:#151520}html[data-theme=dark] .level-card,html[data-theme=dark] .stat-chip,html[data-theme=dark] .action-btn,html[data-theme=dark] .streak-chip-dash,html[data-theme=dark] .nutri-widget,html[data-theme=dark] .badge-card,html[data-theme=dark] .streak-card,html[data-theme=dark] .back-btn,html[data-theme=dark] .profile-dev-btn,html[data-theme=dark] .search-bar,html[data-theme=dark] .history-filter-btn,html[data-theme=dark] .settings-text-input,html[data-theme=dark] .settings-number-input,html[data-theme=dark] .settings-select,html[data-theme=dark] .settings-macro-input,html[data-theme=dark] .settings-path-card,html[data-theme=dark] .history-summary-item,html[data-theme=dark] .history-filter-panel{background:#1c1b2a;border-color:#3a3752}:root{--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .27, 1.55);--ease-snappy: cubic-bezier(.22, 1, .36, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-medium: .3s;--dur-slow: .4s}@keyframes anim-slide-up{0%{transform:translate3d(0,12px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes anim-slide-down{0%{transform:translate3d(0,-12px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes anim-slide-right{0%{transform:translate3d(20px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes anim-slide-left{0%{transform:translate3d(-20px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes anim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes anim-scale-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes anim-scale-spring{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}@keyframes anim-sheet-up{0%{transform:translate3d(-50%,100%,0)}70%{transform:translate3d(-50%,-8px,0)}to{transform:translate3d(-50%,0,0)}}@keyframes anim-check-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}@keyframes anim-strike-in{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes anim-toast-in{0%{transform:translate3d(0,-16px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes anim-toast-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-12px,0);opacity:0}}@keyframes anim-value-pulse{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.12);filter:brightness(1.35)}to{transform:scale(1);filter:brightness(1)}}@keyframes anim-glow-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow, rgba(124,58,237,.22))}50%{box-shadow:0 0 12px 2px var(--accent-glow, rgba(124,58,237,.22))}}@keyframes anim-flame-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes anim-row-in{0%{transform:translate3d(24px,0,0);opacity:0;max-height:0}60%{max-height:120px}to{transform:translateZ(0);opacity:1;max-height:120px}}@keyframes anim-row-out{0%{transform:translateZ(0);opacity:1;max-height:120px}to{transform:translate3d(-24px,0,0);opacity:0;max-height:0}}@keyframes anim-float-up{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-28px,0);opacity:0}}@keyframes anim-day-in-right{0%{transform:translate3d(40px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes anim-day-in-left{0%{transform:translate3d(-40px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}.a-fade{animation:anim-fade-in var(--dur-medium) var(--ease-out) both;will-change:opacity}.a-slide-up{animation:anim-slide-up var(--dur-medium) var(--ease-out) both;will-change:transform,opacity}.a-slide-right{animation:anim-slide-right var(--dur-medium) var(--ease-out) both;will-change:transform,opacity}.a-slide-left{animation:anim-slide-left var(--dur-medium) var(--ease-out) both;will-change:transform,opacity}.a-pop{animation:anim-scale-pop var(--dur-normal) var(--ease-out) both;will-change:transform,opacity}.a-spring{animation:anim-scale-spring .5s var(--ease-spring) both;will-change:transform,opacity}.a-day-r{animation:anim-day-in-right var(--dur-normal) var(--ease-out) both;will-change:transform,opacity}.a-day-l{animation:anim-day-in-left var(--dur-normal) var(--ease-out) both;will-change:transform,opacity}.a-toast-in{animation:anim-toast-in var(--dur-medium) var(--ease-out) both;will-change:transform,opacity}.a-stagger>*{opacity:0;animation:anim-slide-up var(--dur-medium) var(--ease-out) both;will-change:transform,opacity}.a-stagger>*:nth-child(1){animation-delay:0ms}.a-stagger>*:nth-child(2){animation-delay:60ms}.a-stagger>*:nth-child(3){animation-delay:.12s}.a-stagger>*:nth-child(4){animation-delay:.18s}.a-stagger>*:nth-child(5){animation-delay:.24s}.a-stagger>*:nth-child(6){animation-delay:.3s}.a-stagger>*:nth-child(7){animation-delay:.36s}.a-stagger>*:nth-child(8){animation-delay:.42s}.a-stagger>*:nth-child(9){animation-delay:.48s}.a-stagger>*:nth-child(10){animation-delay:.54s}.a-stagger>*:nth-child(n+11){animation-delay:.6s}.a-stagger-fast>*{opacity:0;animation:anim-slide-up var(--dur-medium) var(--ease-out) both;will-change:transform,opacity}.a-stagger-fast>*:nth-child(1){animation-delay:0ms}.a-stagger-fast>*:nth-child(2){animation-delay:50ms}.a-stagger-fast>*:nth-child(3){animation-delay:.1s}.a-stagger-fast>*:nth-child(4){animation-delay:.15s}.a-stagger-fast>*:nth-child(5){animation-delay:.2s}.a-stagger-fast>*:nth-child(6){animation-delay:.25s}.a-stagger-fast>*:nth-child(7){animation-delay:.3s}.a-stagger-fast>*:nth-child(8){animation-delay:.35s}.a-stagger-fast>*:nth-child(9){animation-delay:.4s}.a-stagger-fast>*:nth-child(10){animation-delay:.45s}.a-stagger-fast>*:nth-child(n+11){animation-delay:.5s}.a-press{transition:transform var(--dur-fast) var(--ease-out)}.a-press:active{transform:scale(.96)}.a-pulse{animation:anim-value-pulse .4s var(--ease-out);will-change:transform,filter}.a-glow-pulse{animation:anim-glow-pulse 4s ease-in-out infinite;will-change:box-shadow}.a-flame-pulse{animation:anim-flame-pulse 3s ease-in-out infinite;will-change:transform;transform-origin:center bottom}.a-chip-pop{transition:transform .15s var(--ease-spring),background .15s ease,color .15s ease,border-color .15s ease}.a-chip-pop.active{transform:scale(1.06)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.a-fade,.a-stagger>*,.a-stagger-fast>*,.screen-enter,.screen-back{animation:anim-fade-in .15s linear both!important}.a-glow-pulse,.a-flame-pulse,.character-wrap.animated .character-body,.character-wrap.animated .layer-weapon,.character-wrap.animated .character-base-glow,.character-wrap.animated .legendary-orbit,.character-wrap.animated .weapon-steam,.character-wrap.animated .weapon-lightning,.character-wrap.animated .flame-particles circle,.character-wrap.animated .character-sparkles circle,.prestige-halo,.prestige-base-ring,.streak-flame-anim{animation:none!important;transform:none!important}}.gt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;pointer-events:none}.gt-spotlight{position:fixed;border-radius:8px;background:transparent;box-shadow:0 0 0 9999px #000000b3;z-index:1;pointer-events:none}.gt-backdrop-full{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1;pointer-events:none}.gt-glow-ring{position:fixed;border-radius:8px;border:2px solid var(--accent, #A78BFA);box-shadow:0 0 12px var(--accent-glow, rgba(167, 139, 250, .5)),0 0 24px var(--accent-glow, rgba(167, 139, 250, .25));z-index:3;pointer-events:none;will-change:opacity;animation:gt-glow-pulse 2.2s ease-in-out infinite}@keyframes gt-glow-pulse{0%,to{opacity:.65}50%{opacity:1}}.gt-skip{all:unset;box-sizing:border-box;position:fixed;bottom:calc(env(safe-area-inset-bottom,16px) + 16px);right:16px;z-index:10;font-family:Barlow,sans-serif;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;padding:6px 12px;pointer-events:auto;will-change:transform}.gt-skip:active{transform:scale(.95)}@media (hover: hover){.gt-skip:hover{color:#9ca3af}}.gt-tooltip{position:fixed;z-index:10;background:#1e1c2e;border:1.5px solid #2D2B3D;border-radius:16px;padding:20px;box-shadow:0 8px 32px #00000080;pointer-events:auto}.gt-tooltip--above .gt-tooltip-arrow{position:absolute;bottom:-7px;width:12px;height:12px;background:#1e1c2e;border-right:1.5px solid #2D2B3D;border-bottom:1.5px solid #2D2B3D}.gt-tooltip--below .gt-tooltip-arrow{position:absolute;top:-7px;width:12px;height:12px;background:#1e1c2e;border-left:1.5px solid #2D2B3D;border-top:1.5px solid #2D2B3D}.gt-tooltip-progress{display:block;font-family:Barlow,sans-serif;font-size:11px;font-weight:700;color:#6b7280;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.gt-tooltip-title{font-family:var(--font-rpg, "Cinzel", serif);font-size:17px;font-weight:700;color:#f5f3ff;margin:0 0 8px;line-height:1.25}.gt-tooltip-text{font-family:Barlow,sans-serif;font-size:14px;font-weight:400;line-height:1.6;color:#c8c4d8;margin:0 0 16px}.gt-tooltip-footer{display:flex;align-items:center;justify-content:flex-end}.gt-tooltip-btn{all:unset;box-sizing:border-box;cursor:pointer;font-family:Barlow,sans-serif;font-size:14px;font-weight:700;color:#f5f3ff;background:linear-gradient(135deg,var(--accent, #A78BFA),var(--accent-hover, #9171e8));padding:10px 24px;border-radius:12px;box-shadow:0 4px 16px var(--accent-glow, rgba(167, 139, 250, .3));will-change:transform}.gt-tooltip-btn:active{transform:scale(.95)}@media (hover: hover){.gt-tooltip-btn:hover{transform:translateY(-1px)}}.gt-tooltip-btn--finish{background:linear-gradient(135deg,var(--accent, #A78BFA),#FBBF24);box-shadow:0 4px 20px var(--accent-glow, rgba(167, 139, 250, .3)),0 0 30px #fbbf2426;font-size:15px;font-weight:800;padding:12px 28px}@media (prefers-reduced-motion: reduce){.gt-glow-ring{animation:none;opacity:1}}.ember-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.ember-particle{position:absolute;bottom:-12px;border-radius:50%;opacity:0;will-change:transform,opacity;animation-name:ember-rise;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes ember-rise{0%{opacity:0;transform:translate(0)}10%{opacity:var(--ember-opacity)}85%{opacity:var(--ember-opacity)}to{opacity:0;transform:translate(var(--ember-drift),-115vh)}}@media (prefers-reduced-motion: reduce){.ember-particle{animation:none;opacity:0}}.character-wrap{display:inline-flex;align-items:center;justify-content:center;position:relative;user-select:none;-webkit-user-select:none}.character-img{display:block;object-fit:contain;position:relative;z-index:1;pointer-events:none}.character-silhouette .character-img{filter:brightness(0) invert(.18) opacity(.55)}.character-glow{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;border-radius:50%;z-index:0;pointer-events:none}@keyframes characterFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.character-animated .character-img{animation:characterFloat 3s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.character-animated .character-img{animation:none}}.character-avatar{border-radius:50%;overflow:hidden;border:2px solid #2D2B3D;background:#0d0d12;flex-shrink:0;position:relative}.character-avatar-img{display:block;width:160%;height:160%;object-fit:cover;object-position:center 15%;position:absolute;top:-10%;left:-30%;pointer-events:none}.ob-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden;font-family:Barlow,sans-serif}.ob-header{display:flex;align-items:center;justify-content:space-between;padding:max(60px,calc(env(safe-area-inset-top) + 24px)) 16px 0;flex-shrink:0}.ob-back{all:unset;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#f5f3ff;border-radius:10px;background:#16151f;border:1px solid #2D2B3D;transition:background .15s}.ob-back:active{background:#2d2b3d}.ob-xp-progress{flex:1;display:flex;align-items:center;gap:10px;margin:0 12px}.ob-xp-progress .xp-track-wrap{flex:1}.ob-xp-progress .xp-bar-track{height:8px;background:#2d2b3d;border-radius:99px;position:relative}.ob-step-label{font-size:11px;color:#9ca3af;white-space:nowrap;flex-shrink:0}.ob-step-wrap{flex:1;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:0 24px;display:flex;flex-direction:column}.ob-step-wrap.ob-anim-forward{animation:ob-slide-in-right .35s cubic-bezier(.22,1,.36,1)}.ob-step-wrap.ob-anim-back{animation:ob-slide-in-left .35s cubic-bezier(.22,1,.36,1)}@keyframes ob-slide-in-right{0%{transform:translate(60px);opacity:0;filter:brightness(1)}55%{filter:brightness(1.35)}to{transform:translate(0);opacity:1;filter:brightness(1)}}@keyframes ob-slide-in-left{0%{transform:translate(-60px);opacity:0;filter:brightness(1)}55%{filter:brightness(1.35)}to{transform:translate(0);opacity:1;filter:brightness(1)}}.ob-step{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:0 0 8px}.ob-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.ob-logo-icon{font-size:36px;line-height:1}.ob-logo-text{font-size:24px;font-weight:800;letter-spacing:-.02em}.ob-heading{font-size:28px;font-weight:800;line-height:1.15;color:#f5f3ff;text-align:center;margin-bottom:12px}.ob-sub{font-size:14px;color:#9ca3af;text-align:center;margin-bottom:28px;line-height:1.5}.ob-field-group{width:100%;margin-top:20px}.ob-label{display:block;font-size:13px;font-weight:600;color:#9ca3af;margin-bottom:8px}.ob-text-input{all:unset;box-sizing:border-box;width:100%;padding:16px;font-size:18px;font-weight:600;color:#f5f3ff;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;text-align:center;transition:border-color .2s,box-shadow .2s;font-family:Barlow,sans-serif}.ob-text-input:focus{border-color:var(--ob-accent, var(--accent));box-shadow:0 0 0 3px #8b5cf626}.ob-text-input::placeholder{color:#4b5563;font-weight:400}.ob-cards-row{display:flex;gap:16px;width:100%;margin-top:8px}.ob-card-option{all:unset;box-sizing:border-box;cursor:pointer;flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;position:relative;transition:border-color .2s,box-shadow .2s,background .2s,transform .15s}.ob-card-option:active{transform:scale(.97)}.ob-card-option.selected{background:#1e1c2e}.ob-card-option-icon{font-size:48px;line-height:1}.ob-card-option-label{font-size:16px;font-weight:700;color:#f5f3ff}.ob-card-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:ob-check-pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes ob-check-pop{0%{transform:scale(0)}to{transform:scale(1)}}.ob-chef-cards{display:flex;flex-direction:column;gap:14px;width:100%;margin-top:8px}.ob-chef-card{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:16px;padding:18px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;position:relative;transition:border-color .2s,box-shadow .2s,background .2s,transform .15s}.ob-chef-card:active{transform:scale(.98)}.ob-chef-card.selected{background:#1e1c2e}.ob-chef-card-img{flex:0 0 auto;width:72px;height:72px;border-radius:50%;object-fit:cover;background:#0d0d12;border:1.5px solid #2D2B3D}.ob-chef-card-text{flex:1;min-width:0;display:flex;flex-direction:column}.ob-chef-card-name{font-size:17px;font-weight:800;color:#f5f3ff;text-align:left}.ob-chef-card-tagline{margin-top:3px;font-size:13px;line-height:1.4;color:#9ca3af;text-align:left}.ob-num-field{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:28px}.ob-num-underline-wrap{position:relative;width:100%;max-width:220px}.ob-num-underline-wrap:after{content:"";position:absolute;left:50%;bottom:0;width:100%;height:2px;background:var(--ob-accent, #7C3AED);transform:translate(-50%) scaleX(0);transform-origin:center;transition:transform .22s ease;will-change:transform}.ob-num-underline-wrap:focus-within:after{transform:translate(-50%) scaleX(1)}.ob-num-input{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;font-family:var(--font-rpg, "Cinzel", serif);font-size:44px;font-weight:700;color:#f5f3ff;border-bottom:2px solid #2D2B3D;padding:6px 4px 14px;-moz-appearance:textfield}.ob-num-input::-webkit-outer-spin-button,.ob-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ob-num-input::placeholder{font-family:Barlow,sans-serif;font-size:16px;font-weight:500;color:#4b5563}.ob-num-input--error{border-bottom-color:#ef4444}.ob-num-error{font-family:Barlow,sans-serif;font-size:12px;font-weight:600;color:#ef4444;margin:0;text-align:center}.ob-num-row{display:flex;gap:20px;width:100%;justify-content:center;margin-top:12px}.ob-num-col{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:180px}.ob-num-col .ob-num-field{margin-top:0}.ob-num-col-label{font-family:Barlow,sans-serif;font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em}@media (prefers-reduced-motion: reduce){.ob-num-underline-wrap:after{transition:none}}.ob-cards-list{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.ob-list-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;position:relative;transition:border-color .2s,box-shadow .2s,background .2s,transform .12s}.ob-list-card:active{transform:scale(.98)}.ob-list-card.selected{background:#1e1c2e}.ob-list-card-icon{font-size:28px;line-height:1;flex-shrink:0}.ob-list-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ob-list-card-label{font-size:15px;font-weight:700;color:#f5f3ff}.ob-list-card-desc{font-size:12px;color:#9ca3af;line-height:1.4}.ob-step-results{justify-content:center}.ob-macros-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:24px;width:100%;justify-items:center}.ob-macro-ring{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.ob-macro-ring svg{filter:drop-shadow(0 0 8px rgba(0,0,0,.35))}.ob-ring-fill{transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1)}.ob-macro-ring-inner{position:absolute;top:0;left:0;width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.ob-macro-ring-value{font-family:var(--font-rpg);font-size:28px;font-weight:800;line-height:1}.ob-macro-ring-unit{font-size:11px;color:#9ca3af;font-weight:600;margin-top:3px}.ob-macro-ring-label{font-family:var(--font-rpg);font-size:13px;font-weight:700;color:#c8c4d8;text-transform:uppercase;letter-spacing:.06em}.ob-results-note{font-size:13px;color:#9ca3af;text-align:center;line-height:1.5;margin-top:20px;padding:0 8px}.ob-footer{padding:16px 24px calc(env(safe-area-inset-bottom) + 20px);flex-shrink:0}.ob-continue-btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:16px;border-radius:14px;font-size:16px;font-weight:700;background:#2d2b3d;color:#9ca3af;transition:background .2s,color .2s,box-shadow .2s,transform .15s;font-family:Barlow,sans-serif}.ob-continue-btn.active{color:#fff}.ob-continue-btn:disabled{cursor:not-allowed}@media (hover: hover){.ob-continue-btn.active:hover{transform:translateY(-1px);filter:brightness(1.08)}}.ob-final-btn{font-size:18px;padding:18px;letter-spacing:.02em}.ob-opening{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 80% at 50% 20%,#1e1c2e,#0d0d12 65%)}.ob-opening-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 32px;animation:ob-opening-fade-up .7s cubic-bezier(.22,1,.36,1) both}@keyframes ob-opening-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ob-opening-logo{margin-bottom:8px}.ob-opening-logo .ob-logo-icon{font-size:52px;animation:ob-glow-pulse 2.6s ease-in-out infinite}@keyframes ob-glow-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.ob-opening-title{font-family:var(--font-rpg);font-size:34px;font-weight:700;line-height:1.2;color:#f8f5ec;margin:18px 0 10px}.ob-opening-subtitle{font-family:Barlow,sans-serif;font-size:15px;color:#9ca3af;margin:0 0 40px}.ob-opening-btn{border:none;border-radius:16px;padding:18px 40px;font-size:16px;font-weight:800;letter-spacing:.02em;color:#fff;cursor:pointer}.ob-opening-btn:active{transform:scale(.97)}.ob-completion{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0d0d12}.ob-completion-burst{position:absolute;width:20px;height:20px;border-radius:50%;animation:levelup-burst-expand .65s cubic-bezier(.15,.7,.3,1) forwards;pointer-events:none}.ob-completion-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 32px}.ob-completion-character{width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 0 30px var(--accent-glow, rgba(124,58,237,.4)));animation:levelup-character-in .6s cubic-bezier(.34,1.56,.64,1) .15s both}.ob-completion-title{font-family:var(--font-rpg);font-size:24px;font-weight:700;line-height:1.3;color:#f8f5ec;margin-top:18px;animation:ob-opening-fade-up .5s ease-out .5s both}@media (prefers-reduced-motion: reduce){.ob-opening-logo .ob-logo-icon{animation:none}}.signin-root{position:relative;width:100%;height:100%;background:#0d0d12;color:#f5f3ff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:24px}.signin-glow{position:absolute;top:-20%;right:-20%;bottom:30%;left:-20%;background:radial-gradient(60% 60% at 50% 40%,rgba(167,139,250,.18) 0%,transparent 70%);pointer-events:none;filter:blur(20px)}.signin-content{position:relative;z-index:1;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:28px}.signin-logo-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.signin-logo{width:96px;height:96px;border-radius:22px;box-shadow:0 10px 40px #a78bfa59;animation:signinLogoIn .6s cubic-bezier(.22,1,.36,1) both}.signin-name{margin:0;font-family:var(--font-rpg);font-size:30px;font-weight:900;letter-spacing:-.01em;text-align:center;background:linear-gradient(90deg,#f5f3ff,#c4b5fd,#f5f3ff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:signinTitleShine 6s linear infinite,signinFadeIn .6s ease-out .1s both}.signin-tagline{margin:0;font-family:Barlow,sans-serif;font-size:14px;font-weight:500;color:#9ca3af;text-align:center;letter-spacing:.01em;animation:signinFadeIn .6s ease-out .2s both}@keyframes signinLogoIn{0%{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes signinFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes signinTitleShine{0%{background-position:0% 50%}to{background-position:200% 50%}}.signin-tabs{display:flex;width:100%;background:#16151f;border:1px solid #2D2B3D;border-radius:12px;padding:4px;gap:4px;animation:signinFadeIn .6s ease-out .25s both}.signin-tab{all:unset;cursor:pointer;flex:1;text-align:center;padding:9px 0;border-radius:9px;font-family:Barlow,sans-serif;font-size:13px;font-weight:700;color:#9ca3af;letter-spacing:.02em;transition:color .15s,background .15s}.signin-tab.active{background:#2d2b3d;color:#f5f3ff}.signin-form{width:100%;display:flex;flex-direction:column;gap:12px;animation:signinFadeIn .6s ease-out .3s both}.signin-field{display:flex;flex-direction:column;gap:4px}.signin-label{font-family:Barlow,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}.signin-input{all:unset;box-sizing:border-box;width:100%;background:#16151f;border:1.5px solid #2D2B3D;border-radius:12px;padding:12px 14px;font-family:Barlow,sans-serif;font-size:15px;font-weight:500;color:#f5f3ff;transition:border-color .15s,box-shadow .15s}.signin-input::placeholder{color:#3d3a50}.signin-input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa2e}.signin-input:disabled{opacity:.6}.signin-forgot{all:unset;cursor:pointer;align-self:flex-end;font-family:Barlow,sans-serif;font-size:12px;font-weight:700;color:#a78bfa;letter-spacing:.01em;margin-top:-4px}.signin-forgot:active{opacity:.7}.signin-primary-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;text-align:center;padding:13px 18px;margin-top:4px;border-radius:14px;background:linear-gradient(180deg,#a78bfa,#8b5cf6);color:#fff;font-family:Barlow,sans-serif;font-size:15px;font-weight:800;letter-spacing:.01em;box-shadow:0 6px 22px #8b5cf666;transition:transform .12s,box-shadow .15s,opacity .15s}.signin-primary-btn:active{transform:scale(.97);box-shadow:0 3px 14px #8b5cf666}.signin-primary-btn:disabled{opacity:.6;cursor:not-allowed}.signin-info{margin:0;font-size:12px;font-weight:600;color:#3dd68c;text-align:center}.signin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d12c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:9000;animation:signinFadeIn .18s ease-out}.signin-modal-card{width:100%;max-width:320px;background:linear-gradient(180deg,#1a1a2e,#14131d);border:1.5px solid #2D2B3D;border-radius:18px;padding:20px 18px 16px;display:flex;flex-direction:column;gap:10px}.signin-modal-title{font-family:var(--font-rpg);font-size:16px;font-weight:800;color:#f5f3ff;text-align:center}.signin-modal-body{font-size:13px;color:#9ca3af;text-align:center;margin-bottom:4px}.signin-modal-actions{display:flex;gap:10px;margin-top:8px}.signin-modal-btn{all:unset;flex:1;cursor:pointer;text-align:center;padding:10px 0;border-radius:12px;font-family:Barlow,sans-serif;font-size:14px;font-weight:800}.signin-modal-btn:active{opacity:.85}.signin-modal-btn--cancel{background:#2d2b3d;color:#dedaf0}.signin-modal-btn--primary{background:#8b5cf6;color:#fff}.signin-guest-btn{all:unset;cursor:pointer;padding:8px 12px;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;color:#9ca3af;text-decoration:underline;text-underline-offset:4px;transition:color .15s,opacity .15s;animation:signinFadeIn .6s ease-out .4s both}.signin-guest-btn:active{color:#f5f3ff}.signin-guest-btn:disabled{opacity:.4;cursor:not-allowed}.signin-error{margin:0;font-size:13px;font-weight:600;color:#f87171;text-align:center}.signin-legal{margin:12px 0 0;font-size:11px;color:#6b7280;text-align:center;line-height:1.5;animation:signinFadeIn .6s ease-out .5s both}.signin-legal a{color:#a78bfa;text-decoration:underline;text-underline-offset:2px;font-weight:700}.dashboard-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden;position:relative}.dashboard-scroll{position:relative;z-index:1;flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y;padding-bottom:calc(env(safe-area-inset-bottom) + 48px);scrollbar-width:none}.dashboard-scroll::-webkit-scrollbar{display:none}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;padding:56px 24px 28px;gap:12px}.greeting-block{display:flex;flex-direction:column;gap:4px}.greeting-hi{font-size:13px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.greeting-title{font-size:28px;font-weight:800;color:#f5f3ff;line-height:1.1}.path-badge{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:99px;border:1px solid;white-space:nowrap;flex-shrink:0;margin-top:4px}.dash-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.quest-icon-btn{all:unset;box-sizing:border-box;cursor:pointer;width:40px;height:40px;border-radius:50%;background:#16151f;border:1.5px solid #2D2B3D;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,transform .12s}.quest-icon-btn:active{transform:scale(.93)}@media (hover: hover){.quest-icon-btn:hover{border-color:#9ca3af;transform:scale(1.05)}}.quest-icon-scroll{font-size:18px;line-height:1}.avatar-btn{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;border-radius:50%;background:#2d2b3d;border:2px solid #3D3A50;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;position:relative;transition:border-color .15s,transform .12s,box-shadow .15s}@media (hover: hover){.avatar-btn:hover{border-color:#9ca3af;transform:scale(1.05)}}.avatar-initials{font-size:13px;font-weight:800;color:var(--accent-secondary);letter-spacing:.02em}.dashboard-body{display:flex;flex-direction:column;gap:24px;padding:0 16px}.level-card{background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;padding:20px;position:relative;overflow:visible}.level-card-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}.level-badge{width:56px;height:56px;border-radius:14px;border:2px solid;background:#0d0d12;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:1px}.level-badge-number{font-family:var(--font-rpg);font-size:24px;font-weight:800;line-height:1}.level-badge-word{font-size:9px;font-weight:700;color:#9ca3af;letter-spacing:.12em}.level-info{display:flex;flex-direction:column;gap:5px}.level-name{font-family:var(--font-rpg);font-size:18px;font-weight:700;color:#f5f3ff}.level-xp-label{font-family:var(--font-rpg);font-size:13px;font-weight:600;color:var(--accent)}.level-xp-dim{font-weight:400;color:#9ca3af}.xp-bar-track{height:10px;background:#2d2b3d;border-radius:99px;overflow:visible;position:relative}.xp-bar-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.16,1,.3,1);will-change:width;position:relative;overflow:hidden}@keyframes xp-near-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 14px 3px var(--accent-glow)}}.xp-bar-pct{font-family:var(--font-rpg);position:absolute;right:0;top:-20px;font-size:11px;font-weight:700}.section{display:flex;flex-direction:column;gap:12px}.stats-row{display:flex;gap:10px}.stat-chip{flex:1;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.stat-icon{font-size:15px;line-height:1;margin-bottom:2px}.stat-value{font-family:var(--font-rpg);font-size:17px;font-weight:800;color:#f5f3ff;line-height:1}.streak-chip-count{font-family:var(--font-rpg);font-weight:800}.stat-total{font-size:17px;font-weight:600;color:#9ca3af}.stat-label{font-size:10px;font-weight:500;color:#9ca3af;line-height:1.3}.nutri-widget{all:unset;box-sizing:border-box;cursor:pointer;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;width:100%;transition:border-color .18s,box-shadow .18s,transform .14s}@media (hover: hover){.nutri-widget:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 16px var(--glow);transform:translateY(-1px)}}.nutri-widget-header{display:flex;align-items:center;gap:8px}.nutri-widget-icon{font-size:16px;line-height:1}.nutri-widget-title{flex:1;font-size:13px;font-weight:700;color:#f5f3ff}.nutri-widget-arrow{font-size:18px;color:#3d3a50;line-height:1}.nutri-widget-bar-track{height:8px;background:#2d2b3d;border-radius:99px;overflow:visible}.nutri-widget-bar-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.16,1,.3,1);will-change:width}.nutri-widget-label{font-size:13px;font-weight:600}.nutri-widget-val{font-family:var(--font-rpg);font-weight:800}.nutri-widget-sep{color:#3d3a50}.nutri-widget-target{color:#9ca3af}.actions-list{display:flex;flex-direction:column;gap:10px}.action-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:14px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:16px;width:100%;box-sizing:border-box;transition:border-color .18s,box-shadow .18s,transform .14s}@media (hover: hover){.action-btn:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 6px 24px var(--glow);transform:translateY(-1px)}}.action-btn:active{transform:translateY(0)}.action-icon{font-size:22px;line-height:1;flex-shrink:0;width:36px;height:36px;background:#16151f;border:1px solid #2D2B3D;border-radius:10px;display:flex;align-items:center;justify-content:center}.action-text{flex:1;display:flex;flex-direction:column;gap:2px}.action-label{font-size:15px;font-weight:700;color:#f5f3ff}.action-desc{font-size:12px;color:#9ca3af}.action-arrow{font-size:20px;color:#3d3a50;flex-shrink:0;line-height:1}.paywall-overlay{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:9500;background:radial-gradient(ellipse 120% 65% at 50% 32%,#4c1d958c,#4c1d9500 65%),#0d0d12;display:flex;flex-direction:column;animation:paywall-in .22s ease-out}@keyframes paywall-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.paywall-dismiss{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid rgba(156,163,175,.35);background:#00000059;color:#9ca3af;opacity:.5;font-size:16px;line-height:1;cursor:pointer}.paywall-dismiss:active{transform:scale(.94)}.paywall-scroll{position:relative;z-index:1;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center;justify-content:center;padding:calc(56px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom))}.paywall-inner{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center}.paywall-crown-wrap{position:relative;width:80px;height:80px;display:grid;place-items:center;margin-bottom:14px}.paywall-halo-ring{position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border-radius:50%;border:2px dashed rgba(124,58,237,.4);animation:paywall-halo-spin 16s linear infinite;will-change:transform}@keyframes paywall-halo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.paywall-crown-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,#7c3aed8c,#7c3aed00 70%);animation:paywall-glow-pulse 2.6s ease-in-out infinite}@keyframes paywall-glow-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}.paywall-crown{position:relative;font-size:62px;line-height:1;filter:drop-shadow(0 0 16px rgba(124,58,237,.55))}.paywall-title{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.4px;color:#f59e0b;line-height:1.2}.paywall-reason{margin:0 0 4px;font-size:13px;font-weight:600;color:#c4b5fd;opacity:.85}.paywall-features{list-style:none;margin:22px 0 26px;padding:0;width:100%;display:flex;flex-direction:column;gap:10px}.paywall-feature{display:flex;align-items:center;gap:11px;text-align:left;padding:10px 12px;border-radius:8px;background:#1a0a3e8c;border:1.5px solid #F59E0B;box-shadow:0 0 10px #f59e0b26}.paywall-check{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#f5f3ff;background:linear-gradient(135deg,#c4b5fd,#7c3aed);box-shadow:0 0 10px #7c3aed73}.paywall-feature-text{font-size:14.5px;color:#fff;line-height:1.35}.paywall-cta{width:100%;padding:17px 18px;border:none;border-radius:14px;font-size:17px;font-weight:800;letter-spacing:.2px;color:#fff;background:linear-gradient(90deg,#4c1d95,#d97706);box-shadow:0 8px 24px #4c1d9566;cursor:pointer;position:relative;overflow:hidden}.paywall-cta:active{transform:scale(.985)}.paywall-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 35%,rgba(253,230,138,.65) 50%,transparent 65%);transform:translate(-100%);animation:paywall-shimmer-sweep 3s ease-in-out infinite}@keyframes paywall-shimmer-sweep{0%,30%{transform:translate(-100%)}70%,to{transform:translate(100%)}}.paywall-fineprint{margin:12px 0 0;font-size:12.5px;color:#9ca3af}@media (prefers-reduced-motion: reduce){.paywall-overlay,.paywall-crown-glow,.paywall-halo-ring,.paywall-cta:after{animation:none!important}}.premium-locked{position:relative;cursor:pointer}.premium-locked>.premium-locked-content{filter:blur(4px) saturate(.55);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.premium-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:inherit;background:#0d0d1259}.premium-lock-crown{font-size:20px;filter:drop-shadow(0 0 8px rgba(245,200,92,.6))}.premium-lock-label{font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#f5c85c}.premium-cap-banner{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:13px 14px;border-radius:14px;border:1px solid rgba(245,200,92,.32);background:linear-gradient(135deg,#f5c85c21,#c98f1c12)}.premium-cap-text{flex:1;font-size:13px;line-height:1.35;color:#e8e3d5;text-align:left}.premium-cap-crown{flex:0 0 auto;font-size:18px;filter:drop-shadow(0 0 6px rgba(245,200,92,.55))}button.premium-cap-banner.premium-cap-banner--tappable{width:100%;font:inherit;cursor:pointer}button.premium-cap-banner.premium-cap-banner--tappable:active{transform:scale(.99)}.premium-cap-banner--trial{border-color:#4ade8052;background:linear-gradient(135deg,#4ade8024,#16a34a12)}.premium-cap-banner--trial .premium-cap-crown{filter:drop-shadow(0 0 6px rgba(74,222,128,.55))}.premium-cap-btn{flex:0 0 auto;padding:9px 14px;border:none;border-radius:10px;font-size:13px;font-weight:800;color:#12100a;background:linear-gradient(135deg,#f7d477,#d9a227);box-shadow:0 3px 12px #e2b03859;cursor:pointer}.premium-cap-btn:active{transform:scale(.96)}.premium-crown-inline{font-size:.8em;margin-left:6px;filter:drop-shadow(0 0 6px rgba(245,200,92,.6))}.premium-tier-label{display:block;margin-top:3px;font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:#f5c85c}.premium-trial-days{display:block;margin-top:1px;font-size:11px;font-weight:600;color:#9a927e}.ac-wrap{position:relative;width:100%}.ac-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#1e1c2e;border:1.5px solid #2D2B3D;border-radius:13px;list-style:none;padding:5px;margin:0;z-index:300;box-shadow:0 10px 32px #00000080;max-height:228px;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-snap-type:none;scrollbar-width:none}.ac-dropdown::-webkit-scrollbar{display:none}.ac-item{padding:10px 12px;border-radius:9px;font-size:14px;font-weight:500;color:var(--accent-secondary);cursor:pointer;font-family:inherit;transition:background .1s,color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (hover: hover){.ac-item:hover,.ac-item.active{background:color-mix(in srgb,var(--ac-accent, var(--accent)) 14%,transparent);color:var(--ac-accent, var(--accent))}}.ac-item.active{background:color-mix(in srgb,var(--ac-accent, var(--accent)) 14%,transparent);color:var(--ac-accent, var(--accent))}.planner-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.planner-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 48px);scrollbar-width:none}.planner-scroll::-webkit-scrollbar{display:none}.planner-header{display:flex;align-items:center;gap:12px;padding:52px 20px 12px}.planner-title-block{flex:1;display:flex;flex-direction:column;gap:2px}.planner-title{font-size:20px;font-weight:800;color:#f5f3ff;line-height:1.1}.planner-month{font-size:12px;color:#9ca3af}.planner-count{font-size:14px;font-weight:800;flex-shrink:0}.planner-count-sub{font-size:11px;font-weight:500;color:#9ca3af}.week-nav{display:flex;align-items:center;gap:8px;padding:6px 16px 10px;background:#16151f;border-bottom:1px solid #1E1C2E;margin-bottom:4px}.week-nav-arrow{all:unset;box-sizing:border-box;cursor:pointer;font-size:22px;color:#9ca3af;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#131220;border:1.5px solid #2D2B3D;flex-shrink:0;transition:color .15s,border-color .15s;line-height:1}@media (hover: hover){.week-nav-arrow:hover:not(:disabled){color:#f5f3ff;border-color:#9ca3af}}.week-nav-arrow:disabled{opacity:.3;cursor:not-allowed}.week-nav-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px}.week-nav-label{font-size:14px;font-weight:800;color:#f5f3ff;display:flex;align-items:center;gap:6px;transition:color .2s}.week-current-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.week-nav-range{font-size:11px;color:#9ca3af;font-weight:500}.day-strip{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px;gap:4px}.strip-day{all:unset;box-sizing:border-box;cursor:pointer;width:40px;height:52px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#16151f;border:1.5px solid #2D2B3D;transition:background .15s,box-shadow .15s,border-color .15s;position:relative}@media (hover: hover){.strip-day:hover:not(.selected){border-color:#9ca3af}}.strip-day.today:not(.selected){border-color:#3d3a50}.strip-initial{font-size:11px;font-weight:700;color:#9ca3af;line-height:1}.strip-date-num{font-size:13px;font-weight:700;color:#9ca3af;line-height:1}.strip-dot{width:4px;height:4px;border-radius:50%;position:absolute;bottom:6px;opacity:.8}.copy-day-btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:18px;width:36px;height:36px;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s}@media (hover: hover){.copy-day-btn:hover{border-color:var(--accent, #A78BFA)}}.day-nav{display:flex;align-items:center;gap:12px;padding:12px 16px 16px}.nav-arrow{all:unset;box-sizing:border-box;cursor:pointer;font-size:24px;color:#9ca3af;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#16151f;border:1.5px solid #2D2B3D;flex-shrink:0;transition:color .15s,border-color .15s;line-height:1}@media (hover: hover){.nav-arrow:hover:not(:disabled){color:#f5f3ff;border-color:#9ca3af}}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.day-nav-label{flex:1;text-align:center;display:flex;flex-direction:column;gap:3px}.day-nav-full{font-size:16px;font-weight:700;color:#f5f3ff;line-height:1.2}.day-nav-today-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.meals-list{display:flex;flex-direction:column;gap:12px;padding:0 16px}.meal-card{background:#16151f;border:1.5px solid #2D2B3D;border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-height:82px}.meal-card.filled{background:#1e1c2e;border-color:#2d2b3d}.meal-card.meal-card--breakfast{border-left:3px solid #F59E0B;background-image:linear-gradient(0deg,#f59e0b0d,#f59e0b0d)}.meal-card.meal-card--morningSnack{border-left:3px solid #10B981;background-image:linear-gradient(0deg,#10b9810d,#10b9810d)}.meal-card.meal-card--lunch{border-left:3px solid #EAB308;background-image:linear-gradient(0deg,#eab3080d,#eab3080d)}.meal-card.meal-card--afternoonSnack{border-left:3px solid #8B5CF6;background-image:linear-gradient(0deg,#8b5cf60d,#8b5cf60d)}.meal-card.meal-card--dinner{border-left:3px solid #3B82F6;background-image:linear-gradient(0deg,#3b82f60d,#3b82f60d)}.meal-card.meal-card--extra{border-left:3px solid #6B7280}.meal-card-meta{display:flex;align-items:center;gap:6px}.meal-card-icon{font-size:24px;line-height:1}.meal-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#3d3a50}.meal-card.filled .meal-card-label{color:#9ca3af}.meal-card-content{display:flex;flex-direction:column;gap:4px}.meal-card-name{font-size:16px;font-weight:700;color:#e8e5f5;line-height:1.25}.meal-card-ingredients{font-size:12px;color:#9ca3af;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-add-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#131220;border:1.5px dashed #2D2B3D;transition:border-color .15s,background .15s;width:100%;box-sizing:border-box}@media (hover: hover){.meal-add-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#131220)}.meal-add-btn:hover .meal-add-plus{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,#131220)}.meal-add-btn:hover .meal-add-text{color:var(--accent-secondary)}}.meal-add-plus{width:26px;height:26px;border-radius:8px;background:#2d2b3d;color:#9ca3af;font-size:18px;font-weight:300;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s;line-height:1}.meal-add-text{font-size:13px;font-weight:500;color:#3d3a50;transition:color .15s}.meal-card--lifting{transform:scale(1.06)!important;box-shadow:0 20px 56px #0000008c,0 0 0 2px var(--accent, #A78BFA),0 0 28px var(--accent-glow, rgba(167,139,250,.3))!important;border-color:var(--accent, #A78BFA)!important;z-index:100;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out!important;will-change:transform;position:relative}.meal-card--drag-source{opacity:0!important;border-style:dashed!important;transition:opacity .1s ease}.meal-card--drag-target{border-color:var(--accent, #A78BFA)!important;background:color-mix(in srgb,var(--accent, #A78BFA) 14%,#1E1C2E)!important;transition:background .15s ease,border-color .15s ease}.meal-card--drag-dim{opacity:.4;transition:opacity .15s ease}@keyframes mealSwap{0%{transform:scale(1)}35%{transform:scale(.93)}70%{transform:scale(1.04)}to{transform:scale(1)}}.meal-card--swapping{animation:mealSwap .3s cubic-bezier(.34,1.56,.64,1)}.meal-card{position:relative;overflow:hidden}.meal-cooked-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:#3dd68c0f;border-radius:18px;pointer-events:none;z-index:0}.meal-card.cooked-card{border-color:#3dd68c33}.meal-card-meta,.meal-card-content,.meal-add-btn{position:relative;z-index:1}.meal-cook-check{all:unset;box-sizing:border-box;cursor:pointer;width:26px;height:26px;border-radius:8px;border:2px solid #3D3A50;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;transition:background .2s,border-color .2s,transform .15s}.meal-cook-check:active{transform:scale(.88)}.meal-cook-check--done{border-color:var(--accent, #8B5CF6)!important;animation:cookCheckPop .35s ease-out}@keyframes cookCheckPop{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}.meal-card-name--cooked{color:#3dd68c}.meal-xp-float{position:absolute;top:8px;right:52px;font-size:13px;font-weight:800;color:#3dd68c;pointer-events:none;animation:xpFloatUp 1.2s ease-out forwards;z-index:10}@keyframes xpFloatUp{0%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(-32px)}}.planner-macro-pending{font-size:10px;color:#9ca3af;font-weight:500}.planner-macro-track{position:relative}.planner-macro-fill--cooked{position:absolute;top:0;left:0;height:100%;border-radius:99px;background:#ffffff40;transition:width .4s ease-out;will-change:width;z-index:2}.planner-extra-label{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;padding:0 4px 4px}.copy-yesterday-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 16px 2px;opacity:.75;transition:opacity .15s}.copy-yesterday-btn:active{opacity:1}.copy-meal-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #1E1C2E;cursor:pointer}.copy-meal-row:last-child{border-bottom:none}.copy-meal-row--taken{opacity:.45;cursor:not-allowed}.copy-meal-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent, #A78BFA);cursor:pointer}.copy-meal-row--taken input[type=checkbox]{cursor:not-allowed}.copy-meal-icon{font-size:18px;flex-shrink:0}.copy-meal-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.copy-meal-slot{font-size:10px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.copy-meal-name{font-size:14px;font-weight:600;color:#e8e5f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-meal-taken{font-size:11px;color:#6b7280;font-style:italic}.add-unplanned-btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;text-align:center;width:100%;padding:10px 0;font-size:13px;font-weight:600;opacity:.7;transition:opacity .15s}.add-unplanned-btn:active{opacity:1}.unplanned-suggestions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.unplanned-suggest-title{font-size:13px;font-weight:700;color:#9ca3af}.unplanned-suggest-list{display:flex;flex-direction:column;gap:8px}.unplanned-suggest-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;width:100%;transition:border-color .15s,transform .1s}.unplanned-suggest-card:active{transform:scale(.97);border-color:var(--accent)}.unplanned-suggest-emoji{font-size:28px;flex-shrink:0}.unplanned-suggest-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.unplanned-suggest-name{font-size:14px;font-weight:700;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unplanned-suggest-macros{font-size:11px;color:#9ca3af;font-weight:500}.unplanned-suggest-reason{font-size:11px;font-weight:700}.unplanned-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0d0d12;display:flex;flex-direction:column}.unplanned-header{display:flex;align-items:center;padding:52px 16px 14px;gap:10px}.unplanned-title{flex:1;font-size:18px;font-weight:800;color:#f5f3ff;text-align:center}.unplanned-body{padding:20px;display:flex;flex-direction:column;gap:16px}.unplanned-field{display:flex;flex-direction:column;gap:6px}.unplanned-label{font-size:13px;font-weight:600;color:#9ca3af}.unplanned-hint{font-size:12px;color:#9ca3af60;margin:0}.add-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%) translateY(100%);width:100%;max-width:420px;max-height:85dvh;display:flex;flex-direction:column;background:#1e1c2e;border-top:1.5px solid #2D2B3D;border-radius:24px 24px 0 0;z-index:50;transition:transform .35s cubic-bezier(.34,1.56,.64,1);padding-bottom:env(safe-area-inset-bottom,0px);will-change:transform}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 8px}.sheet-title{font-size:17px;font-weight:800;color:#f5f3ff}.sheet-close{all:unset;box-sizing:border-box;cursor:pointer;width:28px;height:28px;border-radius:8px;background:#2d2b3d;color:#9ca3af;font-size:11px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.sheet-body{padding:6px 20px 8px;display:flex;flex-direction:column;gap:16px;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;min-height:0}.field-group{display:flex;flex-direction:column;gap:6px}.field-autofilled{font-size:11px;font-weight:600}.field-input{background:#131220;border:1.5px solid #2D2B3D;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:500;color:#f5f3ff;font-family:inherit;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s;resize:none}.field-textarea{line-height:1.5}.field-hint{font-size:11px;color:#3d3a50}.sheet-macros-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;border:1px dashed;background:#a78bfa0d;font-size:12px;font-weight:600}.sheet-macros-label{font-weight:700;color:#9ca3af;margin-right:2px}.meal-card-kcal{font-size:11px;font-weight:600;margin-left:auto}.ping-count{font-size:11px;font-weight:600;color:#6b6880;background:#16151f;border-radius:6px;padding:1px 6px;min-width:18px;text-align:center}.ping-list{display:flex;flex-direction:column;gap:2px}.ping-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#131220;border:1px solid #1E1C2E;transition:background .12s,border-color .12s;width:100%;-webkit-tap-highlight-color:transparent}.ping-row:active{background:#1a1929;border-color:#2d2b3d}@media (hover: hover){.ping-row:hover{background:#1a1929;border-color:#2d2b3d}}.ping-qty{font-size:13px;font-weight:700;color:var(--accent, #A78BFA);min-width:48px;flex-shrink:0}.ping-name{font-size:14px;font-weight:500;color:#c8c4d8;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ping-chevron{font-size:16px;color:#3d3a50;flex-shrink:0;line-height:1}.ping-editor{padding:10px 12px;border-radius:10px;background:#1a1929;border:1.5px solid var(--accent, #A78BFA);display:flex;flex-direction:column;gap:8px}.ping-editor-name{font-size:13px;font-weight:600;color:#e8e5f5}.ping-editor-controls{display:flex;align-items:center;gap:0}.ping-step{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#9ca3af;background:#16151f;border:1.5px solid #2D2B3D;transition:background .12s;-webkit-tap-highlight-color:transparent}.ping-step:active{background:#2d2b3d}.ping-step--minus{border-radius:8px 0 0 8px;border-right:none}.ping-step--plus{border-radius:0 8px 8px 0;border-left:none}.ping-editor-qty{width:56px;text-align:center;background:#131220;border:1.5px solid #2D2B3D;border-radius:0;padding:8px 4px;font-size:14px;font-weight:600;color:#f5f3ff;font-family:inherit;outline:none;-moz-appearance:textfield}.ping-editor-qty::-webkit-inner-spin-button,.ping-editor-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ping-editor-qty:focus{border-color:var(--accent, #A78BFA)}.ping-editor-unit{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#131220;border:1.5px solid #2D2B3D;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;color:#c8c4d8;font-family:inherit;cursor:pointer;outline:none;margin-left:8px}.ping-editor-unit:focus{border-color:var(--accent, #A78BFA)}.ping-editor-actions{display:flex;gap:8px;justify-content:flex-end}.ping-editor-cancel{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;color:#9ca3af;transition:color .12s}@media (hover: hover){.ping-editor-cancel:hover{color:#f5f3ff}}.ping-editor-done{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 18px;border-radius:8px;font-size:12px;font-weight:700;color:#fff;background:#2d2b3d;transition:filter .12s}.ping-editor-done:disabled{opacity:.35;cursor:not-allowed}@media (hover: hover){.ping-editor-done:not(:disabled):hover{filter:brightness(1.15)}}.ping-add-popup{padding:10px 12px;border-radius:10px;background:#1a1929;border:1.5px dashed #2D2B3D;display:flex;flex-direction:column;gap:8px}.ping-add-name{font-size:13px!important;padding:9px 12px!important}.ping-add-btn{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;width:100%;padding:10px;border-radius:10px;border:1.5px dashed #2D2B3D;font-size:13px;font-weight:600;color:#3d3a50;transition:border-color .15s,color .15s}.ping-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100}.ping-delete-popup{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:320px;background:#1e1c2e;border-radius:18px;padding:20px;z-index:101;display:flex;flex-direction:column;gap:12px;text-align:center}.ping-delete-name{font-size:15px;font-weight:700;color:#e8e5f5}.ping-delete-btn{all:unset;box-sizing:border-box;cursor:pointer;padding:12px;border-radius:12px;font-size:14px;font-weight:600;text-align:center;transition:filter .12s}.ping-delete-btn--red{background:#ff4d4d1f;color:#ff4d4d}.ping-delete-btn--cancel{color:#9ca3af}.sheet-footer{padding:10px 20px calc(env(safe-area-inset-bottom,0px) + 24px)}.sheet-confirm{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:15px;border-radius:14px;font-size:15px;font-weight:700;color:#fff;background:#2d2b3d;transition:filter .15s,transform .15s}.sheet-confirm:disabled{cursor:not-allowed;opacity:.35}.sheet-back-btn{all:unset;cursor:pointer;font-size:22px;font-weight:700;color:#9ca3af;margin-right:8px;line-height:1;padding:0 4px}.mode-chooser{display:flex;flex-direction:column;gap:12px;padding:4px 0}.mode-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;width:100%;padding:16px;background:#1e1c2e;border:1.5px solid #2D2B3D;border-radius:14px;transition:border-color .15s,transform .15s,box-shadow .15s}.mode-card:active{transform:scale(.98);border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 25%,transparent)}@media (hover: hover){.mode-card:hover{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 20%,transparent)}}.mode-card-icon{font-size:28px;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#2d2b3d;border-radius:12px}.mode-card-text{flex:1;display:flex;flex-direction:column;gap:2px}.mode-card-title{font-size:15px;font-weight:700;color:#f5f3ff}.mode-card-desc{font-size:12px;color:#9ca3af}.mode-card-arrow{font-size:20px;color:#6b7280;flex-shrink:0}.rpb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0d0d12;display:flex;flex-direction:column;max-width:420px;margin:0 auto;animation:rpb-slide-in .25s ease-out}@keyframes rpb-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.rpb-header{display:flex;align-items:center;justify-content:space-between;padding:max(52px,calc(env(safe-area-inset-top) + 16px)) 16px 10px;flex-shrink:0}.rpb-back{all:unset;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#f5f3ff;border-radius:10px;background:#16151f;border:1px solid #2D2B3D}.rpb-back:active{background:#2d2b3d}.rpb-title{font-size:17px;font-weight:800;color:#f5f3ff}.rpb-search-wrap{padding:8px 16px;flex-shrink:0}.rpb-search{all:unset;box-sizing:border-box;width:100%;padding:10px 14px;font-size:14px;font-family:Barlow,sans-serif;font-weight:500;color:#f5f3ff;background:#16151f;border:1.5px solid #2D2B3D;border-radius:10px;transition:border-color .15s}.rpb-search:focus{border-color:var(--accent)}.rpb-search::placeholder{color:#6b7280}.rpb-filters{display:flex;gap:6px;padding:4px 16px 8px;overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rpb-filters::-webkit-scrollbar{display:none}.rpb-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 12px;font-size:12px;font-weight:700;font-family:Barlow,sans-serif;color:#9ca3af;background:#16151f;border:1px solid #2D2B3D;border-radius:20px;white-space:nowrap;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.rpb-chip.active{border-color:transparent}.rpb-scroll{flex:1;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:0 16px}.rpb-section{margin-bottom:20px}.rpb-section-title{font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;padding-top:8px}.rpb-empty{text-align:center;color:#6b7280;font-size:13px;padding:20px 0;line-height:1.5}.rpb-grid{display:flex;flex-direction:column;gap:8px}.rpb-card{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;flex-direction:column;gap:6px;padding:14px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;transition:border-color .15s,transform .1s}.rpb-card:active{transform:scale(.98);border-color:var(--accent)}.rpb-card-top{display:flex;align-items:center;gap:10px}.rpb-card-emoji{font-size:24px;flex-shrink:0}.rpb-card-name{font-size:15px;font-weight:700;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpb-card-ingredients{font-size:12px;color:#6b7280;font-weight:400;line-height:1.3;padding-left:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.rpb-card-macro{font-size:12px;font-weight:600;color:#9ca3af}.rpb-card-meta{display:flex;align-items:center;gap:6px;padding-left:34px;flex-wrap:wrap}.rpb-card-cuisine{font-size:12px;font-weight:600;color:#9ca3af}.rpb-card-dot{color:#4b5563;font-size:10px}.rpb-card-kcal{font-size:12px;font-weight:700;color:#d1d5db}.rpb-card-time{font-size:12px;font-weight:600;color:#9ca3af}.fs-suggest-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0d0d12;display:flex;flex-direction:column;max-width:420px;margin:0 auto}.fs-suggest-header{display:flex;align-items:center;gap:12px;padding:52px 20px 12px;flex-shrink:0}.fs-suggest-back{all:unset;box-sizing:border-box;cursor:pointer;font-size:18px;color:#9ca3af;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;flex-shrink:0;transition:color .15s,border-color .15s}@media (hover: hover){.fs-suggest-back:hover{color:#f5f3ff;border-color:#9ca3af}}.fs-suggest-title{flex:1;text-align:center;font-size:18px;font-weight:800;color:#f5f3ff;letter-spacing:.02em}.fs-suggest-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:8px 16px calc(env(safe-area-inset-bottom) + 24px);display:flex;flex-direction:column;gap:20px}.fs-targets-banner{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:#1a1926;border:1.5px solid #2D2B3D;border-radius:14px}.fs-targets-text{font-size:15px;font-weight:700;color:#f5f3ff}.fs-suggest-section{display:flex;flex-direction:column;gap:12px}.fs-suggest-section-header{display:flex;align-items:center;justify-content:space-between}.fs-suggest-section-title{font-size:14px;font-weight:700;color:#9ca3af;letter-spacing:.01em}.fs-refresh-btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:20px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .15s}.fs-refresh-btn:active{transform:rotate(180deg)}.fs-refresh-btn.fs-refresh-spinning{animation:fsRefreshSpin .3s ease-out}@keyframes fsRefreshSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (hover: hover){.fs-refresh-btn:hover{border-color:#9ca3af}}.fs-suggest-cards{display:flex;flex-direction:column;gap:12px}@keyframes fsCardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fs-suggest-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:14px;padding:18px;border:1.5px solid #2D2B3D;border-radius:18px;transition:transform .15s,border-color .15s,box-shadow .15s;animation:fsCardIn .4s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--stagger, 0ms)}.fs-suggest-card:active,.fs-suggest-card.pressed{transform:scale(.96);border-color:var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 20%,transparent)}.fs-card-row{display:flex;align-items:center;gap:14px}.fs-card-emoji{font-size:36px;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#0d0d12;border-radius:14px}.fs-card-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.fs-card-name{font-size:17px;font-weight:800;color:#f5f3ff;line-height:1.2}.fs-card-reason{font-size:12px;font-weight:700;letter-spacing:.02em}.fs-card-macros{display:flex;gap:4px}.fs-card-macro{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:#0d0d1280;border-radius:10px}.fs-card-macro-val{font-size:15px;font-weight:800;color:#f5f3ff}.fs-card-macro-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.fs-actions-row{display:flex;gap:10px;padding-top:4px}.fs-action-btn{all:unset;box-sizing:border-box;cursor:pointer;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;transition:border-color .15s,transform .15s,box-shadow .15s}.fs-action-btn:active{transform:scale(.97);border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 20%,transparent)}@media (hover: hover){.fs-action-btn:hover{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 15%,transparent)}}.fs-action-icon{font-size:28px}.fs-action-label{font-size:13px;font-weight:700;color:#f5f3ff}.fs-budget-hint{text-align:center;font-size:12px;font-weight:600;color:#6b7280;padding:0 8px;line-height:1.4}.planner-totals-card{margin:12px 16px 20px;padding:14px 16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:18px;display:flex;flex-direction:column;gap:10px}.planner-totals-title{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.planner-totals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.planner-totals-item{display:flex;flex-direction:column;gap:2px}.planner-totals-label{font-size:9px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.planner-totals-value{font-size:20px;font-weight:800;line-height:1;color:#f5f3ff}.planner-totals-unit{font-size:12px;font-weight:600;margin-left:1px}.planner-totals-target{font-size:11px;color:#6b7280;font-weight:500}.planner-totals-bar{height:4px;background:#2d2b3d66;border-radius:99px;overflow:hidden;margin-top:4px}.planner-totals-bar-fill{height:100%;border-radius:99px;transition:width .4s ease-out,background .3s ease}.planner-macro-bar{display:grid;grid-template-columns:repeat(4,1fr);padding:16px 16px 20px;margin-top:8px}.planner-macro-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;min-width:0}.planner-macro-nums{font-size:11px;font-weight:600;color:#9ca3af;white-space:nowrap;text-align:center}.planner-macro-nums strong{font-weight:800;font-size:13px}.planner-macro-track{width:100%;height:4px;background:#2d2b3d40;border-radius:2px;overflow:visible;position:relative}.planner-macro-fill{height:100%;border-radius:2px;transition:width .4s ease-out,background .3s ease;will-change:width;position:relative;z-index:1}.planner-macro-fill.macro-hit-flash{animation:macroHitFlash .6s ease-out}@keyframes macroHitFlash{0%{filter:brightness(1);box-shadow:none}40%{filter:brightness(1.5);box-shadow:0 0 8px currentColor}to{filter:brightness(1);box-shadow:none}}.planner-macro-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.lp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;animation:settingsModalIn .15s ease}.lp-popup{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:420px;background:#1e1c2e;border-top:1.5px solid #2D2B3D;border-radius:20px 20px 0 0;z-index:101;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 16px);display:flex;flex-direction:column;gap:4px;animation:sheet-slide-up .2s ease-out}@keyframes sheet-slide-up{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.lp-popup-name{font-size:15px;font-weight:800;color:#f5f3ff;text-align:center;padding:4px 0 10px}.lp-popup-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:600;font-family:Barlow,sans-serif;color:#f5f3ff;border-radius:12px;transition:background .12s}.lp-popup-btn:active{background:#2d2b3d}.lp-popup-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.lp-popup-btn--red{color:#ef4444}.lp-popup-btn--cancel{margin-top:4px;justify-content:center;color:#9ca3af;background:#16151f;border-radius:12px}.planner-undo-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 20px;background:#2d2b3d;border-radius:12px;z-index:90;font-size:14px;font-weight:600;color:#f5f3ff;box-shadow:0 4px 20px #0006;animation:toast-in .25s ease}@keyframes toast-in{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.planner-undo-btn{all:unset;cursor:pointer;font-size:14px;font-weight:800;font-family:Barlow,sans-serif}.bym-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0d0d12;display:flex;flex-direction:column;max-width:420px;margin:0 auto;animation:rpb-slide-in .25s ease-out}.bym-header{display:flex;align-items:center;justify-content:space-between;padding:max(52px,calc(env(safe-area-inset-top) + 16px)) 16px 10px;flex-shrink:0;gap:12px}.bym-title{flex:1;text-align:center;font-size:17px;font-weight:800;color:#f5f3ff;margin:0}.bym-name-wrap{padding:4px 16px 8px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.bym-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af}.bym-name-input{background:#16151f;border:1.5px solid #2D2B3D;border-radius:12px;padding:14px 16px;font-size:16px;font-weight:600;color:#f5f3ff;font-family:Barlow,sans-serif;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s}.bym-name-input::placeholder{color:#3d3a50}.bym-name-input:focus{border-color:var(--accent)}.bym-search-wrap{padding:4px 16px 10px;flex-shrink:0}.bym-search-input{background:#16151f;border:1.5px solid #2D2B3D;border-radius:12px;padding:14px 16px;font-size:16px;font-weight:500;color:#f5f3ff;font-family:Barlow,sans-serif;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s}.bym-search-input::placeholder{color:#6b7280}.bym-search-input:focus{border-color:var(--accent)}.bym-scroll{flex:1;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:0 16px 12px}.bym-added-section{display:flex;flex-direction:column;gap:8px}.bym-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 4px}.bym-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af}.bym-empty{text-align:center;color:#6b7280;font-size:13px;padding:32px 12px;border:1.5px dashed #2D2B3D;border-radius:12px;line-height:1.5}.bym-footer{flex-shrink:0;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 16px);background:#16151f;border-top:1.5px solid #2D2B3D;display:flex;flex-direction:column;gap:10px}.bym-macros-row{display:flex;justify-content:space-between;gap:6px;padding:10px 8px;border:1.5px solid;border-radius:12px;background:#0d0d128c}.bym-macro-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.bym-macro-num{font-size:16px;font-weight:800;color:#f5f3ff}.bym-macro-label{font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.bym-save-recipe-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:0 2px}.bym-save-recipe-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent, #A78BFA);cursor:pointer;flex-shrink:0}.bym-save-recipe-label{font-size:13px;font-weight:600;transition:color .15s}.bym-confirm-btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:16px;border-radius:14px;font-size:15px;font-weight:800;color:#fff;background:#2d2b3d;transition:filter .15s,transform .15s}@media (hover: hover){.bym-confirm-btn:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px)}}.bym-confirm-btn:disabled{cursor:not-allowed;opacity:.35}.ping-cooked-toggle{display:flex;gap:6px;margin-top:4px}.ping-cooked-opt{all:unset;box-sizing:border-box;cursor:pointer;flex:1;text-align:center;padding:8px 10px;border:1.5px solid #2D2B3D;border-radius:10px;font-size:12px;font-weight:700;color:#9ca3af;background:#131220;transition:background .15s,color .15s,border-color .15s}.ping-cooked-opt.active{font-weight:800}.ping-cooked-badge{font-size:11px;font-weight:700;margin-left:6px;text-transform:uppercase;letter-spacing:.04em}.grocery-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;position:relative;overflow:hidden}.grocery-header{display:flex;align-items:center;gap:12px;padding:52px 20px 16px;flex-shrink:0}.grocery-title-block{display:flex;flex-direction:column;gap:2px}.grocery-title{font-size:20px;font-weight:800;color:#f5f3ff;line-height:1.1}.grocery-sub{font-size:12px;color:#9ca3af}.grocery-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y;padding:0 16px calc(env(safe-area-inset-bottom) + 48px);scrollbar-width:none}.grocery-scroll::-webkit-scrollbar{display:none}.budget-card{background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;padding:18px;margin-bottom:24px;position:relative;overflow:visible}.budget-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--glow) 0%,transparent 55%);pointer-events:none;border-radius:inherit}.budget-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.budget-label-block{display:flex;flex-direction:column;gap:4px}.budget-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af}.budget-amounts{font-size:22px;font-weight:800;line-height:1}.budget-sep{color:#3d3a50;font-weight:400;font-size:18px}.budget-total{color:#3d3a50;font-size:16px;font-weight:600}.xp-badge{font-size:11px;font-weight:700;padding:5px 10px;border-radius:99px;border:1px solid;white-space:nowrap;flex-shrink:0;margin-top:2px}.budget-bar-track{height:10px;background:#2d2b3d;border-radius:99px;overflow:hidden;margin-bottom:8px}.budget-bar-fill{height:100%;border-radius:99px;transition:width .4s cubic-bezier(.16,1,.3,1),background .4s ease;will-change:width}.budget-bottom{display:flex;justify-content:space-between;align-items:center}.budget-remaining{font-size:12px;font-weight:500;transition:color .3s}.budget-pct{font-size:12px;font-weight:700;transition:color .3s}.categories-list{display:flex;flex-direction:column;gap:20px}.category-block{display:flex;flex-direction:column;gap:6px}.category-header{display:flex;align-items:center;gap:8px;padding:0 4px;margin-bottom:2px}.category-icon{font-size:15px;line-height:1}.category-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--accent-secondary);flex:1}.category-count{font-size:11px;font-weight:600;color:#3d3a50}.category-items{display:flex;flex-direction:column;gap:6px}.grocery-item{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;padding:13px 14px;width:100%;box-sizing:border-box;transition:background .15s,border-color .15s,opacity .2s}@media (hover: hover){.grocery-item:hover{border-color:#3d3a50}}.grocery-item.checked{opacity:.55}.item-checkbox{width:22px;height:22px;border-radius:7px;border:2px solid #2D2B3D;background:#131220;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}.item-tick{font-size:12px;font-weight:700;color:#fff;line-height:1}.item-name{flex:1;font-size:14px;font-weight:500;color:#d4d0e5;transition:color .2s}.grocery-item.checked .item-name{text-decoration:line-through;color:#9ca3af}.item-price{font-size:13px;font-weight:600;color:#9ca3af;flex-shrink:0;transition:color .2s}.grocery-item.checked .item-price{color:#3d3a50}.item-price-edited{font-size:10px;margin-right:3px;opacity:.6}.edit-price-item-name{font-size:16px;font-weight:700;color:#e8e5f5;text-align:center;padding-bottom:4px}.edit-price-row{display:flex;align-items:center;gap:8px}.edit-price-step{all:unset;box-sizing:border-box;cursor:pointer;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#9ca3af;background:#16151f;border:1.5px solid #2D2B3D;border-radius:12px;flex-shrink:0;transition:background .12s,color .12s;-webkit-tap-highlight-color:transparent}.edit-price-step:active{background:#2d2b3d}.grocery-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 24px 20px;gap:8px}.grocery-empty-icon{font-size:48px;margin-bottom:8px}.grocery-empty-title{font-size:18px;font-weight:700;color:#f5f3ff;margin:0}.grocery-empty-desc{font-size:14px;color:#9ca3af;margin:0;line-height:1.5}.grocery-actions-wrap{position:sticky;bottom:0;left:0;right:0;padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(to top,#0D0D12 60%,transparent);display:flex;flex-direction:column;gap:8px;pointer-events:none}.grocery-action-btn{all:unset;box-sizing:border-box;cursor:pointer;pointer-events:all;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:14px;font-size:14px;font-weight:700;color:#fff;transition:filter .15s,transform .15s}.grocery-action-btn--primary{background:var(--accent);box-shadow:0 4px 20px var(--glow)}.grocery-action-btn--secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}@media (hover: hover){.grocery-action-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}}.grocery-action-btn:active{transform:translateY(0)}.grocery-action-icon{font-size:18px;line-height:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;pointer-events:none;transition:background .25s;z-index:40}.sheet-backdrop.visible{background:#0009;pointer-events:all}.add-sheet{position:fixed;left:50%;transform:translate(-50%) translateY(100%);bottom:0;width:100%;max-width:420px;max-height:85dvh;display:flex;flex-direction:column;background:#1e1c2e;border-top:1.5px solid #2D2B3D;border-radius:24px 24px 0 0;z-index:50;transition:transform .3s ease-out;padding-bottom:env(safe-area-inset-bottom,0px)}.add-sheet.open{transform:translate(-50%) translateY(0)}.sheet-handle{width:36px;height:4px;background:#3d3a50;border-radius:99px;margin:12px auto 0}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.sheet-title{font-size:18px;font-weight:800;color:#f5f3ff}.sheet-close{all:unset;box-sizing:border-box;cursor:pointer;width:30px;height:30px;border-radius:8px;background:#2d2b3d;color:#9ca3af;font-size:12px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}@media (hover: hover){.sheet-close:hover{color:#f5f3ff;background:#3d3a50}}.sheet-body{padding:4px 20px 8px;display:flex;flex-direction:column;gap:18px;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;min-height:0}.field-group{display:flex;flex-direction:column;gap:7px}.field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af}.field-input{background:#131220;border:1.5px solid #2D2B3D;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:500;color:#f5f3ff;font-family:inherit;width:100%;box-sizing:border-box;outline:none;transition:border-color .15s;-moz-appearance:textfield}.field-input::-webkit-outer-spin-button,.field-input::-webkit-inner-spin-button{-webkit-appearance:none}.field-input::placeholder{color:#3d3a50}.field-input:focus{border-color:var(--accent)}.field-label-row{display:flex;align-items:center;justify-content:space-between}.price-suggested{font-size:11px;font-weight:700;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.price-input-wrap{position:relative}.price-input-wrap .field-input{padding-right:42px}.price-suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;color:#9ca3af;pointer-events:none}.grocery-qty-row{display:flex;align-items:center;gap:6px}.grocery-qty-stepper{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#9ca3af;background:#16151f;border:1.5px solid #2D2B3D;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.grocery-qty-stepper--minus{border-radius:10px 0 0 10px;border-right:none}.grocery-qty-stepper--plus{border-radius:0 10px 10px 0;border-left:none}.grocery-qty-stepper:active{background:#2d2b3d}.grocery-qty-input{text-align:center;width:60px;border-radius:0!important;-moz-appearance:textfield}.grocery-qty-input::-webkit-inner-spin-button,.grocery-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grocery-unit-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:center;cursor:pointer;width:72px;flex-shrink:0}.cat-options{display:flex;flex-wrap:wrap;gap:8px}.cat-chip{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:5px;padding:7px 12px;border-radius:99px;background:#131220;border:1.5px solid #2D2B3D;font-size:13px;font-weight:600;color:#9ca3af;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}@media (hover: hover){.cat-chip:hover:not(.selected){border-color:#3d3a50;color:var(--accent-secondary)}}.sheet-footer{padding:12px 20px 24px}.sheet-confirm{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:15px;border-radius:14px;font-size:15px;font-weight:700;color:#fff;background:#2d2b3d;transition:filter .15s,transform .15s,box-shadow .15s}@media (hover: hover){.sheet-confirm:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px)}}.sheet-confirm:disabled{cursor:not-allowed;opacity:.4}.grocery-item-wrap.item-slide-out{animation:itemSlideOut .3s ease-out forwards}@keyframes itemSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(-60px);opacity:0}}.delete-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;animation:fadeIn .15s ease-out}.delete-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:320px;background:#1e1c2e;border:1.5px solid #2D2B3D;border-radius:16px;padding:24px 20px 20px;display:flex;flex-direction:column;gap:16px;z-index:201;box-shadow:0 12px 40px #00000080;animation:popupScale .2s ease-out}.delete-popup-name{font-size:16px;font-weight:700;color:#f5f3ff;text-align:center;line-height:1.3;word-break:break-word}.delete-popup-btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:14px;border-radius:12px;font-size:15px;font-weight:700;transition:filter .15s,transform .15s}.delete-popup-btn--accent{background:#2d2b3d;color:var(--accent, #A78BFA);border:1.5px solid var(--accent, #A78BFA)}.delete-popup-btn--red{background:#ff4d4d26;color:#ff4d4d;border:1.5px solid transparent}.delete-popup-btn--cancel{background:#2d2b3d;color:var(--accent-secondary, #9CA3AF);border:1.5px solid transparent}.budget-edit-btn{all:unset;box-sizing:border-box;cursor:pointer;width:30px;height:30px;border-radius:9px;background:#131220;border:1.5px solid #2D2B3D;color:#9ca3af;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,border-color .15s}@media (hover: hover){.budget-edit-btn:hover{color:var(--accent);border-color:var(--accent)}}.budget-prompt-overlay{flex:1;display:flex;align-items:center;justify-content:center;padding:0 20px}.budget-prompt-card{width:100%;background:#1e1c2e;border:1.5px solid #2D2B3D;border-radius:20px;padding:36px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;box-shadow:0 8px 32px var(--accent-glow),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent)}.budget-prompt-icon{font-size:48px;line-height:1;margin-bottom:4px}.budget-prompt-title{font-size:22px;font-weight:800;color:#f5f3ff}.budget-prompt-desc{font-size:14px;color:#9ca3af;line-height:1.5;max-width:260px}.budget-prompt-input-wrap{position:relative;width:100%;margin-top:8px}.budget-prompt-input{text-align:center;font-size:20px!important;font-weight:700!important;padding-right:42px!important}.budget-prompt-btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;padding:14px;border-radius:14px;font-size:15px;font-weight:700;color:#fff;background:#2d2b3d;margin-top:8px;transition:filter .15s,transform .15s,box-shadow .15s}@media (hover: hover){.budget-prompt-btn:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px)}}.budget-prompt-btn:disabled{cursor:not-allowed;opacity:.4}.grocery-meal-picker{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:420px;display:flex;flex-direction:column;background:#1e1c2e;border-top:1.5px solid #2D2B3D;border-radius:24px 24px 0 0;z-index:50;padding-bottom:env(safe-area-inset-bottom,0px)}.grocery-mp-handle{width:36px;height:4px;background:#3d3a50;border-radius:99px;margin:12px auto 0}.grocery-mp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 8px}.grocery-mp-title{font-size:16px;font-weight:800;color:#f5f3ff;margin:0}.grocery-mp-close{all:unset;box-sizing:border-box;cursor:pointer;font-size:16px;color:#6b7280;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#16151f}.grocery-mp-list{display:flex;flex-direction:column;gap:6px;padding:8px 16px 16px}.grocery-mp-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;transition:border-color .15s,transform .1s}.grocery-mp-item:active:not(.disabled){transform:scale(.98);border-color:var(--accent)}.grocery-mp-item.disabled{cursor:default;opacity:.45}.grocery-mp-icon{font-size:22px;flex-shrink:0}.grocery-mp-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.grocery-mp-slot{font-size:13px;font-weight:700;color:#f5f3ff}.grocery-mp-meal{font-size:12px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grocery-mp-arrow{font-size:20px;color:#6b7280;flex-shrink:0}.settings-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:52px 20px 12px;flex-shrink:0}.settings-title{font-size:18px;font-weight:800;color:#f5f3ff}.settings-scroll{flex:1 1 0%;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 20px;padding-bottom:calc(env(safe-area-inset-bottom) + 80px);scrollbar-width:none}.settings-scroll::-webkit-scrollbar{display:none}.settings-section{margin-bottom:24px}.settings-section-title{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.settings-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.settings-field-label{font-size:13px;font-weight:600;color:#d1d5db}.settings-field-sublabel{font-size:11px;color:#6b7280;margin-top:-2px}.settings-text-input,.settings-number-input{all:unset;box-sizing:border-box;width:100%;padding:10px 14px;font-size:14px;font-family:Barlow,sans-serif;font-weight:500;color:#f5f3ff;background:#16151f;border:1.5px solid #2D2B3D;border-radius:10px;transition:border-color .15s}.settings-text-input:focus,.settings-number-input:focus{border-color:var(--accent);outline:none}.settings-number-input{width:120px}.settings-input-row{display:flex;align-items:center;gap:8px}.settings-input-unit{font-size:13px;color:#6b7280;font-weight:500}.settings-save-btn{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 20px;font-size:13px;font-weight:700;font-family:Barlow,sans-serif;color:#0d0d12;background:var(--accent);border-radius:8px;transition:background .15s,transform .1s}.settings-save-btn:active{transform:scale(.97)}.settings-save-btn.saved{background:#3dd68c}.settings-select{all:unset;box-sizing:border-box;width:100%;padding:10px 36px 10px 14px;font-size:14px;font-family:Barlow,sans-serif;font-weight:500;color:#f5f3ff;background:#16151f;border:1.5px solid #2D2B3D;border-radius:10px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239CA3AF' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.settings-select:focus{border-color:var(--accent)}.settings-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.settings-profile-field{display:flex;flex-direction:column;gap:4px}.settings-profile-label{font-size:12px;font-weight:600;color:#9ca3af}.settings-select-sm{padding:8px 30px 8px 10px;font-size:13px;background-position:right 10px center}.settings-number-sm{width:80px}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.settings-toggle-label{font-size:14px;font-weight:600;color:#d1d5db}.settings-toggle{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:24px;border-radius:12px;background:#2d2b3d;position:relative;transition:background .2s;flex-shrink:0}.settings-toggle.on{background:var(--accent)}.settings-toggle-knob{width:18px;height:18px;border-radius:50%;background:#f5f3ff;position:absolute;top:3px;left:3px;transition:transform .2s}.settings-toggle.on .settings-toggle-knob{transform:translate(20px)}.settings-macros-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-macro-field{display:flex;flex-direction:column;gap:4px}.settings-macro-label{font-size:12px;font-weight:600;color:#9ca3af}.settings-macro-input-wrap{display:flex;align-items:center;gap:4px}.settings-macro-input{all:unset;box-sizing:border-box;width:100%;padding:8px 10px;font-size:14px;font-family:Barlow,sans-serif;font-weight:600;color:#f5f3ff;background:#16151f;border:1.5px solid #2D2B3D;border-radius:8px;transition:border-color .15s}.settings-macro-input:focus{border-color:var(--accent)}.settings-macro-unit{font-size:11px;color:#6b7280;flex-shrink:0;width:28px}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:settingsModalIn .2s ease}@keyframes settingsModalIn{0%{opacity:0}to{opacity:1}}.settings-modal{background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:24px;width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px}.settings-modal-title{font-size:16px;font-weight:800;color:#f5f3ff;text-align:center}.settings-modal-text{font-size:13px;color:#9ca3af;text-align:center;line-height:1.5}.settings-modal-actions{display:flex;gap:10px}.settings-modal-btn{all:unset;box-sizing:border-box;cursor:pointer;flex:1;padding:10px 0;font-size:13px;font-weight:700;font-family:Barlow,sans-serif;text-align:center;border-radius:10px;transition:background .15s,transform .1s}.settings-modal-btn:active{transform:scale(.97)}.settings-modal-btn.cancel{background:#2d2b3d;color:#d1d5db}.settings-modal-btn.confirm{background:var(--accent);color:#0d0d12}.settings-modal-btn.danger{background:#ef4444;color:#fff}.settings-danger-zone{margin-top:24px;padding-top:20px;border-top:1px solid #2D2B3D}.settings-reset-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:12px 0;font-size:14px;font-weight:700;font-family:Barlow,sans-serif;color:#ef4444;text-align:center;border:1.5px solid #EF444440;border-radius:10px;background:#ef444408;transition:background .15s,transform .1s}.settings-reset-btn:active{transform:scale(.98)}@media (hover: hover){.settings-reset-btn:hover{background:#ef444418}}.settings-divider{height:1px;background:#2d2b3d;margin:8px 0}.settings-notif-permission-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#1e1c2e;border:1px solid #2D2B3D;border-radius:12px;margin-bottom:12px}.settings-notif-permission-text{flex:1;font-family:Barlow,sans-serif;font-size:12px;font-weight:500;color:#9ca3af;line-height:1.4}.settings-notif-list{display:flex;flex-direction:column;gap:4px}.settings-notif-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #1E1C2E}.settings-notif-row:last-child{border-bottom:none}.settings-notif-row.disabled{opacity:.5}.settings-notif-icon{font-size:20px;width:28px;text-align:center;flex-shrink:0}.settings-notif-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.settings-notif-label{font-family:Barlow,sans-serif;font-size:14px;font-weight:700;color:#f5f3ff}.settings-notif-desc{font-family:Barlow,sans-serif;font-size:11px;font-weight:500;color:#6b7280;line-height:1.3}.profile-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.profile-header{display:flex;align-items:center;justify-content:space-between;padding:52px 20px 12px;flex-shrink:0}.profile-title{font-size:18px;font-weight:800;color:#f5f3ff}.profile-dev-btn{all:unset;box-sizing:border-box;cursor:pointer;width:36px;height:36px;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}@media (hover: hover){.profile-dev-btn:hover{background:#1e1c2e;border-color:var(--accent)}}.profile-dev-icon{font-size:16px;line-height:1;opacity:.7;transition:opacity .15s}.profile-dev-btn:hover .profile-dev-icon{opacity:1}.profile-scroll{flex:1 1 0%;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y;padding:0 16px calc(env(safe-area-inset-bottom) + 48px);display:flex;flex-direction:column;gap:16px;scrollbar-width:none}.profile-scroll::-webkit-scrollbar{display:none}.avatar-block{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 0 8px;flex-shrink:0}.avatar-circle{width:96px;height:96px;border-radius:50%;border:3px solid;background:#16151f;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.avatar-initials{font-size:28px;font-weight:800;letter-spacing:.02em;line-height:1}.profile-username{font-size:22px;font-weight:800;color:#f5f3ff;line-height:1.1}.profile-path-badge{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 14px;border-radius:99px;border:1px solid}.level-card{background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;padding:18px;position:relative;overflow:visible;flex-shrink:0}.level-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--glow) 0%,transparent 55%);pointer-events:none;border-radius:inherit}.level-card-inner{display:flex;align-items:center;gap:16px;margin-bottom:14px}.level-hex{width:60px;height:60px;border-radius:14px;border:2px solid;background:#0d0d12;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:1px}.level-num{font-family:var(--font-rpg);font-size:26px;font-weight:800;line-height:1}.level-word{font-size:9px;font-weight:700;color:#9ca3af;letter-spacing:.12em}.level-info{flex:1;display:flex;flex-direction:column;gap:8px}.level-name-text{font-family:var(--font-rpg);font-size:17px;font-weight:700;color:#f5f3ff}.xp-bar-track{height:8px;background:#2d2b3d;border-radius:99px;overflow:hidden;position:relative}.xp-bar-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.xp-bar-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(-100%);animation:xp-shimmer-sweep 2.8s ease-in-out infinite}@keyframes xp-shimmer-sweep{0%,40%{transform:translate(-100%)}to{transform:translate(100%)}}.xp-track-wrap{position:relative;border-radius:99px}.xp-track-wrap--near{animation:xp-near-pulse 1.4s ease-in-out infinite}@keyframes xp-near-pulse{0%,to{box-shadow:0 0 0 0 var(--glow)}50%{box-shadow:0 0 14px 3px var(--glow)}}.xp-bar-flash{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:99px;background:#fde68a;animation:xp-level-flash .55s ease-out forwards;pointer-events:none}@keyframes xp-level-flash{0%{opacity:.9}to{opacity:0}}@media (prefers-reduced-motion: reduce){.xp-bar-shimmer,.xp-track-wrap--near{animation:none}}.level-xp-row{display:flex;align-items:baseline;gap:4px}.level-xp-current{font-family:var(--font-rpg);font-size:13px;font-weight:700}.level-xp-next{font-size:12px;color:#9ca3af}.total-xp-row{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #2D2B3D}.total-xp-label{font-size:12px;color:#9ca3af;font-weight:500}.total-xp-value{font-family:var(--font-rpg);font-size:16px;font-weight:800}.profile-nav-btns{display:flex;flex-direction:column;gap:8px}.roadmap-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:10px;background:#16151f;border:1.5px solid;border-radius:14px;padding:12px 16px;transition:border-color .18s,box-shadow .18s,transform .14s;flex-shrink:0}@media (hover: hover){.roadmap-btn:hover{box-shadow:0 0 0 1px var(--accent),0 4px 16px var(--glow);transform:translateY(-1px)}}.roadmap-btn-icon{font-size:16px;line-height:1}.roadmap-btn-text{flex:1;font-size:14px;font-weight:700}.roadmap-btn-arrow{font-size:18px;opacity:.4;line-height:1}.streak-card{border:1.5px solid;border-radius:20px;padding:16px 20px;display:flex;align-items:center;gap:0;flex-shrink:0}.streak-main{display:flex;align-items:center;gap:12px;flex:1}.streak-flame{font-size:24px;line-height:1}.streak-count-block{display:flex;align-items:baseline;gap:5px}.streak-count{font-size:22px;font-weight:800;line-height:1}.streak-unit{font-size:14px;font-weight:600;color:#9ca3af}.streak-divider{width:1px;height:36px;margin:0 16px;flex-shrink:0}.streak-best{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.streak-best-label{font-size:12px;color:#9ca3af;font-weight:500}.streak-best-value{font-size:15px;font-weight:800}.section{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af}.badges-count{font-size:12px;font-weight:700}.stats-row{display:flex;gap:10px;flex-shrink:0}.stat-chip{flex:1;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:14px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.stat-chip-icon{font-size:15px;line-height:1;margin-bottom:2px}.stat-chip-value{font-size:16px;font-weight:800;color:#f5f3ff;line-height:1}.stat-chip-value.highlight{font-size:14px}.stat-chip-total{font-size:16px;font-weight:600;color:#9ca3af}.stat-chip-label{font-size:10px;font-weight:500;color:#9ca3af;line-height:1.3}.badges-section{display:flex;flex-direction:column;gap:16px;flex-shrink:0}.badge-category{display:flex;flex-direction:column;gap:10px}.badge-category-title{font-size:14px;font-weight:700;color:#f5f3ff;padding:8px 0 2px}.badge-subcategory{display:flex;flex-direction:column;gap:8px;margin-top:4px}.badge-subcategory-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#6b6880;padding-left:2px}.badges-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.badge-card{background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:14px 12px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s}.badge-card.earned{box-shadow:0 0 14px #fbbf2433;border-color:#fbbf2459}.badge-card.locked{opacity:.5}.badge-icon-wrap{position:relative;width:36px;height:36px}.badge-emoji{font-size:30px;line-height:1;display:block}.badge-emoji.greyed{filter:grayscale(1) opacity(.4)}.badge-lock{position:absolute;bottom:-4px;right:-6px;font-size:13px;line-height:1}.badge-info{display:flex;flex-direction:column;gap:3px}.badge-name{font-family:var(--font-rpg);font-size:13px;font-weight:700;color:#9ca3af;line-height:1.2}.badge-desc{font-size:11px;color:#3d3a50;line-height:1.4}.badge-date{font-size:10px;font-weight:700;margin-top:2px}.badge-progress{display:flex;align-items:center;gap:6px;margin-top:4px}.badge-progress-track{flex:1;height:4px;background:#2d2b3d;border-radius:99px;overflow:hidden}.badge-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-secondary));transition:width .4s ease-out}.badge-progress-text{font-size:10px;font-weight:600;color:#6b6880;white-space:nowrap}.nutri-settings{background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;padding:16px 18px}.nutri-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nutri-field{display:flex;flex-direction:column;gap:4px}.nutri-field-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.nutri-field-input-wrap{display:flex;align-items:center;gap:4px}.nutri-field-input{width:100%;box-sizing:border-box;background:#0d0d12;border:1.5px solid #2D2B3D;border-radius:10px;padding:9px 10px;font-size:15px;font-weight:700;color:#f5f3ff;font-family:inherit;outline:none;transition:border-color .15s;-moz-appearance:textfield}.nutri-field-input::-webkit-inner-spin-button,.nutri-field-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.nutri-field-input:focus{border-color:var(--accent)}.nutri-field-unit{font-size:12px;font-weight:600;color:#6b6880;flex-shrink:0;min-width:24px}.nutri-save-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:12px;border-radius:12px;font-size:14px;font-weight:700;color:#fff;text-align:center;margin-top:10px;transition:filter .15s,transform .14s,background .3s;touch-action:manipulation}@media (hover: hover){.nutri-save-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}}.profile-prestige-star{font-size:16px;vertical-align:middle}.prestige-section{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.prestige-level-badge{font-size:14px;font-weight:800}.prestige-card{border:1.5px solid;border-radius:20px;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.prestige-card-top{display:flex;align-items:center;gap:14px}.prestige-card-icon{font-size:36px;line-height:1;flex-shrink:0}.prestige-card-info{display:flex;flex-direction:column;gap:3px}.prestige-card-title{font-size:17px;font-weight:800}.prestige-card-multiplier{font-size:13px;font-weight:600;color:var(--accent-secondary)}.prestige-card-date{font-size:11px;color:#6b6880;padding-top:6px;border-top:1px solid #2D2B3D}.prestige-timeline{display:flex;flex-direction:column;gap:8px;margin-top:4px}.prestige-timeline-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#6b6880}.prestige-timeline-track{display:flex;align-items:center;gap:12px;padding:8px 0}.prestige-timeline-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.prestige-timeline-dot-label{font-size:9px;font-weight:800;color:#0d0d12}.reset-app-btn{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;font-size:11px;font-weight:400;color:#3d3a50;cursor:pointer;padding:8px;transition:color .2s ease-out}@media (hover: hover){.reset-app-btn:hover{color:#6b6880}}.recipe-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.recipe-header{display:flex;align-items:center;justify-content:space-between;padding:52px 20px 16px;flex-shrink:0}.recipe-title{font-size:20px;font-weight:800;color:#f5f3ff}.view-toggle{display:flex;gap:6px}.view-btn{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:34px;border-radius:9px;border:1.5px solid #2D2B3D;background:#16151f;color:#9ca3af;font-size:16px;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s}@media (hover: hover){.view-btn:hover:not(.active){color:var(--accent-secondary);border-color:#3d3a50}}.search-wrap{position:relative;margin:0 16px 12px;flex-shrink:0}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none;line-height:1}.search-input{width:100%;box-sizing:border-box;background:#16151f;border:1.5px solid #2D2B3D;border-radius:13px;padding:12px 40px 12px 38px;font-size:14px;font-weight:500;color:#f5f3ff;font-family:inherit;outline:none;transition:border-color .15s}.search-input::placeholder{color:#3d3a50}.search-input:focus{border-color:var(--accent)}.search-clear{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:#9ca3af;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#2d2b3d;transition:color .15s,background .15s}@media (hover: hover){.search-clear:hover{color:#f5f3ff;background:#3d3a50}}.filters-scroll{overflow-x:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-x:auto;scroll-snap-type:none;touch-action:pan-x;flex-shrink:0;padding:0 16px 12px;scrollbar-width:none}.filters-scroll::-webkit-scrollbar{display:none}.filters-row{display:flex;gap:8px;width:max-content}.filter-pill{all:unset;box-sizing:border-box;cursor:pointer;padding:7px 16px;border-radius:99px;font-size:13px;font-weight:600;color:#9ca3af;background:#16151f;border:1.5px solid #2D2B3D;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}@media (hover: hover){.filter-pill:hover:not(.active){border-color:#3d3a50;color:var(--accent-secondary)}}.results-meta{padding:0 20px 10px;font-size:13px;flex-shrink:0}.results-count{font-weight:800}.results-label{color:#9ca3af;font-weight:500}.recipe-section{margin-bottom:24px}.recipe-section-title{font-size:14px;font-weight:800;color:#f5f3ff;padding:0 4px 10px;display:flex;align-items:center;gap:8px}.recipe-section-count{font-size:12px;font-weight:700}.recipe-section-empty{font-size:13px;color:#6b7280;text-align:center;padding:12px;margin:0}.recipe-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y;padding:0 16px calc(env(safe-area-inset-bottom) + 48px);scrollbar-width:none}.recipe-scroll::-webkit-scrollbar{display:none}.card-time{font-size:11px;font-weight:500;color:#9ca3af}.card-diff{font-size:11px;font-weight:700}.card-xp{font-size:11px;font-weight:800}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-card{all:unset;box-sizing:border-box;cursor:pointer;background:#16151f;border:1.5px solid #2D2B3D;border-radius:18px;padding:14px 12px;display:flex;flex-direction:column;gap:8px;transition:border-color .18s,box-shadow .18s,transform .14s}@media (hover: hover){.grid-card:hover{border-color:var(--accent);box-shadow:0 4px 20px #0000004d;transform:translateY(-2px)}}.grid-card-emoji{font-size:32px;line-height:1}.grid-card-body{display:flex;flex-direction:column;gap:3px}.grid-card-name{font-size:14px;font-weight:700;color:#f5f3ff;line-height:1.25}.grid-card-cuisine{font-size:11px;color:#9ca3af;font-weight:500;margin-bottom:4px}.grid-card-footer{display:flex;align-items:center;gap:8px}.recipe-list{display:flex;flex-direction:column;gap:8px}.list-card{all:unset;box-sizing:border-box;cursor:pointer;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:14px;display:flex;align-items:center;gap:12px;transition:border-color .18s,transform .14s}@media (hover: hover){.list-card:hover{border-color:var(--accent);transform:translate(2px)}}.list-card-emoji{font-size:28px;line-height:1;flex-shrink:0;width:40px;height:40px;background:#131220;border-radius:10px;display:flex;align-items:center;justify-content:center}.list-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.list-card-name{font-size:14px;font-weight:700;color:#f5f3ff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-card-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.list-card-cuisine{font-size:11px;color:#9ca3af;font-weight:500}.list-meta-dot{font-size:10px;color:#3d3a50}.list-xp{flex-shrink:0}.list-arrow{font-size:20px;color:#3d3a50;flex-shrink:0;line-height:1}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px}.empty-icon{font-size:48px;opacity:.4}.empty-text{font-size:14px;color:#9ca3af;text-align:center}.detail-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:visible;animation:slideInRight .22s cubic-bezier(.32,.72,0,1)}@keyframes slideInRight{0%{transform:translate(32px);opacity:0}to{transform:translate(0);opacity:1}}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:52px 20px 12px;flex-shrink:0}.detail-header-label{font-size:14px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em}.detail-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:none;touch-action:pan-y;padding:0 16px calc(env(safe-area-inset-bottom) + 48px);scrollbar-width:none}.detail-scroll::-webkit-scrollbar{display:none}.detail-hero{padding:20px 0 24px;display:flex;flex-direction:column;gap:10px}.detail-emoji{font-size:56px;line-height:1}.detail-name{font-size:26px;font-weight:800;color:#f5f3ff;line-height:1.15}.detail-meta-row{display:flex;flex-wrap:wrap;gap:6px}.detail-meta-pill{font-size:12px;font-weight:600;padding:5px 11px;border-radius:99px;border:1px solid;white-space:nowrap}.detail-meta-pill.cuisine{color:var(--accent-secondary);background:#16151f;border-color:#2d2b3d}.detail-meta-pill.time{color:#9ca3af;background:#16151f;border-color:#2d2b3d}.detail-section{margin-bottom:28px}.detail-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:12px}.ingredients-list{display:flex;flex-direction:column;gap:8px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:14px 16px}.ingredient-row{display:flex;align-items:center;gap:10px}.ingredient-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ingredient-text{font-size:14px;color:#c8c4d8;font-weight:500;flex:1;min-width:0}.ingredient-kcal{font-size:11px;color:#6b6880;font-weight:600;flex-shrink:0;white-space:nowrap}.steps-list{display:flex;flex-direction:column;gap:10px}.step-row{display:flex;gap:12px;align-items:flex-start}.step-num{width:28px;height:28px;border-radius:9px;border:1.5px solid;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;margin-top:1px}.step-text{font-size:14px;color:#c8c4d8;line-height:1.6;flex:1;padding-top:4px}.card-kcal{font-size:10px;font-weight:600;color:#9ca3af;background:#2d2b3d;padding:2px 7px;border-radius:6px;white-space:nowrap}.grid-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.list-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.detail-macros-card{display:flex;align-items:center;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px;padding:16px 12px}.detail-macro{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.detail-macro-val{font-size:18px;font-weight:800;color:#f5f3ff;line-height:1}.detail-macro-label{font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.detail-macro-divider{width:1px;height:32px;background:#2d2b3d;flex-shrink:0}.detail-macro-unavailable{font-size:13px;font-style:italic;color:#6b6880;padding:12px 0}.custom-badge{position:absolute;top:8px;right:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px;padding:2px 6px;line-height:1.3}.custom-badge-inline{margin-left:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:6px;padding:2px 6px;vertical-align:middle}.custom-badge-detail{font-size:11px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:99px;padding:4px 10px}.detail-meal-types{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:4px}.detail-meal-type-pill{font-size:11px;font-weight:700;padding:4px 12px;border-radius:99px;border:1px solid;text-transform:uppercase;letter-spacing:.06em}.card-meal-type{font-size:9px;font-weight:700;padding:2px 7px;border-radius:6px;border:1px solid;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.card-meal-type--list{margin-left:2px}.grid-card-tags-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ingredient-totals{display:flex;align-items:center;gap:6px;padding-top:10px;margin-top:6px;border-top:1px solid #2D2B3D}.ingredient-totals-label{font-size:12px;font-weight:700;color:#9ca3af;margin-right:4px}.ingredient-totals-val{font-size:12px;font-weight:700;color:#c8c4d8}.ingredient-totals-sep{font-size:10px;color:#4b5563}.grid-card{position:relative}.create-recipe-wrap{padding:0 16px 12px;flex-shrink:0}.create-recipe-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:13px 0;border-radius:14px;font-size:15px;font-weight:700;color:#fff;text-align:center;transition:filter .15s,transform .14s;touch-action:manipulation}@media (hover: hover){.create-recipe-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}}.delete-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:999;animation:fadeIn .15s ease-out}.delete-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;padding:24px 20px 18px;display:flex;flex-direction:column;gap:10px;min-width:260px;max-width:320px;animation:popupScale .18s cubic-bezier(.32,.72,0,1)}@keyframes popupScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.delete-popup-name{font-size:16px;font-weight:700;color:#f5f3ff;text-align:center;margin-bottom:4px;word-break:break-word}.delete-popup-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:12px;border-radius:12px;font-size:14px;font-weight:700;text-align:center;transition:filter .15s,transform .15s;touch-action:manipulation}@media (hover: hover){.delete-popup-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}}.delete-popup-btn--red{background:#ff4d4d;color:#fff}.delete-popup-btn--violet{background:var(--accent);color:#fff}.delete-popup-btn--cancel{background:#2d2b3d;color:var(--accent-secondary)}.form-section{margin-bottom:28px}.form-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:14px}.form-label{display:block;font-size:12px;font-weight:600;color:#9ca3af;margin-bottom:6px;margin-top:12px}.form-input{width:100%;box-sizing:border-box;background:#131220;border:1.5px solid #2D2B3D;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:500;color:#f5f3ff;font-family:inherit;outline:none;transition:border-color .15s;touch-action:manipulation}.form-input::placeholder{color:#3d3a50}.form-input:focus{border-color:var(--accent)}.form-textarea{min-height:80px;resize:vertical}.form-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.form-pill{all:unset;box-sizing:border-box;cursor:pointer;padding:7px 14px;border-radius:99px;font-size:13px;font-weight:600;color:#9ca3af;background:#16151f;border:1.5px solid #2D2B3D;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;touch-action:manipulation}@media (hover: hover){.form-pill:hover:not(.active){border-color:#3d3a50;color:var(--accent-secondary)}}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.form-field-sm{display:flex;flex-direction:column}.form-field-sm .form-label{margin-top:0}.form-ing-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;padding:10px 14px}.form-section-count{font-size:11px;font-weight:600;color:#6b6880;background:#16151f;border-radius:6px;padding:1px 6px;margin-left:8px;vertical-align:middle}.ring-list{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.ring-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#131220;border:1px solid #1E1C2E;transition:background .12s,border-color .12s;width:100%;-webkit-tap-highlight-color:transparent}.ring-row:active{background:#1a1929;border-color:#2d2b3d}@media (hover: hover){.ring-row:hover{background:#1a1929;border-color:#2d2b3d}}.ring-qty{font-size:13px;font-weight:700;color:var(--accent, #A78BFA);min-width:48px;flex-shrink:0}.ring-name{font-size:14px;font-weight:500;color:#c8c4d8;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ring-chevron{font-size:16px;color:#3d3a50;flex-shrink:0;line-height:1}.ring-editor{padding:10px 12px;border-radius:10px;background:#1a1929;border:1.5px solid var(--accent, #A78BFA);display:flex;flex-direction:column;gap:8px}.ring-editor-name{font-size:13px;font-weight:600;color:#e8e5f5}.ring-editor-controls{display:flex;align-items:center;gap:0}.ring-step{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#9ca3af;background:#16151f;border:1.5px solid #2D2B3D;transition:background .12s;-webkit-tap-highlight-color:transparent}.ring-step:active{background:#2d2b3d}.ring-step--minus{border-radius:8px 0 0 8px;border-right:none}.ring-step--plus{border-radius:0 8px 8px 0;border-left:none}.ring-editor-qty{width:56px;text-align:center;background:#131220;border:1.5px solid #2D2B3D;border-radius:0;padding:8px 4px;font-size:14px;font-weight:600;color:#f5f3ff;font-family:inherit;outline:none;-moz-appearance:textfield}.ring-editor-qty::-webkit-inner-spin-button,.ring-editor-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ring-editor-qty:focus{border-color:var(--accent, #A78BFA)}.ring-editor-unit{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#131220;border:1.5px solid #2D2B3D;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;color:#c8c4d8;font-family:inherit;cursor:pointer;outline:none;margin-left:8px}.ring-editor-unit:focus{border-color:var(--accent, #A78BFA)}.ring-editor-actions{display:flex;gap:8px;justify-content:flex-end}.ring-editor-cancel{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;color:#9ca3af;transition:color .12s}@media (hover: hover){.ring-editor-cancel:hover{color:#f5f3ff}}.ring-editor-done{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 18px;border-radius:8px;font-size:12px;font-weight:700;color:#fff;background:#2d2b3d;transition:filter .12s}.ring-editor-done:disabled{opacity:.35;cursor:not-allowed}@media (hover: hover){.ring-editor-done:not(:disabled):hover{filter:brightness(1.15)}}.ring-add-popup{padding:10px 12px;border-radius:10px;background:#1a1929;border:1.5px dashed #2D2B3D;display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.ring-add-name{font-size:13px!important;padding:9px 12px!important}.form-live-macros{padding:10px 14px;border-radius:10px;border:1px solid;background:#a78bfa0d;margin-bottom:12px}.form-live-macros-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;display:block}.form-live-macros-row{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:#c8c4d8}.form-add-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:11px;border-radius:12px;font-size:14px;font-weight:700;text-align:center;border:1.5px dashed;transition:background .15s,transform .14s;touch-action:manipulation}@media (hover: hover){.form-add-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-1px)}}.form-step-row{display:flex;gap:10px;align-items:center;margin-bottom:8px;touch-action:manipulation}.form-step-num{width:28px;height:28px;border-radius:9px;border:1.5px solid;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.form-step-input{flex:1;min-width:0}.form-save-btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;padding:15px;border-radius:14px;font-size:16px;font-weight:800;color:#fff;text-align:center;margin-top:8px;transition:filter .15s,transform .14s;touch-action:manipulation}@media (hover: hover){.form-save-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}}.form-error{font-size:13px;font-weight:600;color:#ff4d4d;text-align:center;padding:8px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dev-root{height:100%;overflow:hidden;display:flex;flex-direction:column;background:#0d0d12}.dev-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid rgba(245,158,11,.15)}.dev-title{font-size:18px;font-weight:700;color:#f59e0b}.dev-scroll{flex:1 1 0%;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;padding:16px;padding-bottom:calc(env(safe-area-inset-bottom) + 48px)}.dev-status{background:#f59e0b0a;border:1px solid rgba(245,158,11,.15);border-radius:12px;padding:14px 16px;margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.dev-status-row{display:flex;justify-content:space-between;align-items:center}.dev-status-label{font-size:12px;font-weight:500;color:#6b6880}.dev-status-value{font-size:12px;font-weight:700;color:#f59e0b;max-width:60%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-section{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.dev-section-title{font-size:11px;font-weight:700;color:#6b6880;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.dev-section-danger{border-top:1px solid rgba(239,68,68,.15);padding-top:16px;margin-top:4px}.dev-btn-row{display:flex;gap:8px}.dev-btn{all:unset;box-sizing:border-box;flex:1;text-align:center;font-size:13px;font-weight:600;color:#f59e0b;background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-radius:10px;padding:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s ease-out,transform .1s ease-out}.dev-btn:active{transform:scale(.96);background:#f59e0b24}.dev-btn-wide{flex:none;width:100%}.dev-btn-accent{background:#f59e0b1a;border-color:#f59e0b59;font-weight:700}.dev-btn-danger{color:#ef4444;background:#ef44440f;border-color:#ef444433}.dev-btn-danger:active{background:#ef444424}.dev-badge-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.dev-badge-group-title{font-size:13px;font-weight:700;color:#f59e0b;opacity:.85;padding:4px 0 2px}.dev-badge-list{display:flex;flex-direction:column;gap:4px}.dev-badge-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;color:#f5f3ff;background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:10px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s ease-out,transform .1s ease-out,opacity .15s}.dev-badge-btn:active:not(:disabled){transform:scale(.97);background:color-mix(in srgb,var(--accent) 15%,transparent)}.dev-badge-btn--earned{opacity:.4;border-color:#10b9814d;background:#10b9810a;cursor:default}.dev-badge-btn--earned .dev-badge-btn-text{color:#10b981}.dev-badge-btn-icon{font-size:18px;line-height:1;flex-shrink:0}.dev-badge-btn-text{font-size:13px;font-weight:600;line-height:1.3;color:var(--accent-secondary)}.dev-prestige-sub{font-size:11px;font-weight:700;color:#6b6880;margin:6px 0 2px;letter-spacing:.03em}.dev-btn-silent{color:#6b6880;background:#6b68800f;border-color:#6b688033}.dev-btn-silent:active{background:#6b688024}.character-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.character-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-bottom:calc(env(safe-area-inset-bottom) + 16px);scrollbar-width:none}.character-scroll::-webkit-scrollbar{display:none}.character-header{display:flex;align-items:center;gap:12px;padding:52px 20px 12px}.character-title{flex:1;text-align:center;font-size:18px;font-weight:800;color:#f5f3ff;letter-spacing:.02em}.back-btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:26px;color:#9ca3af;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;flex-shrink:0;transition:color .15s,border-color .15s}@media (hover: hover){.back-btn:hover{color:#f5f3ff;border-color:#9ca3af}}.character-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:16px 0 8px;min-height:65dvh}.character-stage-glow{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:50%;pointer-events:none;z-index:0}@keyframes characterFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes characterFadeIn{0%{opacity:0;transform:scale(.85);filter:brightness(2)}60%{opacity:1;transform:scale(1.05);filter:brightness(1.4)}to{opacity:1;transform:scale(1);filter:brightness(1)}}.character-stage.old .character-wrap,.character-stage.old .character-img{animation:characterFadeOut .6s ease-out forwards}.character-stage.new .character-wrap,.character-stage.new .character-img{animation:characterFadeIn 1.1s cubic-bezier(.22,1,.36,1)!important}.character-reveal-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.95) 0%,rgba(255,255,255,.4) 30%,transparent 65%);z-index:5;pointer-events:none;animation:flashExpand .5s ease-out forwards}@keyframes flashExpand{0%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.character-identity{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 24px 20px;text-align:center}.character-name{font-size:22px;font-weight:800;color:#f5f3ff;margin:0}.character-level-row{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.character-level-num{font-family:var(--font-rpg);color:var(--accent)}.character-level-sep{color:#4b5563}.character-milestone-title{color:#f5f3ff}.character-description{font-size:13px;color:#9ca3af;line-height:1.5;max-width:320px;margin:4px 0 8px;font-style:italic}.character-weapon-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#16151f;border:1.5px solid var(--accent);border-radius:99px;font-size:12px;font-weight:700;color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.character-section-title{font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;padding:0 20px}.character-progress-section{padding:12px 0}.character-next-card{display:flex;gap:16px;margin:0 16px;padding:16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:18px;align-items:center}.character-next-preview{position:relative;flex-shrink:0;width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:#0d0d12;border-radius:14px;overflow:hidden}.character-next-lock{position:absolute;bottom:8px;right:8px;font-size:18px;opacity:.85}.character-next-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.character-next-label{font-size:10px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.1em}.character-next-level{font-size:18px;font-weight:800;color:var(--accent)}.character-next-name{font-size:14px;font-weight:700;color:#f5f3ff}.character-next-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.character-next-progress-track{flex:1;height:6px;background:#2d2b3d;border-radius:99px;overflow:visible}.character-next-progress-fill{height:100%;background:var(--accent);border-radius:99px;box-shadow:0 0 8px var(--accent-glow);transition:width .5s ease}.character-next-progress-text{font-size:11px;font-weight:700;color:#9ca3af;white-space:nowrap}.character-xp-hint{text-align:center;font-size:12px;color:#9ca3af;padding:12px 20px 0}.character-max-tier{margin:12px 16px;padding:20px;background:linear-gradient(135deg,#1f1a2e,#2d2b3d);border:1.5px solid #FBBF24;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.character-max-icon{font-size:36px}.character-max-text{font-size:15px;font-weight:800;color:#fbbf24}.character-max-sub{font-size:12px;color:#9ca3af}.character-milestones-section{padding:20px 0 8px}.character-milestones-list{display:flex;flex-direction:column;gap:10px;padding:0 16px}.character-milestone-item{position:relative;display:flex;align-items:center;gap:14px;padding:12px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;transition:border-color .2s,background .2s}.character-milestone-item.current{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#16151F);box-shadow:0 0 12px var(--accent-glow)}.character-milestone-item.locked{opacity:.6}.character-milestone-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#0d0d12;border-radius:10px;overflow:hidden}.character-milestone-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.character-milestone-level{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em}.character-milestone-name{font-size:14px;font-weight:700;color:#f5f3ff}.character-milestone-weapon{font-size:11px;color:#9ca3af}.character-milestone-current-badge{font-size:10px;font-weight:800;padding:4px 10px;border-radius:99px;background:var(--accent);color:#0d0d12;text-transform:uppercase;letter-spacing:.05em}.character-milestone-lock{font-size:16px;opacity:.7}.character-milestone-thumb{width:100%;height:100%;object-fit:contain;display:block}.character-milestone-thumb--locked{filter:brightness(0) invert(.18) opacity(.55)}.character-next-evolution{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 20px 20px}.character-next-evolution-label{font-size:13px;font-weight:700;color:#9ca3af}.character-next-silhouette{position:relative;display:flex;align-items:center;justify-content:center}.character-next-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:2}.character-next-lock-icon{font-size:24px}.character-next-lock-text{font-size:11px;font-weight:800;color:#6b7280;text-transform:uppercase;letter-spacing:.1em}.lbh-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.lbh-header{display:flex;align-items:center;gap:10px;padding:52px 20px 12px}.lbh-title{flex:1;text-align:center;font-size:18px;font-weight:800;color:#f5f3ff}.lbh-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 16px;padding-bottom:calc(env(safe-area-inset-bottom) + 24px);scrollbar-width:none}.lbh-scroll::-webkit-scrollbar{display:none}.lbh-empty{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;text-align:center}.lbh-empty-icon{font-size:44px;opacity:.7}.lbh-empty-text{font-size:14px;color:#9ca3af;line-height:1.5;margin:0}.lbh-week{margin-top:12px;border:1.5px solid #2D2B3D;border-radius:16px;overflow:hidden;background:#16151f}.lbh-week-header{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.lbh-week-label{font-family:var(--font-rpg);font-size:14px;font-weight:700;color:#f5f3ff}.lbh-week-chevron{font-size:18px;color:#9ca3af;transform:rotate(90deg);transition:transform .2s ease}.lbh-week-chevron.open{transform:rotate(-90deg)}.lbh-week-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}.lbh-week-empty{font-size:12.5px;color:#6b7280;padding:4px 4px 8px;margin:0}.lbh-row{display:flex;align-items:center;gap:10px;padding:9px 10px;background:#0d0d12;border:1.5px solid #2D2B3D;border-radius:12px}.lbh-row-rank{font-family:var(--font-rpg);font-size:12px;font-weight:800;color:#6b7280;width:24px;flex-shrink:0;text-align:center}.lbh-row-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;overflow:hidden;background:#16151f;border:1.5px solid #2D2B3D}.lbh-row-info{flex:1;min-width:0}.lbh-row-name{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lbh-row-trophy{font-size:13px}.lbh-row-you{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border:1px solid currentColor;border-radius:5px}.lbh-row-stat{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end}.lbh-row-xp{font-family:var(--font-rpg);font-size:14px;font-weight:800}.lbh-row-xp-label{font-size:9px;font-weight:600;color:#6b7280;text-transform:uppercase}.lb-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.lb-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:0 16px;padding-bottom:calc(env(safe-area-inset-bottom) + 24px);scrollbar-width:none}.lb-scroll::-webkit-scrollbar{display:none}.lb-header{display:flex;align-items:center;gap:10px;padding:52px 20px 12px}.lb-title{flex:1;text-align:center;font-size:18px;font-weight:800;color:#f5f3ff}.lb-refresh-btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:18px;font-weight:700;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;flex-shrink:0;transition:opacity .2s,transform .4s}.lb-refresh-btn:disabled{opacity:.4;animation:refreshSpin .8s linear infinite}@keyframes refreshSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lb-history-btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;flex-shrink:0}.lb-history-btn:active{transform:scale(.94)}.lb-code-card{margin-top:4px;padding:14px 16px;border:1.5px solid;border-radius:16px}.lb-code-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-code-info{display:flex;flex-direction:column;gap:2px}.lb-code-label{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em}.lb-code-value{font-size:26px;font-weight:800;letter-spacing:.08em}.lb-share-btn{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 16px;border-radius:12px;color:#0d0d12;font-size:13px;font-weight:800;transition:filter .15s,transform .15s}.lb-share-btn:active{transform:scale(.95)}@media (hover: hover){.lb-share-btn:hover{filter:brightness(1.1)}}.lb-add-card{margin-top:12px;padding:14px 16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:16px}.lb-section-label{display:block;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.lb-add-row{display:flex;gap:8px}.lb-add-input{flex:1;background:#0d0d12;border:1.5px solid #2D2B3D;border-radius:10px;padding:10px 14px;font-size:16px;font-weight:700;font-family:Barlow,sans-serif;color:#f5f3ff;outline:none;letter-spacing:.06em;text-transform:uppercase}.lb-add-input::placeholder{color:#3d3a50;letter-spacing:.04em}.lb-add-input:focus{border-color:var(--accent)}.lb-add-btn{all:unset;box-sizing:border-box;cursor:pointer;padding:10px 18px;border-radius:10px;color:#0d0d12;font-size:13px;font-weight:800;transition:filter .15s,opacity .15s,transform .15s}.lb-add-btn:disabled{opacity:.45;cursor:not-allowed}.lb-add-btn:active:not(:disabled){transform:scale(.95)}@media (hover: hover){.lb-add-btn:not(:disabled):hover{filter:brightness(1.1)}}.lb-add-status{margin-top:8px;padding:8px 12px;background:#0d0d12;border-radius:8px;font-size:12px;font-weight:600;color:#c8c4d8}.lb-overtake-banner{margin-top:12px;display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#2d1b1b,#1f1a2e);border:1.5px solid #F59E0B40;border-radius:14px;animation:overtakeIn .4s ease-out}@keyframes overtakeIn{0%{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.lb-overtake-icon{font-size:20px;flex-shrink:0}.lb-overtake-text{font-size:13px;font-weight:600;color:#f5f3ff;line-height:1.4}.lb-top-tabs{display:flex;gap:8px;margin-top:16px}.lb-top-tab{all:unset;box-sizing:border-box;cursor:pointer;flex:1;text-align:center;padding:9px 8px;border-radius:10px;border:1.5px solid #2D2B3D;font-size:12.5px;font-weight:700;color:#9ca3af}.lb-top-tab.active{font-weight:800}.lb-week-label{margin-top:8px;font-size:12px;font-weight:600;color:#9ca3af;text-align:center}.lb-tabs{display:flex;gap:8px;margin-top:12px;margin-bottom:12px}.lb-tab{all:unset;box-sizing:border-box;cursor:pointer;flex:1;text-align:center;padding:11px 8px;border-radius:12px;background:#16151f;border:1.5px solid #2D2B3D;font-size:13px;font-weight:700;color:#9ca3af;transition:background .18s,color .18s,border-color .18s}.lb-tab.active{border-color:transparent;font-weight:800}.lb-empty{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:18px;text-align:center}.lb-empty-icon{font-size:48px}.lb-empty-title{font-size:18px;font-weight:800;color:#f5f3ff;margin:4px 0 0}.lb-empty-sub{font-size:13px;color:#9ca3af;margin:0}.lb-empty-code{margin-top:8px;padding:16px 28px;font-size:36px;font-weight:800;letter-spacing:.12em;border:2px solid;border-radius:14px;background:#0d0d12}.lb-empty-share-btn{all:unset;box-sizing:border-box;cursor:pointer;margin-top:4px;padding:12px 24px;border-radius:12px;color:#0d0d12;font-size:14px;font-weight:800;transition:filter .15s,transform .15s}.lb-empty-share-btn:active{transform:scale(.95)}@media (hover: hover){.lb-empty-share-btn:hover{filter:brightness(1.1)}}.lb-loading{text-align:center;color:#9ca3af;font-size:13px;padding:32px 0}.lb-list{display:flex;flex-direction:column;gap:8px}.lb-entry{display:flex;align-items:center;gap:12px;padding:12px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px;transition:border-color .2s,background .2s}.lb-entry.me{border-width:1.5px}.lb-entry--pulse{animation:lb-entry-pulse 1.6s ease-out}@keyframes lb-entry-pulse{0%{box-shadow:0 0 0 2px var(--accent, #7C3AED),0 0 16px var(--accent-glow, rgba(124,58,237,.5))}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.lb-entry--pulse{animation:none}}.lb-entry-rank{width:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lb-entry-medal{font-size:28px;line-height:1}.lb-entry-rank-num{font-family:var(--font-rpg);font-size:14px;font-weight:800;letter-spacing:.02em}.lb-entry-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#0d0d12;border:1.5px solid #2D2B3D}.lb-entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lb-entry-name-row{display:flex;align-items:center;gap:8px}.lb-entry-name{font-size:15px;font-weight:700;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-entry-you{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border:1px solid currentColor;border-radius:6px}.lb-entry-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ca3af}.lb-entry-level{font-weight:700}.lb-entry-stale{color:#6b7280;font-style:italic}.lb-entry-stat{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.lb-entry-stat-num{font-size:17px;font-weight:800;display:flex;align-items:center;gap:4px}.lb-entry-stat-num.zero-streak{color:#6b7280}.lb-entry-flame{font-size:14px}.lb-entry-stat-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.lb-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9600;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px;animation:lb-popup-fade .15s ease-out}@keyframes lb-popup-fade{0%{opacity:0}to{opacity:1}}.lb-popup{width:100%;max-width:300px;background:#1e1c2e;border:1.5px solid #2D2B3D;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px;animation:lb-popup-pop .18s cubic-bezier(.34,1.56,.64,1)}@keyframes lb-popup-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.lb-popup-name{font-size:14px;font-weight:700;color:#f5f3ff;text-align:center;margin-bottom:6px;line-height:1.4}.lb-popup-option{all:unset;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;padding:12px 14px;border-radius:12px;background:#16151f;border:1.5px solid #2D2B3D;font-size:14px;font-weight:700;color:#f5f3ff}.lb-popup-option:active{transform:scale(.98)}.lb-popup-option--danger{color:#f87171}.lb-popup-cancel{all:unset;box-sizing:border-box;cursor:pointer;width:100%;text-align:center;padding:10px;margin-top:4px;font-size:13px;font-weight:600;color:#6b7280}.lb-confirm-row{display:flex;gap:10px;margin-top:4px}.lb-confirm-btn{all:unset;box-sizing:border-box;cursor:pointer;flex:1;text-align:center;padding:11px;border-radius:12px;font-size:13.5px;font-weight:800}.lb-confirm-btn--cancel{background:#16151f;border:1.5px solid #2D2B3D;color:#9ca3af}.lb-confirm-btn--danger{background:#ef4444;color:#fff}.lb-confirm-btn:active{transform:scale(.96)}.lb-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9600;background:#0009;display:flex;align-items:flex-end;animation:lb-popup-fade .15s ease-out}.lb-sheet{position:relative;width:100%;max-width:420px;margin:0 auto;background:#16151f;border:1.5px solid #2D2B3D;border-bottom:none;border-radius:24px 24px 0 0;padding:12px 24px calc(env(safe-area-inset-bottom,0px) + 28px);display:flex;flex-direction:column;align-items:center;text-align:center;animation:lb-sheet-up .22s cubic-bezier(.22,1,.36,1)}@keyframes lb-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.lb-sheet-handle{width:36px;height:4px;border-radius:99px;background:#2d2b3d;margin-bottom:14px}.lb-sheet-close{all:unset;box-sizing:border-box;position:absolute;top:14px;right:16px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0d0d12;border:1px solid #2D2B3D;color:#9ca3af;font-size:13px}.lb-sheet-character{width:96px;height:96px;object-fit:contain;margin-bottom:8px}.lb-sheet-name{font-family:var(--font-rpg);font-size:20px;font-weight:700;color:#f5f3ff;margin:0}.lb-sheet-level{font-family:var(--font-rpg);font-size:13px;font-weight:700;margin-top:2px}.lb-sheet-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:20px}.lb-sheet-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;background:#0d0d12;border:1.5px solid #2D2B3D;border-radius:14px}.lb-sheet-stat-icon{font-size:18px}.lb-sheet-stat-value{font-family:var(--font-rpg);font-size:18px;font-weight:800;color:#f5f3ff}.lb-sheet-stat-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.lb-sheet-member-since{margin-top:16px;font-size:12px;color:#6b7280}.history-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.history-header{display:flex;align-items:center;justify-content:space-between;padding:52px 20px 12px;flex-shrink:0}.history-title{font-size:18px;font-weight:800;color:#f5f3ff}.history-filter-btn{all:unset;box-sizing:border-box;cursor:pointer;width:36px;height:36px;border-radius:10px;background:#16151f;border:1.5px solid #2D2B3D;display:flex;align-items:center;justify-content:center;font-size:16px;transition:border-color .15s}.history-filter-btn.active{border-color:var(--accent)}.history-scroll{flex:1 1 0%;min-height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 20px;padding-bottom:calc(env(safe-area-inset-bottom) + 80px);scrollbar-width:none}.history-scroll::-webkit-scrollbar{display:none}.history-summary{display:flex;align-items:stretch;gap:8px;margin-bottom:20px}.history-summary-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:#16151f;border:1px solid #2D2B3D;border-radius:10px}.history-summary-value{font-size:18px;font-weight:800;color:#f5f3ff}.history-summary-label{font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;text-align:center;letter-spacing:.05em}.history-filter-panel{background:#16151f;border:1px solid #2D2B3D;border-radius:12px;padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;animation:histFilterIn .15s ease}@keyframes histFilterIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.history-filter-label{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em}.history-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.history-filter-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:5px 12px;font-size:12px;font-weight:600;font-family:Barlow,sans-serif;color:#9ca3af;background:#0d0d12;border:1px solid #2D2B3D;border-radius:16px;transition:all .15s}.history-filter-chip.active{color:#0d0d12;background:var(--accent);border-color:var(--accent)}.history-date-group{margin-bottom:20px}.history-date-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #1E1C2E}.history-date-text{font-size:13px;font-weight:700;color:#d1d5db}.history-date-xp{font-size:12px;font-weight:600;color:var(--accent)}.history-meal{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #16151F}.history-meal:last-child{border-bottom:none}.history-meal-slot{width:52px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px}.history-meal-slot-icon{font-size:18px}.history-meal-slot-label{font-size:9px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.history-meal-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.history-meal-name{font-size:14px;font-weight:700;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meal-tags{display:flex;gap:6px;flex-wrap:wrap}.history-meal-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;color:#9ca3af;background:#1e1c2e}.history-meal-tag.scratch{color:#3dd68c;background:#3dd68c18}.history-meal-macros{display:flex;gap:8px;font-size:11px;color:#6b7280;font-weight:500}.history-meal-macro-val{color:#9ca3af;font-weight:600}.history-meal-xp{flex-shrink:0;font-size:12px;font-weight:700;color:var(--accent);padding-top:2px}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center}.history-empty-icon{font-size:48px;opacity:.5}.history-empty-text{font-size:14px;color:#6b7280;font-weight:500;line-height:1.5}.quest-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column}.quest-header{display:flex;align-items:center;padding:52px 16px 12px;gap:10px;border-bottom:1px solid #2D2B3D;flex-shrink:0}.quest-header-center{flex:1;display:flex;flex-direction:column;gap:2px}.quest-title{font-size:20px;font-weight:800;color:#f5f3ff;margin:0}.quest-date{font-size:12px;color:#9ca3af;font-weight:500}.quest-timer{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;white-space:nowrap}.quest-timer-icon{font-size:13px}.quest-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:16px;display:flex;flex-direction:column;gap:12px}.quest-streak-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:#16151f;border:1px solid #2D2B3D}.quest-streak-fire{font-size:20px}.quest-streak-count{font-size:22px;font-weight:800}.quest-streak-label{font-size:13px;color:#9ca3af;font-weight:500}.quest-cards{display:flex;flex-direction:column;gap:10px}.quest-card{background:#16151f;border:1px solid #2D2B3D;border-radius:14px;padding:14px 16px 12px;display:flex;flex-direction:column;gap:8px;animation:questCardIn .35s ease-out both}@keyframes questCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quest-card--claimed{background:#0f1f15;border-color:#3dd68c40}.quest-card--complete{background:#16151f}.quest-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.quest-card-info{flex:1;display:flex;flex-direction:column;gap:3px}.quest-card-name-row{display:flex;align-items:center;gap:6px}.quest-card-check{color:#3dd68c;font-weight:800;font-size:14px}.quest-card-name{font-family:var(--font-rpg);font-size:15px;font-weight:700;color:#f5f3ff}.quest-card-diff{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;border:1px solid;text-transform:uppercase;letter-spacing:.04em}.quest-card-desc{font-size:13px;color:#9ca3af;line-height:1.3}.quest-card-xp{font-family:var(--font-rpg);font-size:14px;font-weight:800;white-space:nowrap;flex-shrink:0}.quest-card-bar-track{height:6px;background:#2d2b3d;border-radius:99px;overflow:hidden}.quest-card-bar-fill{height:100%;border-radius:99px;transition:width .4s ease-out}.quest-card-bar-label{display:flex;justify-content:flex-end}.quest-card-bar-label span{font-size:11px;font-weight:600;color:#9ca3af}.quest-claim-btn{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:10px 0;border-radius:10px;font-size:14px;font-weight:700;color:#0d0d12;letter-spacing:.02em;transition:transform .12s,opacity .12s}.quest-claim-btn:active{transform:scale(.97);opacity:.85}.quest-claim-anim{animation:questClaimPop .5s ease-out}@keyframes questClaimPop{0%{transform:scale(1)}30%{transform:scale(1.03)}60%{transform:scale(.98)}to{transform:scale(1)}}.quest-bonus-card{background:#16151f;border:1px solid #2D2B3D;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin-top:4px}.quest-bonus--locked{opacity:.6}.quest-bonus--claimed{background:#0f1f15;border-color:#3dd68c40;opacity:1}.quest-bonus--ready{animation:questBonusPulse 2s ease-in-out infinite}@keyframes questBonusPulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 16px rgba(var(--accent-rgb, 139, 92, 246),.25)}}.quest-bonus-top{display:flex;align-items:center;gap:10px}.quest-bonus-icon{font-size:28px;flex-shrink:0}.quest-bonus-info{flex:1;display:flex;flex-direction:column;gap:2px}.quest-bonus-title{font-family:var(--font-rpg);font-size:15px;font-weight:700;color:#f5f3ff}.quest-bonus-desc{font-size:12px;color:#9ca3af}.quest-bonus-xp{font-size:16px;font-weight:800;white-space:nowrap}.quest-bonus-claim{margin-top:4px}.quest-root .back-btn{all:unset;box-sizing:border-box;cursor:pointer;font-size:28px;color:#f5f3ff;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nut-root{width:100%;max-width:420px;height:100%;background:#0d0d12;display:flex;flex-direction:column;overflow:hidden}.nut-header{display:flex;align-items:center;gap:12px;padding:52px 20px 12px;flex-shrink:0}.nut-header-text{flex:1;text-align:center;display:flex;flex-direction:column;gap:2px}.nut-title{font-size:18px;font-weight:800;color:#f5f3ff}.nut-date{font-size:12px;color:#6b7280;font-weight:500}.nut-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:0 20px}.nut-rings{display:flex;justify-content:space-between;gap:4px;padding:16px 0 8px}.nut-ring-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.nut-ring-svg{width:72px;height:72px}.nut-ring-center{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;width:72px;height:72px;justify-content:center;pointer-events:none}.nut-ring-value{font-family:var(--font-rpg);font-size:15px;font-weight:800;line-height:1}.nut-ring-unit{font-size:9px;color:#6b7280;font-weight:600;line-height:1}.nut-ring-target{font-size:10px;color:#6b7280;font-weight:600}.nut-ring-label{font-size:9px;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.06em}.nut-remaining{font-family:var(--font-rpg);text-align:center;font-size:16px;font-weight:800;padding:8px 0 20px}.nut-section{margin-bottom:24px}.nut-section-title{font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.nut-meals-list{display:flex;flex-direction:column;gap:8px}.nut-meal-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:14px}.nut-meal-card.nut-meal-cooked{border-color:#3dd68c33}.nut-meal-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.nut-meal-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.nut-meal-label{font-size:10px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.nut-meal-name{font-size:14px;font-weight:600;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nut-meal-name--muted{color:#6b7280}.nut-meal-macros{font-size:11px;color:#9ca3af;font-weight:500}.nut-meal-empty{font-size:13px;color:#3d3a50;font-style:italic}.nut-meal-not-cooked-tag{font-size:10px;color:#6b7280;font-weight:600}.nut-meal-status{flex-shrink:0}.nut-bars{display:flex;flex-direction:column;gap:14px}.nut-bar-item{display:flex;flex-direction:column;gap:6px}.nut-bar-header{display:flex;align-items:center;gap:8px}.nut-bar-name{font-size:13px;font-weight:700;color:#f5f3ff;flex:1}.nut-bar-nums{font-size:12px;color:#9ca3af;font-weight:500}.nut-bar-nums strong{font-family:var(--font-rpg);font-weight:800;font-size:13px}.nut-bar-pct{font-size:12px;font-weight:700;min-width:36px;text-align:right}.nut-bar-track{height:6px;background:#2d2b3d66;border-radius:99px;overflow:hidden}.nut-bar-fill{height:100%;border-radius:99px;transition:width .5s ease-out,background .3s}.nut-insight{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;background:#16151f;border:1px solid #2D2B3D;border-radius:12px}.nut-insight-emoji{font-size:20px;flex-shrink:0}.nut-insight-text{font-size:13px;font-weight:600;color:#c8c4d8;line-height:1.4}.ws-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#0d0d12;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(100%);transition:opacity .4s ease-out,transform .5s cubic-bezier(.22,1,.36,1);pointer-events:none}.ws-overlay--visible{opacity:1;transform:translateY(0);pointer-events:auto}.ws-container{width:100%;max-width:420px;height:100%;display:flex;flex-direction:column}.ws-scroll{flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:20px;display:flex;flex-direction:column;gap:16px}.ws-header{text-align:center;padding:48px 0 8px;animation:wsSlideIn .5s ease-out both}.ws-header-label{font-size:13px;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.ws-header-title{font-size:22px;font-weight:800;color:#f5f3ff;margin:6px 0 0}.ws-xp-hero{text-align:center;padding:20px 0;animation:wsSlideIn .5s ease-out both}.ws-xp-number{font-size:48px;font-weight:900;display:block;line-height:1.1}.ws-xp-label{font-size:14px;color:#9ca3af;font-weight:500;margin-top:4px;display:block}.ws-level-up{font-size:16px;font-weight:700;margin-top:8px;animation:wsLevelPop .5s ease-out .5s both}@keyframes wsLevelPop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.ws-section{background:#16151f;border:1px solid #2D2B3D;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;animation:wsSlideIn .5s ease-out both}.ws-section-title{font-size:14px;font-weight:700;color:#f5f3ff;margin:0 0 6px}@keyframes wsSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ws-stat-row{display:flex;align-items:center;gap:10px;padding:8px 0;animation:wsSlideIn .4s ease-out both}.ws-stat-row+.ws-stat-row{border-top:1px solid #2D2B3D20}.ws-stat-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.ws-stat-info{flex:1;display:flex;flex-direction:column;gap:1px}.ws-stat-label{font-size:14px;font-weight:600;color:#f5f3ff}.ws-stat-sub{font-size:11px;color:#9ca3af}.ws-stat-value{font-size:16px;font-weight:800;white-space:nowrap}.ws-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.ws-badge{display:flex;align-items:center;gap:6px;background:#0d0d12;border:1px solid #2D2B3D;border-radius:10px;padding:6px 12px;animation:wsBadgeBounce .5s ease-out both}@keyframes wsBadgeBounce{0%{opacity:0;transform:scale(.5) translateY(10px)}60%{transform:scale(1.1) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.ws-badge-icon{font-size:20px}.ws-badge-name{font-size:13px;font-weight:600;color:#f5f3ff}.ws-motivation{text-align:center;padding:16px;animation:wsSlideIn .5s ease-out both}.ws-motivation-emoji{font-size:36px;display:block;margin-bottom:8px}.ws-motivation-msg{font-size:16px;font-weight:700;color:#f5f3ff;line-height:1.4}.ws-action-btn{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:14px 0;border-radius:12px;font-size:16px;font-weight:700;color:#0d0d12;letter-spacing:.02em;animation:wsSlideIn .5s ease-out both;transition:transform .12s,opacity .12s}.ws-action-btn:active{transform:scale(.97);opacity:.85}.ws-dismiss-btn{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:10px 0;font-size:14px;font-weight:600;color:#9ca3af;transition:color .12s}.ws-dismiss-btn:active{color:#f5f3ff}.ai-fab{all:unset;box-sizing:border-box;position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);right:20px;z-index:500;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,box-shadow .15s}.ai-fab:active{transform:scale(.9)}@media (hover: hover){.ai-fab:hover{transform:translateY(-2px)}}.ai-chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background:#0d0d12;display:flex;flex-direction:column;max-width:420px;margin:0 auto;animation:aiSlideUp .3s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes aiSlideUp{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}.ai-chat-header{display:flex;align-items:center;gap:12px;padding:max(46px,calc(env(safe-area-inset-top) + 12px)) 16px 12px;background:linear-gradient(180deg,#16151f,#14131d);flex-shrink:0;position:relative}.ai-chat-header-avatar{flex-shrink:0}.ai-chef-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#16151f;border:1.5px solid var(--accent, #2D2B3D)}.ai-chat-header-center{flex:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.ai-chat-title{font-family:var(--font-rpg);font-size:17px;font-weight:800;letter-spacing:.01em;background:linear-gradient(90deg,#F5F3FF 0%,var(--accent, #A78BFA) 30%,#F5F3FF 60%,var(--accent, #A78BFA) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:aiTitleShine 5s linear infinite}@keyframes aiTitleShine{0%{background-position:0% 50%}to{background-position:200% 50%}}.ai-chat-subtitle{font-size:11px;font-weight:600;color:#6b7280;letter-spacing:.04em;text-transform:uppercase;margin-top:1px}.ai-chat-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.ai-chat-remaining{font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.ai-chat-close,.ai-chat-clear{all:unset;box-sizing:border-box;cursor:pointer;width:32px;height:32px;border-radius:10px;background:#2d2b3d;color:#9ca3af;font-size:13px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s,transform .1s}.ai-chat-close:active,.ai-chat-clear:active{transform:scale(.9)}@media (hover: hover){.ai-chat-close:hover{color:#f5f3ff;background:#3d3a50}.ai-chat-clear:hover{color:#f87171;background:#3d2a2a}}.ai-chat-header-line{height:1.5px;width:100%;flex-shrink:0;opacity:.6;animation:aiHeaderLinePulse 3.2s ease-in-out infinite}@keyframes aiHeaderLinePulse{0%,to{opacity:.35;transform:scaleX(.92)}50%{opacity:.9;transform:scaleX(1)}}.ai-chat-messages{position:relative;flex:1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:16px 14px 24px;scrollbar-width:none}.ai-chat-messages::-webkit-scrollbar{display:none}.ai-chat-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(45deg,rgba(139,92,246,.025) 0 1px,transparent 1px 18px),repeating-linear-gradient(-45deg,rgba(139,92,246,.025) 0 1px,transparent 1px 18px)}.ai-chat-bg-glow{position:absolute;left:0;right:0;bottom:0;height:220px;pointer-events:none;z-index:0}.ai-chat-msg-list{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}.ai-bubble-wrap{display:flex;flex-direction:column;max-width:88%}.ai-bubble-wrap--user{align-self:flex-end;align-items:flex-end}.ai-bubble-wrap--assistant{align-self:flex-start;align-items:flex-start}.ai-bubble{padding:10px 14px 12px;border-radius:18px;position:relative;animation:aiBubbleSlideUser .28s cubic-bezier(.22,1,.36,1) both;font-family:Barlow,sans-serif}.ai-bubble--user{color:#fff;border-bottom-right-radius:4px;animation-name:aiBubbleSlideUser}@keyframes aiBubbleSlideUser{0%{opacity:0;transform:translate(12px,4px)}to{opacity:1;transform:translate(0)}}.ai-bubble--assistant{background:#1a1a2e;border:1px solid #24233A;border-left:3px solid var(--accent, #A78BFA);color:#dedaf0;border-bottom-left-radius:4px;animation-name:aiBubbleSlideAi}.ai-bubble--welcome{background:linear-gradient(180deg,#1b1b30,#15142a)}@keyframes aiBubbleSlideAi{0%{opacity:0;transform:translate(-12px,4px)}to{opacity:1;transform:translate(0)}}.ai-bubble-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ai-bubble-chef{font-size:14px;line-height:1}.ai-bubble-name{font-family:var(--font-rpg);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ai-bubble-text{font-size:14px;font-weight:400;line-height:1.55;white-space:pre-wrap;word-break:break-word}.ai-bubble--user .ai-bubble-text{font-weight:500}.ai-bubble-text--clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.ai-read-more{all:unset;cursor:pointer;font-size:12px;font-weight:700;margin-top:6px;display:inline-block;letter-spacing:.02em}.ai-read-more:active{opacity:.6}.ai-msg-error{all:unset;cursor:pointer;margin-top:4px;font-size:11px;font-weight:700;color:#f87171;letter-spacing:.02em}.ai-msg-error:active{opacity:.6}.ai-bubble--thinking{padding-bottom:10px}.ai-typing-row{display:flex;align-items:center;gap:10px}.ai-typing-dots{display:inline-flex;gap:5px}.ai-dot{width:7px;height:7px;border-radius:50%;display:inline-block;animation:aiDotPulse 1.2s infinite ease-in-out}.ai-dot:nth-child(1){animation-delay:0s}.ai-dot:nth-child(2){animation-delay:.18s}.ai-dot:nth-child(3){animation-delay:.36s}@keyframes aiDotPulse{0%,80%,to{transform:scale(.55);opacity:.35}40%{transform:scale(1);opacity:1}}.ai-typing-text{font-size:12px;font-weight:600;color:#9ca3af;font-style:italic}.ai-limit-card{align-self:stretch;background:linear-gradient(180deg,#2a1c1c,#1a1318);border:1px solid rgba(248,113,113,.25);border-left:3px solid #F59E0B;border-radius:18px;padding:14px 16px;color:#fbe7b6;animation:aiBubbleSlideAi .28s cubic-bezier(.22,1,.36,1) both}.ai-limit-card .ai-bubble-text{color:#f2e3c0}.ai-suggestions-grid{position:relative;z-index:1;margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-suggestion-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:12px;border-radius:14px;background:#16151f;border:1.5px solid;display:flex;flex-direction:column;gap:6px;min-height:78px;transition:transform .12s ease,box-shadow .15s ease,background .15s ease}.ai-suggestion-chip:active{transform:scale(.97);background:#1b1a28;box-shadow:0 0 14px var(--accent, rgba(167, 139, 250, .35))}@media (hover: hover){.ai-suggestion-chip:hover{background:#1b1a28;box-shadow:0 0 12px #a78bfa40}}.ai-suggestion-emoji{font-size:20px;line-height:1}.ai-suggestion-text{font-family:Barlow,sans-serif;font-size:12px;font-weight:600;color:#dedaf0;line-height:1.35}.ai-input-glow{height:1.5px;width:100%;flex-shrink:0;opacity:.55;animation:aiHeaderLinePulse 3.6s ease-in-out infinite}.ai-input-bar{display:flex;align-items:flex-end;gap:10px;padding:10px 14px calc(env(safe-area-inset-bottom,0px) + 12px);background:linear-gradient(180deg,#14131d,#16151f);flex-shrink:0}.ai-input{flex:1;all:unset;box-sizing:border-box;background:#0d0d12;border:1.5px solid #2D2B3D;border-radius:14px;padding:11px 14px;font-family:Barlow,sans-serif;font-size:14px;font-weight:500;color:#f5f3ff;width:100%;line-height:1.4;resize:none;max-height:104px;overflow-y:auto;scrollbar-width:none;transition:border-color .15s,box-shadow .15s}.ai-input::-webkit-scrollbar{display:none}.ai-input::placeholder{color:#3d3a50}.ai-input:focus{border-color:var(--accent, #A78BFA);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #A78BFA) 18%,transparent),0 0 18px color-mix(in srgb,var(--accent, #A78BFA) 35%,transparent)}.ai-input:disabled{opacity:.5}.ai-send{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .12s,opacity .15s,box-shadow .2s}.ai-send:disabled{opacity:.4;cursor:not-allowed;color:#6b7280}.ai-send:not(:disabled):active{transform:scale(.9)}.ai-send--pulse{animation:aiSendPulse 1.6s ease-in-out infinite}@keyframes aiSendPulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.ai-copied-toast{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 80px);left:50%;transform:translate(-50%);padding:8px 16px;border-radius:999px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;z-index:8100;animation:aiToastIn .22s ease-out,aiToastOut .3s ease-in 1.1s forwards}@keyframes aiToastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@keyframes aiToastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.ai-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d0d12b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8200;display:flex;align-items:center;justify-content:center;padding:24px;animation:aiToastIn .18s ease-out}.ai-confirm-card{width:100%;max-width:320px;background:linear-gradient(180deg,#1a1a2e,#14131d);border:1.5px solid #2D2B3D;border-radius:18px;padding:22px 20px 18px;text-align:center;box-shadow:0 18px 40px #0009}.ai-confirm-icon{font-size:32px;line-height:1;margin-bottom:8px}.ai-confirm-title{font-family:var(--font-rpg);font-size:16px;font-weight:800;color:#f5f3ff;margin-bottom:4px}.ai-confirm-body{font-size:13px;color:#9ca3af;margin-bottom:18px;line-height:1.4}.ai-confirm-actions{display:flex;gap:10px}.ai-confirm-btn{all:unset;flex:1;cursor:pointer;font-family:Barlow,sans-serif;font-size:14px;font-weight:800;padding:11px 0;border-radius:12px;text-align:center;transition:transform .1s,opacity .15s,background .15s}.ai-confirm-btn:active{transform:scale(.96)}.ai-confirm-btn--cancel{background:#2d2b3d;color:#dedaf0}.ai-confirm-btn--danger{background:#b91c1c;color:#fff}@media (prefers-reduced-motion: reduce){.ai-chat-overlay,.ai-bubble--user,.ai-bubble--assistant,.ai-limit-card,.ai-send--pulse,.ai-chat-header-line,.ai-input-glow,.ai-chat-title{animation:none!important}}.notif-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08070ec7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;animation:notifFadeIn .18s ease}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}.notif-prompt-card{width:100%;max-width:360px;background:#16151f;border:1.5px solid #2D2B3D;border-radius:20px;padding:28px 22px 22px;text-align:center;animation:notifPop .24s cubic-bezier(.2,.9,.3,1.2)}@keyframes notifPop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.notif-prompt-icon{font-size:44px;line-height:1;margin-bottom:14px}.notif-prompt-title{font-family:var(--font-rpg);font-size:22px;font-weight:800;color:#f5f3ff;margin:0 0 10px;letter-spacing:.01em}.notif-prompt-body{font-family:Barlow,sans-serif;font-size:14px;font-weight:500;line-height:1.5;color:#9ca3af;margin:0 0 22px}.notif-prompt-actions{display:flex;flex-direction:column;gap:10px}.notif-prompt-btn{all:unset;box-sizing:border-box;cursor:pointer;font-family:Barlow,sans-serif;font-size:14px;font-weight:700;padding:12px 18px;border-radius:12px;text-align:center;transition:transform .1s,opacity .15s}.notif-prompt-btn:disabled{opacity:.6;cursor:not-allowed}.notif-prompt-btn:not(:disabled):active{transform:scale(.97)}.notif-prompt-primary{color:#0d0d12;letter-spacing:.02em}.notif-prompt-secondary{color:#9ca3af;background:transparent;border:1.5px solid #2D2B3D}@media (hover: hover){.notif-prompt-secondary:hover{color:#d1d5db;border-color:#3a3752}}.premium-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.premium-particle{position:absolute;bottom:-8px;border-radius:50%;opacity:var(--pp-opacity);will-change:transform,opacity;animation-name:premium-particle-drift;animation-timing-function:linear;animation-iteration-count:infinite}.premium-particle--twinkle{animation-name:premium-particle-drift,premium-particle-twinkle;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}@keyframes premium-particle-drift{0%{transform:translateY(0)}to{transform:translateY(-115vh)}}@keyframes premium-particle-twinkle{0%,to{opacity:.03}50%{opacity:.08}}@media (prefers-reduced-motion: reduce){.premium-particle{animation:none;opacity:var(--pp-opacity)}}.crown3d-root{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}.crown3d-canvas{display:block;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .3s ease-out}.crown3d-canvas--visible{opacity:1}.crown3d-fallback{height:100%;width:auto;max-width:100%}.crown3d-placeholder-pulse{position:absolute;animation:crown3d-placeholder-pulse 1.6s ease-in-out infinite;will-change:opacity,transform}@keyframes crown3d-placeholder-pulse{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}.crown3d-progress{position:absolute;left:20%;right:20%;bottom:6px;height:3px;border-radius:2px;background:#ffffff1f;overflow:hidden}.crown3d-progress-fill{height:100%;background:#f59e0b;border-radius:2px;transition:width .15s ease-out}@media (prefers-reduced-motion: reduce){.crown3d-canvas{transition:none}.crown3d-placeholder-pulse{animation:none;opacity:.8}}.premoffer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:9501;background:#0a0a0f;display:flex;flex-direction:column;will-change:transform,opacity;animation:premoffer-overlay-in .4s ease-out both}@keyframes premoffer-overlay-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes premoffer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes premoffer-rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes premoffer-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.premoffer-overlay,.premoffer-hero-crown,.premoffer-hero-glow,.premoffer-hero-glow-inner,.premoffer-hero-float,.premoffer-title,.premoffer-subtitle,.premoffer-reason,.premoffer-benefit,.premoffer-plan,.premoffer-cta{animation:none!important;opacity:1!important;transform:none!important}}.premoffer-dismiss{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;z-index:3;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:#9ca3af;opacity:.4;font-size:15px;line-height:1;cursor:pointer}.premoffer-dismiss:active{transform:scale(.94)}.premoffer-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 75% 65% at 50% 38%,#0000,#00000073)}.premoffer-scroll{position:relative;z-index:2;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;padding:calc(7px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom))}.premoffer-inner{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center}.premoffer-hero{position:relative;width:100%;height:200px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.premoffer-hero-glow{position:absolute;top:0;right:0;bottom:0;left:0;will-change:opacity;animation:premoffer-fade-in .3s ease-out .1s both}.premoffer-hero-glow-inner{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 55% 60% at 50% 50%,#f59e0b29,#f59e0b00 70%);will-change:opacity;animation:premoffer-glow-pulse 3s ease-in-out .45s infinite}@keyframes premoffer-glow-pulse{0%,to{opacity:.6}50%{opacity:1}}.premoffer-hero-float{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;will-change:transform;animation:premoffer-hero-bob 4s ease-in-out .6s infinite}@keyframes premoffer-hero-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.premoffer-hero-crown{position:relative;height:100%;width:100%;display:block;-webkit-user-select:none;user-select:none;will-change:transform,opacity;animation:premoffer-crown-in .5s ease-out .1s both}@keyframes premoffer-crown-in{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}80%{transform:scale(.96)}to{transform:scale(1)}}.premoffer-title{margin:4px 0;font-family:var(--font-rpg);font-size:22px;font-weight:700;letter-spacing:-.2px;color:#fff;line-height:1.2;will-change:opacity;animation:premoffer-fade-in .25s ease-out .2s both}.premoffer-subtitle{margin:0;font-size:14.5px;font-weight:500;color:#9ca3af;will-change:opacity;animation:premoffer-fade-in .25s ease-out .2s both}.premoffer-reason{margin:7px 0 0;font-size:12.5px;font-weight:600;color:#9ca3af;will-change:opacity;animation:premoffer-fade-in .25s ease-out .2s both}.premoffer-benefits{list-style:none;margin:19px 0 20px;padding:0;width:100%;display:flex;flex-direction:column}.premoffer-benefit{display:flex;align-items:center;gap:13px;text-align:left;padding:10px 2px;border-top:1px solid rgba(255,255,255,.08);will-change:transform,opacity;animation:premoffer-rise-in .2s ease-out both}.premoffer-benefit:first-child{border-top:none}.premoffer-benefit:nth-child(1){animation-delay:.28s}.premoffer-benefit:nth-child(2){animation-delay:.36s}.premoffer-benefit:nth-child(3){animation-delay:.44s}.premoffer-benefit-icon{flex:0 0 auto;width:24px;text-align:center;font-size:17px;filter:grayscale(.15)}.premoffer-benefit-text{font-size:15px;font-weight:500;color:#fff;line-height:1.35}.premoffer-plans{display:flex;gap:10px;width:100%;margin:4px 0 15px}.premoffer-plan{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;background:#111118;border:1.5px solid rgba(255,255,255,.12);border-radius:14px;padding:15px 10px 12px;cursor:pointer;font:inherit;will-change:transform,opacity;animation:premoffer-scale-in .25s ease-out both}.premoffer-plan:nth-child(1){animation-delay:.48s}.premoffer-plan:nth-child(2){animation-delay:.58s}.premoffer-plan--selected{border-color:#f59e0b}.premoffer-plan-badge{position:absolute;top:-9px;left:50%;transform:translate(-50%);font-family:var(--font-rpg);font-size:9.5px;font-weight:700;letter-spacing:.03em;color:#f59e0b;background:#111118;border:1px solid #F59E0B;border-radius:6px;padding:2px 7px;white-space:nowrap}.premoffer-plan-price{font-family:var(--font-rpg);font-size:21px;font-weight:700;color:#fff}.premoffer-plan-period{font-size:11.5px;font-weight:500;color:#9ca3af}.premoffer-extra{margin:5px 0 12px;font-family:Barlow,sans-serif;font-size:11.5px;font-weight:400;font-style:normal;text-decoration:none;color:#6b7280;text-align:center}.premoffer-cta{width:100%;padding:17px 18px;border:none;border-radius:12px;font-size:16px;font-weight:700;letter-spacing:.1px;color:#fff;background:#f59e0b;cursor:pointer;will-change:opacity;animation:premoffer-fade-in .25s ease-out .6s both}.premoffer-cta:active{transform:scale(.985)}.premoffer-fineprint{margin:10px 0 0;font-size:12px;color:#9ca3af;opacity:.8}
