@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary: #ff5f6d;--primary-glow: rgba(255, 95, 109, .4);--secondary: #ffc371;--accent: #6c5ce7;--bg-gradient: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .5);--text-main: #1e293b;--text-muted: #64748b;--card-shadow: 0 20px 40px -15px rgba(0, 0, 0, .05);--hover-shadow: 0 30px 60px -12px rgba(0, 0, 0, .1);--radius-lg: 24px;--radius-md: 16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-main);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3仿真%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:1}.app-container{max-width:1100px;margin:0 auto;padding:60px 24px;position:relative;z-index:2}header{text-align:center;margin-bottom:60px;animation:fadeInDown .8s ease-out}header h1{font-size:4rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(to right,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px;filter:drop-shadow(0 10px 10px rgba(255,95,109,.1))}header p{color:var(--text-muted);font-size:1.25rem;font-weight:500}.input-section{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px}@media(max-width:850px){.input-section{grid-template-columns:1fr}}.card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);padding:32px;border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.card:hover{transform:translateY(-8px);box-shadow:var(--hover-shadow);border-color:#fffc}.card h2{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;margin-bottom:24px}.input-group{display:flex;background:#fff;padding:6px;border-radius:18px;box-shadow:inset 0 2px 4px #00000005;margin-bottom:24px;border:1px solid #e2e8f0;transition:border-color .2s}.input-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow)}input{flex:1;padding:12px 18px;border:none;font-size:1rem;font-family:inherit;outline:none;background:transparent}.btn-add{width:48px;height:48px;background:var(--primary);color:#fff;border:none;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}.btn-add:hover{transform:scale(1.05);background:var(--primary-dark)}.ingredient-list{display:flex;flex-wrap:wrap;gap:12px}.tag{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border-radius:100px;font-size:.95rem;font-weight:600;box-shadow:0 4px 6px -1px #0000000d;animation:scaleIn .3s ease-out}.tag.must{border-left:4px solid var(--primary);color:var(--primary)}.tag.exclude{border-left:4px solid var(--text-muted);color:var(--text-muted)}.btn-remove{border:none;background:#f1f5f9;border-radius:50%;width:20px;height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s}.btn-remove:hover{background:#fee2e2;color:#ef4444}.recommend-section{text-align:center;margin-top:40px}.btn-recommend{padding:20px 48px;font-size:1.25rem;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;border-radius:100px;cursor:pointer;box-shadow:0 10px 25px var(--primary-glow);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.btn-recommend:hover:not(:disabled){transform:translateY(-5px) scale(1.02);box-shadow:0 15px 35px var(--primary-glow)}.btn-recommend:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;opacity:.7}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;margin-top:80px;animation:fadeInUp .8s ease-out}.recipe-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow);transition:all .4s ease;border:1px solid #f1f5f9}.recipe-card:hover{transform:translateY(-10px);box-shadow:var(--hover-shadow)}.recipe-image{width:100%;height:220px;background:linear-gradient(45deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center;color:var(--primary);position:relative}.recipe-image:after{content:"Recipe Preview";position:absolute;bottom:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.3}.recipe-content{padding:28px}.recipe-content h3{font-size:1.4rem;font-weight:800;margin-bottom:12px;color:var(--text-main)}.recipe-content p{font-size:1rem;color:var(--text-muted);line-height:1.6}.comments-section{margin-top:100px;padding-top:60px}.comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.comments-header h2{font-size:2.25rem;font-weight:800;letter-spacing:-.02em}.comment-count-badge{background:#fff;color:var(--primary);padding:8px 20px;border-radius:100px;font-weight:700;font-size:1rem;box-shadow:var(--card-shadow);border:1px solid var(--glass-border)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#0003;background-clip:content-box}
