:root{--bg-main:#faf5ee;--bg-card:#fffbf6;--bg-card-pure:#fff;--bg-secondary:#f4ebe0;--primary-orange:#ff7417;--primary-orange-hover:#e55e00;--primary-orange-light:#fff0e5;--primary-gradient:linear-gradient(135deg, #ff8a29 0%, #ff6200 100%);--gold-accent:#ffb300;--gold-bg:#fff8e7;--gold-border:#ffe8a3;--text-main:#3d2c20;--text-sub:#7a6a5d;--text-muted:#a39386;--text-light:#c4b5a5;--border-light:#f3e6d8;--border-active:#ffc096;--shadow-sm:0 2px 8px #b478460f;--shadow-md:0 8px 20px #b478461a;--shadow-lg:0 16px 36px #b4784629;--shadow-orange:0 8px 20px #ff741759;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:9999px;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-family);color:var(--text-main);background-color:#ece5dc;justify-content:center;align-items:flex-start;min-height:100vh;line-height:1.5;display:flex;overflow-x:hidden}#root{background-color:var(--bg-main);flex-direction:column;width:100%;max-width:480px;min-height:100vh;display:flex;position:relative;box-shadow:0 0 40px #00000026}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#a393864d;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#a3938680}.app-header{background-color:var(--bg-main);z-index:50;padding:16px 20px 12px;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.brand-section{align-items:center;gap:10px;display:flex}.mascot-avatar{background:#fff8f0;border:2px solid #f6d6b9;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:26px;display:flex;box-shadow:0 4px 10px #f0a06426}.brand-titles{flex-direction:column;display:flex}.brand-name{color:var(--text-main);letter-spacing:-.2px;align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.brand-motto{color:var(--text-sub);letter-spacing:.5px;margin-top:1px;font-size:11px}.mini-capsule{border:1px solid var(--border-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border-radius:20px;align-items:center;gap:8px;padding:4px 10px;display:flex}.capsule-btn{color:var(--text-main);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.capsule-divider{background:var(--border-light);width:1px;height:12px}.search-container{background-color:var(--bg-card-pure);border:1.5px solid var(--border-light);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);align-items:center;padding:5px 6px 5px 16px;transition:all .2s;display:flex}.search-container:focus-within{border-color:var(--primary-orange);box-shadow:0 0 0 3px #ff741726}.search-input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;font-size:14px}.search-input::placeholder{color:var(--text-muted)}.search-btn{background:var(--primary-gradient);color:#fff;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:none;padding:7px 18px;font-size:13px;font-weight:600;transition:transform .15s;box-shadow:0 3px 8px #ff741740}.search-btn:active{transform:scale(.96)}.points-banner{background:var(--gold-bg);border:1px solid var(--gold-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin:12px 20px;padding:12px 16px;display:flex}.points-info{flex-direction:column;display:flex}.points-label{color:var(--text-sub);font-size:11px}.points-value-row{align-items:center;gap:8px;display:flex}.points-num{color:var(--text-main);font-size:24px;font-weight:800;line-height:1}.coin-icon{color:#795548;background:linear-gradient(135deg,#ffd54f 0%,#ffb300 100%);border:2px solid #ffe082;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:900;display:flex;box-shadow:0 2px 6px #ffb3004d}.get-points-btn{background:var(--bg-card-pure);border:1.5px solid var(--border-light);border-radius:var(--radius-pill);color:var(--text-main);cursor:pointer;padding:6px 16px;font-size:12px;font-weight:600;transition:all .2s}.get-points-btn:active{background:var(--bg-secondary)}.hero-inspiration-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#fff9f2 0%,#fed 100%);border:1px solid #f7dfca;margin:0 20px 16px;padding:20px;position:relative;overflow:hidden}.hero-content{z-index:2;max-width:60%;position:relative}.hero-title{color:#3b200c;margin-bottom:4px;font-size:22px;font-weight:800}.hero-subtitle{color:var(--text-sub);margin-bottom:14px;font-size:12px;line-height:1.3}.draw-card-btn{background:var(--primary-gradient);color:#fff;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-orange);border:none;align-items:center;gap:4px;padding:10px 18px;font-size:13px;font-weight:700;transition:transform .2s;display:inline-flex}.draw-card-btn:hover{transform:translateY(-2px)}.draw-card-btn:active{transform:scale(.96)}.hero-illustration{justify-content:center;align-items:center;width:120px;height:110px;display:flex;position:absolute;bottom:12px;right:12px}.hero-card-stack{width:90px;height:90px;position:relative}.stacked-card{background:var(--bg-card-pure);border:1px solid #f0d4bb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:70px;height:85px;font-size:28px;display:flex;position:absolute;box-shadow:0 4px 12px #b478461f}.stacked-card-1{opacity:.8;transform:rotate(-10deg)translate(-10px)}.stacked-card-2{z-index:2;border-color:var(--primary-orange);transform:rotate(8deg)translate(8px,-4px)}.quick-tools-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;padding:0 20px;display:grid}.tool-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;padding:16px 14px;transition:all .2s;display:flex}.tool-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-active);transform:translateY(-3px)}.tool-icon-wrapper{justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:10px;font-size:32px;display:flex}.tool-title{color:var(--text-main);margin-bottom:2px;font-size:15px;font-weight:700}.tool-desc{color:var(--text-sub);font-size:11px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 20px;display:flex}.section-title{color:var(--text-main);font-size:18px;font-weight:800}.section-more{color:var(--text-sub);cursor:pointer;align-items:center;gap:2px;font-size:13px;text-decoration:none;display:flex}.horizontal-recipes-scroll{scroll-snap-type:x mandatory;gap:12px;padding:4px 20px 16px;display:flex;overflow-x:auto}.horiz-recipe-card{background:var(--bg-card-pure);border:1px solid var(--border-light);border-radius:var(--radius-md);width:135px;min-width:135px;box-shadow:var(--shadow-sm);cursor:pointer;scroll-snap-align:start;transition:transform .2s;overflow:hidden}.horiz-recipe-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.horiz-img-wrapper{width:100%;height:100px;position:relative;overflow:hidden}.horiz-img-wrapper img{object-fit:cover;width:100%;height:100%}.fav-star-badge{background:var(--bg-card-pure);width:22px;height:22px;color:var(--gold-accent);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:6px;right:6px;box-shadow:0 2px 6px #00000026}.horiz-card-body{padding:8px 10px 10px}.horiz-card-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:700;overflow:hidden}.horiz-card-time{color:var(--text-sub);font-size:11px}.recipes-grid{grid-template-columns:1fr 1fr;gap:14px;padding:0 20px 24px;display:grid}.recipe-card-v2{background:var(--bg-card-pure);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.recipe-card-v2:hover{box-shadow:var(--shadow-md);border-color:var(--border-active);transform:translateY(-3px)}.card-v2-img-box{width:100%;height:125px;position:relative}.card-v2-img-box img{object-fit:cover;width:100%;height:100%}.time-overlay-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:var(--radius-pill);background:#00000073;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:500;display:flex;position:absolute;top:8px;left:8px}.card-v2-body{flex-direction:column;flex:1;padding:10px;display:flex}.card-v2-title{color:var(--text-main);margin-bottom:4px;font-size:15px;font-weight:700}.card-v2-snippet{color:var(--text-sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:30px;margin-bottom:8px;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.card-v2-tags{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.tag-chip{background:var(--bg-main);color:var(--text-sub);border-radius:4px;padding:2px 6px;font-size:10px}.card-v2-footer{color:var(--text-sub);border-top:1px dashed #f3eae0;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;font-size:12px;display:flex}.card-v2-kcal{color:var(--text-main);font-weight:600}.card-v2-likes{cursor:pointer;align-items:center;gap:3px;display:flex}.discover-header-section{padding:0 20px 14px}.tags-scroll-container{gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex;overflow-x:auto}.filter-tag-btn{background:var(--bg-card-pure);border:1px solid var(--border-light);color:var(--text-sub);border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;padding:6px 14px;font-size:13px;transition:all .2s}.filter-tag-btn.active{background:var(--primary-orange-light);border-color:var(--primary-orange);color:var(--primary-orange);font-weight:700}.sub-tabs-row{border-bottom:1px solid var(--border-light);gap:20px;margin-bottom:14px;padding-bottom:6px;display:flex}.sub-tab-item{color:var(--text-sub);cursor:pointer;padding-bottom:6px;font-size:15px;font-weight:600;position:relative}.sub-tab-item.active{color:var(--text-main);font-weight:800}.sub-tab-item.active:after{content:"";background:var(--primary-orange);border-radius:3px;height:3px;position:absolute;bottom:0;left:20%;right:20%}.bottom-nav-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-light);z-index:90;background:#fffffff0;justify-content:space-around;align-items:center;width:100%;max-width:480px;height:64px;padding:0 10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--text-sub);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;transition:color .2s;display:flex}.nav-item.active{color:var(--primary-orange);font-weight:700}.nav-add-btn{background:var(--primary-gradient);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-top:-16px;transition:transform .2s;display:flex;box-shadow:0 6px 16px #ff741766}.nav-add-btn:active{transform:scale(.92)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000073;justify-content:center;align-items:flex-end;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-content-drawer{background:var(--bg-main);border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:relative;overflow-y:auto;box-shadow:0 -10px 30px #0003}.modal-header-bar{border-bottom:1px solid var(--border-light);background:var(--bg-main);z-index:10;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.modal-header-title{color:var(--text-main);font-size:18px;font-weight:800}.modal-close-btn{background:var(--bg-secondary);cursor:pointer;width:32px;height:32px;color:var(--text-sub);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.recipe-detail-container{padding-bottom:90px}.recipe-detail-hero{width:100%;height:260px;position:relative}.recipe-detail-hero img{object-fit:cover;width:100%;height:100%}.recipe-back-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 4px 12px #00000026}.recipe-detail-body{padding:20px}.recipe-detail-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.recipe-detail-title{color:var(--text-main);font-size:24px;font-weight:900}.star-btn-lg{cursor:pointer;color:var(--gold-accent);background:0 0;border:none;padding:4px}.recipe-detail-desc{color:var(--text-sub);margin-bottom:16px;font-size:14px;line-height:1.5}.metrics-pill-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:center;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px;padding:16px;display:grid}.metric-column{flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.metric-column:not(:last-child):after{content:"";background:var(--border-light);width:1px;position:absolute;top:15%;bottom:15%;right:0}.metric-val-row{color:var(--text-main);align-items:center;gap:4px;font-size:16px;font-weight:800;display:flex}.metric-label{color:var(--text-muted);font-size:11px}.recipe-detail-tags{gap:8px;margin-bottom:16px;display:flex}.detail-tag-chip{background:var(--gold-bg);color:#8d6e63;border-radius:var(--radius-pill);border:1px solid #ffe0b2;padding:4px 12px;font-size:12px}.publisher-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:center;gap:12px;margin-bottom:20px;padding:10px 14px;display:flex}.publisher-name{color:var(--text-main);font-size:14px;font-weight:700}.publisher-date{color:var(--text-muted);font-size:11px}.detail-section-title{color:var(--text-main);margin-bottom:12px;font-size:16px;font-weight:800}.ingredients-grid-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:24px;padding:16px;display:grid}.ingredient-item-row{border-bottom:1px dotted var(--border-light);cursor:pointer;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.ingredient-item-row.checked{opacity:.5;text-decoration:line-through}.ing-name{color:var(--text-main);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.ing-amount{color:var(--text-sub);font-size:13px}.steps-list{flex-direction:column;gap:14px;display:flex}.step-card{background:var(--bg-card-pure);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:14px;display:flex}.step-num-badge{background:var(--primary-orange-light);width:28px;height:28px;color:var(--primary-orange);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.step-content{flex:1}.step-header-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.step-title{color:var(--text-main);font-size:15px;font-weight:700}.step-timer-btn{background:var(--bg-main);border:1px solid var(--border-light);border-radius:var(--radius-pill);color:var(--text-sub);cursor:pointer;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:flex}.step-timer-btn.active{background:var(--primary-orange);color:#fff;border-color:var(--primary-orange)}.step-desc{color:var(--text-sub);font-size:13px;line-height:1.45}.recipe-bottom-action-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-light);z-index:95;background:#fffffff2;justify-content:space-between;align-items:center;width:100%;max-width:480px;padding:12px 20px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.action-icon-group{gap:16px;display:flex}.action-icon-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;font-size:11px;display:flex}.log-cooked-btn{background:var(--primary-gradient);color:#fff;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-orange);border:none;padding:12px 32px;font-size:15px;font-weight:700;transition:transform .2s}.log-cooked-btn:active{transform:scale(.96)}.inspiration-body{text-align:center;flex-direction:column;align-items:center;padding:24px 20px;display:flex}.card-flip-container{perspective:1000px;width:260px;height:340px;margin:20px 0}.card-flipper{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1);position:relative}.card-flipper.flipped{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border:2px solid var(--border-active);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:absolute;box-shadow:0 12px 30px #b4784633}.card-face-front{background:linear-gradient(145deg,#fff6ee 0%,#ffe6ce 100%)}.card-face-back{background:var(--bg-card-pure);justify-content:space-between;transform:rotateY(180deg)}.mystery-box-icon{margin-bottom:12px;font-size:64px;animation:1.5s infinite pulse}.result-img-box{border-radius:12px;width:100%;height:140px;margin-bottom:10px;overflow:hidden}.result-img-box img{object-fit:cover;width:100%;height:100%}.result-title{color:var(--text-main);font-size:20px;font-weight:800}.result-meta{color:var(--text-sub);font-size:12px}.modal-actions-row{gap:12px;width:100%;margin-top:16px;display:flex}.btn-secondary{background:var(--bg-card-pure);border:1.5px solid var(--border-light);border-radius:var(--radius-pill);color:var(--text-main);cursor:pointer;flex:1;padding:12px 0;font-size:14px;font-weight:700}.btn-primary{background:var(--primary-gradient);border-radius:var(--radius-pill);color:#fff;cursor:pointer;box-shadow:var(--shadow-orange);border:none;flex:1;padding:12px 0;font-size:14px;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}
