:root{--color-bg-primary: #FFFBF5;--color-bg-secondary: #FFF5EB;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FFFAF5;--color-bg-elevated: #FFFFFF;--color-bg-code: #FDF5ED;--color-text-primary: #1A1410;--color-text-secondary: #6B5E52;--color-text-tertiary: #9B8E82;--color-text-inverse: #FFFFFF;--color-text-link: #D14528;--color-accent: #E8573A;--color-accent-hover: #D14528;--color-accent-light: #FFF0EB;--color-accent-glow: rgba(232, 87, 58, .2);--color-secondary: #F5A623;--color-secondary-light: #FFF8E8;--color-success: #27AE60;--color-success-light: #EAFAF1;--color-warning: #F39C12;--color-warning-light: #FEF9E7;--color-info: #3498DB;--color-info-light: #EBF5FB;--color-danger: #E74C3C;--color-danger-light: #FDEDEC;--color-buy: #3498DB;--color-buy-light: #EBF5FB;--color-buy-bg: linear-gradient(135deg, #3498DB 0%, #2980B9 100%);--color-diy: #27AE60;--color-diy-light: #EAFAF1;--color-diy-bg: linear-gradient(135deg, #27AE60 0%, #229954 100%);--color-border: #F0E6D8;--color-border-light: #F8F2EA;--color-divider: #F5EDE3;--shadow-color: 26, 20, 16;--gradient-body: linear-gradient(180deg, #FFFBF5 0%, #FFF8F0 40%, #FFF5EB 100%);--gradient-section-line: linear-gradient(90deg, transparent, var(--color-border), transparent);--gradient-card-shine: linear-gradient(135deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 60%);--glass-bg: rgba(255, 251, 245, .6);--glass-border: rgba(240, 230, 216, .5);--glow-accent: 0 0 20px rgba(232, 87, 58, .12);--glow-card: 0 2px 16px rgba(26, 20, 16, .06);--glow-card-hover: 0 8px 32px rgba(232, 87, 58, .1), 0 4px 12px rgba(26, 20, 16, .08);--font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-size-4xl: 3.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--font-weight-black: 900;--line-height-tight: 1.25;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 50%;--radius-pill: 9999px;--shadow-xs: 0 1px 2px rgba(var(--shadow-color), .05);--shadow-sm: 0 1px 3px rgba(var(--shadow-color), .08), 0 1px 2px rgba(var(--shadow-color), .04);--shadow-md: 0 4px 12px rgba(var(--shadow-color), .08), 0 2px 4px rgba(var(--shadow-color), .04);--shadow-lg: 0 8px 24px rgba(var(--shadow-color), .1), 0 4px 8px rgba(var(--shadow-color), .05);--shadow-xl: 0 16px 48px rgba(var(--shadow-color), .12), 0 8px 16px rgba(var(--shadow-color), .06);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-theme: .4s ease;--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--container-max: 1200px;--container-padding: var(--space-lg);--header-height: 72px}:lang(en){--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:lang(ja){--font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif}:lang(ko){--font-family: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}[data-theme=dark]{--color-bg-primary: #0F0D0B;--color-bg-secondary: #1A1612;--color-bg-card: #221E18;--color-bg-card-hover: #2D2820;--color-bg-elevated: #2A2520;--color-bg-code: #1E1A16;--color-text-primary: #F5F0EB;--color-text-secondary: #B8A898;--color-text-tertiary: #8B7D6E;--color-text-inverse: #0F0D0B;--color-text-link: #FF9070;--color-accent: #FF7654;--color-accent-hover: #FF9070;--color-accent-light: #3A2018;--color-accent-glow: rgba(255, 118, 84, .15);--color-secondary: #FFB84D;--color-secondary-light: #3A2D15;--color-success: #2ECC71;--color-success-light: #1A3028;--color-warning: #F5B041;--color-warning-light: #3A2D15;--color-info: #5DADE2;--color-info-light: #1A2530;--color-danger: #E74C3C;--color-danger-light: #3A1A18;--color-buy: #5DADE2;--color-buy-light: #1A2530;--color-buy-bg: linear-gradient(135deg, #5DADE2 0%, #3498DB 100%);--color-diy: #2ECC71;--color-diy-light: #1A3028;--color-diy-bg: linear-gradient(135deg, #2ECC71 0%, #27AE60 100%);--color-border: #3D342A;--color-border-light: #2A2420;--color-divider: #332A22;--shadow-color: 0, 0, 0;--gradient-body: linear-gradient(180deg, #0F0D0B 0%, #13110E 40%, #1A1612 100%);--gradient-section-line: linear-gradient(90deg, transparent, var(--color-border), transparent);--gradient-card-shine: linear-gradient(135deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, 0) 60%);--glass-bg: rgba(15, 13, 11, .6);--glass-border: rgba(61, 52, 42, .5);--glow-accent: 0 0 20px rgba(255, 118, 84, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(255, 118, 84, .08), 0 4px 12px rgba(0, 0, 0, .2)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background:radial-gradient(ellipse 800px 800px at 10% 15%,rgba(232,87,58,.06),transparent 70%),radial-gradient(ellipse 600px 600px at 90% 50%,rgba(245,166,35,.05),transparent 70%),radial-gradient(ellipse 500px 500px at 50% 85%,rgba(232,87,58,.04),transparent 70%),var(--gradient-body);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-theme),color var(--transition-theme);overflow-x:hidden;position:relative}[data-theme=dark] body{background:radial-gradient(ellipse 800px 800px at 10% 15%,rgba(255,118,84,.035),transparent 70%),radial-gradient(ellipse 600px 600px at 90% 50%,rgba(255,184,77,.025),transparent 70%),radial-gradient(ellipse 500px 500px at 50% 85%,rgba(255,118,84,.02),transparent 70%),var(--gradient-body);background-attachment:fixed}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.15) 100%)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-bottom:1px solid var(--glass-border);box-shadow:0 1px 8px rgba(var(--shadow-color),.04);z-index:100;transition:background var(--transition-theme),border-color var(--transition-theme),box-shadow var(--transition-theme)}[data-theme=dark] .site-header{background:var(--glass-bg)}.header-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);height:100%;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-black);color:var(--color-text-primary);text-decoration:none;cursor:pointer}.header-logo:hover{color:var(--color-accent)}.header-logo-icon{width:40px;height:40px;color:var(--color-accent);flex-shrink:0;transition:transform var(--transition-normal),color var(--transition-theme)}.header-logo:hover .header-logo-icon{transform:rotate(-15deg) scale(1.1)}.header-nav{display:flex;align-items:center;gap:var(--space-lg)}.header-nav-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:color var(--transition-fast);text-decoration:none}.header-nav-link:hover{color:var(--color-accent)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);font-size:1.2rem}.theme-toggle:hover{background:var(--color-accent-light);border-color:var(--color-accent);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.lang-dropdown{position:relative}.lang-dropdown-trigger{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;line-height:1}.lang-dropdown-trigger:hover{border-color:var(--color-accent);background:var(--color-bg-card)}.lang-dropdown.open .lang-dropdown-trigger{border-color:var(--color-accent);box-shadow:0 0 0 2px #e8573a26}.lang-dropdown-flag{font-size:1rem;line-height:1}.lang-dropdown-label{font-size:.75rem;font-weight:var(--font-weight-bold);letter-spacing:.03em}.lang-dropdown-arrow{font-size:.65rem;opacity:.5;transition:transform var(--transition-fast)}.lang-dropdown.open .lang-dropdown-arrow{transform:rotate(180deg)}.lang-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;padding:4px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000026,0 2px 8px #00000014;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);transition:all .2s cubic-bezier(.16,1,.3,1);z-index:1000}.lang-dropdown.open .lang-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.lang-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left}.lang-dropdown-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.lang-dropdown-item.active{color:var(--color-accent);font-weight:var(--font-weight-bold)}.lang-dropdown-item-flag{font-size:1.1rem;line-height:1}.lang-dropdown-item-name{flex:1}.lang-dropdown-check{color:var(--color-accent);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.hero{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;text-align:center;margin-top:var(--header-height);padding:var(--space-4xl) var(--space-lg);background:url(/images/hero-bg.webp) center/cover no-repeat;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000073,#0000008c,#000000b3)}.hero:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent,var(--color-bg-primary));z-index:2;pointer-events:none}.hero-content{position:relative;z-index:2;max-width:700px}.hero-emoji{font-size:4rem;margin-bottom:var(--space-lg);display:inline-block;animation:heroEmojiBounce 3s ease-in-out infinite}@keyframes heroEmojiBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.hero h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-black);color:#fff;margin-bottom:var(--space-md);text-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:.05em}.hero-subtitle{font-size:var(--font-size-xl);color:#fffffff2!important;font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.hero-desc{font-size:var(--font-size-md);color:#fffc!important;margin-bottom:var(--space-2xl);line-height:var(--line-height-relaxed)}.hero-cta{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff!important;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);border-radius:var(--radius-pill);border:2px solid rgba(255,255,255,.3);transition:all var(--transition-normal);text-decoration:none;cursor:pointer}.hero-cta:hover{background:#ffffff59;border-color:#ffffff80;transform:translateY(-2px);color:#fff!important}.hero-decorations{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.hero-decorations:before{content:"";position:absolute;width:600px;height:600px;top:-15%;right:-10%;border-radius:50%;background:radial-gradient(circle,rgba(232,87,58,.35) 0%,rgba(245,166,35,.18) 40%,transparent 70%);filter:blur(60px);animation:orbFloat 12s ease-in-out infinite;will-change:transform}.hero-decorations:after{content:"";position:absolute;width:500px;height:500px;bottom:-20%;left:-8%;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.3) 0%,rgba(232,87,58,.12) 45%,transparent 70%);filter:blur(70px);animation:orbFloat 15s ease-in-out infinite reverse;will-change:transform}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-15px) scale(1.05)}66%{transform:translate(-15px,10px) scale(.95)}}.hero-decorations span{position:absolute;font-size:2.5rem;opacity:.2;animation:floatEmoji 8s ease-in-out infinite}.hero-decorations span:nth-child(1){top:15%;left:8%;animation-delay:0s}.hero-decorations span:nth-child(2){top:70%;left:12%;animation-delay:1.5s}.hero-decorations span:nth-child(3){top:20%;right:10%;animation-delay:3s}.hero-decorations span:nth-child(4){top:65%;right:8%;animation-delay:4.5s}.hero-decorations span:nth-child(5){top:40%;left:5%;animation-delay:2s}.hero-decorations span:nth-child(6){bottom:15%;right:15%;animation-delay:5.5s}@keyframes floatEmoji{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(5deg)}75%{transform:translateY(10px) rotate(-5deg)}}.section{padding:var(--space-3xl) 0;position:relative}.section+.section:before{content:"";position:absolute;top:0;left:15%;right:15%;height:1px;background:var(--gradient-section-line)}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.section-desc{font-size:var(--font-size-md);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.hero-tagline{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:var(--space-xl);padding:.6rem 1.5rem;background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.15);flex-wrap:wrap}.hero-tagline-item{font-size:var(--font-size-sm);color:#ffffffeb;font-weight:var(--font-weight-medium);white-space:nowrap;letter-spacing:.02em}.hero-tagline-divider{color:#ffffff59;font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none}.search-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xl);max-width:100%;overflow:hidden}.search-bar{position:relative;width:100%;max-width:480px}.filter-group{justify-content:center}.search-bar input{width:100%;padding:var(--space-md) var(--space-lg);padding-left:3rem;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-size-base);color:var(--color-text-primary);transition:all var(--transition-fast);outline:none}.search-bar input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-glow)}.search-bar input::placeholder{color:var(--color-text-tertiary)}.search-bar-icon{position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);font-size:1.1rem;color:var(--color-text-tertiary);pointer-events:none}.filter-group{display:flex;flex-wrap:wrap;gap:var(--space-sm);max-width:100%;align-items:center}.filter-group-label,.sort-group-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);white-space:nowrap;margin-right:var(--space-xs)}.filter-btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn.active{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.sort-group{display:flex;gap:var(--space-sm);margin-top:var(--space-md);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:var(--space-sm) var(--space-sm) var(--space-xs);width:100%;max-width:100%;border-top:1px dashed var(--color-border);align-items:center}.sort-group::-webkit-scrollbar{display:none}.sort-btn{white-space:nowrap;padding:6px 14px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s;flex-shrink:0}.sort-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.sort-btn.active{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.nutrition-tag-group{display:flex;gap:var(--space-sm);align-items:center;justify-content:center;flex-wrap:wrap;max-width:100%}.nutrition-tag-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);white-space:nowrap}.nutrition-tag-btn{white-space:nowrap;padding:6px 14px;border-radius:20px;border:1.5px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .25s ease;flex-shrink:0;position:relative;overflow:hidden}.nutrition-tag-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.nutrition-tag-btn[data-tag=highProtein]{border-color:#e74c3c40;color:#c0392b}.nutrition-tag-btn[data-tag=highProtein]:hover{border-color:#e74c3c80;background:#e74c3c0f}.nutrition-tag-btn[data-tag=highProtein].active{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border-color:#e74c3c;box-shadow:0 2px 12px #e74c3c59}.nutrition-tag-btn[data-tag=lowCarb]{border-color:#27ae6040;color:#27ae60}.nutrition-tag-btn[data-tag=lowCarb]:hover{border-color:#27ae6080;background:#27ae600f}.nutrition-tag-btn[data-tag=lowCarb].active{background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;border-color:#27ae60;box-shadow:0 2px 12px #27ae6059}.nutrition-tag-btn[data-tag=lowFat]{border-color:#3498db40;color:#2980b9}.nutrition-tag-btn[data-tag=lowFat]:hover{border-color:#3498db80;background:#3498db0f}.nutrition-tag-btn[data-tag=lowFat].active{background:linear-gradient(135deg,#3498db,#2471a3);color:#fff;border-color:#3498db;box-shadow:0 2px 12px #3498db59}[data-theme=dark] .nutrition-tag-btn[data-tag=highProtein]{color:#e57373;border-color:#e74c3c4d}[data-theme=dark] .nutrition-tag-btn[data-tag=lowCarb]{color:#81c784;border-color:#27ae604d}[data-theme=dark] .nutrition-tag-btn[data-tag=lowFat]{color:#64b5f6;border-color:#3498db4d}.nutrition-tag-criteria{width:100%;font-size:.7rem;color:var(--color-text-quaternary);text-align:center;margin-top:2px}.food-card-badge{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:700;letter-spacing:.02em;z-index:2;animation:badgePop .3s ease}.food-card-badge--save{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.food-card-badge--time{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.food-card-badge--easy{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.food-card-badge--value{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}@keyframes badgePop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg)}.food-card{background:var(--color-bg-card);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;cursor:pointer;transition:all var(--transition-normal);position:relative;box-shadow:var(--glow-card)}.food-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);background:var(--gradient-card-shine);pointer-events:none;opacity:1;transition:opacity var(--transition-normal)}.food-card:hover{box-shadow:var(--glow-card-hover),0 0 40px #e8573a14;border-color:var(--color-accent)}.food-card:hover:after{opacity:0}.food-card-image{height:200px;display:flex;align-items:center;justify-content:center;font-size:5rem;position:relative;overflow:hidden}.food-card-image img{transition:transform .4s ease}.food-card:hover .food-card-image img{transform:scale(1.06)}.food-card-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12}.food-card-image-overlay{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 100%);pointer-events:none;z-index:1}.food-card-savings{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:4px 10px;border-radius:16px;font-size:.7rem;font-weight:700;background:linear-gradient(135deg,#34d399,#10b981);color:#fff;z-index:2;letter-spacing:.02em;box-shadow:0 2px 8px #10b98159;animation:badge-pop .3s ease-out}@keyframes badge-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.food-card-body{padding:var(--space-lg)}.food-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}.food-card-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.food-card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-md);display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.food-card-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-md)}.food-card-price{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-sm)}.food-card-price.buy{background:var(--color-buy-light);color:var(--color-buy)}.food-card-price.diy{background:var(--color-diy-light);color:var(--color-diy)}.food-card-price strong{display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.food-card-meta{display:flex;align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.meta-item{font-size:.72rem;color:var(--color-text-tertiary);display:flex;align-items:center;gap:2px;white-space:nowrap}.meta-time{color:var(--color-text-secondary);font-weight:600}.meta-diff{letter-spacing:-1px;font-size:.55rem}.meta-diff .diff-dot{color:var(--color-text-quaternary)}.meta-diff .diff-dot.filled{color:var(--color-accent)}.food-card-meta .verdict-badge{margin-left:auto;font-size:.68rem}.tag{display:inline-flex;align-items:center;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid transparent;transition:border-color var(--transition-fast)}.tag-accent{background:var(--color-accent-light);color:var(--color-accent);border-color:#e8573a1a}.tag-success{background:var(--color-success-light);color:var(--color-success);border-color:#27ae601a}.tag-warning{background:var(--color-warning-light);color:var(--color-warning);border-color:#f39c121a}.tag-info{background:var(--color-info-light);color:var(--color-info);border-color:#3498db1a}.verdict-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.verdict-badge.verdict-diy{background:var(--color-diy-light);color:var(--color-diy)}.verdict-badge.verdict-buy{background:var(--color-buy-light);color:var(--color-buy)}.verdict-badge.verdict-depends{background:var(--color-warning-light);color:var(--color-warning)}.detail-page{margin-top:var(--header-height);padding:var(--space-2xl) 0 var(--space-4xl)}.detail-hero{text-align:center;padding:var(--space-3xl) var(--space-lg);border-radius:var(--radius-xl);margin-bottom:var(--space-2xl);position:relative;overflow:hidden}.detail-hero-emoji{font-size:5rem;display:inline-block;margin-bottom:var(--space-md);filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.detail-hero h1{font-size:var(--font-size-3xl);color:#fff;margin-bottom:var(--space-sm);text-shadow:0 2px 8px rgba(0,0,0,.2)}.detail-hero-subtitle{color:#ffffffe6!important;font-size:var(--font-size-md)}.detail-hero-tags{display:flex;justify-content:center;gap:var(--space-sm);margin-top:var(--space-md)}.detail-hero-tags .tag{background:#fff3;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);background:transparent;border:1.5px solid var(--color-accent);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-xl);text-decoration:none}.back-btn:before{content:"←";font-size:1.1em}.back-btn:hover{background:var(--color-accent);color:#fff}.detail-section{background:var(--color-bg-card);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:var(--glow-card);position:relative;overflow:hidden;transition:background-color var(--transition-theme),border-color var(--transition-theme),box-shadow var(--transition-theme)}.detail-section:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent-light),transparent);opacity:.6}.detail-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.detail-section-title .icon{font-size:1.3rem;-webkit-text-fill-color:initial;background:none;-webkit-background-clip:initial;background-clip:initial}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md)}.store-card{padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary);transition:all var(--transition-fast);position:relative;overflow:hidden}.store-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:var(--gradient-card-shine);pointer-events:none}.store-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.store-card-name{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);margin-bottom:var(--space-xs)}.store-card-address{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-sm)}.store-card-price{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-buy)}.store-card-night-market{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-secondary);margin-bottom:var(--space-sm)}.store-card-maps-link{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);background:var(--color-accent-light);color:var(--color-accent)!important;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-decoration:none;transition:all var(--transition-fast);border:1px solid transparent}.store-card-maps-link:hover{background:var(--color-accent);color:var(--color-text-inverse)!important;transform:translateY(-1px);box-shadow:var(--glow-accent);border-color:var(--color-accent)}.store-disclaimer{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic;text-align:center;margin-top:var(--space-md);padding:var(--space-sm);opacity:.85}.comparison-panel{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-xl)}.comparison-side{padding:var(--space-xl);border-radius:var(--radius-lg);text-align:center}.comparison-side.buy-side{background:var(--color-buy-light);border:2px solid var(--color-buy)}.comparison-side.diy-side{background:var(--color-diy-light);border:2px solid var(--color-diy)}.comparison-side-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.comparison-side-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md)}.comparison-stats{display:flex;flex-direction:column;gap:var(--space-md)}.comparison-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-divider)}.comparison-stat:last-child{border-bottom:none}.comparison-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.comparison-stat-value{font-weight:var(--font-weight-bold);font-size:var(--font-size-md)}.cost-comparison{margin:var(--space-xl) 0}.cost-bar-group{margin-bottom:var(--space-md)}.cost-bar-label{display:flex;justify-content:space-between;margin-bottom:var(--space-xs);font-size:var(--font-size-sm)}.cost-bar-track{height:32px;background:var(--color-bg-secondary);border-radius:var(--radius-pill);overflow:hidden;position:relative}.cost-bar-fill{height:100%;border-radius:var(--radius-pill);display:flex;align-items:center;padding:0 var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff;transition:width 1s ease-out}.cost-bar-fill.buy-bar{background:var(--color-buy-bg)}.cost-bar-fill.diy-bar{background:var(--color-diy-bg)}.cost-savings{text-align:center;padding:var(--space-md);background:var(--color-success-light);border-radius:var(--radius-md);margin-top:var(--space-md)}.cost-savings strong{color:var(--color-success);font-size:var(--font-size-lg)}.verdict-box{padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--color-accent-light);border-left:4px solid var(--color-accent);box-shadow:var(--glow-card);position:relative;overflow:hidden}.verdict-box:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-card-shine);pointer-events:none}.verdict-box.verdict-diy{background:var(--color-diy-light);border-left-color:var(--color-diy)}.verdict-box.verdict-buy{background:var(--color-buy-light);border-left-color:var(--color-buy)}.verdict-box.verdict-depends{background:var(--color-warning-light);border-left-color:var(--color-warning)}.verdict-box-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:.01em}.verdict-box p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.recipe-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);background:var(--color-bg-secondary);padding:var(--space-xs);border-radius:var(--radius-pill)}.recipe-tab{flex:1;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-pill);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center;background:transparent;color:var(--color-text-secondary)}.recipe-tab:hover{color:var(--color-text-primary)}.recipe-tab.active{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-md)}.recipe-content{display:none}.recipe-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.recipe-info-bar{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-xl);padding:var(--space-lg);background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg-card));border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.recipe-info-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.recipe-info-item .icon{font-size:1.2rem}.recipe-info-item strong{font-weight:var(--font-weight-bold)}.ingredients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-sm);margin-bottom:var(--space-xl)}.ingredient-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.ingredient-check{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.7rem;color:transparent;transition:all var(--transition-fast);cursor:pointer}.ingredient-check.checked{background:var(--color-success);border-color:var(--color-success);color:#fff}.recipe-steps{counter-reset:step}.recipe-step{display:flex;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-divider)}.recipe-step:last-child{border-bottom:none}.recipe-step-number{counter-increment:step;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.recipe-step-text{flex:1;padding-top:var(--space-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.recipe-step-tip{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-secondary-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-secondary)}.appliance-section{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-divider)}.appliance-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-secondary)}.appliance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.appliance-card{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:var(--space-md)}.appliance-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:var(--gradient-card-shine);pointer-events:none}.appliance-card:hover{border-color:var(--color-accent);box-shadow:var(--glow-card);transform:translateY(-2px)}.appliance-card.active{border-color:var(--color-accent);background:var(--color-accent-light)}.appliance-card-icon{font-size:1.6rem;flex-shrink:0;line-height:1;padding-top:2px}.appliance-card-body{flex:1;min-width:0}.appliance-card-name{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-bottom:2px}.appliance-card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:6px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.appliance-card-time{font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-xs)}.appliance-card-toggle{margin-top:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-accent)}.appliance-detail{display:none;margin-top:var(--space-lg);padding:var(--space-xl);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.appliance-detail.active{display:block;animation:fadeIn .3s ease}.appliance-detail .recipe-info-bar,.appliance-detail .ingredients-grid{margin-bottom:var(--space-lg)}.appliance-benefits-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-sm)}.appliance-benefit-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-success-light),rgba(72,187,120,.08));border:1px solid rgba(72,187,120,.2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-success);white-space:nowrap;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.appliance-benefit-chip:hover{transform:scale(1.05);box-shadow:0 2px 8px #48bb7833}.appliance-benefit-chip .benefit-icon{font-size:.85rem}.appliance-benefit-chip .benefit-value{font-weight:var(--font-weight-black);color:var(--color-text-primary)}.appliance-ideal-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.appliance-ideal-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);font-size:.7rem;color:var(--color-text-secondary)}.appliance-comparison{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f10d,#6366f105);border-left:3px solid var(--color-accent);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.appliance-comparison:before{content:"📊 "}.appliance-benefit-chip[data-detail]:after{content:attr(data-detail);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 10px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.65rem;font-weight:400;color:var(--color-text-secondary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;box-shadow:var(--shadow-md)}.appliance-benefit-chip[data-detail]{position:relative}.appliance-benefit-chip[data-detail]:hover:after{opacity:1}@media(max-width:480px){.appliance-benefits-bar{gap:var(--space-xs)}.appliance-benefit-chip{padding:3px 8px;font-size:.65rem}.appliance-benefit-chip[data-detail]:after{display:none}}.method-made-this-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-sm);padding:6px 12px;border:1.5px solid var(--color-accent);border-radius:var(--radius-lg);background:transparent;color:var(--color-accent);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all .2s;width:100%}.method-made-this-btn:hover:not(:disabled){background:var(--color-accent);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #6366f14d}.method-made-this-btn--done{border-color:var(--color-success, #22c55e);color:var(--color-success, #22c55e);background:#22c55e0d;cursor:default}.method-made-this-btn:disabled{opacity:.7;cursor:default}.method-progress{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary);margin-left:var(--space-sm);vertical-align:middle}.method-dots{letter-spacing:2px;color:var(--color-accent);font-size:.7rem}.method-progress--complete .method-progress-all{color:var(--color-accent);font-weight:600;animation:method-celebrate .6s ease}@keyframes method-celebrate{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.try-other-hint{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f10f,#6366f105);border-left:3px solid var(--color-accent);opacity:0;transform:translateY(8px);transition:all .4s ease}.try-other-hint--visible{opacity:1;transform:translateY(0)}.try-other-text{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.try-other-detail{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.source-list{display:flex;flex-direction:column;gap:var(--space-sm)}.source-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg);gap:var(--space-md)}.source-item-name{font-weight:var(--font-weight-bold);min-width:80px}.source-item-where{flex:1;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.source-item-where .tag{font-size:var(--font-size-xs)}.source-item-ease{display:flex;gap:2px;flex-shrink:0}.ease-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border)}.ease-dot.filled{background:var(--color-success)}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.score-item{text-align:center;padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.score-item:hover{box-shadow:var(--glow-card);transform:translateY(-2px)}.score-item-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.score-stars{font-size:1.4rem;letter-spacing:2px}.star-filled{color:var(--color-secondary)}.star-empty{color:var(--color-border)}.score-value{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-top:var(--space-xs)}.legal-page{margin-top:calc(var(--header-height) + var(--space-2xl));padding-bottom:var(--space-4xl)}.legal-content{max-width:720px;margin:var(--space-xl) auto 0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-2xl);box-shadow:var(--glow-card)}.legal-hero{text-align:center;padding:var(--space-2xl) var(--space-lg);margin:calc(-1 * var(--space-2xl)) calc(-1 * var(--space-2xl)) var(--space-xl);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-card) 100%);border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}.legal-hero:before{content:"";position:absolute;top:-40%;right:-20%;width:200px;height:200px;border-radius:50%;background:var(--color-accent);opacity:.04;filter:blur(60px)}.legal-hero-icon{font-size:3.5rem;display:block;margin-bottom:var(--space-md);filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.legal-hero h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-xs);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.legal-hero-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;line-height:1.5}.legal-content h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.legal-updated{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);display:inline-flex;align-items:center;gap:var(--space-xs)}.legal-updated:before{content:"🕐";font-size:.85em}.legal-section{padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-md);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border-left:3px solid var(--color-accent);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.legal-section:hover{transform:translate(2px);box-shadow:0 2px 12px #0000000f}.legal-section:last-child{margin-bottom:0}.legal-content h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-top:0;margin-bottom:var(--space-sm);color:var(--color-text-primary);padding-bottom:0;border-bottom:none}.legal-content>h2{margin-top:var(--space-xl);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.legal-content p{margin-bottom:var(--space-md);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.legal-content p:last-child{margin-bottom:0}.legal-content ul{margin-bottom:var(--space-sm);padding-left:0;list-style:none}.legal-content ul li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.legal-content ul li:before{content:"";position:absolute;left:4px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--color-accent);opacity:.7}.legal-content ul li:last-child{margin-bottom:0}.legal-content a{color:var(--color-accent);text-decoration:none;border-bottom:1px dashed var(--color-accent);padding-bottom:1px;transition:border-color var(--transition-fast),opacity var(--transition-fast)}.legal-content a:hover{color:var(--color-accent-hover);border-bottom-style:solid}.about-hero{text-align:center;padding:var(--space-2xl) var(--space-lg);margin:calc(-1 * var(--space-2xl)) calc(-1 * var(--space-2xl)) var(--space-lg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-card) 100%);border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}.about-hero:before{content:"";position:absolute;top:-40%;left:-20%;width:200px;height:200px;border-radius:50%;background:var(--color-accent);opacity:.04;filter:blur(60px)}.about-emoji{font-size:4rem;display:block;margin-bottom:var(--space-md);filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.about-hero h2{border:none;border-left:none;margin-top:0;padding-bottom:0;font-size:var(--font-size-2xl);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-tagline{font-size:var(--font-size-md);color:var(--color-text-tertiary);font-style:italic}@media(max-width:480px){.legal-content{padding:var(--space-lg) var(--space-md)}.legal-hero,.about-hero{margin:calc(-1 * var(--space-lg)) calc(-1 * var(--space-md)) var(--space-lg);padding:var(--space-xl) var(--space-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.legal-hero-icon,.about-emoji{font-size:2.5rem}.legal-section{padding:var(--space-md) var(--space-lg)}}.site-footer{padding:var(--space-3xl) 0 var(--space-xl);background:var(--color-bg-secondary);border-top:none;text-align:center;position:relative;transition:background-color var(--transition-theme),border-color var(--transition-theme)}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-section-line)}.footer-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.footer-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.footer-links{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-xl)}.footer-links a{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.empty-state{text-align:center;padding:var(--space-4xl) var(--space-xl)}.empty-state-emoji{font-size:4rem;margin-bottom:var(--space-lg)}.empty-state h3{margin-bottom:var(--space-sm)}.empty-state p{color:var(--color-text-tertiary)}.price-date-info{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.price-date-info a{color:var(--color-accent);text-decoration:underline}.price-live-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success);margin-left:var(--space-sm)}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.price-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.price-card:hover{box-shadow:var(--glow-card);transform:translateY(-2px)}.price-card-live{border-color:#27ae6033}.price-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.price-card-name{font-weight:var(--font-weight-bold);font-size:var(--font-size-md)}.price-card-source{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill)}.source-live{background:var(--color-success-light);color:var(--color-success)}.source-estimate{background:var(--color-warning-light);color:var(--color-warning)}.price-card-wholesale{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-divider)}.price-card-wholesale strong{font-size:var(--font-size-lg);color:var(--color-text-primary)}.price-unit{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.price-card-channels{display:flex;flex-direction:column;gap:var(--space-sm)}.price-channel-row{display:flex;align-items:center;gap:var(--space-sm)}.price-channel-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:88px;flex-shrink:0}.price-channel-bar-track{flex:1;height:8px;background:var(--color-bg-card);border-radius:var(--radius-pill);overflow:hidden}.price-channel-bar-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-accent),var(--color-secondary));transition:width .8s ease-out}.price-channel-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);min-width:50px;text-align:right}.price-methodology{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden}.price-methodology-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast)}.price-methodology-toggle:hover{background:var(--color-bg-card-hover)}.price-methodology-arrow{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.price-methodology-content{max-height:0;overflow:hidden;transition:max-height var(--transition-normal),padding var(--transition-normal);padding:0 var(--space-lg)}.price-methodology-content.open{max-height:500px;padding:var(--space-lg)}.price-methodology-content p{font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.price-methodology-channels{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.price-method-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.price-method-item strong{display:block;font-size:var(--font-size-sm)}.price-method-mult{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.price-summary-table{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-light);margin-bottom:var(--space-md)}.price-summary-header,.price-summary-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);align-items:center}.price-summary-header{background:var(--color-bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.price-summary-row{font-size:var(--font-size-sm);border-bottom:1px solid var(--color-divider)}.price-summary-row:last-child{border-bottom:none}.price-summary-row:nth-child(2n){background:var(--color-bg-card)}.price-summary-col-name{font-weight:var(--font-weight-medium)}.price-summary-col{text-align:center}.price-per-unit{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:400}.price-disclaimer{padding:var(--space-md);background:var(--color-warning-light);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-warning);line-height:var(--line-height-relaxed);border-left:3px solid var(--color-warning)}.nutrition-card{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--color-border-light)}.nutrition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-divider)}.nutrition-calories{display:flex;align-items:baseline;gap:var(--space-xs)}.nutrition-cal-number{font-size:2.5rem;font-weight:var(--font-weight-black);color:var(--color-accent);line-height:1}.nutrition-cal-unit{font-size:var(--font-size-md);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.nutrition-serving{text-align:right}.nutrition-serving-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.nutrition-serving-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.nutrition-donut-row{display:flex;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-divider)}.nutrition-donut{width:110px;height:110px;flex-shrink:0}.nutrition-donut-svg{width:100%;height:100%}.nutrition-donut-text{font-size:5.5px;font-weight:700;fill:var(--color-text-primary)}.nutrition-donut-subtext{font-size:3px;fill:var(--color-text-tertiary)}.nutrition-donut-legend{display:flex;flex-direction:column;gap:var(--space-sm)}.nutrition-legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.nutrition-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nutrition-dv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.nutrition-dv-circle{display:flex;flex-direction:column;align-items:center;gap:2px}.nutrition-dv-svg{width:56px;height:56px}.nutrition-dv-pct{font-size:9px;font-weight:700;fill:var(--color-text-primary)}.nutrition-dv-unit{font-size:5px;fill:var(--color-text-tertiary)}.nutrition-dv-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center}.nutrition-dv-amount{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.comp-card{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow:hidden;background:var(--color-bg-card)}.comp-columns{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.comp-col{padding:var(--space-lg);text-align:center}.comp-col--buy{background:color-mix(in srgb,var(--color-buy) 6%,var(--color-bg-card))}.comp-col--diy{background:color-mix(in srgb,var(--color-diy) 6%,var(--color-bg-card))}.comp-col-header{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-bottom:var(--space-sm)}.comp-col-icon{font-size:1.3rem}.comp-col-label{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:.02em}.comp-col-price{font-size:2rem;font-weight:var(--font-weight-black);line-height:1.1;margin-bottom:var(--space-sm)}.comp-col-details{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.comp-vs{padding:0 var(--space-md);font-weight:var(--font-weight-black);font-size:var(--font-size-lg);color:var(--color-text-quaternary);text-align:center;background:var(--color-bg-card)}.comp-bars-section{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light)}.comp-bar-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.comp-bar-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.comp-bar-label{font-size:var(--font-size-xs);font-weight:600;min-width:10em;text-align:right;flex-shrink:0;white-space:nowrap}.comp-bar-track{flex:1;height:28px;border-radius:14px;background:var(--color-bg-secondary);overflow:hidden;position:relative}.comp-bar-fill{height:100%;border-radius:14px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--space-sm);font-size:var(--font-size-xs);font-weight:700;color:#fff;min-width:50px;transition:width .8s cubic-bezier(.22,1,.36,1)}.comp-bar-fill--buy{background:linear-gradient(90deg,var(--color-buy),color-mix(in srgb,var(--color-buy) 80%,#000))}.comp-bar-fill--diy{background:linear-gradient(90deg,var(--color-diy),color-mix(in srgb,var(--color-diy) 80%,#000))}.comp-bar-savings{text-align:center;font-size:var(--font-size-sm);font-weight:700;color:var(--color-diy);margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb,var(--color-diy) 8%,transparent);border-radius:var(--radius-sm)}.comp-bar-note{font-size:.72rem;color:var(--color-text-quaternary);margin-top:var(--space-xs);text-align:center;font-style:italic}@media(max-width:600px){.comp-columns{grid-template-columns:1fr}.comp-vs{padding:var(--space-xs);font-size:var(--font-size-md)}.comp-col-price{font-size:1.6rem}}.nutrition-micro-section{border-radius:var(--radius-md);border:1px solid var(--color-border-light);overflow:hidden;margin-bottom:var(--space-md)}.nutrition-micro-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast)}.nutrition-micro-toggle:hover{background:var(--color-bg-card-hover)}.nutrition-micro-arrow{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.nutrition-micro-content{max-height:0;overflow:hidden;transition:max-height var(--transition-normal)}.nutrition-micro-content.open{max-height:400px}.nutrition-micro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;background:var(--color-divider);padding:1px}.nutrition-micro-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);font-size:var(--font-size-sm);transition:background var(--transition-fast)}.nutrition-micro-item:hover{background:var(--color-bg-card-hover)}.nutrition-micro-label{color:var(--color-text-secondary)}.nutrition-micro-value{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.nutrition-micro-dv{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:var(--space-xs)}.nutrition-source{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;padding-top:var(--space-sm)}.eeat-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-lg)}.eeat-tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.eeat-tip-card{background:var(--color-bg-secondary);border:1px solid #d4a944;border-radius:var(--radius-lg);padding:var(--space-lg);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.eeat-tip-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#d4a944,#f0c75e,#d4a944)}.eeat-tip-card:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:eeatShimmer 4s ease-in-out infinite}@keyframes eeatShimmer{0%{left:-60%}50%{left:100%}to{left:100%}}.eeat-tip-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #d4a94426}.eeat-tip-icon{font-size:2rem;margin-bottom:var(--space-sm)}.eeat-tip-title{font-weight:var(--font-weight-bold);color:#d4a944;margin-bottom:var(--space-sm);font-size:var(--font-size-md)}.eeat-tip-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7}.eeat-section-heading{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--space-md)}.eeat-mistakes{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.eeat-mistake-card{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-light)}.eeat-mistake-problem{background:#e74c3c14;padding:var(--space-md) var(--space-lg);display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.eeat-mistake-x{color:#e74c3c;font-weight:var(--font-weight-black);font-size:var(--font-size-lg);flex-shrink:0}.eeat-mistake-solution{background:#27ae6014;padding:var(--space-md) var(--space-lg);display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7}.eeat-mistake-check{color:#27ae60;font-weight:var(--font-weight-black);font-size:var(--font-size-lg);flex-shrink:0}.eeat-author-note{background:var(--color-bg-secondary);border-left:4px solid #3498db;border-radius:var(--radius-md);padding:var(--space-lg)}.eeat-author-note-header{font-weight:var(--font-weight-bold);color:#3498db;margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.eeat-author-note p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.8;margin:0}.ingredient-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}@media(max-width:768px){.ingredient-info-grid{grid-template-columns:1fr}}.ingredient-info-col{min-width:0}.ingredient-info-heading{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-border-light)}.source-list-compact .source-item{padding:var(--space-sm) var(--space-sm);border-bottom:1px solid var(--color-border-light);display:flex;align-items:baseline;gap:var(--space-md)}.source-list-compact .source-item .source-item-name{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.source-list-compact .source-item .source-item-where{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.source-list-compact .source-item:last-child{border-bottom:none}.gallery-img{margin:var(--space-md) 0;border-radius:var(--radius-lg);overflow:hidden;text-align:center}.gallery-img img{width:100%;max-width:600px;height:auto;border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;transition:transform .3s}.gallery-img img:hover{transform:scale(1.02)}.cost-vertical-chart{display:flex;flex-direction:column;align-items:center;padding:var(--space-md) var(--space-sm);min-width:100px}.cost-vertical-bars{display:flex;gap:var(--space-md);align-items:flex-end;height:140px;width:100%;justify-content:center}.cost-vertical-col{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex:0 0 40px}.cost-vertical-price{font-weight:var(--font-weight-black);font-size:var(--font-size-md)}.cost-vertical-bar-track{width:36px;height:100px;background:var(--color-bg-secondary);border-radius:var(--radius-md) var(--radius-md) 0 0;position:relative;overflow:hidden;display:flex;align-items:flex-end}.cost-vertical-bar-fill{width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:height .8s ease-out}.cost-vertical-bar-fill.buy-bar{background:linear-gradient(to top,var(--color-buy),#ff8a65)}.cost-vertical-bar-fill.diy-bar{background:linear-gradient(to top,var(--color-diy),#66bb6a)}.cost-vertical-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap}.cost-vertical-savings{margin-top:var(--space-md);font-size:var(--font-size-sm);color:var(--color-diy);font-weight:var(--font-weight-black);text-align:center;background:var(--color-diy-light);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);letter-spacing:.02em}.nutrition-dv-explain{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-top:var(--space-md);line-height:1.6}.nutrition-disclaimer{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;padding-top:var(--space-xs);font-style:italic}.detail-toc{position:fixed;right:var(--space-lg);top:calc(var(--header-height) + var(--space-xl));width:160px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--color-border-light);z-index:50;max-height:calc(100vh - var(--header-height) - var(--space-4xl));overflow-y:auto}.detail-toc-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border-light)}.detail-toc-link{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;padding:5px 0;border-left:2px solid transparent;padding-left:var(--space-sm);transition:all .2s}.detail-toc-link:hover{color:var(--color-accent)}.detail-toc-link.active{color:var(--color-accent);border-left-color:var(--color-accent);font-weight:var(--font-weight-bold)}@media(max-width:1200px){.detail-toc{display:none}}.back-to-top{position:fixed;bottom:var(--space-xl);right:var(--space-xl);width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;font-size:var(--font-size-lg);cursor:pointer;box-shadow:0 4px 12px #0003;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s;z-index:100;pointer-events:none}.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.floating-back-btn{position:fixed;bottom:var(--space-xl);left:var(--space-xl);display:flex;align-items:center;gap:var(--space-xs);padding:10px 18px;border-radius:var(--radius-pill);background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:0 4px 20px #0000001a;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s,background .2s;z-index:100;pointer-events:none}[data-theme=dark] .floating-back-btn{background:#1e1e2ed9;box-shadow:0 4px 20px #0000004d;border-color:var(--color-border-light)}.floating-back-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.floating-back-btn:hover{background:#fffffffa;transform:translateY(-2px);box-shadow:0 6px 24px #00000026}[data-theme=dark] .floating-back-btn:hover{background:#1e1e2ef2;box-shadow:0 6px 24px #0006}.floating-back-icon{font-size:1.1em}.floating-back-text{white-space:nowrap}@media(max-width:600px){.floating-back-btn{left:var(--space-md);bottom:var(--space-lg);padding:8px 14px;font-size:var(--font-size-xs)}}.detail-bottom-nav{text-align:center;padding:var(--space-xl) 0;margin-top:var(--space-lg);border-top:1px solid var(--color-border-light)}.back-btn-bottom{font-size:var(--font-size-md);padding:var(--space-sm) var(--space-xl)}.translation-notice{text-align:center;padding:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg);background:#ffffff0a;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary);letter-spacing:.01em}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:var(--space-md) var(--space-lg);background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--color-border);box-shadow:0 -4px 24px #0000001a;transform:translateY(100%);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease}[data-theme=dark] .cookie-banner{background:#1e1e2eeb;box-shadow:0 -4px 24px #0000004d}.cookie-banner-visible{transform:translateY(0);opacity:1}.cookie-banner-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.cookie-banner-icon{font-size:1.6rem;flex-shrink:0}.cookie-banner-text{flex:1;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);min-width:200px}.cookie-banner-actions{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.cookie-banner-link{font-size:var(--font-size-sm);color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.cookie-banner-link:hover{color:var(--color-accent-hover)}.cookie-banner-accept{padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border:none;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.cookie-banner-accept:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-accent-rgb, 99, 102, 241),.3)}.cookie-banner-accept:active{transform:translateY(0)}@media(max-width:600px){.cookie-banner-inner{flex-direction:column;text-align:center}.cookie-banner-icon{display:none}.cookie-banner-actions{width:100%;justify-content:center}}.random-picker-fab{position:fixed;bottom:28px;right:28px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-primary));color:#fff;font-size:1.6rem;border:none;cursor:pointer;box-shadow:0 4px 20px #00000040,0 0 rgba(var(--color-accent-rgb, 99,102,241),.4);z-index:999;transition:transform .2s,box-shadow .2s;animation:fab-pulse 3s ease-in-out infinite}.random-picker-fab:hover{transform:scale(1.12);box-shadow:0 6px 28px #00000059}@keyframes fab-pulse{0%,to{box-shadow:0 4px 20px #00000040,0 0 #6366f14d}50%{box-shadow:0 4px 20px #00000040,0 0 0 8px #6366f100}}.random-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.random-overlay.active{opacity:1}.random-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-lg);text-align:center;max-width:380px;width:90%;position:relative;box-shadow:0 24px 80px #00000059;animation:modal-in .3s ease-out}@keyframes modal-in{0%{transform:scale(.85) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.random-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);margin-bottom:var(--space-lg);color:var(--color-text-primary)}.random-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.4rem;color:var(--color-text-tertiary);cursor:pointer}.random-spinner{min-height:120px;display:flex;align-items:center;justify-content:center}.random-food-img{width:160px;height:160px;border-radius:var(--radius-xl);overflow:hidden;margin:0 auto}.random-food-img img{width:100%;height:100%;object-fit:cover}.random-food-img--big{width:220px;height:220px;animation:emoji-pop .4s ease-out;box-shadow:0 8px 30px #0003;border-radius:var(--radius-2xl, 20px)}.random-food-name{font-size:var(--font-size-lg);font-weight:700;margin-top:var(--space-xs)}.random-food-name--big{font-size:var(--font-size-xl)}@keyframes emoji-pop{0%{transform:scale(.5)}60%{transform:scale(1.2)}to{transform:scale(1)}}.random-bounce{animation:bounce-fast .12s ease-out}@keyframes bounce-fast{0%{transform:scale(.9)}to{transform:scale(1)}}.random-result{margin-top:var(--space-md)}.random-result-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.random-result-stats{display:flex;gap:var(--space-lg);justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-tertiary)}.random-actions{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-lg)}.random-btn{padding:10px 24px;border-radius:var(--radius-md);border:none;cursor:pointer;font-weight:700;font-size:var(--font-size-sm);transition:transform .15s}.random-btn:hover{transform:scale(1.05)}.random-btn--go{background:linear-gradient(135deg,var(--color-accent),var(--color-primary));color:#fff}.random-btn--retry{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.daily-quest-bar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}.daily-quest-label{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-tertiary);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.daily-quest-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 12%,var(--color-bg-card)),var(--color-bg-card));border:1px solid color-mix(in srgb,var(--color-accent) 25%,var(--color-border-light));cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit;box-shadow:0 0 8px color-mix(in srgb,var(--color-accent) 10%,transparent)}.daily-quest-pill:hover{transform:translateY(-1px) scale(1.03);border-color:var(--color-accent);box-shadow:0 0 16px color-mix(in srgb,var(--color-accent) 25%,transparent)}.daily-quest-pill-emoji{font-size:1.1rem;line-height:1}.daily-quest-pill-name{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);white-space:nowrap}.daily-quest-pill-stat{font-size:.65rem;font-weight:600;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent);padding:1px 6px;border-radius:999px;white-space:nowrap}.daily-quest-pill-go{font-size:.6rem;color:var(--color-accent);opacity:0;transition:opacity .2s}.daily-quest-pill:hover .daily-quest-pill-go{opacity:1}.shopping-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.shopping-overlay.active{opacity:1}.shopping-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);max-width:440px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 24px 80px #0000004d;animation:modal-in .3s ease-out}.shopping-modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-black);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.shopping-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.3rem;color:var(--color-text-tertiary);cursor:pointer}.shopping-items{list-style:none;padding:0;margin:0}.shopping-item{display:flex;align-items:center;gap:var(--space-sm);padding:10px 0;border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);transition:opacity .2s}.shopping-item.checked{opacity:.45;text-decoration:line-through}.shopping-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-diy);cursor:pointer;flex-shrink:0}.shopping-item label{cursor:pointer;flex:1}.shopping-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.shopping-btn{flex:1;padding:10px;border-radius:var(--radius-md);border:none;cursor:pointer;font-weight:700;font-size:var(--font-size-sm);transition:transform .15s}.shopping-btn:hover{transform:scale(1.03)}.shopping-btn--copy{background:linear-gradient(135deg,var(--color-diy),color-mix(in srgb,var(--color-diy) 80%,#000));color:#fff}.shopping-btn--close{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.shopping-copied{text-align:center;font-size:var(--font-size-sm);color:var(--color-diy);font-weight:700;margin-top:var(--space-sm);animation:fade-in .3s}.shopping-list-btn{padding:10px 28px;border-radius:var(--radius-md);border:1px dashed var(--color-diy);background:color-mix(in srgb,var(--color-diy) 8%,transparent);color:var(--color-diy);font-weight:700;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.shopping-list-btn:hover{background:color-mix(in srgb,var(--color-diy) 16%,transparent);transform:translateY(-1px)}@keyframes fade-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.festival-banner{border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-lg);color:#fff;position:relative;overflow:hidden;animation:festival-in .6s ease-out}.festival-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000026;border-radius:inherit;pointer-events:none}@keyframes festival-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.festival-banner-header{display:flex;gap:var(--space-lg);align-items:flex-start;position:relative;z-index:1}.festival-banner-emoji{font-size:3.5rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.festival-banner-text{flex:1}.festival-greeting{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);line-height:1.3;margin:0 0 var(--space-xs);text-shadow:0 1px 3px rgba(0,0,0,.15)}.festival-pitch{font-size:var(--font-size-sm);line-height:1.6;margin:0;opacity:.92}.festival-foods{display:flex;gap:var(--space-sm);margin-top:var(--space-md);overflow-x:auto;padding-bottom:var(--space-xs);position:relative;z-index:1}.festival-food-card{display:flex;align-items:center;gap:var(--space-sm);background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:transform .2s,background .2s;flex-shrink:0;text-decoration:none;color:inherit}.festival-food-card:hover{transform:translateY(-2px);background:#ffffff47}.festival-food-emoji{font-size:1.6rem}.festival-food-info{display:flex;flex-direction:column;gap:2px}.festival-food-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);white-space:nowrap}.festival-food-savings{font-size:var(--font-size-xs);opacity:.85}.festival-checklist-details{margin-top:var(--space-md);position:relative;z-index:1}.festival-checklist-toggle{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;padding:var(--space-sm) var(--space-md);background:#ffffff1f;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--space-xs);transition:background .2s;list-style:none}.festival-checklist-toggle::-webkit-details-marker{display:none}.festival-checklist-toggle:before{content:"▸";transition:transform .2s;display:inline-block}.festival-checklist-details[open] .festival-checklist-toggle:before{transform:rotate(90deg)}.festival-checklist-toggle:hover{background:#fff3}.festival-checklist{margin-top:var(--space-sm);padding:var(--space-md);background:#ffffff1a;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-xs)}.festival-tool-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);cursor:pointer;padding:4px 0}.festival-tool-item.optional{opacity:.9}.festival-tool-item input[type=checkbox]{width:18px;height:18px;accent-color:#fff;cursor:pointer;flex-shrink:0}.festival-tool-name{font-weight:var(--font-weight-bold)}.festival-tool-alt{font-size:var(--font-size-xs);opacity:.75;font-style:italic;margin-left:var(--space-xs)}.festival-culture{margin-top:var(--space-md);padding:var(--space-md);background:#ffffff1a;border-radius:var(--radius-md);display:flex;gap:var(--space-sm);align-items:flex-start;position:relative;z-index:1}.festival-culture-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}.festival-culture p{margin:0;font-size:var(--font-size-sm);line-height:1.7;opacity:.9}@media(max-width:600px){.festival-banner{padding:var(--space-md)}.festival-banner-header{flex-direction:column;align-items:center;text-align:center}.festival-foods{justify-content:center;flex-wrap:wrap}.festival-culture{flex-direction:column;align-items:center;text-align:center}}.quest-panel{background:var(--color-bg-card);border-radius:var(--radius-lg);border:2px solid var(--color-accent);overflow:hidden;margin-top:var(--space-md);box-shadow:0 4px 20px #00000014;max-width:280px}.quest-panel-header{background:linear-gradient(135deg,var(--color-accent),#c4522a);color:#fff;padding:var(--space-sm) var(--space-md);display:flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:1rem}.quest-panel-icon{font-size:1.3rem}.quest-panel-body{padding:var(--space-md)}.quest-challenge-text{font-size:1.05rem;margin-bottom:var(--space-md);line-height:1.6;color:var(--color-text-primary)}.quest-accept-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #16a34a4d}.quest-accept-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #16a34a66}.quest-accept-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.quest-progress{margin-bottom:var(--space-md)}.quest-progress-steps{display:flex;align-items:center;gap:var(--space-xs);font-size:.9rem;flex-wrap:wrap}.quest-step{padding:var(--space-xs) var(--space-sm);background:var(--bg-muted, #f0f0f0);border-radius:var(--radius-sm);opacity:.6}.quest-step.active{background:var(--accent);color:#fff;opacity:1;font-weight:600}.quest-step-arrow{color:var(--text-muted)}.quest-upload-area{border:2px dashed var(--border-color, #ddd);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.quest-upload-area:hover{border-color:var(--accent);background:rgba(var(--accent-rgb, 0,0,0),.03)}.quest-upload-label{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--text-muted);font-size:.95rem}.quest-upload-icon{font-size:2.5rem}.quest-uploading{display:flex;align-items:center;gap:var(--space-sm);justify-content:center;padding:var(--space-md);color:var(--text-muted)}.quest-spinner{width:24px;height:24px;border:3px solid var(--border-color, #ddd);border-top-color:var(--accent);border-radius:50%;animation:quest-spin .8s linear infinite}@keyframes quest-spin{to{transform:rotate(360deg)}}.quest-result{text-align:center;padding:var(--space-md);border-radius:var(--radius-md)}.quest-result-success{background:linear-gradient(135deg,#2ecc711a,#2ecc710d);border:1px solid rgba(46,204,113,.3)}.quest-result-rejected{background:#e74c3c14;border:1px solid rgba(231,76,60,.2)}.quest-result-pending{background:#f1c40f14;border:1px solid rgba(241,196,15,.2)}.quest-result-icon{font-size:2rem}.quest-result-bounce{display:inline-block;animation:quest-bounce .6s ease}@keyframes quest-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.quest-complete-header{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.quest-complete-text{font-size:1.2rem;font-weight:700;color:#2ecc71}.quest-photo-preview{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);margin:var(--space-sm) auto;display:block;box-shadow:0 4px 12px #00000026}.quest-xp-earned{margin-top:var(--space-sm)}.quest-xp-badge{display:inline-block;padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg,#f1c40f,#e67e22);color:#fff;border-radius:20px;font-weight:700;font-size:1.1rem;animation:quest-xp-pop .5s ease}@keyframes quest-xp-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.quest-appeal-btn{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);background:transparent;border:2px solid #e74c3c;color:#e74c3c;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s}.quest-appeal-btn:hover{background:#e74c3c1a}.quest-error{color:#e74c3c}.quest-stats-bar{border-top:1px solid var(--border-color, #eee)}.quest-stats{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);flex-wrap:wrap}.quest-stat-item{display:flex;align-items:center;gap:4px;font-size:.85rem}.quest-stat-emoji{font-size:1.1rem}.quest-stat-value{font-weight:700;font-size:1rem}.quest-stat-label{color:var(--text-muted);font-size:.8rem}.quest-stat-xp{flex:1;min-width:120px}.quest-xp-bar-container{width:100%;height:8px;background:var(--bg-muted, #e0e0e0);border-radius:4px;overflow:hidden;margin-bottom:2px}.quest-xp-bar{height:100%;background:linear-gradient(90deg,#f1c40f,#e67e22);border-radius:4px;transition:width .8s ease}.quest-xp-text{font-size:.75rem;color:var(--text-muted)}@media(max-width:600px){.quest-stats{gap:var(--space-sm)}.quest-stat-xp{min-width:80px}}#app{min-height:100vh;display:flex;flex-direction:column}#main-content{flex:1}.page-enter{animation:pageEnter .4s ease}@keyframes pageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){:root{--font-size-4xl: 2.5rem;--font-size-3xl: 2rem;--font-size-2xl: 1.5rem;--container-padding: var(--space-md);--header-height: 60px}.hero{min-height:320px;padding:var(--space-2xl) var(--space-md)}.hero-decorations span{font-size:1.8rem}.food-grid{grid-template-columns:1fr;gap:var(--space-xl)}.comparison-panel{grid-template-columns:1fr}.header-nav{gap:var(--space-md)}.header-nav-link{display:none}.detail-section{padding:var(--space-lg)}.recipe-tabs{flex-direction:column}.store-grid{grid-template-columns:1fr}.source-item{flex-direction:column;align-items:flex-start}.score-grid{grid-template-columns:repeat(2,1fr)}.search-section{gap:var(--space-sm)}.search-bar{max-width:none}}@media(max-width:480px){:root{--font-size-4xl: 2rem;--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem}.hero{min-height:360px}.hero-emoji{font-size:3rem}.filter-group{justify-content:center}.food-card-comparison,.ingredients-grid,.score-grid{grid-template-columns:1fr}.recipe-info-bar{flex-direction:column}}@media(hover:hover){.food-card:hover{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.theme-toggle,.back-btn,.hero-decorations{display:none!important}.detail-page{margin-top:0}.detail-section{break-inside:avoid;border:1px solid #ccc}}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease;padding:var(--space-md)}.auth-modal-overlay.closing{animation:fadeOut .2s ease forwards}.auth-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl, 16px);padding:var(--space-2xl, 32px);width:100%;max-width:400px;position:relative;box-shadow:0 24px 48px #0000004d;animation:slideUp .3s ease}.auth-modal-close{position:absolute;top:var(--space-md, 12px);right:var(--space-md, 12px);background:none;border:none;font-size:1.2rem;color:var(--color-text-tertiary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.auth-modal-close:hover{background:var(--color-bg-secondary)}.auth-modal-header{text-align:center;margin-bottom:var(--space-xl, 24px)}.auth-modal-emoji{font-size:3rem;margin-bottom:var(--space-sm, 8px)}.auth-modal-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-xs, 4px)}.auth-modal-desc{font-size:.9rem;color:var(--color-text-secondary);margin:0}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);font-size:.95rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .2s}.auth-google-btn:hover{background:var(--color-bg-card);border-color:var(--color-text-tertiary);transform:translateY(-1px)}.auth-modal-note{text-align:center;font-size:.75rem;color:var(--color-text-tertiary);margin-top:var(--space-md, 12px);opacity:.8}.auth-divider{display:flex;align-items:center;margin:var(--space-lg, 16px) 0;color:var(--color-text-tertiary);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{padding:0 var(--space-md, 12px)}.auth-form{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.auth-form-group input{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background:var(--color-bg-card);color:var(--color-text-primary);font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.auth-form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.auth-form-group input::placeholder{color:var(--color-text-tertiary)}.auth-error{color:#ef4444;font-size:.85rem;padding:var(--space-xs, 4px) 0}.auth-submit-btn{width:100%;padding:12px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;font-weight:600;font-size:1rem;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .2s;margin-top:var(--space-xs, 4px)}.auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-glow)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;margin-top:var(--space-lg, 16px);font-size:.85rem;color:var(--color-text-secondary)}.auth-toggle-btn{background:none;border:none;color:var(--color-accent);font-weight:600;cursor:pointer;font-size:.85rem;text-decoration:underline;padding:0}.auth-toggle-btn:hover{color:var(--color-accent-hover)}.header-auth{display:flex;align-items:center;gap:var(--space-sm, 8px)}.header-checkin-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:50%;transition:transform .2s,background .2s;line-height:1}.header-checkin-btn:hover{transform:scale(1.15);background:var(--color-bg-secondary)}.header-login-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.header-login-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:#f59e0b0d}.header-user-menu{position:relative}.header-avatar-btn{background:none;border:2px solid transparent;border-radius:50%;cursor:pointer;padding:2px;transition:border-color .2s;display:flex}.header-avatar-btn:hover{border-color:var(--color-accent)}.header-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;font-size:.9rem}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);box-shadow:0 8px 24px #00000026;min-width:180px;z-index:9999;animation:slideDown .15s ease;overflow:hidden}.header-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 16px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem;transition:background .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left}.header-dropdown-item:hover{background:var(--color-bg-secondary)}.header-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.header-dropdown-item.logout{color:#ef4444}.notif-wrapper{position:relative;display:flex;align-items:center}.notif-bell{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:50%;transition:transform .2s,background .2s;line-height:1;position:relative}.notif-bell:hover{transform:scale(1.15);background:var(--color-bg-secondary)}.notif-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);box-shadow:0 12px 32px #0003;z-index:9999;display:none;animation:slideDown .15s ease;overflow:hidden}.notif-dropdown.open{display:block}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border);font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.notif-mark-all{background:none;border:none;color:var(--color-accent);font-size:.75rem;cursor:pointer;font-weight:500}.notif-mark-all:hover{text-decoration:underline}.notif-list{max-height:360px;overflow-y:auto}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--color-border);position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--color-bg-secondary)}.notif-item.unread{background:#f59e0b0a}.notif-icon{font-size:1.3rem;flex-shrink:0;margin-top:2px}.notif-content{flex:1;min-width:0}.notif-title{font-size:.85rem;font-weight:600;color:var(--color-text-primary);line-height:1.3}.notif-body{font-size:.78rem;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.notif-time{font-size:.7rem;color:var(--color-text-tertiary);margin-top:4px}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);flex-shrink:0;margin-top:6px}.notif-empty{padding:32px 16px;text-align:center;color:var(--color-text-tertiary);font-size:.85rem}@media(max-width:480px){.notif-dropdown{width:280px;right:-40px}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.badge-bronze{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff}.badge-silver{background:linear-gradient(135deg,silver,#a8a8a8);color:#333}.badge-gold{background:linear-gradient(135deg,gold,#daa520);color:#333}.auth-confirm-sent{text-align:center;padding:var(--space-xl) 0;animation:fadeIn .3s ease}.auth-confirm-icon{font-size:3.5rem;margin-bottom:var(--space-md);filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}.auth-confirm-sent h3{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.auth-confirm-sent p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-xl);max-width:320px;margin-left:auto;margin-right:auto}.login-prompt-banner{margin-top:var(--space-xl);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px dashed var(--color-border);transition:background var(--transition-theme),border-color var(--transition-theme)}.login-prompt-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.login-prompt-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:2px}.login-prompt-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.4}.login-prompt-btn{flex-shrink:0;padding:8px 20px;border-radius:var(--radius-pill);background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.login-prompt-btn:hover{background:var(--color-accent);color:#fff;transform:translateY(-1px)}@media(max-width:480px){.auth-modal{padding:var(--space-xl, 24px) var(--space-lg, 16px);border-radius:var(--radius-lg, 12px)}.auth-modal-emoji{font-size:2.5rem}.auth-modal-header h2{font-size:1.25rem}.login-prompt-content{flex-direction:column;text-align:center}}.checkin-modal{max-width:380px;text-align:center}.checkin-success{padding:var(--space-md) 0}.checkin-emoji{font-size:3.5rem;animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1)}.checkin-success h2{font-size:var(--font-size-xl);margin:var(--space-sm) 0;color:var(--color-text-primary)}.checkin-streak{display:flex;align-items:baseline;justify-content:center;gap:var(--space-xs);margin:var(--space-md) 0}.checkin-streak-number{font-size:3rem;font-weight:var(--font-weight-black);background:linear-gradient(135deg,var(--color-accent),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.checkin-streak-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.checkin-xp-gain{display:inline-block;padding:4px 16px;border-radius:var(--radius-pill);background:var(--color-success-light);color:var(--color-success);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.checkin-level-bar{margin:var(--space-md) 0}.checkin-level-label{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.checkin-level-progress{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.checkin-fun-fact{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);text-align:left}.checkin-fun-fact-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-secondary);margin-bottom:var(--space-xs)}.checkin-fun-fact p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0}.checkin-new-achievements{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#ffd7001a,#ffd7000d);border:1px solid rgba(255,215,0,.3)}.checkin-new-badge-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-secondary);margin-bottom:var(--space-xs)}.checkin-badge-item{font-size:var(--font-size-sm);padding:4px 0}.checkin-badge-xp{color:var(--color-success);font-weight:600;font-size:var(--font-size-xs)}.checkin-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--color-bg-elevated);color:var(--color-text-primary);padding:12px 24px;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);opacity:0;transition:all .3s ease;z-index:10001;border:1px solid var(--color-border)}.checkin-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.level-progress-track{height:8px;border-radius:4px;background:var(--color-bg-secondary);overflow:hidden;border:1px solid var(--color-border-light)}.level-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-secondary));transition:width .6s cubic-bezier(.34,1.56,.64,1);min-width:2px}.level-progress-fill--green{background:linear-gradient(90deg,var(--color-success),#2ECC71)}.comment-section{margin-top:var(--space-2xl)}.comment-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-xs)}.comment-section-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0 0 var(--space-md)}.comment-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.comment-tabs::-webkit-scrollbar{display:none}.comment-tab{padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.comment-tab:hover{border-color:var(--color-accent);color:var(--color-accent)}.comment-tab.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.comment-input-area{margin-bottom:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);overflow:hidden}.comment-input-type-row{padding:var(--space-sm) var(--space-sm) 0}.comment-type-select{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.comment-input-area textarea{width:100%;padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);resize:vertical;min-height:60px;line-height:1.6;box-sizing:border-box}.comment-input-area textarea:focus{outline:none}.comment-input-area textarea::placeholder{color:var(--color-text-tertiary)}.comment-input-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--color-border-light)}.comment-char-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.comment-submit-btn{padding:6px 20px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.comment-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px var(--color-accent-glow)}.comment-submit-btn:disabled{opacity:.6;cursor:not-allowed}.comment-list{display:flex;flex-direction:column;gap:var(--space-md)}.comment-empty{text-align:center;padding:var(--space-2xl);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.comment-item{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);transition:box-shadow var(--transition-fast)}.comment-item:hover{box-shadow:var(--shadow-sm)}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.comment-author{display:flex;align-items:center;gap:var(--space-sm)}.comment-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;font-size:.85rem}.comment-avatar img{width:100%;height:100%;object-fit:cover}.comment-author-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-primary)}.comment-author-level{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.comment-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.comment-type-badge{font-size:.85rem}.comment-body{display:flex;flex-direction:column;gap:var(--space-sm)}.comment-original{display:flex;gap:var(--space-sm)}.comment-lang-flag{flex-shrink:0;font-size:.9rem;margin-top:2px}.comment-original p,.comment-translation p{margin:0;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-primary)}.comment-translation{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-bg-secondary);border-left:3px solid var(--color-info)}.comment-translation-label{font-size:var(--font-size-xs);color:var(--color-info);font-weight:var(--font-weight-bold);margin-bottom:4px}.comment-translation p{color:var(--color-text-secondary)}.comment-actions{margin-top:var(--space-sm);display:flex;gap:var(--space-sm)}.comment-like-btn{display:flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.comment-like-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.comment-like-btn.liked{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.comment-delete-btn{display:flex;align-items:center;padding:4px 10px;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);opacity:.5}.comment-delete-btn:hover{opacity:1;border-color:var(--color-error, #e74c3c);color:var(--color-error, #e74c3c);background:#e74c3c14}.reward-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.reward-panel-guest{text-align:center;padding:var(--space-2xl);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.reward-guest-icon{font-size:3rem;margin-bottom:var(--space-sm)}.reward-panel-guest h3{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--space-xs)}.reward-panel-guest p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.reward-level-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.reward-level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.reward-level-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.reward-level-num{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.reward-xp-label{text-align:right;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-xs)}.reward-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.reward-stat{text-align:center;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border)}.reward-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.reward-stat-savings .reward-stat-value{color:var(--color-success)}.reward-stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.reward-progress-section{padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border)}.reward-progress-header{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.reward-progress-count{font-weight:var(--font-weight-bold);color:var(--color-success)}.reward-achievements h4{font-size:var(--font-size-md);margin:0 0 var(--space-sm)}.reward-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm)}.reward-badge{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-md) var(--space-sm);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);transition:all var(--transition-fast)}.reward-badge.earned{border-color:var(--color-secondary);background:linear-gradient(135deg,#ffd7000d,#ffd70005)}.reward-badge-icon{font-size:1.5rem}.reward-badge-name{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;line-height:1.3}.reward-badge-hint{font-size:.65rem;color:var(--color-text-muted, var(--color-text-secondary));text-align:center;font-style:italic;line-height:1.2;opacity:.85;margin-top:2px}.reward-badge.locked{opacity:.6;filter:grayscale(.6);cursor:help}.reward-badge.locked:hover{opacity:.85;filter:grayscale(.3)}.profile-comment-item{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);margin-bottom:var(--space-sm);transition:border-color var(--transition-fast)}.profile-comment-item:hover{border-color:var(--color-accent)}.profile-comment-food{font-weight:600;color:var(--color-accent);text-decoration:none;font-size:var(--font-size-sm)}.profile-comment-food:hover{text-decoration:underline}.profile-comment-type{display:inline-block;font-size:.7rem;padding:2px 6px;border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-secondary);margin-left:var(--space-xs);vertical-align:middle}.profile-comment-content{margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5}.profile-comment-meta{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary);display:flex;gap:var(--space-sm)}.profile-comment-likes{color:var(--color-accent)}.reward-leaderboard h4{font-size:var(--font-size-md);margin:0 0 var(--space-sm)}.reward-leaderboard-list{display:flex;flex-direction:column;gap:var(--space-xs)}.reward-leaderboard-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);font-size:var(--font-size-sm)}.reward-leaderboard-item.is-me{border-color:var(--color-accent);background:var(--color-accent-light)}.reward-lb-rank{font-size:1.1rem;min-width:24px}.reward-lb-name{font-weight:var(--font-weight-medium);flex:1}.reward-lb-title{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.reward-lb-savings{font-weight:var(--font-weight-bold);color:var(--color-success)}.made-this-cta{text-align:center;padding:var(--space-lg) 0}.made-this-btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:12px 32px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;border:none;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px var(--color-accent-glow)}.made-this-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px var(--color-accent-glow)}.made-this-btn:disabled{opacity:.7;cursor:not-allowed}.made-this-icon{font-size:1.2em}.made-this-success{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-success);animation:bounceIn .5s ease}.made-this-check{font-size:1.5rem}.made-this-xp{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);background:#2ecc7126;color:var(--color-success);font-size:var(--font-size-sm);font-weight:600}.share-bar{display:flex;gap:var(--space-sm);flex-wrap:wrap}.share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.share-btn svg{flex-shrink:0}.share-btn:hover{transform:translateY(-1px)}.share-btn--line{border-color:#06c755;color:#06c755}.share-btn--line:hover{background:#06c755;color:#fff;box-shadow:0 4px 12px #06c7554d}.share-btn--fb{border-color:#1877f2;color:#1877f2}.share-btn--fb:hover{background:#1877f2;color:#fff;box-shadow:0 4px 12px #1877f24d}.share-btn--x{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.share-btn--x:hover{background:var(--color-text-primary);color:var(--color-bg-card)}.share-btn--copy{border-color:var(--color-border)}.share-btn--copy:hover{border-color:var(--color-accent);color:var(--color-accent)}.share-btn--copied{border-color:var(--color-success)!important;color:var(--color-success)!important;background:color-mix(in srgb,var(--color-success) 8%,var(--color-bg-card))}.share-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.share-popup{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-2xl);max-width:380px;width:90%;text-align:center;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);animation:bounceIn .4s ease}.share-popup-icon{font-size:3rem;margin-bottom:var(--space-sm)}.share-popup-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.share-popup-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.share-popup-xp{display:inline-block;padding:4px 16px;border-radius:var(--radius-pill);background:#2ecc7126;color:var(--color-success);font-weight:700;font-size:var(--font-size-sm);margin-bottom:var(--space-lg);animation:pulse 2s infinite}.share-popup-login-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px dashed var(--color-border);margin-bottom:var(--space-lg)}.share-popup-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.share-popup-btn{padding:12px 24px;border-radius:var(--radius-pill);border:none;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .2s ease}.share-popup-btn--share{background:linear-gradient(135deg,#06c755,#04b34b);color:#fff;box-shadow:0 4px 16px #06c7554d}.share-popup-btn--share:hover{transform:translateY(-2px);box-shadow:0 6px 20px #06c75566}.share-popup-btn--skip{background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.share-popup-btn--skip:hover{color:var(--color-text-secondary)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@media(max-width:480px){.reward-stats-row{grid-template-columns:repeat(2,1fr)}.reward-badge-grid{grid-template-columns:repeat(3,1fr)}.comment-tabs{gap:var(--space-2xs)}}.profile-page{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-lg)}.profile-header-card{padding:var(--space-xl);border-radius:var(--radius-xl);background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.profile-avatar-section{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.profile-avatar-lg{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--color-accent);box-shadow:0 4px 12px var(--color-accent-glow)}.profile-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-size:1.8rem;font-weight:var(--font-weight-bold)}.profile-display-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-black);color:var(--color-text-primary);margin:0}.profile-level-badge{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.profile-xp-bar{margin-top:var(--space-sm)}.profile-xp-label{text-align:right;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-xs)}.profile-section{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border)}.profile-section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-md)}.profile-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.profile-photo-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1;position:relative}.profile-photo-item img{width:100%;height:100%;object-fit:cover}.profile-photo-date{position:absolute;bottom:0;left:0;right:0;padding:2px 6px;background:#0009;color:#fff;font-size:var(--font-size-2xs, 10px);text-align:center}.profile-avatar-wrapper{position:relative;display:inline-block}.profile-avatar-edit{position:absolute;bottom:0;right:0;width:28px;height:28px;border-radius:50%;background:var(--color-bg-card);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:transform .2s;box-shadow:var(--shadow-sm)}.profile-avatar-edit:hover{transform:scale(1.15)}.profile-share-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border)}.profile-share-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.profile-share-btns{display:flex;gap:var(--space-xs)}.profile-share-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-body);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--color-text-secondary);font-size:16px}.profile-share-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:scale(1.1)}.profile-section-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);margin-left:var(--space-xs)}.profile-collection-progress{margin-bottom:var(--space-md)}.profile-collection-bar{height:6px;border-radius:3px;background:var(--color-bg-muted, #f0f0f0);overflow:hidden}.profile-collection-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-accent),#22c55e);transition:width .6s ease}.profile-collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--space-sm)}.profile-collection-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-muted, #f5f5f5);transition:transform .2s,box-shadow .2s}.profile-collection-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.profile-collection-item img{width:100%;aspect-ratio:1;object-fit:cover}.profile-collection-name{padding:4px 6px;font-size:var(--font-size-2xs, 10px);color:var(--color-text-primary);text-align:center;line-height:1.3;font-weight:var(--font-weight-semibold);width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-collection-count-badge{position:absolute;top:4px;right:4px;padding:1px 5px;border-radius:8px;background:var(--color-accent);color:#fff;font-size:10px;font-weight:700}.profile-empty-text{text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--space-lg) 0}.profile-photo-delete{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:12px;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s}.profile-photo-item:hover .profile-photo-delete{display:flex}.profile-photo-delete:hover{background:#e74c3ce6}.profile-photo-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1;position:relative;transition:opacity .3s,transform .3s}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.profile-section-header .profile-section-title{margin-bottom:0}.profile-photo-sort{padding:4px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer}.profile-theme-section{padding:var(--space-md)}.profile-theme-desc{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.profile-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}@media(max-width:480px){.profile-theme-grid{grid-template-columns:repeat(2,1fr)}}.profile-theme-swatch{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-sm) var(--space-xs);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);cursor:pointer;transition:all .25s ease}.profile-theme-swatch:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.profile-theme-swatch.active{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.profile-theme-color{width:38px;height:38px;border-radius:50%;display:block;box-shadow:inset 0 -2px 4px #00000026,0 1px 3px #0000001a;transition:transform .2s}.profile-theme-swatch:hover .profile-theme-color{transform:scale(1.1)}.profile-theme-swatch.active .profile-theme-color{box-shadow:inset 0 -2px 4px #00000026,0 0 0 3px #fff,0 0 0 5px currentColor}.profile-theme-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.profile-theme-pantone{font-size:9px;color:var(--color-text-tertiary);letter-spacing:.3px;text-transform:uppercase}.cooking-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0a0a0c;color:#f0ece6;display:flex;flex-direction:column;animation:cmFadeIn .3s ease;font-family:var(--font-family, "Noto Sans TC", sans-serif);user-select:none;-webkit-user-select:none}.cooking-mode.cm-closing{animation:cmFadeOut .3s ease forwards}.cm-top-bar{padding:12px 20px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.cm-recipe-name{font-size:.85rem;color:#f0ece680;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-progress{display:flex;align-items:center;gap:12px}.cm-progress-track{flex:1;height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden}.cm-progress-fill{height:100%;background:linear-gradient(90deg,#ff7654,#ffb347);border-radius:2px;transition:width .4s ease}.cm-progress-label{font-size:.8rem;color:#f0ece699;font-weight:600;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.cm-touch-zone{flex:1;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.cm-hint{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#ffffff26;transition:color .2s;pointer-events:none}.cm-touch-zone:active .cm-hint{color:#fff6}.cm-hint-icon{font-size:1.2rem}.cm-step-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85%;max-width:600px;text-align:center;pointer-events:none;z-index:1}.cm-step-animate{animation:cmStepIn .35s ease}.cm-step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#ff7654,#ff9070);color:#fff;font-size:1.3rem;font-weight:800;margin-bottom:20px;box-shadow:0 4px 20px #ff76544d}.cm-step-text{font-size:1.4rem;line-height:1.8;font-weight:500;color:#f0ece6;letter-spacing:.02em}.cm-step-tip{margin-top:16px;padding:12px 16px;border-radius:12px;background:#ffb74d1a;border:1px solid rgba(255,183,77,.2);font-size:.9rem;line-height:1.6;color:#ffb74d}.cm-timer-section{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0;flex-shrink:0}.cm-timer-icon{font-size:1.3rem}.cm-timer-display{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;color:#ffb347;letter-spacing:.05em}.cm-timer-display.cm-timer-done{color:#2ecc71;animation:cmPulse .5s ease}.cm-timer-toggle{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,179,71,.4);background:transparent;color:#ffb347;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.cm-timer-toggle:hover{background:#ffb3471a}.cm-hint-finish{text-align:center;font-size:1.3rem;padding:16px;color:#2ecc71;font-weight:600;animation:cmPulse .6s ease}.cm-controls{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 20px;padding-bottom:max(16px,env(safe-area-inset-bottom));flex-shrink:0;border-top:1px solid rgba(255,255,255,.06)}.cm-ctrl-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#f0ece6b3;font-size:1.1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.cm-ctrl-btn:hover{background:#ffffff1a;color:#f0ece6}.cm-ctrl-btn:active{transform:scale(.92)}.cm-ctrl-voice.cm-voice-active{background:#ff3b3033;border-color:#ff3b3080;color:#ff3b30;animation:cmPulse 1.5s ease infinite}.cm-ctrl-help{width:36px;height:36px;font-size:.9rem}.cm-voice-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);background:#000000d9;color:#ffb347;padding:16px 32px;border-radius:16px;font-size:1.2rem;font-weight:600;opacity:0;transition:all .2s ease;z-index:10002;pointer-events:none}.cm-voice-feedback.cm-feedback-show{opacity:1;transform:translate(-50%,-50%) scale(1)}.cm-ingredients-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;animation:cmFadeIn .2s ease}.cm-ingredients-panel{background:#1a1814;border-radius:20px 20px 0 0;padding:24px;max-height:60vh;width:100%;max-width:500px;overflow-y:auto;animation:cmSlideUp .3s ease;position:relative}.cm-ingredients-title{font-size:1.1rem;font-weight:700;margin-bottom:16px;color:#f0ece6}.cm-ingredients-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.cm-ingredients-list li{padding:8px 12px;border-radius:8px;background:#ffffff0d;font-size:.95rem;color:#f0ece6d9}.cm-ingredients-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1a;color:#f0ece6;font-size:1rem;cursor:pointer}.cm-onboarding{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10003;background:#000000eb;display:flex;align-items:center;justify-content:center;animation:cmFadeIn .3s ease;padding:24px}.cm-onboarding.cm-onboarding-closing{animation:cmFadeOut .3s ease forwards}.cm-onboarding-content{max-width:400px;width:100%;text-align:center}.cm-onboarding-title{font-size:1.6rem;font-weight:800;margin-bottom:8px;color:#f0ece6}.cm-onboarding-subtitle{font-size:.9rem;color:#f0ece680;margin-bottom:32px}.cm-onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.cm-onboarding-item{padding:20px 12px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.cm-onboarding-icon{font-size:2rem;margin-bottom:8px}.cm-onboarding-label{font-size:.8rem;color:#f0ece6b3;line-height:1.5}.cm-onboarding-voice-cmds{padding:16px;border-radius:12px;background:#ff765414;border:1px solid rgba(255,118,84,.15);margin-bottom:24px}.cm-onboarding-voice-title{font-size:.75rem;font-weight:700;color:#ff9070;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.cm-onboarding-voice-row{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0;font-size:.9rem;color:#f0ece6b3}.cm-voice-cmd{padding:2px 10px;border-radius:6px;background:#ff765426;color:#ff9070;font-weight:600;font-size:.85rem}.cm-voice-arrow{color:#f0ece64d}.cm-onboarding-start{padding:14px 48px;border-radius:50px;border:none;background:linear-gradient(135deg,#ff7654,#ff9070);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px #ff76544d}.cm-onboarding-start:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ff765466}@keyframes cmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cmFadeOut{0%{opacity:1}to{opacity:0}}@keyframes cmStepIn{0%{opacity:0;transform:translate(-50%,-50%) translateY(20px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}@keyframes cmSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes cmPulse{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:480px){.cm-step-text{font-size:1.2rem;line-height:1.9}.cm-step-number{width:40px;height:40px;font-size:1.1rem}.cm-ctrl-btn{width:44px;height:44px}.cm-controls{gap:8px}.cm-onboarding-grid{gap:10px}.cm-onboarding-item{padding:14px 8px}}.cooking-start-btn{background:linear-gradient(135deg,#ff7654,#ff9070)!important;color:#fff!important;border-color:transparent!important}.cooking-start-btn:hover{box-shadow:0 4px 16px #ff76544d;transform:translateY(-1px)}@media(min-width:768px){.cm-step-text{font-size:1.8rem}.cm-step-number{width:56px;height:56px;font-size:1.5rem}}[data-color-theme=matcha]{--color-bg-primary: #F7FAF2;--color-bg-secondary: #EFF5E5;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F5F9EF;--color-bg-elevated: #FFFFFF;--color-bg-code: #F0F5E8;--color-text-primary: #1A2410;--color-text-secondary: #556B3E;--color-text-tertiary: #8A9E72;--color-text-link: #5A8A2E;--color-accent: #6B9B37;--color-accent-hover: #5A8A2E;--color-accent-light: #EAF4DA;--color-accent-glow: rgba(107, 155, 55, .2);--color-secondary: #A8C256;--color-secondary-light: #F5FAE8;--color-border: #D9E8C4;--color-border-light: #E8F0D8;--color-divider: #E0ECD0;--gradient-body: linear-gradient(180deg, #F7FAF2 0%, #F2F7E8 40%, #EFF5E5 100%);--glass-bg: rgba(247, 250, 242, .6);--glass-border: rgba(217, 232, 196, .5);--glow-accent: 0 0 20px rgba(107, 155, 55, .12);--glow-card: 0 2px 16px rgba(26, 36, 16, .06);--glow-card-hover: 0 8px 32px rgba(107, 155, 55, .1), 0 4px 12px rgba(26, 36, 16, .08)}[data-theme=dark][data-color-theme=matcha]{--color-bg-primary: #0D120A;--color-bg-secondary: #151E10;--color-bg-card: #1A2514;--color-bg-card-hover: #22301C;--color-bg-elevated: #1E2918;--color-bg-code: #141E10;--color-text-primary: #E8F0DD;--color-text-secondary: #A8C488;--color-text-tertiary: #7A9A60;--color-text-link: #A5D66A;--color-accent: #8BC34A;--color-accent-hover: #A5D66A;--color-accent-light: #1A2A12;--color-accent-glow: rgba(139, 195, 74, .15);--color-secondary: #CDDC39;--color-secondary-light: #222D15;--color-border: #2D3D22;--color-border-light: #222D1A;--color-divider: #283520;--gradient-body: linear-gradient(180deg, #0D120A 0%, #101610 40%, #151E10 100%);--glass-bg: rgba(13, 18, 10, .6);--glass-border: rgba(45, 61, 34, .5);--glow-accent: 0 0 20px rgba(139, 195, 74, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(139, 195, 74, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=taro]{--color-bg-primary: #F8F5FB;--color-bg-secondary: #F0EAF5;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F6F2FA;--color-bg-elevated: #FFFFFF;--color-bg-code: #F2ECF8;--color-text-primary: #1E142A;--color-text-secondary: #6B5580;--color-text-tertiary: #9A85AD;--color-text-link: #6A4E96;--color-accent: #7B5EA7;--color-accent-hover: #6A4E96;--color-accent-light: #EDE5F5;--color-accent-glow: rgba(123, 94, 167, .2);--color-secondary: #B39DDB;--color-secondary-light: #F3EEF9;--color-border: #DDD0EA;--color-border-light: #EAE0F2;--color-divider: #E4D8EE;--gradient-body: linear-gradient(180deg, #F8F5FB 0%, #F4F0F8 40%, #F0EAF5 100%);--glass-bg: rgba(248, 245, 251, .6);--glass-border: rgba(221, 208, 234, .5);--glow-accent: 0 0 20px rgba(123, 94, 167, .12);--glow-card: 0 2px 16px rgba(30, 20, 42, .06);--glow-card-hover: 0 8px 32px rgba(123, 94, 167, .1), 0 4px 12px rgba(30, 20, 42, .08)}[data-theme=dark][data-color-theme=taro]{--color-bg-primary: #100C15;--color-bg-secondary: #181220;--color-bg-card: #201828;--color-bg-card-hover: #2A2035;--color-bg-elevated: #241C2E;--color-bg-code: #1A1222;--color-text-primary: #EDE5F5;--color-text-secondary: #B8A0CC;--color-text-tertiary: #8A72A0;--color-text-link: #B89DE0;--color-accent: #9C7BCC;--color-accent-hover: #B89DE0;--color-accent-light: #251A32;--color-accent-glow: rgba(156, 123, 204, .15);--color-secondary: #CE93D8;--color-secondary-light: #2A1A30;--color-border: #38284A;--color-border-light: #2A2038;--color-divider: #302242;--gradient-body: linear-gradient(180deg, #100C15 0%, #12101A 40%, #181220 100%);--glass-bg: rgba(16, 12, 21, .6);--glass-border: rgba(56, 40, 74, .5);--glow-accent: 0 0 20px rgba(156, 123, 204, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(156, 123, 204, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=ocean]{--color-bg-primary: #F5F8FC;--color-bg-secondary: #EBF0F8;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F2F6FC;--color-bg-elevated: #FFFFFF;--color-bg-code: #EDF2FA;--color-text-primary: #12203A;--color-text-secondary: #4A6080;--color-text-tertiary: #7A90A8;--color-text-link: #2358A8;--color-accent: #2E6BC6;--color-accent-hover: #2358A8;--color-accent-light: #E0ECF8;--color-accent-glow: rgba(46, 107, 198, .2);--color-secondary: #5C9CE6;--color-secondary-light: #EEF5FF;--color-border: #C8D8E8;--color-border-light: #D8E4F0;--color-divider: #D0DEF0;--gradient-body: linear-gradient(180deg, #F5F8FC 0%, #F0F4FA 40%, #EBF0F8 100%);--glass-bg: rgba(245, 248, 252, .6);--glass-border: rgba(200, 216, 232, .5);--glow-accent: 0 0 20px rgba(46, 107, 198, .12);--glow-card: 0 2px 16px rgba(18, 32, 58, .06);--glow-card-hover: 0 8px 32px rgba(46, 107, 198, .1), 0 4px 12px rgba(18, 32, 58, .08)}[data-theme=dark][data-color-theme=ocean]{--color-bg-primary: #0A0F18;--color-bg-secondary: #101822;--color-bg-card: #15202E;--color-bg-card-hover: #1C2A3A;--color-bg-elevated: #192636;--color-bg-code: #121C28;--color-text-primary: #E0EAF5;--color-text-secondary: #90B0D0;--color-text-tertiary: #6888A8;--color-text-link: #7BB3F5;--color-accent: #5999E8;--color-accent-hover: #7BB3F5;--color-accent-light: #142238;--color-accent-glow: rgba(89, 153, 232, .15);--color-secondary: #90CAF9;--color-secondary-light: #152530;--color-border: #253850;--color-border-light: #1C2C40;--color-divider: #203048;--gradient-body: linear-gradient(180deg, #0A0F18 0%, #0D1320 40%, #101822 100%);--glass-bg: rgba(10, 15, 24, .6);--glass-border: rgba(37, 56, 80, .5);--glow-accent: 0 0 20px rgba(89, 153, 232, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(89, 153, 232, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=peach]{--color-bg-primary: #FDF7F5;--color-bg-secondary: #FAF0EC;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FCF4F0;--color-bg-elevated: #FFFFFF;--color-bg-code: #FAF0EC;--color-text-primary: #2A1510;--color-text-secondary: #8A6055;--color-text-tertiary: #B08878;--color-text-link: #D06B58;--color-accent: #E07C6A;--color-accent-hover: #D06B58;--color-accent-light: #FAE8E3;--color-accent-glow: rgba(224, 124, 106, .2);--color-secondary: #F4A896;--color-secondary-light: #FDF2EF;--color-border: #F0D8D0;--color-border-light: #F5E4DD;--color-divider: #F2DDD5;--gradient-body: linear-gradient(180deg, #FDF7F5 0%, #FBF2EE 40%, #FAF0EC 100%);--glass-bg: rgba(253, 247, 245, .6);--glass-border: rgba(240, 216, 208, .5);--glow-accent: 0 0 20px rgba(224, 124, 106, .12);--glow-card: 0 2px 16px rgba(42, 21, 16, .06);--glow-card-hover: 0 8px 32px rgba(224, 124, 106, .1), 0 4px 12px rgba(42, 21, 16, .08)}[data-theme=dark][data-color-theme=peach]{--color-bg-primary: #140D0B;--color-bg-secondary: #1E1412;--color-bg-card: #281C18;--color-bg-card-hover: #322420;--color-bg-elevated: #2C201C;--color-bg-code: #201614;--color-text-primary: #F5E8E5;--color-text-secondary: #D0A898;--color-text-tertiary: #A88070;--color-text-link: #F5A898;--color-accent: #F09080;--color-accent-hover: #F5A898;--color-accent-light: #3A2020;--color-accent-glow: rgba(240, 144, 128, .15);--color-secondary: #FFAB91;--color-secondary-light: #3A2518;--color-border: #4A3028;--color-border-light: #382420;--color-divider: #402A22;--gradient-body: linear-gradient(180deg, #140D0B 0%, #181210 40%, #1E1412 100%);--glass-bg: rgba(20, 13, 11, .6);--glass-border: rgba(74, 48, 40, .5);--glow-accent: 0 0 20px rgba(240, 144, 128, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(240, 144, 128, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=caramel]{--color-bg-primary: #FBF8F2;--color-bg-secondary: #F8F0E5;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FAF5EC;--color-bg-elevated: #FFFFFF;--color-bg-code: #F6EEE2;--color-text-primary: #2A2010;--color-text-secondary: #7A6540;--color-text-tertiary: #A89068;--color-text-link: #B5763D;--color-accent: #C8874A;--color-accent-hover: #B5763D;--color-accent-light: #F5EAD8;--color-accent-glow: rgba(200, 135, 74, .2);--color-secondary: #D4A76A;--color-secondary-light: #FAF2E5;--color-border: #E8D8C0;--color-border-light: #F0E4D0;--color-divider: #EBE0CC;--gradient-body: linear-gradient(180deg, #FBF8F2 0%, #F9F4EA 40%, #F8F0E5 100%);--glass-bg: rgba(251, 248, 242, .6);--glass-border: rgba(232, 216, 192, .5);--glow-accent: 0 0 20px rgba(200, 135, 74, .12);--glow-card: 0 2px 16px rgba(42, 32, 16, .06);--glow-card-hover: 0 8px 32px rgba(200, 135, 74, .1), 0 4px 12px rgba(42, 32, 16, .08)}[data-theme=dark][data-color-theme=caramel]{--color-bg-primary: #12100A;--color-bg-secondary: #1C1812;--color-bg-card: #252018;--color-bg-card-hover: #302A20;--color-bg-elevated: #28221A;--color-bg-code: #1E1A12;--color-text-primary: #F5EDD8;--color-text-secondary: #C8A880;--color-text-tertiary: #A08860;--color-text-link: #E8B878;--color-accent: #DDA15E;--color-accent-hover: #E8B878;--color-accent-light: #2D2015;--color-accent-glow: rgba(221, 161, 94, .15);--color-secondary: #FFCC80;--color-secondary-light: #2D2515;--color-border: #403520;--color-border-light: #302A1A;--color-divider: #383018;--gradient-body: linear-gradient(180deg, #12100A 0%, #151210 40%, #1C1812 100%);--glass-bg: rgba(18, 16, 10, .6);--glass-border: rgba(64, 53, 32, .5);--glow-accent: 0 0 20px rgba(221, 161, 94, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(221, 161, 94, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=sakura]{--color-bg-primary: #FDF5F7;--color-bg-secondary: #FAEDF1;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FCF2F5;--color-bg-elevated: #FFFFFF;--color-bg-code: #FAECF0;--color-text-primary: #2A1520;--color-text-secondary: #85556A;--color-text-tertiary: #B08090;--color-text-link: #C2627A;--color-accent: #D4738C;--color-accent-hover: #C2627A;--color-accent-light: #FAE2EA;--color-accent-glow: rgba(212, 115, 140, .2);--color-secondary: #F48FB1;--color-secondary-light: #FDF0F4;--color-border: #F0D0DC;--color-border-light: #F5DDE6;--color-divider: #F2D5E0;--gradient-body: linear-gradient(180deg, #FDF5F7 0%, #FBF0F3 40%, #FAEDF1 100%);--glass-bg: rgba(253, 245, 247, .6);--glass-border: rgba(240, 208, 220, .5);--glow-accent: 0 0 20px rgba(212, 115, 140, .12);--glow-card: 0 2px 16px rgba(42, 21, 32, .06);--glow-card-hover: 0 8px 32px rgba(212, 115, 140, .1), 0 4px 12px rgba(42, 21, 32, .08)}[data-theme=dark][data-color-theme=sakura]{--color-bg-primary: #140C10;--color-bg-secondary: #1E1218;--color-bg-card: #281820;--color-bg-card-hover: #322028;--color-bg-elevated: #2C1C24;--color-bg-code: #201418;--color-text-primary: #F5E5EC;--color-text-secondary: #D0A0B0;--color-text-tertiary: #A87888;--color-text-link: #F5A5C2;--color-accent: #EF8AAF;--color-accent-hover: #F5A5C2;--color-accent-light: #32182B;--color-accent-glow: rgba(239, 138, 175, .15);--color-secondary: #F48FB1;--color-secondary-light: #301828;--color-border: #4A2838;--color-border-light: #382030;--color-divider: #402230;--gradient-body: linear-gradient(180deg, #140C10 0%, #181015 40%, #1E1218 100%);--glass-bg: rgba(20, 12, 16, .6);--glass-border: rgba(74, 40, 56, .5);--glow-accent: 0 0 20px rgba(239, 138, 175, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(239, 138, 175, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=mint]{--color-bg-primary: #F3FAF9;--color-bg-secondary: #E8F5F3;--color-bg-card: #FFFFFF;--color-bg-card-hover: #EFF8F6;--color-bg-elevated: #FFFFFF;--color-bg-code: #E5F2F0;--color-text-primary: #102A28;--color-text-secondary: #3E6B65;--color-text-tertiary: #72A09A;--color-text-link: #1E9688;--color-accent: #26A69A;--color-accent-hover: #1E9688;--color-accent-light: #D8F0EC;--color-accent-glow: rgba(38, 166, 154, .2);--color-secondary: #4DB6AC;--color-secondary-light: #E2F5F2;--color-border: #C0E0DA;--color-border-light: #D0E8E4;--color-divider: #C8E4DE;--gradient-body: linear-gradient(180deg, #F3FAF9 0%, #EEF7F5 40%, #E8F5F3 100%);--glass-bg: rgba(243, 250, 249, .6);--glass-border: rgba(192, 224, 218, .5);--glow-accent: 0 0 20px rgba(38, 166, 154, .12);--glow-card: 0 2px 16px rgba(16, 42, 40, .06);--glow-card-hover: 0 8px 32px rgba(38, 166, 154, .1), 0 4px 12px rgba(16, 42, 40, .08)}[data-theme=dark][data-color-theme=mint]{--color-bg-primary: #0A1210;--color-bg-secondary: #101C1A;--color-bg-card: #152522;--color-bg-card-hover: #1C302C;--color-bg-elevated: #192A28;--color-bg-code: #121E1C;--color-text-primary: #D8F0EC;--color-text-secondary: #88C8C0;--color-text-tertiary: #60A098;--color-text-link: #6EE0D8;--color-accent: #4ECDC4;--color-accent-hover: #6EE0D8;--color-accent-light: #122A28;--color-accent-glow: rgba(78, 205, 196, .15);--color-secondary: #80CBC4;--color-secondary-light: #152D2A;--color-border: #254540;--color-border-light: #1C3530;--color-divider: #203D38;--gradient-body: linear-gradient(180deg, #0A1210 0%, #0D1615 40%, #101C1A 100%);--glass-bg: rgba(10, 18, 16, .6);--glass-border: rgba(37, 69, 64, .5);--glow-accent: 0 0 20px rgba(78, 205, 196, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(78, 205, 196, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=chili]{--color-bg-primary: #FFF5F3;--color-bg-secondary: #FDEAE6;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FFF0EC;--color-bg-elevated: #FFFFFF;--color-bg-code: #FCEAE5;--color-text-primary: #2A0E08;--color-text-secondary: #8A3E30;--color-text-tertiary: #B86858;--color-text-link: #C42B1C;--color-accent: #D43D2F;--color-accent-hover: #C42B1C;--color-accent-light: #FCE0DC;--color-accent-glow: rgba(212, 61, 47, .2);--color-secondary: #FF7043;--color-secondary-light: #FFF0EB;--color-border: #F0C8C0;--color-border-light: #F5D8D2;--color-divider: #F2D0C8;--gradient-body: linear-gradient(180deg, #FFF5F3 0%, #FDF0EC 40%, #FDEAE6 100%);--glass-bg: rgba(255, 245, 243, .6);--glass-border: rgba(240, 200, 192, .5);--glow-accent: 0 0 20px rgba(212, 61, 47, .12);--glow-card: 0 2px 16px rgba(42, 14, 8, .06);--glow-card-hover: 0 8px 32px rgba(212, 61, 47, .1), 0 4px 12px rgba(42, 14, 8, .08)}[data-theme=dark][data-color-theme=chili]{--color-bg-primary: #160A08;--color-bg-secondary: #201210;--color-bg-card: #2C1812;--color-bg-card-hover: #38201A;--color-bg-elevated: #301A14;--color-bg-code: #221410;--color-text-primary: #F8E5E0;--color-text-secondary: #D89888;--color-text-tertiary: #B07060;--color-text-link: #FF8A78;--color-accent: #FF6B5A;--color-accent-hover: #FF8A78;--color-accent-light: #3A1810;--color-accent-glow: rgba(255, 107, 90, .15);--color-secondary: #FF8A65;--color-secondary-light: #3A2018;--color-border: #4A2820;--color-border-light: #381E18;--color-divider: #402218;--gradient-body: linear-gradient(180deg, #160A08 0%, #1A0E0C 40%, #201210 100%);--glass-bg: rgba(22, 10, 8, .6);--glass-border: rgba(74, 40, 32, .5);--glow-accent: 0 0 20px rgba(255, 107, 90, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(255, 107, 90, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=curry]{--color-bg-primary: #FFFBF0;--color-bg-secondary: #FFF5DD;--color-bg-card: #FFFFFF;--color-bg-card-hover: #FFF8E8;--color-bg-elevated: #FFFFFF;--color-bg-code: #FFF2D6;--color-text-primary: #2A1E05;--color-text-secondary: #8A6E20;--color-text-tertiary: #B89840;--color-text-link: #C88A10;--color-accent: #E09E18;--color-accent-hover: #C88A10;--color-accent-light: #FFF0C8;--color-accent-glow: rgba(224, 158, 24, .2);--color-secondary: #FFB74D;--color-secondary-light: #FFF8E5;--color-border: #E8D8A8;--color-border-light: #F0E4C0;--color-divider: #ECDDB0;--gradient-body: linear-gradient(180deg, #FFFBF0 0%, #FFF8E5 40%, #FFF5DD 100%);--glass-bg: rgba(255, 251, 240, .6);--glass-border: rgba(232, 216, 168, .5);--glow-accent: 0 0 20px rgba(224, 158, 24, .12);--glow-card: 0 2px 16px rgba(42, 30, 5, .06);--glow-card-hover: 0 8px 32px rgba(224, 158, 24, .1), 0 4px 12px rgba(42, 30, 5, .08)}[data-theme=dark][data-color-theme=curry]{--color-bg-primary: #141005;--color-bg-secondary: #1E180A;--color-bg-card: #28200E;--color-bg-card-hover: #322A15;--color-bg-elevated: #2C2410;--color-bg-code: #201A0A;--color-text-primary: #F8EDD0;--color-text-secondary: #D0B060;--color-text-tertiary: #A89040;--color-text-link: #F0C850;--color-accent: #F0B830;--color-accent-hover: #F0C850;--color-accent-light: #302510;--color-accent-glow: rgba(240, 184, 48, .15);--color-secondary: #FFD54F;--color-secondary-light: #302810;--color-border: #403510;--color-border-light: #302A0E;--color-divider: #383010;--gradient-body: linear-gradient(180deg, #141005 0%, #181408 40%, #1E180A 100%);--glass-bg: rgba(20, 16, 5, .6);--glass-border: rgba(64, 53, 16, .5);--glow-accent: 0 0 20px rgba(240, 184, 48, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(240, 184, 48, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=chocolate]{--color-bg-primary: #FAF6F2;--color-bg-secondary: #F2EAE2;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F8F2EC;--color-bg-elevated: #FFFFFF;--color-bg-code: #F0E8E0;--color-text-primary: #221810;--color-text-secondary: #6E4F3A;--color-text-tertiary: #9A7A62;--color-text-link: #7B4B2A;--color-accent: #8B5A35;--color-accent-hover: #7B4B2A;--color-accent-light: #F0E0D0;--color-accent-glow: rgba(139, 90, 53, .2);--color-secondary: #BC8A5F;--color-secondary-light: #F8F0E5;--color-border: #DDD0C0;--color-border-light: #E8DDD0;--color-divider: #E2D5C5;--gradient-body: linear-gradient(180deg, #FAF6F2 0%, #F6F0EA 40%, #F2EAE2 100%);--glass-bg: rgba(250, 246, 242, .6);--glass-border: rgba(221, 208, 192, .5);--glow-accent: 0 0 20px rgba(139, 90, 53, .12);--glow-card: 0 2px 16px rgba(34, 24, 16, .06);--glow-card-hover: 0 8px 32px rgba(139, 90, 53, .1), 0 4px 12px rgba(34, 24, 16, .08)}[data-theme=dark][data-color-theme=chocolate]{--color-bg-primary: #110D0A;--color-bg-secondary: #1A1410;--color-bg-card: #241C16;--color-bg-card-hover: #2E241C;--color-bg-elevated: #28201A;--color-bg-code: #1C1612;--color-text-primary: #F0E5D8;--color-text-secondary: #C0A080;--color-text-tertiary: #988060;--color-text-link: #D4A875;--color-accent: #C08850;--color-accent-hover: #D4A875;--color-accent-light: #2A1E15;--color-accent-glow: rgba(192, 136, 80, .15);--color-secondary: #D7A86E;--color-secondary-light: #2A2015;--color-border: #3D3020;--color-border-light: #2E2418;--color-divider: #352A1C;--gradient-body: linear-gradient(180deg, #110D0A 0%, #14100C 40%, #1A1410 100%);--glass-bg: rgba(17, 13, 10, .6);--glass-border: rgba(61, 48, 32, .5);--glow-accent: 0 0 20px rgba(192, 136, 80, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .15);--glow-card-hover: 0 8px 32px rgba(192, 136, 80, .08), 0 4px 12px rgba(0, 0, 0, .2)}[data-color-theme=sumi]{--color-bg-primary: #F5F5F4;--color-bg-secondary: #EBEBEA;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F2F2F0;--color-bg-elevated: #FFFFFF;--color-bg-code: #EDEDED;--color-text-primary: #1C1C1C;--color-text-secondary: #5A5A5A;--color-text-tertiary: #8A8A8A;--color-text-link: #3A3A3A;--color-accent: #4A4A4A;--color-accent-hover: #3A3A3A;--color-accent-light: #E8E8E8;--color-accent-glow: rgba(74, 74, 74, .15);--color-secondary: #6E6E6E;--color-secondary-light: #F0F0F0;--color-border: #D5D5D2;--color-border-light: #E2E2E0;--color-divider: #DCDCDA;--gradient-body: linear-gradient(180deg, #F5F5F4 0%, #F0F0EE 40%, #EBEBEA 100%);--glass-bg: rgba(245, 245, 244, .6);--glass-border: rgba(213, 213, 210, .5);--glow-accent: 0 0 20px rgba(74, 74, 74, .08);--glow-card: 0 2px 16px rgba(28, 28, 28, .05);--glow-card-hover: 0 8px 32px rgba(74, 74, 74, .08), 0 4px 12px rgba(28, 28, 28, .06)}[data-theme=dark][data-color-theme=sumi]{--color-bg-primary: #0E0E0E;--color-bg-secondary: #181818;--color-bg-card: #1E1E1E;--color-bg-card-hover: #282828;--color-bg-elevated: #222222;--color-bg-code: #1A1A1A;--color-text-primary: #E8E8E8;--color-text-secondary: #A8A8A8;--color-text-tertiary: #787878;--color-text-link: #B8B8B8;--color-accent: #8A8A8A;--color-accent-hover: #A0A0A0;--color-accent-light: #252525;--color-accent-glow: rgba(138, 138, 138, .12);--color-secondary: #999999;--color-secondary-light: #2A2A2A;--color-border: #383838;--color-border-light: #2C2C2C;--color-divider: #303030;--gradient-body: linear-gradient(180deg, #0E0E0E 0%, #121212 40%, #181818 100%);--glass-bg: rgba(14, 14, 14, .6);--glass-border: rgba(56, 56, 56, .5);--glow-accent: 0 0 20px rgba(138, 138, 138, .06);--glow-card: 0 2px 16px rgba(0, 0, 0, .2);--glow-card-hover: 0 8px 32px rgba(138, 138, 138, .06), 0 4px 12px rgba(0, 0, 0, .25)}[data-color-theme=nezumi]{--color-bg-primary: #F6F5F2;--color-bg-secondary: #EDECEA;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F4F2EF;--color-bg-elevated: #FFFFFF;--color-bg-code: #F0EEE8;--color-text-primary: #2A2820;--color-text-secondary: #6B6860;--color-text-tertiary: #9A9690;--color-text-link: #6B6558;--color-accent: #8C8C7A;--color-accent-hover: #7A7A68;--color-accent-light: #ECEAE0;--color-accent-glow: rgba(140, 140, 122, .18);--color-secondary: #A8A598;--color-secondary-light: #F2F0EA;--color-border: #D8D5CA;--color-border-light: #E4E2DA;--color-divider: #DDD8D0;--gradient-body: linear-gradient(180deg, #F6F5F2 0%, #F2F0EC 40%, #EDECEA 100%);--glass-bg: rgba(246, 245, 242, .6);--glass-border: rgba(216, 213, 202, .5);--glow-accent: 0 0 20px rgba(140, 140, 122, .1);--glow-card: 0 2px 16px rgba(42, 40, 32, .05);--glow-card-hover: 0 8px 32px rgba(140, 140, 122, .08), 0 4px 12px rgba(42, 40, 32, .06)}[data-theme=dark][data-color-theme=nezumi]{--color-bg-primary: #0F0E0C;--color-bg-secondary: #181714;--color-bg-card: #201E1A;--color-bg-card-hover: #2A2822;--color-bg-elevated: #24221E;--color-bg-code: #1A1816;--color-text-primary: #E8E5DA;--color-text-secondary: #AAA89A;--color-text-tertiary: #808070;--color-text-link: #B8B5A8;--color-accent: #9A9888;--color-accent-hover: #B0AE9E;--color-accent-light: #252418;--color-accent-glow: rgba(154, 152, 136, .12);--color-secondary: #A8A590;--color-secondary-light: #282618;--color-border: #383528;--color-border-light: #2C2A20;--color-divider: #302E22;--gradient-body: linear-gradient(180deg, #0F0E0C 0%, #121110 40%, #181714 100%);--glass-bg: rgba(15, 14, 12, .6);--glass-border: rgba(56, 53, 40, .5);--glow-accent: 0 0 20px rgba(154, 152, 136, .06);--glow-card: 0 2px 16px rgba(0, 0, 0, .18);--glow-card-hover: 0 8px 32px rgba(154, 152, 136, .06), 0 4px 12px rgba(0, 0, 0, .22)}[data-color-theme=kinari]{--color-bg-primary: #FAF8F4;--color-bg-secondary: #F4F0E8;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F8F4EE;--color-bg-elevated: #FFFFFF;--color-bg-code: #F2EEE5;--color-text-primary: #2E2820;--color-text-secondary: #7A7065;--color-text-tertiary: #A89888;--color-text-link: #8A7560;--color-accent: #C8B8A2;--color-accent-hover: #B5A58E;--color-accent-light: #F0E8DA;--color-accent-glow: rgba(200, 184, 162, .2);--color-secondary: #D0C0A8;--color-secondary-light: #F8F2E8;--color-border: #E0D8CC;--color-border-light: #EAE2D8;--color-divider: #E5DDD0;--gradient-body: linear-gradient(180deg, #FAF8F4 0%, #F6F2EC 40%, #F4F0E8 100%);--glass-bg: rgba(250, 248, 244, .6);--glass-border: rgba(224, 216, 204, .5);--glow-accent: 0 0 20px rgba(200, 184, 162, .1);--glow-card: 0 2px 16px rgba(46, 40, 32, .05);--glow-card-hover: 0 8px 32px rgba(200, 184, 162, .08), 0 4px 12px rgba(46, 40, 32, .06)}[data-theme=dark][data-color-theme=kinari]{--color-bg-primary: #121010;--color-bg-secondary: #1A1815;--color-bg-card: #221F1A;--color-bg-card-hover: #2C2822;--color-bg-elevated: #26221E;--color-bg-code: #1C1A15;--color-text-primary: #EDE8DD;--color-text-secondary: #B8A898;--color-text-tertiary: #908070;--color-text-link: #D0B898;--color-accent: #B0A088;--color-accent-hover: #C8B49A;--color-accent-light: #282218;--color-accent-glow: rgba(176, 160, 136, .14);--color-secondary: #C0A888;--color-secondary-light: #2A2418;--color-border: #3A3428;--color-border-light: #2C2820;--color-divider: #342E22;--gradient-body: linear-gradient(180deg, #121010 0%, #141210 40%, #1A1815 100%);--glass-bg: rgba(18, 16, 16, .6);--glass-border: rgba(58, 52, 40, .5);--glow-accent: 0 0 20px rgba(176, 160, 136, .06);--glow-card: 0 2px 16px rgba(0, 0, 0, .18);--glow-card-hover: 0 8px 32px rgba(176, 160, 136, .06), 0 4px 12px rgba(0, 0, 0, .22)}[data-color-theme=noir]{--color-bg-primary: #FBFBFD;--color-bg-secondary: #F5F5F7;--color-bg-card: #FFFFFF;--color-bg-card-hover: #F5F5F7;--color-bg-elevated: #FFFFFF;--color-bg-code: #F5F5F7;--color-text-primary: #1D1D1F;--color-text-secondary: #6E6E73;--color-text-tertiary: #86868B;--color-text-link: #0066CC;--color-accent: #0071E3;--color-accent-hover: #0077ED;--color-accent-light: #E8F0FE;--color-accent-glow: rgba(0, 113, 227, .15);--color-secondary: #2997FF;--color-secondary-light: #EEF4FF;--color-border: #D2D2D7;--color-border-light: #E8E8ED;--color-divider: #D6D6DB;--gradient-body: linear-gradient(180deg, #FBFBFD 0%, #F8F8FA 40%, #F5F5F7 100%);--glass-bg: rgba(251, 251, 253, .72);--glass-border: rgba(210, 210, 215, .5);--glow-accent: 0 0 20px rgba(0, 113, 227, .08);--glow-card: 0 2px 16px rgba(0, 0, 0, .04);--glow-card-hover: 0 8px 32px rgba(0, 113, 227, .06), 0 4px 12px rgba(0, 0, 0, .06)}[data-theme=dark][data-color-theme=noir]{--color-bg-primary: #000000;--color-bg-secondary: #1D1D1F;--color-bg-card: #1C1C1E;--color-bg-card-hover: #2C2C2E;--color-bg-elevated: #2C2C2E;--color-bg-code: #1C1C1E;--color-text-primary: #F5F5F7;--color-text-secondary: #A1A1A6;--color-text-tertiary: #6E6E73;--color-text-link: #2997FF;--color-accent: #0A84FF;--color-accent-hover: #2997FF;--color-accent-light: #0A1A2E;--color-accent-glow: rgba(10, 132, 255, .12);--color-secondary: #5AC8FA;--color-secondary-light: #0A1E30;--color-border: #38383A;--color-border-light: #2C2C2E;--color-divider: #38383A;--gradient-body: linear-gradient(180deg, #000000 0%, #000000 40%, #1D1D1F 100%);--glass-bg: rgba(0, 0, 0, .72);--glass-border: rgba(56, 56, 58, .5);--glow-accent: 0 0 20px rgba(10, 132, 255, .06);--glow-card: 0 2px 16px rgba(0, 0, 0, .3);--glow-card-hover: 0 8px 32px rgba(10, 132, 255, .06), 0 4px 12px rgba(0, 0, 0, .35)}@property --gradient-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@property --shimmer-x{syntax: "<percentage>"; initial-value: -100%; inherits: false;}.site-header{border-bottom:none!important}.site-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:conic-gradient(from var(--gradient-angle),var(--color-accent) 0%,var(--color-secondary, #2997FF) 33%,var(--color-accent) 66%,var(--color-secondary, #2997FF) 100%);animation:gradient-rotate 3s linear infinite;z-index:10}@keyframes gradient-rotate{to{--gradient-angle: 360deg}}.food-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(350px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.12),transparent 50%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:2}[data-theme=dark] .food-card:before{background:radial-gradient(350px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.06),transparent 50%)}.food-card:hover:before{opacity:1}.food-card{transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .3s ease;will-change:transform}.food-card .food-card-image,.food-card .food-card-body{transform:translateZ(20px)}@view-transition{navigation:auto}#main-content{view-transition-name:main-content}::view-transition-old(main-content){animation:vt-exit .2s ease-in both}::view-transition-new(main-content){animation:vt-enter .25s ease-out .08s both}@keyframes vt-exit{to{opacity:0;transform:translateY(-12px);filter:blur(3px)}}@keyframes vt-enter{0%{opacity:0;transform:translateY(16px);filter:blur(3px)}}.site-header{view-transition-name:site-header}::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}@keyframes shimmer{to{--shimmer-x: 200%}}.food-card-image{position:relative}.food-card-image img{transition:transform .6s cubic-bezier(.22,1,.36,1)}.food-card:hover .food-card-image img{transform:scale(1.05)}@supports not (background: conic-gradient(from 0deg,red,blue)){.site-header:after{background:linear-gradient(90deg,var(--color-accent),var(--color-secondary, #2997FF),var(--color-accent));animation:none}}
