@import "https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Noto+Serif+SC:wght@400;600;700&family=ZCOOL+XiaoWei&display=swap";:root{--ink-black:#2c2416;--ink-light:#4a3f2f;--aged-paper:#f5e6c8;--paper-dark:#e8d5b0;--paper-shadow:#d4c094;--terracotta:#b85042;--terracotta-dark:#8b3a2f;--tea-green:#5c7a4a;--tea-dark:#3d5230;--gold-accent:#c9a959;--red-seal:#c23b22;--seal-gold:#d4af37}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--aged-paper);color:var(--ink-black);min-height:100vh;font-family:Noto Serif SC,SimSun,serif;line-height:1.8}.app{min-height:100vh;position:relative}.app:before{content:"";pointer-events:none;opacity:.03;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.header{z-index:100;border-bottom:3px solid var(--gold-accent);background:linear-gradient(#2c2416f2 0%,#2c2416e0 100%);padding:1.2rem 2rem;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.logo{align-items:center;gap:1rem;text-decoration:none;display:flex}.logo-seal{background:var(--red-seal);width:50px;height:50px;color:var(--aged-paper);border:2px solid var(--seal-gold);border-radius:4px;justify-content:center;align-items:center;font-family:Ma Shan Zheng,cursive;font-size:1.8rem;display:flex;box-shadow:inset 0 0 10px #0000004d}.logo-text{color:var(--aged-paper);text-shadow:2px 2px 4px #0000004d;font-family:Ma Shan Zheng,cursive;font-size:2rem}.logo-subtitle{color:var(--gold-accent);letter-spacing:.3em;font-family:ZCOOL XiaoWei,serif;font-size:.8rem}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--aged-paper);padding:.5rem 1rem;font-family:ZCOOL XiaoWei,serif;font-size:1rem;text-decoration:none;transition:color .3s;position:relative}.nav-links a:hover{color:var(--gold-accent)}.hero{background:linear-gradient(135deg,#2c2416eb 0%,#4a3f2fe0 50%,#2c2416eb 100%) 0 0/cover,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%23C9A959' stroke-width='0.5' opacity='0.2'/%3E%3Ccircle cx='50' cy='50' r='30' fill='none' stroke='%23C9A959' stroke-width='0.5' opacity='0.2'/%3E%3C/svg%3E") 0 0/200px 200px;justify-content:center;align-items:center;min-height:65vh;display:flex;position:relative;overflow:hidden}.hero-content{text-align:center;padding:3rem;animation:1s ease-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-badge{border:1px solid var(--gold-accent);color:var(--gold-accent);letter-spacing:.4em;margin-bottom:2rem;padding:.4rem 1.5rem;font-family:ZCOOL XiaoWei,serif;font-size:.85rem;display:inline-block}.hero-title{color:var(--aged-paper);text-shadow:4px 4px 8px #00000080;letter-spacing:.15em;margin-bottom:1rem;font-family:Ma Shan Zheng,cursive;font-size:4.5rem}.hero-title span{animation:3s ease-in-out infinite charFloat;display:inline-block}@keyframes charFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-subtitle{color:var(--paper-dark);letter-spacing:.3em;margin-bottom:3rem;font-family:ZCOOL XiaoWei,serif;font-size:1.3rem}.search-section{z-index:10;max-width:900px;margin:-3rem auto 2rem;padding:0 2rem;animation:1s ease-out .3s backwards fadeInUp;position:relative}.search-box{background:var(--aged-paper);border:3px solid var(--ink-light);padding:.4rem;display:flex;box-shadow:0 10px 40px #2c241640}.search-input{color:var(--ink-black);background:0 0;border:none;outline:none;flex:1;padding:1rem 1.5rem;font-family:Noto Serif SC,serif;font-size:1.1rem}.search-input::placeholder{color:var(--ink-light);font-style:italic}.search-btn{background:var(--ink-black);color:var(--aged-paper);cursor:pointer;border:none;padding:1rem 2rem;font-family:ZCOOL XiaoWei,serif;font-size:1rem;transition:all .3s}.search-btn:hover{background:var(--terracotta)}.category-section{background:linear-gradient(180deg, var(--paper-dark) 0%, var(--aged-paper) 100%);border-top:1px solid var(--paper-shadow);border-bottom:1px solid var(--paper-shadow);padding:2.5rem 2rem}.category-header{text-align:center;margin-bottom:1.5rem}.category-header h2{color:var(--ink-black);align-items:center;gap:1rem;font-family:Ma Shan Zheng,cursive;font-size:2.2rem;display:inline-flex}.category-header h2:before,.category-header h2:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-accent), transparent);width:50px;height:2px}.category-grid{flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:1200px;margin:0 auto;display:flex}.category-btn{background:var(--aged-paper);border:2px solid var(--ink-light);color:var(--ink-black);cursor:pointer;padding:.6rem 1.2rem;font-family:Noto Serif SC,serif;font-size:.9rem;transition:all .3s}.category-btn:hover,.category-btn.active{background:var(--ink-black);color:var(--aged-paper);border-color:var(--ink-black);transform:translateY(-2px);box-shadow:0 4px 12px #2c241640}.recipes-section{max-width:1400px;margin:0 auto;padding:3rem 2rem}.section-header{border-bottom:2px solid var(--paper-shadow);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.section-title{color:var(--ink-black);align-items:center;gap:.8rem;font-family:Ma Shan Zheng,cursive;font-size:1.8rem;display:flex}.section-title:before{content:"◆";color:var(--terracotta)}.recipe-count{color:var(--ink-light);font-family:ZCOOL XiaoWei,serif}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.8rem;display:grid}.loading-state{justify-content:center;align-items:center;min-height:300px;display:flex}.loading-text{color:var(--ink-light);font-size:1.2rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pagination{background:linear-gradient(135deg, var(--paper-dark) 0%, var(--aged-paper) 100%);border:1px solid var(--paper-shadow);border-radius:8px;justify-content:center;align-items:center;gap:.8rem;margin-top:2.5rem;padding:1.5rem;display:flex;box-shadow:inset 0 2px 4px #2c24161a}.page-btn{color:var(--ink-black);background:var(--aged-paper);border:1px solid var(--paper-shadow);cursor:pointer;border-radius:4px;padding:.6rem 1.2rem;font-family:Noto Serif SC,serif;font-size:.95rem;transition:all .3s}.page-btn:hover:not(:disabled){background:var(--terracotta);color:var(--aged-paper);border-color:var(--terracotta);transform:translateY(-2px)}.page-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--paper-dark)}.page-info{color:var(--ink-light);background:0 0;border:none;padding:.6rem 1.2rem;font-size:1rem}.recipe-card{background:var(--aged-paper);border:1px solid var(--paper-shadow);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.6s ease-out forwards cardAppear;position:relative}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recipe-card:hover{box-shadow:0 20px 40px #2c241633, 0 0 0 1px var(--gold-accent);transform:translateY(-8px)rotate(-1deg)}.recipe-card:before{content:"";background:var(--terracotta);z-index:1;height:4px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.recipe-card:hover:before{transform:scaleX(1)}.card-link{color:inherit;text-decoration:none;display:block}.recipe-image{background:linear-gradient(135deg, var(--paper-dark) 0%, var(--paper-shadow) 100%);width:100%;height:180px;position:relative;overflow:hidden}.recipe-image:after{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff1a 50%,#0000 60%);animation:3s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.recipe-cuisine{background:var(--ink-black);color:var(--aged-paper);z-index:2;padding:.25rem .6rem;font-family:ZCOOL XiaoWei,serif;font-size:.75rem;position:absolute;top:.8rem;right:.8rem}.recipe-content{padding:1.2rem}.recipe-name{color:var(--ink-black);margin-bottom:.4rem;font-family:Ma Shan Zheng,cursive;font-size:1.5rem;line-height:1.3}.recipe-desc{color:var(--ink-light);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.8rem;font-size:.85rem;line-height:1.6;display:-webkit-box;overflow:hidden}.recipe-meta{border-top:1px dashed var(--paper-shadow);justify-content:space-between;align-items:center;padding-top:.8rem;display:flex}.recipe-tags{flex-wrap:wrap;gap:.4rem;display:flex}.recipe-tag{color:var(--tea-green);border:1px solid var(--tea-green);padding:.15rem .4rem;font-family:ZCOOL XiaoWei,serif;font-size:.7rem}.recipe-date{color:var(--ink-light);font-size:.75rem;font-style:italic}.recipe-stamp{border:2px solid var(--terracotta);width:40px;height:40px;color:var(--terracotta);opacity:.7;border-radius:50%;justify-content:center;align-items:center;font-family:Ma Shan Zheng,cursive;font-size:1rem;display:flex;position:absolute;bottom:.8rem;right:.8rem;transform:rotate(-15deg)}.empty-state{text-align:center;color:var(--ink-light);padding:4rem 2rem}.empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.empty-state-text{margin-bottom:1.5rem;font-family:ZCOOL XiaoWei,serif;font-size:1.2rem}.footer{background:var(--ink-black);color:var(--paper-dark);text-align:center;margin-top:4rem;padding:3rem 2rem}.footer-content{max-width:800px;margin:0 auto}.footer-logo{color:var(--gold-accent);margin-bottom:1rem;font-family:Ma Shan Zheng,cursive;font-size:2rem}.footer-divider{background:var(--gold-accent);width:100px;height:2px;margin:1.5rem auto}.footer-text{color:var(--paper-shadow);letter-spacing:.2em;font-family:ZCOOL XiaoWei,serif;font-size:.9rem}.detail-page{min-height:calc(100vh - 100px);padding-bottom:4rem}.detail-nav{align-items:center;gap:.5rem;max-width:1200px;margin:0 auto;padding:1.5rem 2rem;font-family:ZCOOL XiaoWei,serif;display:flex}.back-btn{color:var(--ink-black);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.5rem 1rem;font-family:ZCOOL XiaoWei,serif;font-size:1rem;transition:color .3s;display:flex}.back-btn:hover{color:var(--terracotta)}.nav-divider{color:var(--paper-shadow);margin:0 .3rem}.nav-link{color:var(--ink-black);text-decoration:none;transition:color .3s}.nav-link:hover{color:var(--terracotta)}.nav-current{color:var(--ink-light)}.detail-container{grid-template-columns:1fr 320px;gap:3rem;max-width:1200px;margin:0 auto;padding:0 2rem;display:grid}@media (width<=968px){.detail-container{grid-template-columns:1fr}.detail-sidebar{order:-1}}.detail-header{text-align:center;background:linear-gradient(135deg, var(--ink-black) 0%, var(--ink-light) 100%);color:var(--aged-paper);margin-bottom:2rem;padding:2rem;position:relative}.detail-header:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%23C9A959' stroke-width='0.3' opacity='0.1'/%3E%3C/svg%3E");position:absolute;inset:0}.detail-cuisine-badge{background:var(--terracotta);color:var(--aged-paper);letter-spacing:.2em;margin-bottom:1rem;padding:.3rem 1rem;font-family:ZCOOL XiaoWei,serif;font-size:.9rem;display:inline-block}.detail-title{text-shadow:2px 2px 4px #0000004d;margin-bottom:.5rem;font-family:Ma Shan Zheng,cursive;font-size:3.5rem}.detail-origin{color:var(--gold-accent);letter-spacing:.2em;font-family:ZCOOL XiaoWei,serif;font-size:1rem}.detail-section{margin-bottom:2.5rem}.detail-desc{color:var(--ink-black);text-indent:2em;font-size:1.1rem;line-height:2}.detail-info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.info-card{background:var(--paper-dark);border:1px solid var(--paper-shadow);text-align:center;padding:1.2rem;transition:transform .3s,box-shadow .3s}.info-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #2c241626}.info-icon{margin-bottom:.5rem;font-size:1.8rem}.info-label{color:var(--ink-light);margin-bottom:.3rem;font-family:ZCOOL XiaoWei,serif;font-size:.85rem}.info-value{color:var(--ink-black);font-family:Ma Shan Zheng,cursive;font-size:1.2rem}.section-title-decoration{color:var(--ink-black);border-bottom:2px solid var(--paper-shadow);align-items:center;gap:.8rem;margin-bottom:1.5rem;padding-bottom:.8rem;font-family:Ma Shan Zheng,cursive;font-size:1.8rem;display:flex}.section-icon{font-size:1.5rem}.ingredients-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem;list-style:none;display:grid}.ingredient-item{background:var(--paper-dark);border-left:3px solid var(--terracotta);align-items:center;gap:.8rem;padding:.8rem 1rem;transition:transform .2s;display:flex}.ingredient-item:hover{transform:translate(4px)}.ingredient-dot{background:var(--terracotta);border-radius:50%;flex-shrink:0;width:8px;height:8px}.steps-list{counter-reset:step-counter;list-style:none}.step-item{border-bottom:1px dotted var(--paper-shadow);gap:1.2rem;padding:1.2rem 0;display:flex;position:relative}.step-item:last-child{border-bottom:none}.step-number{background:var(--terracotta);width:36px;height:36px;color:var(--aged-paper);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Ma Shan Zheng,cursive;font-size:1.2rem;display:flex}.step-text{flex:1;padding-top:.4rem;line-height:1.8}.tips-section{background:linear-gradient(135deg, var(--paper-dark) 0%, #c9a9591a 100%);border-left:4px solid var(--gold-accent);margin-top:2rem;padding:1.5rem}.tips-text{color:var(--ink-light);line-height:1.8}.detail-tags{border-top:1px dashed var(--paper-shadow);flex-wrap:wrap;gap:.8rem;margin-top:2rem;padding-top:2rem;display:flex}.detail-tag{border:1px solid var(--ink-light);color:var(--ink-light);background:0 0;padding:.4rem 1rem;font-family:ZCOOL XiaoWei,serif;font-size:.85rem}.detail-sidebar{height:fit-content;position:sticky;top:100px}.sidebar-section{background:var(--paper-dark);border:1px solid var(--paper-shadow);margin-bottom:1.5rem;padding:1.5rem}.sidebar-title{color:var(--ink-black);align-items:center;gap:.5rem;margin-bottom:1rem;font-family:Ma Shan Zheng,cursive;font-size:1.3rem;display:flex}.title-decoration{background:var(--terracotta);width:4px;height:20px}.related-list{flex-direction:column;gap:1rem;display:flex}.related-item{color:inherit;background:var(--aged-paper);border:1px solid var(--paper-shadow);gap:1rem;padding:.8rem;text-decoration:none;transition:all .3s;display:flex}.related-item:hover{transform:translate(4px);box-shadow:0 4px 12px #2c24161a}.related-image{background:linear-gradient(135deg, var(--paper-shadow) 0%, var(--paper-dark) 100%);flex-shrink:0;width:70px;height:70px}.related-info{flex:1}.related-cuisine{color:var(--terracotta);margin-bottom:.2rem;font-family:ZCOOL XiaoWei,serif;font-size:.75rem}.related-name{color:var(--ink-black);margin-bottom:.3rem;font-family:Ma Shan Zheng,cursive;font-size:1.1rem}.related-meta{color:var(--ink-light);gap:.5rem;font-size:.8rem;display:flex}.cuisine-list{flex-wrap:wrap;gap:.5rem;display:flex}.cuisine-item{background:var(--aged-paper);border:1px solid var(--paper-shadow);color:var(--ink-black);padding:.4rem .8rem;font-size:.9rem;text-decoration:none;transition:all .3s}.cuisine-item:hover{background:var(--ink-black);color:var(--aged-paper);border-color:var(--ink-black)}.cuisine-item.active{background:var(--terracotta);color:var(--aged-paper);border-color:var(--terracotta)}@media (width<=768px){.hero-title{font-size:3rem}.nav-links{display:none}.recipe-grid{grid-template-columns:1fr}.category-grid{gap:.5rem}.category-btn{padding:.5rem .8rem;font-size:.85rem}.search-box{flex-direction:column}.search-btn{width:100%}.detail-title{font-size:2.5rem}.detail-info-grid{grid-template-columns:repeat(3,1fr)}.ingredients-list{grid-template-columns:1fr}}
