:root{--brand-primary:#4caf50;--brand-primary-dark:#2e7d32;--brand-gradient:linear-gradient(135deg, #5cbf60 0%, #43a047 100%);--brand-light:#e8f5e9;--brand-soft:#4caf501a;--bg-page:#f4f7f4;--bg-section:#eef4ee;--bg-card:#fff;--text-primary:#16241b;--text-secondary:#4c5a50;--text-muted:#8a9a8f;--border-soft:#e3ece4;--shadow-sm:0 1px 2px #162e1e0d, 0 2px 8px #162e1e0a;--shadow-md:0 2px 6px #162e1e0d, 0 12px 28px #162e1e14;--shadow-lg:0 4px 10px #162e1e0f, 0 20px 44px #162e1e1f;--shadow-brand:0 6px 18px #4caf5059;--radius-card:20px;--radius-sm:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(1200px 500px at 85% -10%, #4caf5012, transparent 60%), var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.6}img{display:block}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input{font:inherit}a{color:inherit}::selection{background:#4caf5040}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ccd9cf;border-radius:999px}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:6px}.app-main{max-width:860px;padding:18px 20px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.app-main.bare{padding-bottom:0}.topnav{display:none}.tabbar{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:24px;padding:6px;display:flex;position:fixed}.tabbar-item{color:var(--text-muted);border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:11px;text-decoration:none;transition:all .2s;display:flex}.tabbar-item .tab-icon{font-size:20px;line-height:1;transition:transform .2s}.tabbar-item.active{color:var(--brand-primary-dark);background:var(--brand-soft);font-weight:700}.tabbar-item:active .tab-icon{transform:scale(.9)}@media (width>=768px){.topnav{z-index:30;-webkit-backdrop-filter:blur(18px)saturate(1.4);background:#ffffffd1;border-bottom:1px solid #e3ece4b3;align-items:center;gap:6px;height:64px;padding:0 max(24px,50vw - 430px);display:flex;position:fixed;top:0;left:0;right:0}.topnav .brand{letter-spacing:.5px;background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-right:18px;font-size:20px;font-weight:800;text-decoration:none}.topnav a.nav-link{color:var(--text-secondary);border-radius:999px;padding:8px 16px;font-size:14px;text-decoration:none;transition:all .2s}.topnav a.nav-link:hover{background:var(--brand-soft);color:var(--brand-primary-dark)}.topnav a.nav-link.active{background:var(--brand-light);color:var(--brand-primary-dark);font-weight:700}.topnav .nav-right{margin-left:auto}.topnav .nav-right a{background:var(--brand-gradient);color:#fff;height:36px;box-shadow:var(--shadow-brand);border-radius:999px;align-items:center;padding:0 18px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.topnav .nav-right a:hover{transform:translateY(-1px);box-shadow:0 8px 22px #4caf5073}.app-main{padding-top:88px;padding-bottom:48px}.tabbar{display:none}}.section-title{letter-spacing:-.2px;color:var(--text-primary);font-size:19px;font-weight:800}.section-sub{color:var(--text-muted);margin-top:3px;font-size:12.5px;display:block}.section-header{justify-content:space-between;align-items:flex-end;margin:28px 0 14px;display:flex}.more-link{color:var(--brand-primary);font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s}.more-link:hover{opacity:.75}.one-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.two-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);border:1px solid #e3ece499}.search-bar{border:1px solid var(--border-soft);height:46px;color:var(--text-muted);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:0 18px;font-size:14px;transition:all .25s;display:flex}.search-bar:focus-within{border-color:#4caf5080;box-shadow:0 0 0 4px #4caf501f}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.search-bar input::placeholder{color:var(--text-muted)}.pill{border:1px solid var(--border-soft);color:var(--text-secondary);background:#fff;border-radius:999px;flex:none;padding:8px 18px;font-size:13px;font-weight:500;transition:all .2s}.pill:hover{color:var(--brand-primary-dark);border-color:#4caf5073}.pill.active{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand);border-color:#0000;font-weight:600}.pill-row{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.pill-row::-webkit-scrollbar{display:none}.filter-row{align-items:center;gap:12px;margin-top:12px;display:flex}.filter-label{color:var(--text-muted);flex:none;font-size:13px;font-weight:600}.btn-primary,.btn-secondary{border-radius:999px;width:100%;height:50px;font-size:15px;font-weight:700;transition:all .2s}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 9px 24px #4caf5073}.btn-primary:active{box-shadow:none;transform:scale(.97)}.btn-secondary{color:var(--brand-primary-dark);background:#fff;border:1.5px solid #4caf5080}.btn-secondary:hover{background:var(--brand-light)}.btn-secondary:active{transform:scale(.97)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.btn-ghost{background:var(--brand-soft);color:var(--brand-primary-dark);border-radius:999px;align-items:center;gap:4px;padding:7px 15px;font-size:12.5px;font-weight:600;transition:all .2s;display:inline-flex}.btn-ghost:hover{background:var(--brand-light)}.ing-item{border:1px solid var(--border-soft);color:var(--text-secondary);background:#fff;border-radius:999px;padding:9px 18px;font-size:13.5px;transition:all .2s}.ing-item:hover{border-color:#4caf5066}.ing-item.checked{background:var(--brand-light);color:var(--brand-primary-dark);border-color:#4caf508c;font-weight:600}.ing-grid{flex-wrap:wrap;gap:10px;display:flex}.empty{text-align:center;color:var(--text-muted);padding:56px 0}.empty .empty-icon{width:64px;height:64px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:26px;display:flex}.empty .empty-hint{margin-top:4px;font-size:12.5px;display:block}.empty .btn-secondary{max-width:180px;margin:20px auto 0}.hero{background:radial-gradient(560px 260px at 8% 0%, #4caf5029, transparent 65%), radial-gradient(420px 240px at 96% 20%, #a5d6a747, transparent 60%), linear-gradient(180deg, #edf7ee 0%, #f6faf6 62%, var(--bg-page) 100%);margin:-18px -20px 0;padding:34px 24px 26px;position:relative;overflow:hidden}.hero-blob{filter:blur(42px);opacity:.5;pointer-events:none;border-radius:50%;position:absolute}.hero-blob-a{background:#81c78480;width:220px;height:220px;top:-80px;right:-60px}.hero-blob-b{background:#c8e6c9b3;width:160px;height:160px;bottom:-70px;left:-50px}.greeting{letter-spacing:-.5px;font-size:28px;font-weight:800;line-height:1.25;display:block;position:relative}.sub-greeting{color:var(--text-secondary);margin-top:6px;font-size:14px;display:block;position:relative}.hero .search-bar{background:#fffffff2;border-color:#0000;margin-top:20px;position:relative;box-shadow:0 10px 30px #2e7d3224}.hero .search-bar:hover{transform:translateY(-1px);box-shadow:0 14px 34px #2e7d322e}.fridge-entry{border-radius:var(--radius-card);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:1px solid #e3ece4b3;justify-content:space-between;align-items:center;margin-top:16px;padding:16px 18px;transition:all .25s;display:flex;position:relative}.fridge-entry:hover{box-shadow:var(--shadow-md);border-color:#4caf504d;transform:translateY(-2px)}.fridge-left{align-items:center;gap:14px;display:flex}.fridge-icon-wrap{background:var(--brand-gradient);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-brand);border-radius:14px;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.fridge-title{font-size:15px;font-weight:700;display:block}.fridge-desc{color:var(--text-muted);margin-top:1px;font-size:12.5px;display:block}.fridge-arrow{color:var(--brand-primary);font-size:18px;transition:transform .2s}.fridge-entry:hover .fridge-arrow{transform:translate(3px)}.cat-row{scrollbar-width:none;gap:18px;margin-top:20px;padding:4px 2px 6px;display:flex;overflow-x:auto}.cat-row::-webkit-scrollbar{display:none}.cat-item{color:var(--text-secondary);flex-direction:column;align-items:center;gap:7px;font-size:12px;transition:transform .2s;display:flex}.cat-item:hover{transform:translateY(-2px)}.cat-item .cat-icon{border:1px solid var(--border-soft);width:52px;height:52px;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.cat-item.active{color:var(--brand-primary-dark);font-weight:700}.cat-item.active .cat-icon{background:var(--brand-light);border-color:#4caf508c;box-shadow:0 4px 14px #4caf5040}.banner-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;margin:18px -20px 0;padding:0 20px;display:flex;overflow-x:auto}.banner-strip::-webkit-scrollbar{display:none}.banner-slide{scroll-snap-align:center;border-radius:var(--radius-card);box-shadow:var(--shadow-md);flex:0 0 100%;overflow:hidden}.banner-slide img{object-fit:cover;width:100%;height:150px}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:16px;display:grid}.recipe-card{cursor:pointer;transition:transform .25s,box-shadow .25s;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.recipe-card:active{transform:translateY(-1px)scale(.99)}.card-media{position:relative;overflow:hidden}.card-media img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .4s}.recipe-card:hover .card-media img{transform:scale(1.05)}.fav-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#b9c4bb;width:32px;height:32px;box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.fav-btn:hover{transform:scale(1.12)}.fav-btn.liked{color:#e53935}.card-badges{gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.badge{-webkit-backdrop-filter:blur(6px);color:#fff;background:#141e1680;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.card-body{padding:12px 14px 14px}.card-name{font-size:15.5px;font-weight:700}.card-desc{color:var(--text-muted);margin-top:4px;font-size:12.5px;line-height:1.55}.card-meta{color:var(--text-secondary);align-items:center;gap:4px;margin-top:10px;font-size:12px;display:flex}.card-meta .match{background:var(--brand-soft);color:var(--brand-primary-dark);border-radius:999px;margin-left:auto;padding:2px 9px;font-size:11px;font-weight:700}.dish-row{cursor:pointer;gap:14px;margin-bottom:12px;padding:12px;transition:all .22s;display:flex}.dish-row:hover{box-shadow:var(--shadow-md);border-color:#4caf504d;transform:translateY(-2px)}.dish-row img{object-fit:cover;border-radius:14px;flex:none;width:92px;height:92px}.dish-info{flex-direction:column;flex:1;min-width:0;display:flex}.dish-row-header{align-items:center;gap:8px;display:flex}.dish-name{flex:1;min-width:0;font-size:15.5px;font-weight:700}.dish-difficulty{color:var(--brand-primary-dark);background:var(--brand-light);border-radius:999px;flex:none;padding:3px 10px;font-size:11px;font-weight:600}.dish-desc{color:var(--text-muted);margin-top:4px;font-size:12.5px}.dish-footer{color:var(--text-secondary);gap:12px;margin-top:auto;padding-top:8px;font-size:12px;display:flex}.result-bar{color:var(--text-muted);justify-content:space-between;align-items:center;margin:18px 4px 12px;font-size:13px;display:flex}.result-bar .reset-link{color:var(--brand-primary);font-weight:600;text-decoration:none}.load-more{text-align:center;padding:16px 0 4px}.load-more button{border:1px solid var(--border-soft);color:var(--text-secondary);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;padding:10px 28px;font-size:13px;font-weight:600;transition:all .2s}.load-more button:hover{color:var(--brand-primary-dark);border-color:#4caf5066}.load-more .end-text{color:var(--text-muted);font-size:12px}.header-media{box-shadow:var(--shadow-md);margin:-18px -20px 0;position:relative}.header-media img.main-image{object-fit:cover;width:100%;height:300px}.media-mask{background:linear-gradient(#0a140c66 0%,#0000 34%),linear-gradient(#f4f7f400 78%,#f4f7f4 100%);position:absolute;inset:0}.back-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:38px;height:38px;color:var(--text-primary);box-shadow:var(--shadow-md);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex;position:absolute;top:18px;left:18px}.back-btn:hover{transform:scale(1.08)}.header-media .fav-btn{width:38px;height:38px;font-size:18px;top:18px;right:18px}.content-stack{padding:18px 0 96px}.info-section{margin-bottom:16px;padding:22px 24px}.recipe-name{letter-spacing:-.4px;font-size:26px;font-weight:800}.tags-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag{background:var(--brand-light);color:var(--brand-primary-dark);border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:600}.tag.category{background:var(--bg-section);color:var(--text-secondary);border:1px solid var(--border-soft)}.desc{color:var(--text-secondary);margin-top:14px;font-size:14.5px}.overview-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.overview-item{align-items:center;gap:12px;display:flex}.step-num{background:var(--brand-light);width:26px;height:26px;color:var(--brand-primary-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.step-title{font-size:14.5px;font-weight:600}.section-block{margin-bottom:16px;padding:22px 24px}.tutorial-card{background:var(--bg-section);border:1px solid var(--border-soft);cursor:pointer;border-radius:16px;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;transition:all .2s;display:flex}.tutorial-card:hover{box-shadow:var(--shadow-sm);background:#fff;border-color:#4caf5066}.platform-badge{background:var(--brand-gradient);color:#fff;border-radius:10px;flex:none;padding:5px 12px;font-size:12px;font-weight:700}.tutorial-title{font-size:14px;font-weight:600}.tutorial-tip{color:var(--text-muted);margin-top:2px;font-size:11.5px}.tutorial-card .arrow{color:var(--brand-primary);margin-left:auto}.bottom-bar{z-index:25;padding:14px 20px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg, #f4f7f400 0%, #f4f7f4e6 38%, var(--bg-page) 100%);position:fixed;bottom:0;left:0;right:0}.bottom-bar .btn-primary{-webkit-backdrop-filter:none;backdrop-filter:none;max-width:820px;margin:0 auto}@media (width>=768px){.bottom-bar{width:860px;left:50%;right:auto;transform:translate(-50%)}}.cooking-page{background:radial-gradient(700px 380px at 90% -5%,#81c78429,#0000 60%),radial-gradient(560px 320px at 0 100%,#c8e6c933,#0000 55%),linear-gradient(#eef6ef 0%,#f8fbf8 60%,#fdfefd 100%);flex-direction:column;min-height:100vh;display:flex}.cooking-top{align-items:center;gap:12px;width:100%;max-width:860px;margin:0 auto;padding:16px 20px 8px;display:flex}.cooking-dish-name{text-align:center;flex:1;min-width:0;font-size:15px;font-weight:700}.progress-wrap{width:100%;max-width:860px;margin:0 auto;padding:8px 20px 0}.progress-bar{background:#ffffffe6;border-radius:999px;height:10px;overflow:hidden;box-shadow:inset 0 1px 3px #162e1e14}.progress-inner{background:var(--brand-gradient);border-radius:999px;height:100%;transition:width .35s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 8px #4caf5066}.progress-meta{color:var(--text-muted);justify-content:space-between;margin-top:10px;font-size:12.5px;font-weight:600;display:flex}.step-container{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:780px;margin:0 auto;padding:28px 20px;display:flex}.step-badge{color:var(--brand-primary-dark);letter-spacing:1px;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;align-self:center;padding:6px 20px;font-size:13px;font-weight:800}.step-card{border-radius:24px;margin-top:18px;padding:34px 30px}.step-card .step-title{letter-spacing:-.3px;font-size:24px;font-weight:800}.step-card .step-desc{color:var(--text-secondary);margin-top:14px;font-size:16px;line-height:1.75}.step-tip{background:#fffaf0;border:1px solid #f3e5c0;border-radius:14px;margin-top:20px;padding:14px 16px}.tip-tag{color:#fff;background:linear-gradient(135deg,#f0a12c,#e58e14);border-radius:999px;margin-right:8px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.tip-text{color:#8a6d3b;font-size:13.5px}.cooking-nav{padding:0 20px calc(24px + env(safe-area-inset-bottom));gap:14px;width:100%;max-width:780px;margin:0 auto;display:flex}.cooking-nav .nav-btn{border-radius:999px;height:52px;font-size:15px;font-weight:700;transition:all .2s}.cooking-nav .prev{color:var(--brand-primary-dark);background:#fff;border:1.5px solid #4caf5073;flex:1}.cooking-nav .prev:hover:not(:disabled){background:var(--brand-light)}.cooking-nav .prev:disabled{opacity:.4;cursor:default}.cooking-nav .next{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand);flex:2}.cooking-nav .next:hover{transform:translateY(-1px);box-shadow:0 9px 24px #4caf5073}.completion{background:radial-gradient(700px 380px at 50% -10%,#81c78440,#0000 60%),linear-gradient(#eef6ef 0%,#fdfefd 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.completion-inner{text-align:center;width:100%;max-width:380px}.completion-icon{background:var(--brand-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto;font-size:44px;font-weight:800;animation:.55s cubic-bezier(.22,1.4,.36,1) pop;display:flex;box-shadow:0 16px 40px #4caf5066}@keyframes pop{0%{opacity:0;transform:scale(.3)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.completion-title{letter-spacing:-.4px;margin-top:22px;font-size:26px;font-weight:800}.completion-sub{color:var(--text-muted);margin-top:8px;font-size:14px}.completion-actions{flex-direction:column;gap:14px;margin-top:30px;display:flex}.toast{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;max-width:80vw;box-shadow:var(--shadow-lg);background:#16241beb;border-radius:999px;padding:12px 24px;font-size:13.5px;font-weight:500;animation:.25s cubic-bezier(.22,1,.36,1) toast-in;position:fixed;bottom:110px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.modal-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101c1473;justify-content:center;align-items:center;padding:24px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.modal-card{width:min(340px,100%);box-shadow:var(--shadow-lg);background:#fff;border-radius:24px;padding:26px 24px 22px;animation:.25s cubic-bezier(.22,1.2,.36,1) modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-title{font-size:17px;font-weight:800}.modal-message{color:var(--text-secondary);margin-top:10px;font-size:14px}.modal-actions{gap:12px;margin-top:22px;display:flex}.modal-actions button{height:42px}.profile-card{align-items:center;gap:16px;margin-bottom:16px;padding:22px;display:flex}.avatar{background:var(--brand-gradient);color:#fff;width:60px;height:60px;box-shadow:var(--shadow-brand);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;display:flex}.profile-name{font-size:19px;font-weight:800}.profile-tip{color:var(--text-muted);margin-top:2px;font-size:12.5px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.stat-cell{text-align:center;padding:18px 0 16px;transition:all .2s}.stat-cell:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-num{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.stat-label{color:var(--text-muted);margin-top:2px;font-size:12px}.menu-list{overflow:hidden}.menu-item{border-bottom:1px solid var(--bg-section);text-align:left;align-items:center;gap:14px;width:100%;padding:17px 20px;font-size:15px;font-weight:500;transition:background .15s;display:flex}.menu-item:hover{background:var(--brand-soft)}.menu-item:last-child{border-bottom:none}.menu-item .menu-icon{background:var(--bg-section);border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex}.menu-item .menu-arrow{color:var(--text-muted);margin-left:auto}.menu-item.danger{color:#e53935}.menu-item.danger .menu-icon{background:#fdecea}.history-date{color:var(--text-muted);margin:22px 4px 12px;font-size:13px;font-weight:700}.history-item{cursor:pointer;align-items:center;gap:14px;margin-bottom:12px;padding:12px;transition:all .2s;display:flex}.history-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-item img{object-fit:cover;border-radius:14px;width:60px;height:60px}.history-name{flex:1;min-width:0;font-size:14.5px;font-weight:600}.history-action{background:var(--bg-section);color:var(--text-secondary);border-radius:999px;flex:none;padding:4px 12px;font-size:11.5px;font-weight:600}.history-action.cook{background:var(--brand-light);color:var(--brand-primary-dark)}.pref-group{margin-bottom:26px}.level-option{border:1.5px solid var(--border-soft);text-align:left;background:#fff;border-radius:16px;align-items:center;gap:14px;width:100%;margin-top:12px;padding:15px 18px;transition:all .2s;display:flex}.level-option:hover{border-color:#4caf5066}.level-option.active{border-color:var(--brand-primary);background:var(--brand-light);box-shadow:0 4px 14px #4caf502e}.level-label{font-size:15px;font-weight:700}.level-desc{color:var(--text-muted);font-size:12.5px}.login-wrap{flex-direction:column;justify-content:center;max-width:420px;min-height:100vh;margin:0 auto;padding:24px;display:flex}.login-logo{text-align:center;letter-spacing:1px;background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:800}.login-sub{text-align:center;color:var(--text-muted);margin-top:8px;font-size:13.5px}.login-tabs{background:var(--bg-section);border-radius:999px;margin:30px 0 20px;padding:5px;display:flex}.login-tab{height:38px;color:var(--text-secondary);border-radius:999px;flex:1;font-size:14px;transition:all .2s}.login-tab.active{color:var(--brand-primary-dark);box-shadow:var(--shadow-sm);background:#fff;font-weight:700}.field{margin-bottom:16px}.field label{color:var(--text-secondary);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field input{border:1.5px solid var(--border-soft);background:#fff;border-radius:14px;outline:none;width:100%;height:48px;padding:0 16px;transition:all .2s}.field input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 4px #4caf501f}.mock-hint{text-align:center;color:var(--text-muted);margin-top:16px;font-size:12px}.form-error{color:#e53935;margin:-4px 0 12px;font-size:13px}.qr-panel{flex-direction:column;gap:16px;display:flex}.qr-box{min-height:260px;box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:relative}.qr-box img{border-radius:12px;width:200px;height:200px;transition:opacity .3s}.qr-box img.qr-dim{opacity:.15}.qr-box .qr-tip{text-align:center;color:var(--text-secondary);font-size:13.5px;line-height:1.7}.qr-box .qr-tip .btn-primary{width:auto;height:40px;margin-top:12px;padding:0 24px}.qr-entry{justify-content:center;height:42px;margin-top:14px;font-size:14px}
