:root{--font-d:var(--font-display),"Lilita One",sans-serif;--font-m:var(--font-mono),"Spline Sans Mono",monospace;--font-b:var(--font-body),"Hanken Grotesk",sans-serif;--color-bg-h:220;--color-bg-s:15%;--color-bg-l:8%;--color-bg:hsl(var(--color-bg-h),var(--color-bg-s),var(--color-bg-l));--color-bg-deep:hsl(var(--color-bg-h),var(--color-bg-s),calc(var(--color-bg-l) - 3%));--color-bg-card:hsl(var(--color-bg-h),var(--color-bg-s),calc(var(--color-bg-l) + 4%));--color-bg-card-hover:hsl(var(--color-bg-h),var(--color-bg-s),calc(var(--color-bg-l) + 8%));--color-primary-h:36;--color-primary-s:100%;--color-primary-l:55%;--color-primary:hsl(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l));--color-primary-hover:hsl(var(--color-primary-h),var(--color-primary-s),calc(var(--color-primary-l) - 6%));--color-primary-opacity:hsla(var(--color-primary-h),var(--color-primary-s),var(--color-primary-l),0.12);--color-secondary-h:18;--color-secondary-s:95%;--color-secondary-l:52%;--color-secondary:hsl(var(--color-secondary-h),var(--color-secondary-s),var(--color-secondary-l));--color-accent-pink:hsl(352,90%,63%);--color-accent-pink-deep:hsl(348,83%,47%);--color-accent-green:hsl(145,80%,42%);--color-accent-green-deep:hsl(152,87%,30%);--color-rank-gold:#fbbf24;--color-rank-silver:#cbd5e1;--color-rank-silver-dim:#94a3b8;--color-rank-bronze:#b45309;--color-rank-bronze-deep:#78350f;--color-text:#f1f5f9;--color-text-muted:#a8b3c1;--color-text-faint:rgba(255,255,255,0.4);--color-text-header:#ffffff;--color-text-on-primary:#0a0a0c;--color-danger:#f87171;--color-danger-bg:rgba(239,68,68,0.12);--color-danger-border:rgba(239,68,68,0.25);--color-surface-1:rgba(255,255,255,0.015);--color-surface-2:rgba(255,255,255,0.03);--color-surface-3:rgba(255,255,255,0.06);--color-surface-4:rgba(255,255,255,0.1);--color-border-1:rgba(255,255,255,0.03);--color-border-2:rgba(255,255,255,0.05);--color-border-3:rgba(255,255,255,0.08);--color-gold-soft:rgba(255,170,0,0.08);--color-gold-medium:rgba(255,170,0,0.15);--color-gold-strong:rgba(255,170,0,0.25);--color-gold-vivid:rgba(255,170,0,0.45);--glass-bg:linear-gradient(170deg,rgba(28,31,40,0.72),rgba(13,15,20,0.82));--glass-border:rgba(255,255,255,0.08);--glass-border-glow:rgba(255,170,0,0.26);--glass-blur:blur(18px);--glass-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 14px 36px -12px rgba(0,0,0,0.65);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--radius-xs:7px;--radius-sm:11px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--text-2xs:0.65rem;--text-xs:0.7rem;--text-sm:0.8rem;--text-base:0.9rem;--text-md:1rem;--text-lg:1.15rem;--text-xl:1.35rem;--text-2xl:1.6rem;--text-3xl:2.2rem;--z-base:1;--z-overlay:100;--z-nav:1000;--z-modal:2000;--z-toast:3000;--z-particles:9999;--dur-fast:150ms;--dur-base:250ms;--dur-slow:450ms;--ease-snap:cubic-bezier(0.25,1,0.5,1);--ease-bounce:cubic-bezier(0.175,0.885,0.32,1.275);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.15);--focus-ring:0 0 0 3px hsla(var(--color-primary-h),100%,55%,0.4);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--noise-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");--dot-grid:radial-gradient(rgba(255,196,92,0.05) 1px,transparent 1.5px);--dot-grid-size:26px 26px;--btn-edge:hsl(22,90%,30%)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(0,0,0,.2)}::-webkit-scrollbar-thumb{background:var(--color-gold-strong);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}body{background-color:var(--color-bg-deep);overflow:hidden;height:100vh;width:100vw;margin:0}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}input,select,textarea{width:100%;padding:12px 16px;background:var(--color-surface-2);border:1px solid var(--color-border-3);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text);transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}input::placeholder,textarea::placeholder{color:var(--color-text-faint)}input:focus,select:focus,textarea:focus{background:var(--color-surface-3);border-color:var(--color-primary);box-shadow:0 0 10px var(--color-gold-medium),var(--focus-ring)}.app-viewport-shell{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 10% 20%,rgba(255,170,0,.04) 0,transparent 40%),radial-gradient(circle at 90% 80%,rgba(244,63,94,.03) 0,transparent 45%),var(--color-bg-deep);transition:all var(--dur-base) ease}.app-viewport-shell:after,.auth-container:after,.landing:after,.share-public-shell:after{content:"";position:fixed;inset:0;background-image:var(--noise-url);background-size:160px 160px;opacity:.035;pointer-events:none;z-index:2}.app-container{display:flex;flex-direction:column;width:100%;height:100%;padding-top:var(--safe-top);padding-bottom:0;position:relative;background:var(--dot-grid),radial-gradient(circle at 50% -20%,hsla(var(--color-primary-h),100%,30%,.14) 0,transparent 60%),radial-gradient(circle at 10% 80%,hsla(var(--color-secondary-h),100%,30%,.05) 0,transparent 40%),radial-gradient(circle at 100% 100%,hsla(352,70%,40%,.05) 0,transparent 35%),var(--color-bg);background-size:var(--dot-grid-size),auto,auto,auto,auto;overflow:hidden;transition:all var(--dur-base) var(--ease-spring)}.app-viewport{flex:1 1;width:100%;overflow-y:hidden;position:relative}@keyframes riseIn{0%{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-container>*,.view-container>*{animation:riseIn .55s var(--ease-snap) both;flex-shrink:0}.profile-container>:first-child,.view-container>:first-child{animation-delay:0s}.profile-container>:nth-child(2),.view-container>:nth-child(2){animation-delay:60ms}.profile-container>:nth-child(3),.view-container>:nth-child(3){animation-delay:.12s}.profile-container>:nth-child(4),.view-container>:nth-child(4){animation-delay:.18s}.profile-container>:nth-child(5),.view-container>:nth-child(5){animation-delay:.24s}.profile-container>:nth-child(6),.view-container>:nth-child(6){animation-delay:.3s}.profile-container>:nth-child(n+7),.view-container>:nth-child(n+7){animation-delay:.35s}@media (min-width:600px){.app-viewport-shell{background:radial-gradient(circle at 20% 30%,rgba(255,170,0,.07) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(225,29,72,.05) 0,transparent 50%),var(--color-bg-deep)}.profile-container,.view-container{max-width:720px;margin-inline:auto}}.side-nav{display:none}@media (min-width:900px){.app-viewport-shell{background:radial-gradient(circle at 15% 25%,rgba(255,170,0,.05) 0,transparent 45%),radial-gradient(circle at 85% 75%,rgba(225,29,72,.04) 0,transparent 45%),var(--color-bg-deep);padding:0}.app-container{display:grid;grid-template-columns:240px 1fr;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;border:0;box-shadow:none}.app-viewport{overflow-y:auto;-webkit-overflow-scrolling:touch;grid-column:2}.profile-container,.view-container{height:auto;min-height:100%;max-width:760px;padding:var(--space-6) var(--space-6) var(--space-7);overflow:visible}.bottom-nav-container{display:none}.side-nav{display:flex;flex-direction:column;grid-column:1;grid-row:1;height:100vh;padding:var(--space-5) var(--space-4) var(--space-4);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);gap:var(--space-4);position:-webkit-sticky;position:sticky;top:0}}.side-nav-brand{display:flex;align-items:center;justify-content:flex-start;padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur-fast) ease}.side-nav-brand:hover{background:var(--color-surface-2)}.side-nav-brand,.side-nav-item,.side-nav-log-cta{text-decoration:none}.side-nav-brand-wordmark{display:block;height:40px;width:auto;max-width:100%}.side-nav-log-cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px var(--space-4);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-text-on-primary);font-family:var(--font-b);font-weight:800;font-size:var(--text-base);text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);box-shadow:0 6px 20px var(--color-gold-strong);transition:all var(--dur-base) var(--ease-bounce);cursor:pointer}.side-nav-log-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px var(--color-gold-vivid);filter:brightness(1.05)}.side-nav-log-cta:active{transform:translateY(0);filter:brightness(.92)}.side-nav-log-cta.active{box-shadow:0 0 24px var(--color-gold-vivid),0 4px 12px rgba(0,0,0,.4)}.side-nav-list{display:flex;flex-direction:column;gap:var(--space-1)}.side-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);font-family:var(--font-m);font-weight:600;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;text-align:left;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-snap)}.side-nav-item:hover{background:var(--color-surface-2);color:var(--color-text);transform:translateX(2px)}.side-nav-item.active{background:var(--color-primary-opacity);color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.side-nav-icon{position:relative;display:inline-flex;width:28px;height:28px}.side-nav-badge,.side-nav-icon{align-items:center;justify-content:center}.side-nav-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-accent-pink);color:var(--color-text-header);font-size:.6rem;font-weight:800;display:flex;box-shadow:0 0 8px rgba(225,29,72,.5)}.side-nav-footer{margin-top:auto;padding:var(--space-3);background:var(--color-surface-1);border:1px solid var(--color-border-2);border-radius:var(--radius-md)}.side-nav-footer,.side-nav-user{display:flex;align-items:center;gap:var(--space-2)}.side-nav-user{flex:1 1;cursor:pointer;min-width:0;background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;transition:opacity var(--dur-fast) ease}.side-nav-user:hover{opacity:.85}.side-nav-user-avatar{width:32px;height:32px;border-radius:50%;object-fit:contain;flex-shrink:0}.side-nav-art{width:22px;height:22px;object-fit:contain;opacity:.72;transition:opacity var(--dur-base) ease}.side-nav-item.active .side-nav-art{opacity:1}.side-nav-user-text{display:flex;flex-direction:column;min-width:0}.side-nav-user-name{font-family:var(--font-b);font-weight:800;font-size:var(--text-sm);color:var(--color-text-header);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav-user-streak{font-size:var(--text-2xs);font-weight:800;color:var(--color-primary);margin-top:1px}.side-nav-logout{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border-2);color:var(--color-text-muted);cursor:pointer;transition:all var(--dur-fast) ease}.side-nav-logout:hover{color:var(--color-accent-pink);background:rgba(239,68,68,.06);border-color:var(--color-danger-border)}.glass-panel{border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);transition:transform var(--dur-base) ease,border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.glass-panel,.glass-panel-glow{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.glass-panel-glow{border:1px solid var(--glass-border-glow);box-shadow:0 0 20px rgba(255,170,0,.12),var(--glass-shadow);border-radius:var(--radius-md);transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.scorebug{flex-direction:column;padding:var(--space-3) var(--space-1) var(--space-2);padding-top:max(var(--space-3),var(--safe-top));margin-bottom:var(--space-4)}.scorebug,.scorebug-eyebrow{display:flex;gap:var(--space-2)}.scorebug-eyebrow{align-items:center;font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary)}.scorebug-eyebrow:after{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,var(--color-gold-medium),transparent)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 8px var(--color-primary);animation:pulse 1.4s infinite alternate;flex-shrink:0}.scorebug-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.scorebug-title{font-family:var(--font-d);font-weight:400;font-size:clamp(1.7rem,6vw,2.3rem);line-height:1;letter-spacing:.01em;color:var(--color-text-header);text-shadow:0 2px 0 rgba(0,0,0,.45),0 8px 28px rgba(255,170,0,.22)}.scorebug-sub{font-size:var(--text-sm);color:var(--color-text-muted);max-width:52ch}.btn-primary{background:linear-gradient(180deg,hsl(42,100%,58%),var(--color-primary) 45%,var(--color-secondary));color:var(--color-text-on-primary);font-family:var(--font-d);font-weight:400;font-size:var(--text-base);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 0 var(--btn-edge),0 10px 24px -6px var(--color-gold-vivid);transition:transform var(--dur-fast) var(--ease-snap),box-shadow var(--dur-fast) var(--ease-snap),filter var(--dur-fast) ease}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 5px 0 var(--btn-edge),0 14px 28px -6px var(--color-gold-vivid)}.btn-primary:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 1px 0 var(--btn-edge),0 4px 12px -4px var(--color-gold-strong)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:0 4px 0 rgba(0,0,0,.3)!important}.btn-secondary{padding:12px 24px;background:var(--color-surface-2);border:1px solid var(--color-border-3);border-radius:var(--radius-sm);font-family:var(--font-m);font-weight:600;font-size:var(--text-sm);color:var(--color-text-header);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--dur-fast) ease;text-transform:uppercase;letter-spacing:.04em}.btn-secondary:hover{background:var(--color-surface-3);border-color:var(--color-surface-4);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:active,.stat-chip{background:var(--color-surface-2)}.stat-chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 10px;border-radius:var(--radius-xs);border:1px solid var(--color-border-2);font-family:var(--font-m);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.stat-chip strong{font-family:var(--font-m);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-header)}.stat-chip.gold{border-color:var(--color-gold-medium);background:var(--color-gold-soft)}.stat-chip.gold,.stat-chip.gold strong{color:var(--color-primary)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes heatwave{0%{filter:url(#heat-distort) drop-shadow(0 0 6px rgba(255,90,0,.6));transform:scale(1)}50%{filter:url(#heat-distort) drop-shadow(0 0 15px rgba(255,160,0,.9));transform:scale(1.04) rotate(1.5deg)}to{filter:url(#heat-distort) drop-shadow(0 0 6px rgba(255,90,0,.6));transform:scale(1)}}.sweaty-flame{animation:heatwave 2s ease-in-out infinite;cursor:pointer}@keyframes butterWave{0%{transform:translateX(0) translateZ(0) scaleY(1)}50%{transform:translateX(-25%) translateZ(0) scaleY(1.05)}to{transform:translateX(-50%) translateZ(0) scaleY(1)}}.liquid-wave{animation:butterWave 4.5s linear infinite;transform-origin:center bottom}@keyframes butterSplash{0%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.22) rotate(6deg);filter:brightness(1.2)}50%{transform:scale(.88) rotate(-4deg)}70%{transform:scale(1.06) rotate(1deg)}to{transform:scale(1) rotate(0)}}.butter-reactive{transition:all var(--dur-base) var(--ease-bounce)}.butter-reactive.active{animation:butterSplash .5s var(--ease-bounce)}@keyframes logoPulse{0%{transform:scale(1);box-shadow:0 0 16px rgba(255,170,0,.08)}to{transform:scale(1.06);box-shadow:0 0 32px var(--color-gold-strong)}}@keyframes pulse{0%{opacity:.4}to{opacity:1}}@keyframes capturePulse{0%{box-shadow:0 0 10px rgba(255,170,0,.05)}to{box-shadow:0 0 30px var(--color-gold-strong)}}@keyframes panWobble{0%{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-8px) rotate(5deg)}}@keyframes bubbleUp{0%{transform:translateY(10px) scale(.5);opacity:0}50%{opacity:.8}to{transform:translateY(-20px) scale(1.2);opacity:0}}@keyframes slideInPR{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes latestPulse{0%{r:5;opacity:.2}to{r:12;opacity:.8}}@keyframes particleFloat{0%{transform:translateY(100px) scale(0) rotate(0deg);opacity:1}50%{opacity:1}to{transform:translateY(-200px) scale(1.5) rotate(1turn);opacity:0}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes slideUpContent{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes topBarSlide{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.top-progress-bar{position:absolute;top:0;left:0;right:0;height:2px;background:transparent;overflow:hidden;z-index:var(--z-toast);pointer-events:none}.top-progress-bar-track{width:50%;height:100%;background:linear-gradient(90deg,transparent 0,var(--color-primary) 50%,transparent 100%);box-shadow:0 0 10px var(--color-gold-vivid);animation:topBarSlide 1.1s ease-in-out infinite}.spinner-icon{animation:spin 1s linear infinite}.auth-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-5);overflow:hidden;background:radial-gradient(circle at 50% -20%,hsla(var(--color-primary-h),100%,30%,.18) 0,transparent 65%),radial-gradient(circle at 80% 80%,hsla(var(--color-accent-pink),100%,30%,.05) 0,transparent 40%),var(--color-bg)}.auth-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.22;pointer-events:none;z-index:0;filter:blur(2px) saturate(1.1)}.auth-clerk-stage,.auth-container>.auth-box{position:relative;z-index:1}.auth-clerk-stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);max-height:100%;overflow-y:auto;padding:var(--space-4) 0}.onboarding-title{text-align:center;font-family:var(--font-d);font-weight:400;font-size:1.35rem;letter-spacing:.02em;color:var(--color-text-header,var(--color-text))}.auth-box{width:100%;max-width:380px;padding:var(--space-7) var(--space-6);gap:var(--space-6)}.auth-box,.auth-logo-row{display:flex;flex-direction:column}.auth-logo-row{align-items:center;text-align:center;gap:var(--space-2)}.auth-wordmark{display:block;width:240px;max-width:80%;height:auto}.logo-sparkle-glow{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--color-gold-soft);border:1px solid var(--color-gold-medium);box-shadow:0 0 20px var(--color-gold-soft);margin-bottom:var(--space-2);animation:logoPulse 3s ease-in-out infinite alternate}.auth-logo-row p{font-family:var(--font-m);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.34em;color:var(--color-primary);text-shadow:0 0 14px var(--color-gold-medium)}.auth-form-body{display:flex;flex-direction:column;gap:var(--space-4)}.auth-error-banner{padding:var(--space-3);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--text-sm);font-weight:600;text-align:center}.auth-field-hint{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:2px;padding-left:2px}.auth-field-hint.error{color:var(--color-danger)}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:44px}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;color:var(--color-text-muted);transition:color var(--dur-fast) ease}.password-toggle-btn:hover{color:var(--color-text)}.chunky-generator-box{background:var(--color-surface-1);border:1px solid var(--color-border-1);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.generator-title{display:flex;align-items:center;gap:6px}.generator-title h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.avatar-picker-section{display:flex;flex-direction:column;gap:var(--space-2)}.picker-lbl,.preview-lbl{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--color-text-muted)}.avatar-emojis{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.avatar-choice{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--color-surface-1);border:1px solid var(--color-border-1);display:flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;transition:all var(--dur-base) var(--ease-bounce)}.avatar-choice img{width:100%;height:100%;object-fit:contain;display:block}.avatar-choice:hover{background:var(--color-surface-3);transform:scale(1.1)}.avatar-choice.active{background:var(--color-primary-opacity);border-color:var(--color-primary);box-shadow:0 0 12px var(--color-gold-strong);transform:scale(1.12)}.handle-generator-section{display:flex;flex-direction:column;gap:var(--space-3)}.handle-row{display:flex;justify-content:space-between;align-items:center}.generated-handle{font-family:var(--font-b);font-weight:900;font-size:var(--text-base);color:var(--color-primary);display:inline-flex;align-items:center;gap:var(--space-1)}.handle-avatar{vertical-align:middle}.handle-gen-btn{padding:var(--space-2) var(--space-3)!important;font-size:var(--text-xs)!important;border-radius:10px!important}.auth-submit-btn{width:100%;padding:14px}.auth-footer-toggle{text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.auth-footer-toggle button{color:var(--color-primary);font-weight:800;text-decoration:underline;transition:color var(--dur-fast) ease;background:none;border:none;cursor:pointer;padding:0;margin-left:2px}.auth-footer-toggle button:hover{color:var(--color-primary-hover)}.bottom-nav-container{position:fixed;bottom:0;left:0;right:0;padding:var(--space-2) var(--space-4) calc(var(--space-3) + var(--safe-bottom));z-index:var(--z-nav);pointer-events:none}.bottom-nav-glass{justify-content:space-around;height:64px;padding:0 var(--space-2);border-radius:26px;pointer-events:auto;border-top-color:var(--color-gold-medium);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 -8px 32px -12px rgba(255,170,0,.2),0 14px 36px -10px rgba(0,0,0,.8)}.bottom-nav-glass,.nav-tab-btn{display:flex;align-items:center;position:relative}.nav-tab-btn{flex-direction:column;justify-content:center;flex:1 1;height:100%;gap:var(--space-1);color:var(--color-text-muted);transition:all var(--dur-base) var(--ease-bounce)}.nav-center-btn,.nav-tab-btn{text-decoration:none}.nav-tab-icon-wrapper{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:all var(--dur-base) ease;position:relative}.nav-tab-art{width:22px;height:22px;object-fit:contain;opacity:.72;transition:opacity var(--dur-base) ease,transform var(--dur-base) ease}.nav-tab-btn.active{color:var(--color-primary)}.nav-tab-btn.active .nav-tab-icon-wrapper{background:var(--color-primary-opacity);transform:translateY(-2px) scale(1.1)}.nav-tab-btn.active .nav-tab-art{opacity:1}.nav-tab-label{font-family:var(--font-m);font-size:.56rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.nav-badge-dot{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-accent-pink);color:var(--color-text-header);font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-bg);box-shadow:0 0 8px rgba(225,29,72,.5)}.nav-center-btn{position:relative;width:72px;height:72px;margin-top:-36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:4px solid var(--color-bg);box-shadow:0 0 20px var(--color-gold-vivid),var(--glass-shadow);pointer-events:auto;cursor:pointer;transition:all var(--dur-base) var(--ease-bounce)}.nav-center-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-on-primary);transition:transform var(--dur-base) ease}.nav-center-art{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(0,0,0,.35))}.nav-center-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 0 28px rgba(255,170,0,.6),var(--glass-shadow)}.nav-center-btn:active{transform:translateY(-2px) scale(.95)}.nav-center-btn.active{transform:translateY(-6px) scale(1.08);background:linear-gradient(135deg,var(--color-accent-pink),var(--color-secondary));box-shadow:0 0 24px rgba(255,50,100,.5),var(--glass-shadow)}.nav-center-btn.active .nav-center-inner{transform:rotate(45deg)}.streak-container{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);width:100%;max-width:320px;margin:0 auto}.flame-wrapper{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.flame-svg{width:100%;height:100%}.streak-count{position:absolute;font-family:var(--font-b);font-weight:900;font-size:1.3rem;color:var(--color-text-on-primary);margin-top:18px;text-shadow:0 1px 2px rgba(255,255,255,.4)}.streak-readout{display:flex;flex-direction:column}.streak-title{font-family:var(--font-b);font-weight:800;font-size:var(--text-md);color:var(--color-text-header);display:flex;align-items:center;gap:var(--space-1)}.streak-description{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.butter-gauge-container{flex-direction:column;padding:var(--space-5);position:relative;overflow:hidden;max-width:320px;margin:0 auto}.butter-gauge-container,.gauge-header{display:flex;align-items:center;width:100%}.gauge-header{justify-content:space-between;margin-bottom:var(--space-3)}.gauge-header h3{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.gauge-percentage{font-family:var(--font-b);font-weight:800;font-size:var(--text-lg);color:var(--color-primary);text-shadow:0 0 10px var(--color-gold-strong)}.gauge-body{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center}.gauge-svg{width:100%;height:100%}.gauge-track{fill:rgba(13,15,20,.8);stroke:var(--color-border-1);stroke-width:1px}.gauge-rim{fill:none;stroke:var(--color-gold-medium);stroke-width:1.5px}.gauge-text-overlay{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;z-index:5}.calories-number{font-family:var(--font-b);font-weight:900;font-size:var(--text-3xl);line-height:1.8rem;color:var(--color-text-header);text-shadow:0 2px 10px rgba(0,0,0,.8)}.calories-label{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);margin-top:var(--space-1);text-shadow:0 1px 4px rgba(0,0,0,.8)}.gauge-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:6px var(--space-3);background:var(--color-surface-2);border-radius:var(--radius-md);border:1px solid var(--color-border-2)}.status-indicator{width:6px;height:6px;border-radius:50%;background-color:var(--color-primary);box-shadow:0 0 8px var(--color-primary);animation:pulse 1.5s infinite alternate}.gauge-complete .status-indicator{background-color:var(--color-accent-green);box-shadow:0 0 8px var(--color-accent-green)}.status-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text)}.gauge-complete .status-label{color:var(--color-accent-green)}.heatmap-container{padding:var(--space-5);width:100%;max-width:320px;margin:0 auto}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.heatmap-header h4{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.heatmap-month{font-size:var(--text-sm);font-weight:700;color:var(--color-text-header)}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:var(--space-4)}.heatmap-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:var(--text-xs);font-weight:700;transition:all var(--dur-fast) ease;cursor:pointer;position:relative}.heatmap-day:hover{transform:scale(1.15);z-index:var(--z-overlay);box-shadow:0 4px 12px rgba(0,0,0,.5)}.day-number{opacity:.6}.level-none{background-color:var(--color-surface-2);border:1px solid var(--color-border-2);color:var(--color-text-muted)}.level-low{background-color:hsla(36,100%,55%,.15);border:1px solid hsla(36,100%,55%,.1);color:hsla(36,100%,80%,.8)}.level-medium{background-color:hsla(36,100%,55%,.35);border:1px solid hsla(36,100%,55%,.25)}.level-high,.level-medium{color:var(--color-text-header)}.level-high{background-color:hsla(20,100%,48%,.65);border:1px solid hsla(20,100%,48%,.4);box-shadow:0 0 8px hsla(20,100%,48%,.2)}.level-epic{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-text-on-primary);font-weight:900;box-shadow:0 0 12px var(--color-gold-vivid);border:1px solid rgba(255,255,255,.3)}.level-epic .day-number{opacity:1;text-shadow:0 1px 2px rgba(255,255,255,.4)}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border-2)}.legend-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em}.legend-blocks{display:flex;gap:var(--space-1)}.legend-block{width:12px;height:12px;border-radius:3px}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(5,5,8,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal);animation:fadeInBackdrop var(--dur-base) ease-out}.modal-content{width:100%;max-height:85vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-6);display:flex;flex-direction:column;border-bottom:none;animation:slideUpContent var(--dur-base) var(--ease-spring)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-2)}.modal-header h3{font-size:var(--text-xl);color:var(--color-text-header);font-family:var(--font-d);font-weight:400;letter-spacing:.02em}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border-2);color:var(--color-text-muted);transition:all var(--dur-fast) ease}.close-btn:hover{color:var(--color-text-header);background:var(--color-surface-4)}.modal-body{overflow-y:auto;flex:1 1;padding-bottom:var(--safe-bottom)}@media (min-width:600px){.modal-backdrop{align-items:center}.modal-content{width:90%;max-width:480px;border-radius:var(--radius-lg);border-bottom:1px solid var(--glass-border-glow);animation:fadeInScale var(--dur-base) var(--ease-spring)}}.view-container{display:flex;flex-direction:column;height:100%;width:100%;max-width:480px;margin:0 auto;padding:var(--space-4) var(--space-4) calc(64px + var(--space-2) + var(--space-3) + var(--safe-bottom) + var(--space-5));overflow-y:auto;-webkit-overflow-scrolling:touch}.toggle-group{display:flex;background:var(--color-surface-2);border-radius:var(--radius-md);padding:3px;border:1px solid var(--color-border-2)}.toggle-btn{font-size:var(--text-xs);font-weight:700;padding:6px 14px;border-radius:17px;color:var(--color-text-muted);transition:all var(--dur-fast) ease}.toggle-btn.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-text-on-primary);box-shadow:0 2px 8px var(--color-gold-strong)}.view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);margin-bottom:var(--space-4);padding-top:max(var(--space-3),var(--safe-top))}.view-header h2{font-size:var(--text-xl);color:var(--color-text-header)}.loader-wobble{width:32px;height:32px;border-radius:50%;border:3px solid var(--color-gold-soft);border-top-color:var(--color-primary);animation:spin 1s linear infinite}.empty-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:var(--text-base);gap:var(--space-4)}.empty-panel .empty-emoji{font-size:2.5rem}.empty-panel .empty-headline{font-family:var(--font-b);font-weight:800;color:var(--color-text-header);font-size:var(--text-md)}.empty-panel .empty-cta{font-size:var(--text-sm);font-weight:700;color:var(--color-primary);background:var(--color-primary-opacity);border:1px solid var(--color-gold-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer}.empty-art-panel{gap:var(--space-3)}.empty-art{width:180px;max-width:60%;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 4px 18px rgba(255,170,0,.18))}.empty-panel .empty-body{font-size:var(--text-sm);color:var(--color-text-muted);max-width:36ch;margin:0 auto;line-height:1.5}.food-avatar{display:inline-block;vertical-align:middle;object-fit:contain;flex-shrink:0}.skeleton{background:linear-gradient(90deg,var(--color-bg-card) 0,var(--color-surface-3) 50%,var(--color-bg-card) 100%);background-size:200% 100%;animation:skeletonShimmer 1.4s linear infinite;border-radius:var(--radius-sm)}.feed-toggle{display:flex;background:var(--color-surface-2);border-radius:var(--radius-md);padding:3px;border:1px solid var(--color-border-2)}.today-hud{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);position:relative;overflow:hidden}.today-hud:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 0 0,rgba(255,170,0,.1) 0,transparent 55%);pointer-events:none}.hud-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2);position:relative}.hud-label{font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}.hud-value-row{display:flex;align-items:baseline;gap:var(--space-2)}.hud-value{font-family:var(--font-m);font-weight:700;font-size:clamp(1.7rem,7vw,2.2rem);line-height:1;color:var(--color-text-header);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 0 24px rgba(255,170,0,.35)}.hud-goal{font-family:var(--font-m);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.hud-meter{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border-2);overflow:hidden}.hud-meter-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));box-shadow:0 0 12px var(--color-gold-strong);transition:width .8s var(--ease-snap)}.hud-meter.complete .hud-meter-fill{background:linear-gradient(90deg,var(--color-accent-green),var(--color-accent-green-deep));box-shadow:0 0 12px rgba(16,185,129,.5)}.hud-side{flex-direction:column;align-items:flex-end;justify-content:space-between;position:relative}.hud-chips,.hud-side{display:flex;gap:var(--space-2)}.hud-chips{flex-wrap:wrap;justify-content:flex-end}.hud-log-btn{padding:8px 16px;font-size:var(--text-sm);white-space:nowrap}@media (max-width:420px){.today-hud{flex-direction:column}.hud-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%}}.feed-wall{gap:var(--space-5)}.feed-card,.feed-wall{display:flex;flex-direction:column}.feed-card{overflow:hidden;animation:riseIn .55s var(--ease-snap) both;transition:transform var(--dur-base) var(--ease-snap),border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.feed-card:hover{transform:translateY(-3px);border-color:var(--glass-border-glow);box-shadow:0 0 0 1px var(--color-gold-soft),0 22px 44px -18px rgba(0,0,0,.9),0 0 32px -12px var(--color-gold-strong)}.card-user-info{display:flex;align-items:center;padding:var(--space-4);gap:var(--space-3)}.user-avatar{width:44px;height:44px;object-fit:contain;flex-shrink:0}.user-text{display:flex;flex-direction:column;flex-grow:1}.username-row{display:flex;align-items:center;gap:6px}.username{font-weight:700;font-family:var(--font-b);color:var(--color-text-header);font-size:var(--text-base)}.user-streak{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);font-weight:800;background:var(--color-primary-opacity);color:var(--color-primary);padding:2px 6px;border-radius:10px;border:1px solid var(--color-gold-medium)}.time-elapsed{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:1px}.calorie-badge{display:flex;flex-direction:column;align-items:flex-end;background:linear-gradient(160deg,var(--color-accent-pink),var(--color-accent-pink-deep));color:var(--color-text-header);padding:6px 12px 5px;border-radius:var(--radius-xs);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 5px 14px rgba(225,29,72,.3);-webkit-clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}.calorie-badge-num{font-family:var(--font-m);font-weight:700;font-size:var(--text-md);line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.35)}.calorie-badge-unit{font-family:var(--font-m);font-size:.55rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.85}.card-photo-container{position:relative;width:100%;aspect-ratio:4/3;background:var(--color-bg-deep);overflow:hidden;border-top:1px solid var(--color-border-1);border-bottom:1px solid var(--color-border-1)}.card-food-image{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-snap)}.feed-card:hover .card-food-image{transform:scale(1.035)}.card-food-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(255,170,0,.1) 0,transparent 70%);font-size:4rem}.food-name-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(7,8,12,.95),rgba(7,8,12,.4) 60%,transparent);padding:var(--space-4)}.food-name-overlay h4{font-size:var(--text-xl);font-family:var(--font-d);font-weight:400;letter-spacing:.015em;color:var(--color-text-header);text-shadow:0 2px 0 rgba(0,0,0,.5),0 4px 18px rgba(0,0,0,.6)}.card-commentary{padding:14px var(--space-4);background:var(--color-surface-1);border-bottom:1px solid var(--color-border-1)}.ai-commentary-text{font-size:var(--text-sm);line-height:1.35rem;color:var(--color-text);font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ai-sparkle{font-weight:800;color:var(--color-primary);font-family:var(--font-b);font-style:normal;margin-right:var(--space-1)}.card-actions{padding:10px var(--space-4);gap:var(--space-4)}.action-btn,.card-actions{display:flex;align-items:center}.action-btn{gap:6px;font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted);transition:all var(--dur-fast) ease}.action-icon{font-size:1.15rem;line-height:1}.action-label-small,.butter-btn{font-size:var(--text-xs)}.butter-btn{padding:8px 16px;background:var(--color-surface-2);border:1px solid var(--color-border-3);border-radius:var(--radius-pill);font-family:var(--font-m);text-transform:uppercase;letter-spacing:.06em}.butter-btn:hover{color:var(--color-text-header);background:var(--color-gold-soft);border-color:var(--color-gold-medium);transform:translateY(-1px)}.butter-btn.active{background:linear-gradient(180deg,var(--color-gold-strong),rgba(255,120,0,.22));border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 14px var(--color-gold-strong),inset 0 1px 0 rgba(255,255,255,.15)}.text-muted-btn:hover{color:var(--color-text-header)}.text-muted-btn:disabled{opacity:.4;cursor:not-allowed}.reaction-count{font-family:var(--font-b);font-weight:800;font-size:var(--text-xs);margin-left:2px}.feed-empty,.feed-error,.feed-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-7);text-align:center;color:var(--color-text-muted);font-size:var(--text-base);gap:var(--space-4)}.butter-loader{width:40px;height:40px;border-radius:50%;border:3px solid var(--color-gold-soft);border-top-color:var(--color-primary);animation:spin 1s linear infinite}.discussion-modal-body{display:flex;flex-direction:column;gap:var(--space-4)}.discussion-food-summary{padding:14px;border-color:var(--glass-border-glow)}.food-summary-row{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-2)}.summary-avatar{width:40px;height:40px;object-fit:contain}.summary-user-text{display:flex;flex-direction:column;flex-grow:1}.summary-username{font-weight:800;font-size:var(--text-sm);color:var(--color-text-header)}.summary-calories{font-weight:800;font-size:var(--text-xs);color:var(--color-primary)}.summary-food-name{font-size:var(--text-md);color:var(--color-text-header);font-family:var(--font-b);margin-bottom:var(--space-1)}.summary-commentary{font-size:var(--text-sm);line-height:1.15rem;color:var(--color-text-muted);font-style:italic}.discussion-comments-list{display:flex;flex-direction:column;gap:var(--space-2)}.discussion-comments-list h5{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.comments-scroller{display:flex;flex-direction:column;gap:var(--space-2);max-height:220px;overflow-y:auto;padding-right:var(--space-1)}.comment-bubble{padding:10px var(--space-3);background:var(--color-surface-1)}.comment-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.comment-avatar{width:28px;height:28px;object-fit:contain}.comment-username{font-weight:700;font-size:var(--text-sm);color:var(--color-text-header)}.comment-time{font-size:var(--text-2xs);color:var(--color-text-muted);margin-left:auto}.comment-content{font-size:var(--text-sm);line-height:1.15rem;color:var(--color-text);word-break:break-word}.no-comments-msg{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-4) var(--space-2)}.comment-input-form{display:flex;flex-direction:column;gap:10px}.comment-input-form textarea{height:64px;font-size:var(--text-sm);resize:none}.comment-post-btn{padding:10px!important;font-size:var(--text-sm)!important;width:100%}.comments-loading{display:flex;justify-content:center;padding:var(--space-4)}.log-body{flex:1 1}.capture-box,.log-body{display:flex;flex-direction:column;justify-content:center}.capture-box{align-items:center;text-align:center;aspect-ratio:1;padding:var(--space-7);cursor:pointer;border:1.5px dashed var(--color-gold-medium);transition:all var(--dur-base) var(--ease-spring);position:relative;overflow:hidden}.capture-box:hover{border-color:var(--color-primary);background:rgba(255,170,0,.03);transform:scale(1.015)}.capture-box:hover .vf-corner{width:34px;height:34px;opacity:1}.vf-corner{position:absolute;width:26px;height:26px;border:2.5px solid var(--color-primary);opacity:.7;transition:all var(--dur-base) var(--ease-snap);pointer-events:none}.vf-tl{top:12px;left:12px;border-right:none;border-bottom:none;border-top-left-radius:8px}.vf-tr{top:12px;right:12px;border-left:none;border-bottom:none;border-top-right-radius:8px}.vf-bl{bottom:12px;left:12px;border-right:none;border-top:none;border-bottom-left-radius:8px}.vf-br{bottom:12px;right:12px;border-left:none;border-top:none;border-bottom-right-radius:8px}@keyframes vfScan{0%{top:8%;opacity:0}12%{opacity:.55}88%{opacity:.55}to{top:90%;opacity:0}}.vf-scanline{position:absolute;left:10%;right:10%;height:1.5px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);box-shadow:0 0 14px var(--color-gold-vivid);animation:vfScan 3.4s ease-in-out infinite;pointer-events:none}.capture-title{font-family:var(--font-d);font-weight:400;letter-spacing:.03em}.capture-icon-glow{width:80px;height:80px;border-radius:50%;background:var(--color-gold-soft);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6);box-shadow:0 0 20px var(--color-gold-soft);animation:capturePulse 2s infinite alternate}.capture-box h3{font-family:var(--font-b);font-weight:800;font-size:var(--text-xl);color:var(--color-text-header);margin-bottom:var(--space-2)}.capture-box p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.3rem;max-width:280px;margin-bottom:var(--space-6)}.gallery-link-btn{font-size:var(--text-sm);font-weight:700;color:var(--color-primary);display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-4);background:var(--color-primary-opacity);border-radius:var(--radius-md);border:1px solid var(--color-gold-medium);transition:all var(--dur-fast) ease;cursor:pointer}.gallery-link-btn:hover{background:var(--color-gold-strong);transform:translateY(-1px)}.preview-box{display:flex;flex-direction:column;padding:var(--space-4)}.image-preview-container{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:#000;border:1px solid var(--color-border-2)}.image-preview-container img{width:100%;height:100%;object-fit:cover}.remove-preview-btn{position:absolute;top:var(--space-3);right:var(--space-3);width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-text-header);font-weight:700;display:flex;align-items:center;justify-content:center}.btn-submit-food{margin-top:var(--space-4);width:100%}.capture-disclaimer{margin-top:var(--space-3);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted)}.barcode-scan-box{padding:var(--space-4)}.barcode-viewport{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-2)}.barcode-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.barcode-reticle{position:absolute;left:12%;right:12%;top:38%;bottom:38%;border-radius:var(--radius-sm);border:2px solid var(--color-primary);box-shadow:0 0 0 9999px rgba(0,0,0,.5),0 0 18px var(--color-gold-vivid);pointer-events:none;animation:barcodePulse 1.6s ease-in-out infinite}.barcode-status{margin-top:var(--space-3);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}@keyframes barcodePulse{0%,to{box-shadow:0 0 0 9999px rgba(0,0,0,.55),0 0 14px var(--color-gold-strong)}50%{box-shadow:0 0 0 9999px rgba(0,0,0,.45),0 0 26px var(--color-gold-vivid)}}.barcode-prefill-hint{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-primary-opacity);border:1px solid var(--color-gold-medium);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.2rem;margin-bottom:var(--space-3)}.barcode-prefill-hint strong{color:var(--color-primary);font-weight:800}.grease-loader{flex-direction:column;padding:var(--space-8) var(--space-7);text-align:center}.grease-loader,.loader-pan{display:flex;align-items:center;justify-content:center}.loader-pan{position:relative;font-size:3rem;margin-bottom:var(--space-6);width:80px;height:80px;background:var(--color-gold-soft);border-radius:50%;box-shadow:inset 0 0 10px var(--color-gold-soft)}.loader-pan span,.loader-pan-art{animation:panWobble .6s cubic-bezier(.45,0,.55,1) infinite alternate}.loader-pan-art{width:64px;height:64px;object-fit:contain}.bubble-drop{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--color-primary);opacity:.6}.bubble-1{top:20px;left:15px;animation:bubbleUp 1s .2s infinite}.bubble-2{top:15px;right:20px;animation:bubbleUp 1.2s .5s infinite}.bubble-3{bottom:25px;left:40px;animation:bubbleUp .8s 0s infinite}.loader-status{font-size:var(--text-base);font-weight:800;color:var(--color-text-header);font-family:var(--font-b);letter-spacing:.02em;text-transform:uppercase}.result-card{padding:var(--space-6);overflow:hidden}.result-card,.success-banner{display:flex;flex-direction:column}.success-banner{align-items:center;text-align:center;margin-bottom:var(--space-5)}.success-banner h3{font-family:var(--font-d);font-weight:400;font-size:var(--text-2xl);letter-spacing:.04em;color:var(--color-accent-green);margin-top:var(--space-3);text-shadow:0 2px 0 rgba(0,0,0,.4),0 6px 24px rgba(16,185,129,.35)}.success-banner p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}.result-img-container{width:100%;aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-deep);border:1px solid var(--color-border-2);margin-bottom:var(--space-5)}.result-img-container img{width:100%;height:100%;object-fit:cover}.food-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem}.result-details{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-6)}.result-food-name{font-size:var(--text-xl);color:var(--color-text-header);font-family:var(--font-d);font-weight:400;letter-spacing:.015em}.result-calories{margin-top:var(--space-2);background:linear-gradient(160deg,var(--color-accent-pink),var(--color-accent-pink-deep));color:var(--color-text-header);padding:6px 16px 7px;border-radius:var(--radius-xs);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 18px rgba(225,29,72,.35);-webkit-clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);display:inline-flex;align-items:baseline;gap:6px}.result-calories-num{font-family:var(--font-m);font-weight:700;font-size:var(--text-2xl);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(0,0,0,.35)}.result-calories-unit{font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.85}.result-day-meter{width:100%;max-width:320px;margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.result-day-meter-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.result-day-meter-head strong{color:var(--color-primary);font-family:var(--font-m)}.result-day-pct{font-family:var(--font-m);font-size:var(--text-xs)}.result-commentary{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-1);border-radius:var(--radius-sm);border:1px solid var(--color-border-2);font-style:italic;font-size:var(--text-sm);color:var(--color-text);line-height:1.3rem;max-width:320px}.result-footer-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.error-alert{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-4)}.manual-form{padding:var(--space-6)}.describe-estimate,.manual-form{display:flex;flex-direction:column}.describe-estimate{gap:var(--space-3);margin-bottom:var(--space-4)}.describe-input{width:100%;min-height:60px;resize:vertical}.describe-estimate-btn{width:100%}.manual-form h3{font-family:var(--font-d);font-weight:400;font-size:var(--text-xl);letter-spacing:.03em;color:var(--color-text-header);margin-bottom:var(--space-1)}.manual-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.25rem;margin-bottom:var(--space-6)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-group label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.manual-image-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-1);border:1px dashed var(--color-border-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);cursor:pointer}.manual-image-row:hover{background:var(--color-surface-2)}.manual-image-row img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-xs)}.manual-image-row .manual-image-label{font-size:var(--text-sm);font-weight:700;color:var(--color-primary);display:inline-flex;align-items:center;gap:var(--space-1)}.header-info h2{color:var(--color-text-header)}.header-info p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1);line-height:1.25rem}.quest-progress{display:flex;align-items:center;gap:var(--space-3)}.quest-progress-count{font-size:var(--text-sm)}.quest-progress-text{display:flex;flex-direction:column}.quest-progress-lbl{font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.quest-progress-earned{font-family:var(--font-m);font-weight:700;font-size:var(--text-md);color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.challenges-list{display:flex;flex-direction:column;gap:var(--space-3)}.challenge-card{display:flex;align-items:center;padding:var(--space-4);padding-left:var(--space-5);gap:var(--space-5);transition:all var(--dur-base) var(--ease-bounce);position:relative;overflow:hidden;animation:riseIn .5s var(--ease-snap) both}.challenge-card:before{left:78px;top:7px;bottom:7px;border-left:1.5px dashed var(--color-border-3)}.challenge-card:after,.challenge-card:before{content:"";position:absolute;pointer-events:none}.challenge-card:after{left:71px;top:0;bottom:0;width:14px;background:radial-gradient(circle 7px at 50% 0,var(--color-bg) 96%,transparent 100%),radial-gradient(circle 7px at 50% 100%,var(--color-bg) 96%,transparent 100%);background-repeat:no-repeat}.challenge-card:hover{transform:translateY(-2px) rotate(-.3deg);border-color:var(--glass-border-glow)}.completed-card{background:rgba(16,185,129,.03);border-color:rgba(16,185,129,.15);box-shadow:0 0 16px rgba(16,185,129,.05)}.challenge-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:50%;background:var(--color-gold-soft);border:1px solid var(--color-gold-medium);font-size:1.5rem;transition:transform var(--dur-base) var(--ease-bounce)}.challenge-card:hover .challenge-icon-wrapper{transform:scale(1.12) rotate(-6deg)}.completed-check-icon{width:32px;height:32px;border-radius:50%;background:var(--color-accent-green);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px rgba(16,185,129,.4)}.quest-emoji{line-height:1}.challenge-details{flex:1 1;display:flex;flex-direction:column}.challenge-title{font-family:var(--font-b);font-weight:800;font-size:var(--text-base);color:var(--color-text-header)}.challenge-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.15rem;margin-top:var(--space-1)}.payout-pill{margin-top:var(--space-2);background:var(--color-primary-opacity);border:1px solid var(--color-gold-medium);padding:2px var(--space-2);border-radius:var(--radius-xs);align-self:flex-start}.payout-pill span{font-size:var(--text-2xs);font-weight:800;text-transform:uppercase;color:var(--color-primary)}.completed-card .payout-pill{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2)}.completed-card .payout-pill span{color:var(--color-accent-green)}.challenge-action{display:flex;align-items:center}.challenge-complete-btn{padding:var(--space-2) 14px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.completion-tag{font-family:var(--font-d);font-weight:400;font-size:var(--text-sm);color:var(--color-accent-green);letter-spacing:.12em;padding:4px 10px;border:2px solid;border-radius:6px;transform:rotate(-7deg);opacity:.92;text-shadow:0 0 10px rgba(16,185,129,.35);box-shadow:inset 0 0 10px rgba(16,185,129,.12);animation:stampIn .4s var(--ease-bounce) both}@keyframes stampIn{0%{transform:rotate(-7deg) scale(1.7);opacity:0}60%{transform:rotate(-7deg) scale(.92);opacity:1}to{transform:rotate(-7deg) scale(1);opacity:.92}}.leaders-board{overflow:hidden;padding:var(--space-2) 0}.leaders-board.has-podium{padding:0;overflow:visible}.leaders-board.has-podium .rankings-list{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);padding:var(--space-2) 0}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-2);padding:var(--space-5) var(--space-2) 0;margin-bottom:var(--space-5)}.podium-spot{flex:1 1;max-width:150px;display:flex;flex-direction:column;align-items:center;gap:3px;animation:riseIn .6s var(--ease-bounce) both;position:relative}.podium-crown{font-size:1.5rem;margin-bottom:-4px;filter:drop-shadow(0 4px 10px rgba(251,191,36,.5));animation:podiumCrownBob 2.6s ease-in-out infinite}@keyframes podiumCrownBob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)}}.podium-avatar{filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}.podium-name{font-family:var(--font-b);font-weight:800;font-size:var(--text-sm);color:var(--color-text-header);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-streak{font-family:var(--font-m);font-size:var(--text-2xs);color:var(--color-primary)}.podium-riser{width:100%;flex-direction:column;gap:1px;margin-top:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015) 70%);border:1px solid var(--color-border-3);border-bottom:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.podium-place,.podium-riser{display:flex;align-items:center}.podium-place{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;justify-content:center;font-size:var(--text-xs);color:var(--color-text-on-primary);background:var(--color-text-muted);border:2px solid var(--color-bg)}.podium-place,.podium-value{font-family:var(--font-m);font-weight:700}.podium-value{font-size:var(--text-lg);color:var(--color-text-header);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:var(--space-2)}.podium-unit{font-family:var(--font-m);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.podium-rank-1 .podium-riser{min-height:96px;border-color:rgba(251,191,36,.4);background:radial-gradient(ellipse at 50% 0,rgba(251,191,36,.18) 0,transparent 70%),linear-gradient(180deg,rgba(251,191,36,.1),rgba(251,191,36,.015) 75%);box-shadow:inset 0 1px 0 rgba(255,235,170,.25),0 -10px 40px -14px rgba(251,191,36,.5)}.podium-rank-1 .podium-place{background:linear-gradient(180deg,#ffe9a3,var(--color-rank-gold))}.podium-rank-1 .podium-value{color:var(--color-rank-gold);text-shadow:0 0 16px rgba(251,191,36,.45)}.podium-rank-1 .podium-name{color:var(--color-rank-gold)}.podium-rank-2 .podium-riser{min-height:64px;border-color:rgba(148,163,184,.35)}.podium-rank-2 .podium-place{background:linear-gradient(180deg,#e8eef5,var(--color-rank-silver-dim))}.podium-rank-3 .podium-riser{min-height:46px;border-color:rgba(180,83,9,.4)}.podium-rank-3 .podium-place{background:linear-gradient(180deg,#d9893b,var(--color-rank-bronze))}.podium-spot.is-me .podium-name:after{content:" ·you";color:var(--color-primary);font-weight:600}.rankings-list{display:flex;flex-direction:column}.ranking-row{display:flex;align-items:center;padding:var(--space-3) var(--space-5);gap:var(--space-4);border-bottom:1px solid var(--color-border-1);transition:background-color var(--dur-fast) ease;position:relative;overflow:hidden}.ranking-row>:not(.rank-bar){position:relative;z-index:1}.ranking-row:last-child{border-bottom:none}.ranking-row:hover{background-color:var(--color-surface-1)}.zone-cut{display:flex;align-items:center;gap:var(--space-3);padding:2px var(--space-5)}.zone-cut:after,.zone-cut:before{content:"";flex:1 1;border-top:1.5px dashed;opacity:.45}.zone-cut span{font-family:var(--font-m);font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.zone-cut-rise{color:var(--color-accent-green)}.zone-cut-drop{color:var(--color-danger)}.rank-position{width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative}.rank-number-label{font-family:var(--font-b);font-weight:800;font-size:var(--text-base);color:var(--color-text-muted)}.rank-badge-icon{filter:drop-shadow(0 0 4px var(--color-gold-soft))}.row-avatar{width:40px;height:40px;object-fit:contain}.row-user-details{display:flex;flex-direction:column;flex-grow:1}.row-username{font-weight:700;font-family:var(--font-b);color:var(--color-text-header);font-size:var(--text-base)}.row-streak{font-size:var(--text-2xs);font-weight:800;color:var(--color-primary);margin-top:2px}.row-metric{text-align:right;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.metric-num{font-weight:700;font-size:var(--text-lg);color:var(--color-text-header)}.metric-lbl{font-size:.58rem;color:var(--color-text-muted);font-weight:600}.top-1{background:linear-gradient(90deg,rgba(251,191,36,.04),transparent);border-left:3px solid var(--color-rank-gold)}.top-1 .row-username{text-shadow:0 0 8px rgba(251,191,36,.25)}.top-1 .metric-num,.top-1 .row-username{color:var(--color-rank-gold)}.top-2{background:linear-gradient(90deg,rgba(148,163,184,.03),transparent);border-left:3px solid var(--color-rank-silver-dim)}.top-2 .row-username{color:var(--color-rank-silver)}.top-3{background:linear-gradient(90deg,rgba(180,83,9,.02),transparent);border-left:3px solid var(--color-rank-bronze)}.leaders-empty,.leaders-error,.leaders-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:var(--text-base);gap:var(--space-4)}.friends-header .search-form{margin-top:var(--space-2)}.search-form{display:flex;gap:var(--space-2)}.search-input-wrapper{position:relative;flex-grow:1}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.search-input-wrapper input{padding-left:42px;padding-top:10px;padding-bottom:10px;font-size:var(--text-base)}.search-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm)}.search-results-box{padding:var(--space-4);margin-bottom:var(--space-4)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-2)}.results-header h3{font-size:var(--text-base);color:var(--color-text-header)}.clear-results-btn{font-size:var(--text-xs);color:var(--color-accent-pink);font-weight:700}.no-results-msg{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-3)}.results-list{display:flex;flex-direction:column;gap:10px}.result-user-row{display:flex;align-items:center;gap:var(--space-3)}.result-avatar{width:36px;height:36px;object-fit:contain}.result-details{flex-grow:1}.result-username{font-weight:700;color:var(--color-text-header);font-size:var(--text-sm);font-family:var(--font-b)}.result-action{display:flex;align-items:center}.action-btn-sm{padding:6px var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.success-btn-sm{background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-green-deep));box-shadow:0 2px 8px rgba(16,185,129,.2)}.pending-status-tag{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:var(--space-1)}.friend-status-tag{font-size:var(--text-xs);font-weight:800;color:var(--color-primary);text-transform:uppercase}.requests-box{padding:var(--space-4);margin-bottom:var(--space-4)}.requests-box h3{font-size:var(--text-base);margin-bottom:var(--space-3);color:var(--color-text-header)}.requests-list{display:flex;flex-direction:column;gap:10px}.request-row{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-1)}.request-row:last-child{border-bottom:none}.req-avatar{width:36px;height:36px;object-fit:contain}.req-details{display:flex;flex-direction:column;flex-grow:1}.req-username{font-weight:700;color:var(--color-text-header);font-size:var(--text-sm);font-family:var(--font-b)}.req-label{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:1px}.req-actions{display:flex;gap:var(--space-2)}.req-btn{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-header);transition:all var(--dur-fast) ease}.accept-btn{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:var(--color-accent-green)}.accept-btn:hover{background:var(--color-accent-green);color:var(--color-text-on-primary)}.cancel-btn,.reject-btn{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.cancel-btn:hover,.reject-btn:hover{background:#ef4444;color:var(--color-text-header)}.friends-box{padding:var(--space-4)}.friends-box h3{font-size:var(--text-base);margin-bottom:var(--space-3);color:var(--color-text-header)}.friends-list{flex-direction:column;max-height:320px;overflow-y:auto}.friend-row,.friends-list{display:flex;gap:var(--space-3)}.friend-row{align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-surface-1);border:1px solid var(--color-border-1);border-radius:var(--radius-sm)}.friend-avatar{width:36px;height:36px;object-fit:contain}.friend-details{display:flex;flex-direction:column;flex-grow:1}.friend-username{font-weight:700;color:var(--color-text-header);font-size:var(--text-sm);font-family:var(--font-b)}.friend-streak{font-size:var(--text-2xs);font-weight:800;color:var(--color-primary);margin-top:2px}.remove-friend-btn{color:var(--color-text-muted);opacity:.6;transition:all var(--dur-fast) ease}.remove-friend-btn:hover{color:var(--color-accent-pink);opacity:1;transform:scale(1.1)}.friends-loading{display:flex;justify-content:center;padding:var(--space-5)}.friends-empty{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;line-height:1.3rem;padding:var(--space-5) var(--space-3)}.profile-container{display:flex;flex-direction:column;height:100%;width:100%;max-width:480px;margin:0 auto;padding:var(--space-4) var(--space-4) 80px;overflow-y:auto;gap:var(--space-4)}.pr-celebration-toast{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-color:var(--color-primary);background:var(--color-gold-soft);border-radius:var(--radius-sm);cursor:pointer;animation:slideInPR var(--dur-slow) var(--ease-bounce)}.pr-toast-inner{display:flex;align-items:center;gap:10px;font-family:var(--font-b);font-weight:800;font-size:var(--text-sm);color:var(--color-primary);letter-spacing:.02em}.pr-toast-close{color:var(--color-text-muted);font-size:var(--text-xs);padding:var(--space-2);margin:calc(-1 * var(--space-2))}.pr-toast-art{width:48px;height:48px;object-fit:contain;flex-shrink:0;margin-right:var(--space-2);animation:prToastBob 1.6s ease-in-out infinite}@keyframes prToastBob{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}.profile-header{padding:var(--space-4) var(--space-5);padding-top:max(var(--space-4),var(--safe-top))}.profile-header-with-banner{position:relative;overflow:hidden}.profile-banner-art{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.35}.profile-banner-art,.profile-header-with-banner:after{position:absolute;inset:0;pointer-events:none;z-index:0}.profile-header-with-banner:after{content:"";background:linear-gradient(100deg,rgba(10,12,17,.88) 25%,rgba(10,12,17,.35) 70%,rgba(10,12,17,.15))}.profile-header-with-banner .profile-lifetime-chips,.profile-header-with-banner .profile-user-summary{position:relative;z-index:1}.profile-user-summary{display:flex;align-items:center;gap:var(--space-4)}.profile-avatar-ring{flex-shrink:0;padding:4px;border-radius:50%;background:linear-gradient(var(--color-bg),var(--color-bg)) padding-box,conic-gradient(from 200deg,var(--color-primary),var(--color-secondary),var(--color-primary)) border-box;border:2px solid transparent;box-shadow:0 0 18px var(--color-gold-medium)}.profile-avatar{width:56px;height:56px;object-fit:contain}.profile-user-text{flex-grow:1;min-width:0}.profile-eyebrow{display:block;font-family:var(--font-m);font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary);margin-bottom:2px}.profile-username{font-family:var(--font-d);font-weight:400;font-size:var(--text-2xl);line-height:1.05;color:var(--color-text-header);text-shadow:0 2px 0 rgba(0,0,0,.45);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:1px}.profile-lifetime-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.profile-settings-icon-btn{width:36px;height:36px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border-2);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast) ease}.profile-settings-icon-btn:hover{color:var(--color-primary);background:var(--color-primary-opacity);border-color:var(--color-gold-medium)}.profile-friend-btn{padding:9px 16px}.profile-friend-btn,.profile-friend-tag{margin-left:auto;flex-shrink:0;font-size:var(--text-xs);white-space:nowrap}.profile-friend-tag{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--radius-sm);font-family:var(--font-m);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border-2)}.profile-friend-tag svg{color:var(--color-primary)}.logout-btn{width:36px;height:36px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border-2);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:all var(--dur-fast) ease}.logout-btn:hover{color:var(--color-accent-pink);background:rgba(239,68,68,.05);border-color:var(--color-danger-border)}.core-counters-section{display:grid;grid-template-columns:1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (min-width:380px){.core-counters-section{grid-template-columns:1.1fr .9fr}}.fortnight-section{padding:var(--space-5) var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.fortnight-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.fortnight-title{font-family:var(--font-m);font-size:var(--text-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.fortnight-chips{display:flex;gap:var(--space-2)}.fortnight-bars{margin-bottom:var(--space-3)}.stats-dashboard{display:flex;flex-direction:column;gap:var(--space-3)}.stats-header-row{display:flex;align-items:center;justify-content:space-between}.stats-header-row h3{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.stat-card{padding:var(--space-4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:8px;left:8px;width:10px;height:10px;border-top:2px solid var(--color-gold-medium);border-left:2px solid var(--color-gold-medium);border-top-left-radius:4px}.stat-num{font-weight:700;font-size:var(--text-2xl);color:var(--color-text-header)}.stat-lbl{font-size:.58rem;font-weight:600;color:var(--color-text-muted);margin-top:var(--space-1)}.weight-section{padding:var(--space-5)}.weight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.weight-title-group{display:flex;align-items:center;gap:var(--space-2)}.weight-title-group h3{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.unit-selectors{display:flex;background:var(--color-surface-1);border-radius:var(--radius-sm);padding:2px;border:1px solid var(--color-border-2)}.unit-btn{font-size:var(--text-2xs);font-weight:800;padding:var(--space-1) var(--space-2);border-radius:9px;color:var(--color-text-muted)}.unit-btn.active{background:var(--color-primary-opacity);color:var(--color-primary);border:1px solid var(--color-gold-medium)}.svg-chart-wrapper{width:100%;margin-bottom:var(--space-4)}.weight-svg-chart{width:100%;height:auto;overflow:visible}.weight-axis-label{font-size:10px;fill:var(--color-text-muted);font-weight:600}.latest-dot-pulse{animation:latestPulse 1.5s infinite alternate;transform-origin:center}.chart-labels{display:flex;justify-content:space-between;font-size:var(--text-2xs);color:var(--color-text-muted);font-weight:600;margin-top:var(--space-1)}.chart-label-title{font-family:var(--font-b);font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.5}.chart-fallback{height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:var(--space-5);border-radius:var(--radius-sm);background:var(--color-surface-1);color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.15rem}.weight-empty-fallback{height:auto;padding:var(--space-4);gap:var(--space-3)}.weight-empty-art{width:96px;height:72px;object-fit:contain;opacity:.85}.chart-loading{height:100px;display:flex;align-items:center;justify-content:center}.weight-actions-row{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--color-border-1)}.latest-weight-display{display:flex;flex-direction:column}.weight-desc-label{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.weight-actual-num{font-family:var(--font-b);font-weight:900;font-size:var(--text-xl);color:var(--color-text-header);margin-top:2px}.log-weight-action-btn{padding:var(--space-2) 14px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.weight-log-form{display:flex;flex-direction:column;gap:var(--space-4)}.modal-form-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.3rem}.weight-input-box{position:relative;width:100%}.weight-input-box input{padding:14px 72px 14px var(--space-4);font-size:var(--text-lg);font-weight:700}.modal-unit-toggle{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);font-family:var(--font-b);font-weight:900;color:var(--color-primary);font-size:var(--text-base)}.submit-weight-btn{width:100%;padding:14px}.achievements-section{padding:var(--space-5)}.achievements-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.achievements-header h3{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.achievement-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border-radius:var(--radius-sm);background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.035) 0,transparent 60%),var(--color-surface-1);border:1px solid var(--color-border-1);transition:all var(--dur-base) var(--ease-snap);position:relative;overflow:hidden}.achievement-card.unlocked{background:radial-gradient(ellipse at 50% 0,rgba(255,170,0,.1) 0,transparent 65%),rgba(255,170,0,.02);border-color:var(--color-gold-medium);box-shadow:0 6px 18px rgba(255,170,0,.07);cursor:pointer}.achievement-card.unlocked:hover{transform:translateY(-3px);border-color:var(--color-primary)}.achievement-card.locked{opacity:.55}.achievement-card.unlocked:after{content:"";position:absolute;top:-60%;left:-80%;width:50%;height:220%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);transition:left .55s ease;pointer-events:none}.achievement-card.unlocked:hover:after{left:130%}.achievement-badge-sphere{width:64px;height:64px;border-radius:50%;background:var(--color-surface-1);border:1px solid var(--color-border-2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;transition:all var(--dur-base) ease;overflow:hidden}.achievement-badge-art{width:100%;height:100%;object-fit:contain;transition:filter var(--dur-base) ease}.achievement-card.locked .achievement-badge-art{filter:grayscale(.75) brightness(.55)}.achievement-card.unlocked .achievement-badge-sphere{background:var(--color-primary-opacity);border-color:var(--color-primary);box-shadow:0 0 16px var(--color-gold-strong);transform:scale(1.05)}.achievement-text{display:flex;flex-direction:column;align-items:center}.achievement-text h4{font-family:var(--font-b);font-weight:800;font-size:var(--text-sm);color:var(--color-text-header)}.achievement-card.unlocked .achievement-text h4{color:var(--color-primary)}.achievement-text p{font-size:var(--text-2xs);color:var(--color-text-muted);margin-top:2px;line-height:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge-status-tag{font-family:var(--font-m);font-size:.55rem;font-weight:600;letter-spacing:.12em;margin-top:6px;padding:2px 7px;border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-text-muted)}.achievement-card.unlocked .badge-status-tag{background:var(--color-primary-opacity);color:var(--color-primary)}.pr-particle{position:fixed;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:var(--z-particles);animation:particleFloat 2s ease-out forwards;opacity:0}.app-loading-screen{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-bg);color:var(--color-text);gap:var(--space-4);overflow:hidden}.boot-splash-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.28;pointer-events:none;z-index:0}.app-loading-screen>:not(.boot-splash-bg){position:relative;z-index:1}.spinning-butter{font-size:4rem;animation:spin 2s linear infinite}.boot-loader-art{width:140px;height:140px;object-fit:contain;animation:bootBob 2.4s ease-in-out infinite;filter:drop-shadow(0 0 26px rgba(255,170,0,.35))}@keyframes bootBob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}.app-loading-screen h2{font-family:var(--font-b);font-weight:900;font-size:var(--text-2xl);background:linear-gradient(135deg,#ffffff 30%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-loading-screen p{color:var(--color-text-muted);font-size:var(--text-sm)}.app-error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;padding:var(--space-7);text-align:center;gap:var(--space-4);color:var(--color-text)}.app-error-screen h2{font-family:var(--font-b);font-weight:900;font-size:var(--text-xl);color:var(--color-primary)}.app-error-screen p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:320px;line-height:1.4rem}.app-error-screen .btn-primary{margin-top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.boot-loader-art,.bubble-drop,.butter-loader,.capture-icon-glow,.latest-dot-pulse,.liquid-wave,.loader-pan span,.loader-pan-art,.loader-wobble,.logo-sparkle-glow,.pr-toast-art,.skeleton,.spinning-butter,.status-indicator,.sweaty-flame{animation:none!important}}@media (min-width:900px){.profile-container,.view-container{height:auto;min-height:100%;max-width:760px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-7);overflow:visible}}.calories-number,.gauge-percentage,.generated-handle,.metric-num,.rank-number-label,.reaction-count,.stat-num,.streak-count,.weight-actual-num{font-family:var(--font-m);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.achievements-header h3,.calories-label,.chart-labels,.form-group label,.gauge-header h3,.heatmap-header h4,.heatmap-month,.legend-label,.metric-lbl,.picker-lbl,.preview-lbl,.stat-lbl,.stats-header-row h3,.status-label,.weight-desc-label,.weight-title-group h3{font-family:var(--font-m);letter-spacing:.14em;text-transform:uppercase}.achievements-header h3,.gauge-header h3,.heatmap-header h4,.stats-header-row h3,.weight-title-group h3{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.calorie-bars{position:relative;width:100%}.calorie-bars-track{position:absolute;inset:0;display:flex;align-items:flex-end;gap:5px}.calorie-bar-col{flex:1 1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;position:relative}.calorie-bar{border-radius:3px 3px 1px 1px;transform-origin:bottom;animation:barGrow .6s var(--ease-snap) both}.calorie-bar.fed{background:linear-gradient(180deg,hsla(36,100%,62%,.85),hsla(24,95%,48%,.55))}.calorie-bar.crushed{background:linear-gradient(180deg,hsl(46,100%,62%),var(--color-secondary));box-shadow:0 0 10px var(--color-gold-strong)}.calorie-bar.empty{height:2px!important;background:var(--color-surface-3);animation:none}.calorie-bar-dow{position:absolute;bottom:-16px;left:0;right:0;text-align:center;font-family:var(--font-m);font-size:.55rem;color:var(--color-text-faint)}.calorie-bars-goal{position:absolute;left:0;right:0;border-top:1.5px dashed rgba(255,255,255,.28);pointer-events:none}.calorie-bars-goal span{position:absolute;right:0;top:-8px;transform:translateY(-50%);font-family:var(--font-m);font-size:.55rem;letter-spacing:.08em;color:var(--color-text-muted);background:var(--color-bg);padding:1px 5px;border-radius:4px;border:1px solid var(--color-border-2)}.progress-ring{position:relative;flex-shrink:0}.progress-ring-arc{transition:stroke-dashoffset .8s var(--ease-snap)}.progress-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--font-m);font-weight:700;color:var(--color-text-header)}.tug-bar{position:relative;height:14px;border-radius:var(--radius-pill);background:linear-gradient(180deg,rgba(225,29,72,.4),rgba(157,23,60,.45));border:1px solid var(--color-border-3);overflow:hidden}.tug-bar-mine{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,hsl(44,100%,58%),var(--color-secondary));box-shadow:0 0 12px var(--color-gold-strong);transition:width .7s var(--ease-spring)}.tug-bar-seam{position:absolute;top:-3px;bottom:-3px;width:3px;transform:translateX(-50%);background:#fff;box-shadow:0 0 8px rgba(255,255,255,.8);transition:left .7s var(--ease-spring)}.rank-bar{position:absolute;left:0;top:0;bottom:0;pointer-events:none;border-radius:0 var(--radius-pill) var(--radius-pill) 0;transition:width .7s var(--ease-snap)}.rank-bar-gold{background:linear-gradient(90deg,rgba(255,170,0,.16),rgba(255,170,0,.03))}.rank-bar-neutral{background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.012))}.rank-bar-green{background:linear-gradient(90deg,rgba(16,185,129,.14),rgba(16,185,129,.02))}.rank-bar-red{background:linear-gradient(90deg,rgba(239,68,68,.12),rgba(239,68,68,.02))}.sparkline{display:block}.places-ac{position:relative}.places-ac-field{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border-3);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.places-ac-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 10px var(--color-gold-medium)}.places-ac-pin{color:var(--color-text-muted);flex-shrink:0}.places-ac-input{flex:1 1;min-width:0;padding:11px 0}.places-ac-input,.places-ac-input:focus{background:none;border:none;box-shadow:none}.places-ac-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--color-surface-3);color:var(--color-text-muted)}.places-ac-clear:hover{color:var(--color-text-header)}.places-ac-geo{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-family:var(--font-m);font-size:var(--text-2xs);letter-spacing:.04em;color:var(--color-primary)}.places-ac-geo:hover{color:var(--color-primary-hover)}.places-ac-geo:disabled{opacity:.6;cursor:default}.places-ac-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-overlay);list-style:none;margin:0;padding:var(--space-1);max-height:240px;overflow-y:auto;background:var(--color-bg-card);border:1px solid var(--glass-border-glow);border-radius:var(--radius-sm);box-shadow:var(--glass-shadow)}.places-ac-option{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:9px var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--color-text)}.places-ac-option:hover{background:var(--color-surface-3);color:var(--color-text-header)}.places-ac-option svg{color:var(--color-text-muted);flex-shrink:0}.places-ac-muted{color:var(--color-text-muted);font-style:italic}.reps-flow{display:flex;flex-direction:column;gap:var(--space-4)}.reps-search-field{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border-3);border-radius:var(--radius-md);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.reps-search-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 12px var(--color-gold-medium)}.reps-search-icon{color:var(--color-text-muted);flex-shrink:0}.reps-search-field input{padding:13px 0}.reps-search-field input,.reps-search-field input:focus{background:none;border:none;box-shadow:none}.reps-results{padding:var(--space-2);display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.reps-no-results{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.reps-result{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:10px var(--space-3);border-radius:var(--radius-sm);transition:background var(--dur-fast) ease}.reps-result:hover{background:var(--color-surface-3)}.reps-result-emoji{font-size:1.5rem;line-height:1;flex-shrink:0;width:30px;text-align:center}.reps-result-text{display:flex;flex-direction:column;flex:1 1;min-width:0}.reps-result-label{font-family:var(--font-b);font-weight:700;color:var(--color-text-header);font-size:var(--text-base)}.reps-result-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.2rem;margin-top:1px}.reps-result-add{color:var(--color-primary);flex-shrink:0}.reps-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-7) var(--space-5);border:1.5px dashed var(--color-gold-medium);border-radius:var(--radius-md);color:var(--color-text-muted)}.reps-empty-emoji{font-size:2.5rem}.reps-empty p{font-size:var(--text-sm);max-width:34ch;line-height:1.4}.reps-tray{padding:var(--space-2) var(--space-4) var(--space-4);display:flex;flex-direction:column}.reps-line{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-1)}.reps-line-emoji{font-size:1.4rem;line-height:1;flex-shrink:0;width:28px;text-align:center}.reps-line-main{display:flex;flex-direction:column;gap:5px;flex:1 1;min-width:0}.reps-line-label{font-family:var(--font-b);font-weight:700;font-size:var(--text-sm);color:var(--color-text-header)}.reps-line-mod{width:auto;align-self:flex-start;padding:3px 26px 3px 8px;font-size:var(--text-xs);font-family:var(--font-m);border-radius:var(--radius-xs);background:var(--color-surface-3)}.reps-line-mod,.reps-stepper{border:1px solid var(--color-border-2)}.reps-stepper{display:inline-flex;align-items:center;gap:2px;background:var(--color-surface-2);border-radius:var(--radius-pill);padding:2px;flex-shrink:0}.reps-stepper button{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text);background:var(--color-surface-3);transition:all var(--dur-fast) ease}.reps-stepper button:hover:not(:disabled){background:var(--color-primary-opacity);color:var(--color-primary)}.reps-stepper button:disabled{opacity:.4}.reps-count{min-width:24px;text-align:center;font-family:var(--font-m);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-header)}.reps-line-cal{font-family:var(--font-m);font-size:var(--text-xs);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:48px;text-align:right;flex-shrink:0}.reps-line-remove{color:var(--color-text-faint);flex-shrink:0;transition:color var(--dur-fast) ease}.reps-line-remove:hover{color:var(--color-accent-pink)}.reps-total-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:var(--space-3)}.reps-total-label{font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.reps-total-cal{font-family:var(--font-m);font-weight:700;font-size:var(--text-xl);color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reps-total-cal span{font-size:var(--text-xs);color:var(--color-text-muted)}.reps-venue{display:flex;flex-direction:column;gap:var(--space-2)}.reps-venue-label{font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.reps-venue-label span{text-transform:none;letter-spacing:0;color:var(--color-text-faint)}.result-quip{margin-top:var(--space-2);font-family:var(--font-d);font-weight:400;font-size:var(--text-md);letter-spacing:.01em;color:var(--color-primary)}.card-reps{padding:var(--space-4);border-top:1px solid var(--color-border-1);border-bottom:1px solid var(--color-border-1);background:radial-gradient(ellipse at 0 0,rgba(255,170,0,.06) 0,transparent 55%),var(--color-surface-1)}.card-reps-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.card-reps-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:var(--radius-pill);background:var(--color-surface-3);border:1px solid var(--color-border-2);font-family:var(--font-b);font-weight:700;font-size:var(--text-sm);color:var(--color-text-header)}.card-reps-emoji{font-size:1.15rem;line-height:1}.card-reps-reps{font-family:var(--font-m);font-weight:700;color:var(--color-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-location{display:flex;align-items:center;gap:5px;padding:10px var(--space-4) 0;font-family:var(--font-m);font-size:var(--text-xs);color:var(--color-text-muted)}.card-location svg{color:var(--color-primary);flex-shrink:0}.card-flag-btn{margin-left:auto}.card-flag-btn:hover{color:var(--color-accent-pink)}.lunch-nudge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);background:radial-gradient(ellipse at 0 0,rgba(255,170,0,.12) 0,transparent 60%),var(--glass-bg);border:1px solid var(--glass-border-glow);box-shadow:var(--glass-shadow)}.lunch-nudge-text{flex:1 1;font-family:var(--font-d);font-weight:400;font-size:var(--text-md);letter-spacing:.01em;color:var(--color-text-header)}.lunch-nudge-cta{padding:7px 14px;font-size:var(--text-sm);white-space:nowrap}.lunch-nudge-close{color:var(--color-text-muted);padding:var(--space-1);font-size:var(--text-sm)}.lunch-nudge-close:hover{color:var(--color-text-header)}.badge-detail,.flag-form{display:flex;flex-direction:column;gap:var(--space-4)}.badge-detail{align-items:center;text-align:center}.badge-detail-icon{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden;background:var(--color-surface-1);border:1px solid var(--color-border-2)}.badge-detail-icon img{width:100%;height:100%;object-fit:contain}.badge-detail-icon.earned{background:var(--color-primary-opacity);border-color:var(--color-primary);box-shadow:0 0 28px var(--color-gold-strong)}.badge-detail-icon.locked img{filter:grayscale(.75) brightness(.55)}.badge-detail-icon.locked{opacity:.7}.badge-detail-desc{font-size:var(--text-base);color:var(--color-text-muted);max-width:38ch;line-height:1.5}.badge-detail-meme{width:100%;margin:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--glass-border-glow);background:var(--color-bg-deep)}.badge-detail-meme img{width:100%;height:auto;display:block}.badge-detail-meme figcaption{padding:var(--space-3);font-family:var(--font-d);font-weight:400;font-size:var(--text-md);color:var(--color-primary)}.badge-detail-share{display:flex;gap:var(--space-2);width:100%}.badge-detail-share .btn-primary{flex:1 1}.badge-share-threads,.badge-share-x{width:48px;flex-shrink:0;font-size:1.05rem;padding-left:0;padding-right:0}.badge-detail-hint{font-size:var(--text-xs);color:var(--color-text-faint)}.badge-detail-locked{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-m);font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-2);border-radius:var(--radius-pill)}.share-public-meme{width:100%;margin:var(--space-2) 0 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--glass-border)}.share-public-meme img{width:100%;height:auto;display:block}.share-public-meme figcaption{padding:10px;font-family:var(--font-b);font-weight:700;font-size:.9rem;color:var(--color-primary)}.settings-home-row{display:flex;gap:var(--space-2);align-items:flex-start}.settings-home-row .places-ac{flex:1 1;min-width:0}.settings-home-row .btn-secondary{white-space:nowrap}.settings-feedback-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.settings-feedback-actions .btn-primary,.settings-feedback-actions .btn-secondary{flex:1 1;min-width:140px}.settings-shop-btn{align-self:flex-start;text-decoration:none}.profile-home{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.profile-home svg{color:var(--color-primary)}.result-reps-hero{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-3);border-radius:var(--radius-md);background:radial-gradient(ellipse at 50% 0,rgba(255,170,0,.08) 0,transparent 60%),var(--color-surface-1);border:1px solid var(--color-border-2)}.onboarding-name-field,.onboarding-suggestions{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-suggestions-lbl{font-family:var(--font-m);font-size:var(--text-2xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.onboarding-suggestions-chips{display:flex;flex-wrap:wrap;gap:6px}.onboarding-suggestion{padding:6px 12px;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border-3);font-family:var(--font-m);font-size:var(--text-xs);color:var(--color-text);transition:all var(--dur-fast) ease}.onboarding-suggestion:hover{border-color:var(--color-gold-medium);color:var(--color-text-header);transform:translateY(-1px)}.onboarding-suggestion.active{background:var(--color-primary-opacity);border-color:var(--color-primary);color:var(--color-primary)}.user-handle{font-size:var(--text-2xs);font-weight:400;line-height:1.15}.pubprofile-back,.user-handle{font-family:var(--font-m);color:var(--color-text-muted)}.pubprofile-back{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);letter-spacing:.04em;text-decoration:none;margin-bottom:var(--space-2)}.pubprofile-back:hover{color:var(--color-primary)}.pubprofile-feed{gap:var(--space-3)}.pubprofile-feed,.pubprofile-logs{display:flex;flex-direction:column}.pubprofile-logs{gap:var(--space-2)}.pubprofile-log{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm)}.pubprofile-log-thumb{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-xs);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--color-surface-2);border:1px solid var(--color-border-2)}.pubprofile-log-thumb img{width:100%;height:100%;object-fit:cover}.pubprofile-log-body{flex:1 1;min-width:0;display:flex;flex-direction:column}.pubprofile-log-name{font-family:var(--font-b);font-weight:700;font-size:var(--text-sm);color:var(--color-text-header);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pubprofile-log-meta{font-family:var(--font-m);font-size:.62rem;color:var(--color-text-muted);margin-top:2px}.pubprofile-log-cal{text-align:right;display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}.user-link{display:contents}.row-userlink,.user-link{text-decoration:none;color:inherit}.row-userlink{display:flex;align-items:center;gap:var(--space-4);flex:1 1;min-width:0}.row-userlink:hover .row-username{color:var(--color-primary)}.admin-stat-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.admin-tabs{flex-wrap:wrap;margin:16px 0}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.admin-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:18px 20px;cursor:pointer;text-align:left;border:none;transition:transform .12s ease,background .12s ease}.admin-stat:hover{transform:translateY(-2px);background:var(--color-bg-card-hover)}.admin-stat-num{font-family:var(--font-d,inherit);font-size:2rem;line-height:1;color:var(--color-primary)}.admin-stat-lbl{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.admin-panel{display:flex;flex-direction:column;gap:14px}.admin-subtabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.admin-subtabs button{padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--color-border-2);background:var(--color-surface-2);color:var(--color-text-muted);font-size:.78rem;text-transform:capitalize;cursor:pointer}.admin-subtabs button.active{border-color:var(--color-gold-medium);background:var(--color-gold-soft);color:var(--color-primary)}.admin-subtabs-sep{width:1px;align-self:stretch;background:var(--color-border-2);margin:2px 4px}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-empty,.admin-loading{color:var(--color-text-muted);padding:24px 8px;text-align:center}.admin-challenge-card,.admin-feedback-card,.admin-flag-card{padding:14px;display:flex;gap:12px}.admin-challenge-card,.admin-feedback-card{flex-direction:column}.admin-flag-thumb{width:64px;height:64px;flex:0 0 64px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-3);display:grid;place-items:center;font-size:1.6rem}.admin-flag-thumb img{width:100%;height:100%;object-fit:cover}.admin-flag-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.admin-flag-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.admin-status,.admin-tag{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-pill);text-transform:capitalize;font-weight:600;display:inline-flex;align-items:center;gap:3px}.admin-tag{background:var(--color-surface-3);color:var(--color-text-muted)}.admin-tag.hidden-tag,.admin-tag.reason-explicit,.admin-tag.reason-harassment{background:var(--color-danger-bg);color:var(--color-danger)}.admin-status.status-open{background:var(--color-gold-soft);color:var(--color-primary)}.admin-status.status-resolved{background:var(--color-accent-green,#1e3a2e);color:#8fe3b0}.admin-status.status-closed,.admin-status.status-dismissed{background:var(--color-surface-3);color:var(--color-text-faint)}.admin-flag-post{font-size:.9rem;color:var(--color-text);margin:0}.admin-flag-details{font-size:.85rem;color:var(--color-text-muted);font-style:italic;margin:0}.admin-flag-meta{font-size:.74rem;color:var(--color-text-faint)}.admin-feedback-body{font-size:.92rem;color:var(--color-text);margin:2px 0;white-space:pre-wrap}.admin-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.admin-actions button{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:var(--radius-sm);border:1px solid var(--color-border-2);background:var(--color-surface-2);color:var(--color-text);font-size:.78rem;cursor:pointer;transition:background .12s ease,border-color .12s ease}.admin-actions button:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-3)}.admin-actions button.danger{color:var(--color-danger);border-color:var(--color-danger-border)}.admin-actions button.danger:hover{background:var(--color-danger-bg)}.admin-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-actions .btn-primary{padding:7px 16px}.admin-search{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-2);background:var(--color-surface-2);color:var(--color-text);font-size:.9rem}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border-1)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;background:var(--color-surface-2);color:var(--color-text-muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}.admin-table td,.admin-table th{padding:10px 12px;white-space:nowrap}.admin-table td{border-top:1px solid var(--color-border-1);color:var(--color-text)}.admin-user-cell{display:flex;align-items:center;gap:9px}.admin-user-avatar{font-size:1.3rem}.admin-user-name{display:flex;flex-direction:column;line-height:1.25}.admin-user-handle{font-size:.74rem;color:var(--color-text-faint)}.admin-challenge-form{padding:16px;display:flex;flex-direction:column;gap:10px}.admin-challenge-form h4{margin:0;color:var(--color-text-header)}.admin-challenge-form input,.admin-challenge-form textarea{width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border-2);background:var(--color-surface-2);color:var(--color-text);font:inherit;font-size:.88rem}.admin-challenge-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.admin-challenge-form-row label{font-size:.78rem;color:var(--color-text-muted);display:flex;flex-direction:column;gap:4px}.admin-challenge-form-row label input{width:110px}.admin-form-error{color:var(--color-danger);font-size:.82rem;margin:0}.admin-challenge-card{flex-direction:row;align-items:center;justify-content:space-between}.admin-challenge-info{min-width:0}.admin-challenge-info strong{color:var(--color-text-header)}.admin-challenge-info p{margin:2px 0;color:var(--color-text-muted);font-size:.85rem}.shop-carousel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.shop-carousel-head h2{font-family:var(--font-d);font-size:var(--text-xl);font-weight:400;color:var(--color-text-header);margin:0}.shop-carousel-all{font-family:var(--font-m);font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;white-space:nowrap}.shop-carousel-all:hover{color:var(--color-primary-hover)}.shop-carousel-viewport{position:relative}.shop-carousel-track{display:flex;gap:var(--space-3);list-style:none;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shop-carousel-track::-webkit-scrollbar{display:none}.shop-card{flex:0 0 auto;width:170px;scroll-snap-align:start}.shop-card-link{display:block;text-decoration:none;color:inherit}.shop-card-media{position:relative;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-card);border:1px solid var(--color-border-2)}.shop-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-base) ease}.shop-card-link:hover .shop-card-media img{transform:scale(1.04)}.shop-card-media-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem}.shop-card-soldout{position:absolute;top:var(--space-2);left:var(--space-2);font-family:var(--font-m);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;background:rgba(0,0,0,.7);color:#fff;padding:2px 8px;border-radius:var(--radius-pill)}.shop-card-info{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 2px 0}.shop-card-title{font-size:var(--text-sm);color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-card-link:hover .shop-card-title{color:var(--color-primary)}.shop-card-price{font-family:var(--font-m);font-weight:600;font-size:var(--text-sm);color:var(--color-text-header)}.shop-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);color:var(--color-text-header);border:1px solid var(--color-border-3);cursor:pointer;transition:opacity var(--dur-fast) ease,background var(--dur-fast) ease}.shop-carousel-arrow.prev{left:calc(var(--space-3) * -1)}.shop-carousel-arrow.next{right:calc(var(--space-3) * -1)}.shop-carousel-arrow:hover{background:var(--color-bg-card-hover)}.shop-carousel-arrow:disabled{opacity:0;pointer-events:none}@media (max-width:600px){.shop-card{width:140px}.shop-carousel-arrow{display:none}}.feed-header-actions{display:flex;align-items:center;gap:var(--space-2)}.feed-refresh-btn{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);border:1px solid var(--color-border-2);color:var(--color-text-muted);transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.feed-refresh-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-gold-medium)}.feed-refresh-btn:disabled{opacity:.6;cursor:default}.ptr-indicator{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;color:var(--color-primary);transition:height var(--dur-fast) ease}.ptr-indicator svg{margin-bottom:8px}.ptr-spin{animation:ptr-rotate .8s linear infinite;transform-origin:center}@keyframes ptr-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.feed-load-more{display:flex;justify-content:center;padding:var(--space-4) 0 var(--space-2)}.feed-load-more-btn{min-width:150px}