:root{--festival-red: #D32F2F;--festival-red-dark: #8B0000;--festival-red-light: #FF6B6B;--festival-gold: #FFD700;--festival-gold-dark: #FFA000;--text-primary: #ffffff;--text-gold: #FFD700;--text-secondary: rgba(255, 255, 255, .85)}.festival-layout{min-height:100vh;background:var(--cny-bg-cream, #FDFBF7);position:relative;overflow-x:hidden;padding-bottom:0;border-radius:24px 24px 0 0}.particles-container{display:none}.particle{position:absolute;font-size:36px;animation:fall linear infinite;opacity:.85;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.particle-redpack{left:8%;animation-duration:10s}.particle-lantern{left:25%;animation-duration:12s;font-size:40px}.particle-yuanbao{left:42%;animation-duration:9s;font-size:38px}.particle-firework{left:60%;animation-duration:8s;font-size:42px}.particle-fu{left:78%;animation-duration:11s;color:gold;font-weight:900;font-size:44px;text-shadow:0 0 10px rgba(255,215,0,.8),0 2px 4px rgba(0,0,0,.5)}.delay-1{left:18%;animation-duration:9s;animation-delay:2.5s}.delay-2{left:35%;animation-duration:13s;animation-delay:5s}.delay-3{left:52%;animation-duration:10s;animation-delay:3.5s}.delay-4{left:68%;animation-duration:11s;animation-delay:1.5s}.delay-5{left:88%;animation-duration:9.5s;animation-delay:6s}.delay-6{left:92%;animation-duration:12s;animation-delay:4s}@keyframes fall{0%{top:-80px;transform:translate(0) rotate(0) scale(1);opacity:.9}25%{transform:translate(30px) rotate(90deg) scale(1.1);opacity:.85}50%{transform:translate(-20px) rotate(180deg) scale(1);opacity:.9}75%{transform:translate(25px) rotate(270deg) scale(1.05);opacity:.8}to{top:100vh;transform:translate(-15px) rotate(360deg) scale(1);opacity:.7}}.festival-main{position:relative;z-index:1;min-height:100vh}.festival-watermark{position:fixed;bottom:20px;right:20px;font-size:12px;color:#fff6;z-index:999;text-shadow:0 2px 4px rgba(0,0,0,.5)}.festival-home{min-height:100vh;background:transparent;position:relative;z-index:1}.festival-home-content{width:100%;position:relative;z-index:1;min-height:100vh}.festival-home-content:after{content:"";position:absolute;top:25vh;left:0;right:0;bottom:0;background:#F5F5F5;border-radius:28px 28px 0 0;z-index:0}.festival-hero{text-align:center;margin-bottom:80px;animation:heroEntrance 1.2s cubic-bezier(.34,1.56,.64,1)}@keyframes heroEntrance{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.header-decoration{display:none}.couplet{position:absolute;top:0;width:38px;height:100%;background:linear-gradient(180deg,#8B0000,#CD5C5C);border:2px solid #FFD700;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:8px 0;box-shadow:0 4px 12px #0000004d;overflow:hidden}.couplet-left{left:10px}.couplet-right{right:10px}.couplet span{font-size:14px;color:gold;font-weight:900;writing-mode:vertical-rl;letter-spacing:1px;line-height:1}.lantern{position:absolute;top:5px;width:50px;height:65px;font-size:50px;animation:swing 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.lantern-left{left:60px;animation-delay:0s}.lantern-right{right:60px;animation-delay:.5s}@keyframes swing{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.yuanbao{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:60px;animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.title-section{text-align:center;min-height:35vh;padding:60px 20px 80px;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;background:transparent;border-radius:0;margin:0 0 24px;box-shadow:none}.main-title{font-size:32px;font-weight:700;color:#fff;letter-spacing:3px;margin-bottom:16px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;position:relative;display:inline-block;word-break:keep-all;max-width:90%;line-height:1.4}.main-title:before,.main-title:after{display:none}.subtitle{font-size:16px;color:#fffffff2;font-weight:500;letter-spacing:.5px;margin-bottom:0}.tasks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:30px 16px;position:relative;z-index:1}.task-card{background:linear-gradient(145deg,rgba(255,255,255,1) 0%,rgba(250,250,250,1) 100%);border-radius:16px;padding:14px 12px;height:148px;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000014,0 4px 8px #0000000f,0 8px 16px #0000000a,inset 0 1px #ffffffe6;transition:all .4s cubic-bezier(.25,.8,.25,1);cursor:pointer;transform-origin:center center;will-change:transform,box-shadow;display:flex;flex-direction:column;justify-content:space-between}.task-card:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 8px 16px #0000001f,0 16px 32px #0000001a,0 24px 48px #00000014,0 0 0 2px #ffd70080;z-index:10}.task-card:active{transform:translateY(-4px) scale(1.02);transition-duration:.1s}.task-card.featured{border:2px solid transparent;background-image:linear-gradient(white,white),linear-gradient(135deg,#FFD700,#FFA500,#FFD700);background-origin:border-box;background-clip:padding-box,border-box;animation:borderPulse 3s ease-in-out infinite}@keyframes borderPulse{0%,to{box-shadow:0 4px 12px #ffd7004d,0 8px 24px #0000001a}50%{box-shadow:0 4px 20px #ffd70099,0 8px 32px #00000026}}.card-badge{position:absolute;top:6px;right:6px;background:linear-gradient(135deg,rgba(255,107,107,.95),rgba(255,142,83,.95));color:#fff;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000026;z-index:5;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2);max-width:70px;overflow:hidden;text-overflow:ellipsis}.card-badge.new{background:linear-gradient(135deg,rgba(76,175,80,.95),rgba(102,187,106,.95));color:#fff}.card-badge.free{background:linear-gradient(135deg,rgba(33,150,243,.95),rgba(66,165,245,.95));color:#fff}.card-icon{font-size:42px;text-align:center;margin-bottom:6px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:transform .3s ease;line-height:1}.task-card:hover .card-icon{transform:scale(1.1) translateY(-4px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}.card-title{font-size:14px;font-weight:800;background:linear-gradient(135deg,#1a1a1a,#404040);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:4px;padding:0 4px;transition:all .3s ease;line-height:1.2;word-break:keep-all;overflow-wrap:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-card:hover .card-title{background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card-desc{font-size:11px;color:#666;text-align:center;margin-bottom:6px;padding:0 4px;opacity:.8;transition:opacity .3s ease;line-height:1.3;word-break:keep-all;overflow-wrap:break-word;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.task-card:hover .card-desc{opacity:1;color:#444}.card-price{text-align:center;padding:6px 4px;background:linear-gradient(180deg,rgba(255,245,245,.5),rgba(255,235,235,.5));border-radius:8px;margin:0;overflow:hidden}.current-price{font-size:18px;font-weight:900;background:linear-gradient(135deg,#D32F2F,#F44336);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.original-price{font-size:11px;color:#999;text-decoration:line-through;margin-left:4px;opacity:.7;white-space:nowrap}.free-label{font-size:14px;font-weight:800;background:linear-gradient(135deg,#2196F3,#03A9F4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.card-type-tag{position:absolute;bottom:8px;right:8px;font-size:10px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.5);color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zj-mission-card-header{position:relative;z-index:1}.social-proof-section{margin:24px 16px 40px;padding:16px 20px;background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(255,250,240,.95) 100%);border-radius:16px;box-shadow:0 6px 20px #00000026,inset 0 1px #fff;position:relative;z-index:1}.social-proof-header{display:flex;align-items:center;justify-content:center;gap:8px}.proof-icon{font-size:24px}.proof-text{font-size:15px;color:#333;font-weight:600}.proof-text strong{font-size:20px;font-weight:900;color:#d32f2f;margin:0 4px}.showcase-section{padding:40px 20px;position:relative;z-index:2}.section-title{text-align:center;font-size:20px;font-weight:800;margin-bottom:20px;color:#2c1810;text-shadow:0 2px 4px rgba(0,0,0,.08)}.showcase-carousel{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:rgba(255,215,0,.5) rgba(255,255,255,.2)}.showcase-carousel::-webkit-scrollbar{height:6px}.showcase-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,.2);border-radius:3px}.showcase-carousel::-webkit-scrollbar-thumb{background:rgba(255,215,0,.5);border-radius:3px}.showcase-item{min-width:150px;height:200px;border-radius:16px;overflow:hidden;position:relative;background:#FFFFFF;border:none;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;transition:all .3s cubic-bezier(.25,.8,.25,1);cursor:pointer}.showcase-item:hover{transform:translateY(-8px);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000000f;z-index:10}.showcase-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;filter:grayscale(.3);transition:transform .4s ease}.showcase-item:hover .showcase-placeholder{transform:scale(1.1)}.showcase-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 50%,transparent 100%);padding:16px 12px 12px;transform:translateY(100%);transition:transform .3s ease}.showcase-item:hover .showcase-overlay{transform:translateY(0)}.user-name{color:#fff;font-size:13px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5)}.footer-section{background:linear-gradient(180deg,rgba(255,152,0,0) 0%,rgba(183,28,28,.5) 100%);padding:30px 16px 40px;position:relative;z-index:1}.activity-rules{background:rgba(255,255,255,.95);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 4px 16px #0003}.activity-rules h4{font-size:18px;color:#d32f2f;margin-bottom:12px;text-align:center;font-weight:800}.activity-rules ul{list-style:none;padding:0;margin:0}.activity-rules li{font-size:14px;color:#333;padding:8px 0;line-height:1.5}.footer-nav{display:flex;gap:12px;justify-content:space-between}.footer-btn{flex:1;background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(248,248,248,1) 100%);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px 12px;box-shadow:0 1px 3px #0000000f,0 2px 6px #0000000a,inset 0 1px #fff,inset 0 -1px #00000008;color:#d32f2f;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;gap:6px}.footer-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a,0 8px 16px #0000000f;border-color:#ffd7004d}.footer-btn:active{transform:translateY(0);box-shadow:0 1px 2px #00000014,inset 0 1px 2px #00000014}.footer-btn span:first-child{font-size:24px}.countdown-card{background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(255,252,245,.98) 100%);border:2px solid rgba(255,215,0,.5);border-radius:20px;padding:16px 24px;margin:0 auto 24px;max-width:360px;box-shadow:0 4px 12px #00000014,0 8px 24px #0000000f,0 16px 32px #0000000a,inset 0 1px #fff,inset 0 -1px #0000000d;display:flex;align-items:center;justify-content:center;gap:16px;position:relative;overflow:hidden}.countdown-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,transparent 0%,rgba(255,215,0,.6) 50%,transparent 100%);border-radius:20px;z-index:-1;animation:borderShine 4s ease-in-out infinite;opacity:0}@keyframes borderShine{0%,to{opacity:0}50%{opacity:1}}.countdown-label{font-size:16px;color:#8b0000;font-weight:700;white-space:nowrap}.countdown-number{font-size:40px;font-weight:900;background:linear-gradient(180deg,#D32F2F 0%,#8B0000 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(211,47,47,.3),0 4px 8px rgba(211,47,47,.2);line-height:1}.countdown-unit{font-size:16px;color:#8b0000;font-weight:700;white-space:nowrap}.scroll-hint{text-align:center;padding:16px 0 8px;animation:bounce 2s ease-in-out infinite}.scroll-text{font-size:14px;color:#ffffffe6;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:8px}.scroll-arrow{font-size:24px;color:gold;animation:arrowBounce 1.5s ease-in-out infinite}@keyframes arrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.zj-gender-selector{text-align:center;padding:40px 24px;max-width:600px;margin:0 auto}.progress-bar{display:flex;justify-content:center;gap:12px;margin-bottom:40px}.progress-step{padding:8px 16px;background:rgba(255,255,255,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;font-size:.85rem;color:#ffffffbf;transition:all .3s;text-shadow:0 1px 2px rgba(0,0,0,.2)}.progress-step.active{background:rgba(255,215,0,.95);color:#d32f2f;font-weight:800;border-color:gold;box-shadow:0 4px 16px #ffc10766;text-shadow:none}.zj-gender-selector-title,.zj-gender-title{font-size:20px;font-weight:800;color:#fff;margin-bottom:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;letter-spacing:1px;text-shadow:0 2px 6px rgba(0,0,0,.3);word-break:keep-all;line-height:1.4;padding:0 20px}.zj-gender-selector-hint,.zj-gender-subtitle{font-size:13px;color:#ffffffe6;margin-bottom:24px;letter-spacing:.5px;text-shadow:0 1px 3px rgba(0,0,0,.3);line-height:1.4;word-break:keep-all;padding:0 20px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.zj-gender-selector-buttons,.zj-gender-options{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}.zj-gender-btn{position:relative;padding:36px 20px;background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,.25));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:3px solid rgba(255,255,255,.4);border-radius:24px;cursor:pointer;transition:all .3s ease;overflow:hidden;box-shadow:0 8px 32px #1f268726,inset 0 1px #fff9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.zj-gender-btn:hover{transform:scale(1.08);border-color:#ffd700cc;box-shadow:0 16px 56px #00000040,0 0 40px #ffd70066;background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,.35))}.zj-gender-btn-active,.zj-gender-btn.active{border-color:#ffd700f2;box-shadow:0 0 40px #ffd70099,inset 0 0 20px #ffd70033;background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(255,255,255,.4))}.zj-gender-btn.active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,215,0,.2) 0%,transparent 70%);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.zj-gender-btn:active{transform:scale(1.04)}.zj-gender-btn-icon,.zj-gender-icon{font-size:4.5rem;margin-bottom:16px;position:relative;z-index:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3));transition:all .3s;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.zj-gender-btn:hover .zj-gender-btn-icon,.zj-gender-btn:hover .zj-gender-icon{transform:scale(1.15);filter:drop-shadow(0 6px 16px rgba(255,215,0,.4))}.zj-gender-btn-text,.zj-gender-label{font-size:16px;font-weight:700;color:#fff;position:relative;padding:0 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;z-index:1;letter-spacing:1px;text-shadow:0 2px 6px rgba(0,0,0,.3);white-space:nowrap}.zj-gender-btn-active .zj-gender-btn-text,.zj-gender-btn.active .zj-gender-label{color:gold;text-shadow:0 2px 8px rgba(0,0,0,.4),0 0 20px rgba(255,215,0,.6)}.next-button,.zj-gender-next-btn{width:100%;max-width:280px;height:50px;background:linear-gradient(90deg,#FF6B6B,#FFA726);border:none;border-radius:25px;color:#fff;font-size:1.1rem;font-weight:700;box-shadow:0 4px 20px #ff6b6b66;transition:all .3s;cursor:pointer;letter-spacing:1px}.next-button:not(.disabled):hover,.zj-gender-next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #ff6b6b99}.next-button.disabled{opacity:.5;cursor:not-allowed}.festival-lab{min-height:100vh;padding:40px 20px}.festival-lab-container{max-width:900px;margin:0 auto}.festival-back-btn{padding:12px 24px;background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.4);border-radius:12px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;margin-bottom:24px;transition:all .3s;box-shadow:0 4px 16px #00000026;text-shadow:0 1px 2px rgba(0,0,0,.2)}.festival-back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ffd70066;border-color:#ffd70099;background:rgba(255,255,255,.4)}.festival-lab-header{text-align:center;margin-bottom:40px}.festival-lab-title{font-size:32px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);letter-spacing:2px}.festival-lab-stage{background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.2));-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:2px solid rgba(255,255,255,.4);border-radius:30px;padding:40px 32px;box-shadow:0 12px 48px #1f268733,inset 0 1px #fff9}.festival-lab-preview{width:100%;max-width:400px;margin:24px auto;position:relative;border-radius:20px;overflow:hidden;box-shadow:0 8px 32px #0003}.festival-lab-preview-img{width:100%;display:block;border-radius:20px}.generating-overlay-modern{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(250,250,250,.95));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;z-index:10;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.progress-ring-modern{position:relative;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 8px 24px rgba(211,47,47,.3))}.progress-ring-text{position:absolute;font-size:32px;font-weight:900;background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.festival-scan-line{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.8) 50%,transparent 100%);box-shadow:0 0 20px #ffd700cc;animation:scanning 2s linear infinite}@keyframes scanning{0%{transform:translateY(0)}to{transform:translateY(400px)}}.zj-uploader{width:100%;max-width:600px;margin:24px auto 0}.zj-uploader-dropzone{border:3px dashed rgba(255,255,255,.5);border-radius:24px;padding:60px 40px;text-align:center;cursor:pointer;transition:all .4s;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.zj-uploader-dropzone:hover{border-color:#ffd700cc;background:rgba(255,255,255,.25);box-shadow:0 0 40px #ffd70066}.zj-uploader-icon{font-size:4rem;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.zj-uploader-text{font-size:1.2rem;color:#fff;margin-bottom:8px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.2)}.zj-uploader-hint{font-size:.9rem;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.zj-narrator{padding:32px 24px}.zj-narrator-dna{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:32px}.zj-narrator-dna-tag{padding:10px 20px;background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.5);border-radius:18px;color:#fff;font-size:.95rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.3);animation:bubbleIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bubbleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.zj-narrator-progress{width:100%;height:8px;background:rgba(0,0,0,.3);border-radius:10px;overflow:hidden;margin-bottom:30px}.zj-narrator-progress-bar{height:100%;background:linear-gradient(90deg,#FFD700,#FFA000);transition:width .3s;box-shadow:0 0 20px #ffd700cc}.zj-narrator-texts{text-align:center}.zj-narrator-text{font-size:1.2rem;color:#ffffffd9;margin-bottom:15px;animation:fadeInUp .6s}.festival-result{min-height:100vh;padding:40px 20px}.festival-result-container{max-width:800px;margin:0 auto}.festival-result-view-toggle{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.view-toggle-btn{padding:12px 28px;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:12px;color:#fffc;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.2)}.view-toggle-btn:hover{background:rgba(255,255,255,.25);border-color:#ffd70080;transform:translateY(-2px)}.view-toggle-btn.active{background:linear-gradient(135deg,rgba(255,215,0,.4),rgba(255,193,7,.3));border-color:#ffd700cc;color:#fff;box-shadow:0 4px 16px #ffd7004d,inset 0 1px #fff6;transform:translateY(-3px)}.festival-result-image{width:100%;max-width:600px;margin:0 auto 32px;border-radius:24px;overflow:hidden;box-shadow:0 12px 48px #0000004d,0 0 60px #ffd70033;border:3px solid rgba(255,255,255,.4)}.festival-result-image img{width:100%;display:block}.festival-result-caption{text-align:center;padding:24px 32px;background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(15px) saturate(180%);backdrop-filter:blur(15px) saturate(180%);border:2px solid rgba(255,255,255,.4);border-radius:20px;margin-bottom:32px;box-shadow:0 8px 32px #1f268726,inset 0 1px #fff9}.festival-result-caption-text{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.4),0 0 20px rgba(255,215,0,.5),0 0 2px rgba(255,215,0,.8)}.festival-result-actions{display:flex;flex-direction:column;gap:24px}.festival-result-main-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.festival-result-nav-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}.festival-result-btn{padding:14px 20px;background:rgba(255,255,255,.9);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:2px solid rgba(0,0,0,.15);border-radius:16px;color:#000!important;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s;text-shadow:none;box-shadow:0 4px 12px #0000001a;display:inline-flex;align-items:center;justify-content:center;gap:6px}.festival-result-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026;border-color:#00000040;background:rgba(255,255,255,1)}.festival-result-btn:active{transform:translateY(0)}.festival-result-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.festival-result-btn-primary{background:linear-gradient(135deg,#E53935 0%,#FF6B35 100%);border:none;color:#fff!important;box-shadow:0 4px 16px #e5393559}.festival-result-btn-primary:hover{background:linear-gradient(135deg,#D32F2F 0%,#FF5722 100%);box-shadow:0 6px 24px #e5393573}.festival-result-btn-secondary{background:rgba(255,255,255,.7);border-color:#e5393526;color:#424242!important}.festival-result-btn-secondary:hover{background:rgba(255,255,255,.9);border-color:#e5393540}.festival-result-btn-ghost{background:transparent;border-color:#00000026;color:#616161!important;backdrop-filter:none;-webkit-backdrop-filter:none}.festival-result-btn-ghost:hover{background:rgba(255,255,255,.5);border-color:#00000040;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.result-skeleton{width:100%;max-width:500px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:24px}.skeleton-image{width:100%;max-width:360px;aspect-ratio:3/4;background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.1) 100%);background-size:200% 100%;border-radius:24px;animation:shimmerSkeleton 2s infinite;box-shadow:0 12px 48px #00000026,inset 0 1px #ffffff4d}@keyframes shimmerSkeleton{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-caption{width:80%;height:60px;background:linear-gradient(90deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.15) 100%);background-size:200% 100%;border-radius:16px;animation:shimmerSkeleton 2s infinite}.skeleton-actions{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.skeleton-button{height:50px;background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.1) 100%);background-size:200% 100%;border-radius:16px;animation:shimmerSkeleton 2s infinite}.loading-text{font-size:18px;font-weight:700;color:#fff;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:pulse 2s ease-in-out infinite}.image-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(250,250,250,.95));border-radius:24px;z-index:10}.loading-spinner{width:60px;height:60px;border:4px solid #f0f0f0;border-top-color:#d32f2f;border-radius:50%;animation:spin 1s linear infinite}.loading-message{font-size:16px;font-weight:700;background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.festival-result-image{transition:opacity .6s ease}.festival-result-image.loaded{opacity:1;animation:fadeInScale .8s cubic-bezier(.25,.8,.25,1)}.festival-result-image.loading{opacity:0}.festival-result-image-wrapper{position:relative}.image-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(250,250,250,.98));border-radius:24px;z-index:10}.loading-spinner{width:64px;height:64px;border:5px solid rgba(211,47,47,.1);border-top-color:#d32f2f;border-radius:50%;animation:spin 1s linear infinite}.loading-message{font-size:18px;font-weight:700;background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse 2s ease-in-out infinite}.festival-result-image{transition:opacity .8s ease}.festival-result-image.loaded{animation:fadeInScale 1s cubic-bezier(.25,.8,.25,1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.couplet{width:32px;padding:6px 0}.couplet span{font-size:13px}.lantern{font-size:40px}.lantern-left{left:48px}.lantern-right{right:48px}.yuanbao{font-size:50px}.main-title{font-size:24px;letter-spacing:1px;padding:0 32px}.main-title:before,.main-title:after{font-size:14px}.main-title:before{left:6px}.main-title:after{right:6px;left:auto}.subtitle{font-size:14px}.countdown-card{padding:12px 20px;max-width:320px;gap:12px}.countdown-label,.countdown-unit{font-size:14px}.countdown-number{font-size:32px}.tasks-grid{padding:20px 12px;gap:10px}.task-card{height:130px;padding:10px 8px}.task-card:hover{transform:translateY(-6px) scale(1.03)}.card-icon{font-size:36px;margin-bottom:4px}.card-title{font-size:13px;margin-bottom:2px;padding:0 2px}.card-desc{font-size:10px;padding:0 2px;margin-bottom:5px}.current-price{font-size:18px}.original-price{font-size:11px}.free-label{font-size:16px}.card-badge{padding:2px 6px;font-size:9px;top:4px;right:4px;max-width:60px}.festival-missions-grid{grid-template-columns:1fr;gap:16px}.zj-mission-card{height:180px;padding:24px 20px}.zj-mission-card-title{font-size:1.2rem}.zj-mission-card-subtitle{font-size:.85rem}.progress-bar{flex-direction:column;gap:8px}.progress-step{width:100%;text-align:center}.zj-gender-selector{padding:24px 16px}.zj-gender-selector-title,.zj-gender-title{font-size:18px;letter-spacing:.5px;padding:0 12px}.zj-gender-selector-hint,.zj-gender-subtitle{font-size:12px;margin-bottom:20px;padding:0 16px}.zj-gender-selector-buttons,.zj-gender-options{grid-template-columns:1fr;gap:12px}.zj-gender-btn{padding:28px 16px}.zj-gender-btn-icon,.zj-gender-icon{font-size:3rem}.zj-gender-btn-text,.zj-gender-label{font-size:15px;padding:0 4px}.festival-result-actions{grid-template-columns:1fr}.festival-layout{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.festival-lab-container{padding:16px}.festival-lab-title{font-size:1.6rem}.scroll-hint{padding:12px 0}.scroll-text{font-size:13px}.scroll-arrow{font-size:20px}.showcase-section{padding:20px 12px}.section-title{font-size:18px}.showcase-item{min-width:130px;height:170px}.showcase-placeholder{font-size:40px}.footer-section{padding:20px 12px 40px}.activity-rules{padding:16px}.activity-rules h4{font-size:16px}.activity-rules li{font-size:13px}.footer-nav{gap:8px}.footer-btn{padding:10px 6px;font-size:11px}.footer-btn span:first-child{font-size:20px}.particle{font-size:28px}.particle-lantern{font-size:32px}.particle-yuanbao{font-size:30px}.particle-firework{font-size:34px}.particle-fu{font-size:36px}}.festival-voice-page{min-height:100vh;padding:0 16px 100px;position:relative;z-index:2;background:var(--cny-bg-cream)}.voice-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;position:sticky;top:0;z-index:100;background:var(--cny-bg-cream)}.voice-back-btn{width:40px;height:40px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cny-gray-900);font-size:20px;cursor:pointer;transition:all .2s}.voice-back-btn:hover{background:rgba(255,255,255,.9);border-color:#0000001f}.voice-title{font-size:18px;font-weight:600;color:var(--cny-gray-900)}.voice-header-placeholder{width:40px}.voice-content{display:flex;flex-direction:column;gap:20px}.voice-section{background:rgba(255,255,255,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:16px;box-shadow:0 2px 8px #0000000f}.voice-section-title{font-size:14px;font-weight:600;color:var(--cny-gray-900);margin-bottom:12px}.voice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.voice-card{background:rgba(255,255,255,.9);border:2px solid rgba(0,0,0,.08);border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.voice-card:hover{background:white;border-color:#0000001f;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.voice-card.selected{background:linear-gradient(135deg,var(--cny-red-500),var(--cny-orange-500));border-color:var(--cny-gold-400);color:#fff;box-shadow:0 4px 16px #e5393566}.voice-card-name{font-size:13px;font-weight:600;color:var(--cny-gray-900);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-card.selected .voice-card-name{color:#fff}.voice-card-gender{display:inline-block;font-size:10px;padding:2px 6px;border-radius:4px;margin-bottom:4px;color:var(--cny-gray-700);background:rgba(0,0,0,.06)}.voice-card.selected .voice-card-gender{color:#fff;background:rgba(255,255,255,.2)}.voice-card-tag{font-size:10px;color:var(--cny-gray-500)}.voice-card.selected .voice-card-tag{color:#fffc}.voice-clone-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(255,215,0,.15),rgba(255,165,0,.1));border:1px solid rgba(255,215,0,.4);border-radius:12px;padding:14px;cursor:pointer;transition:all .2s}.voice-clone-card:hover{background:linear-gradient(135deg,rgba(255,215,0,.25),rgba(255,165,0,.15));border-color:#ffd70099}.voice-clone-icon{font-size:24px}.voice-clone-info{flex:1}.voice-clone-title{font-size:14px;font-weight:600;color:var(--cny-orange-600);margin-bottom:2px}.voice-clone-desc{font-size:12px;color:var(--cny-gray-600)}.voice-clone-badge{background:linear-gradient(135deg,#FFD700,#FFA000);color:#8b0000;font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px}.voice-textarea{width:100%;min-height:80px;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:12px;color:var(--cny-gray-900);font-size:14px;line-height:1.5;resize:none;outline:none;transition:all .2s}.voice-textarea:focus{border-color:var(--cny-red-400);background:white;box-shadow:0 0 0 3px #e539351a}.voice-textarea::placeholder{color:var(--cny-gray-400)}.voice-templates{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.voice-template-btn{background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.12);border-radius:20px;padding:6px 14px;color:var(--cny-gray-900);font-size:12px;cursor:pointer;transition:all .2s}.voice-template-btn:hover{background:white;border-color:#00000029}.voice-template-btn.active{background:linear-gradient(135deg,var(--cny-gold-400),var(--cny-orange-400));border-color:var(--cny-gold-500);color:#fff;font-weight:600}.voice-preview{display:flex;flex-direction:column;gap:10px}.voice-audio{width:100%;height:40px;border-radius:8px}.voice-download-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:10px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.voice-action{position:fixed;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,rgba(139,0,0,.95),transparent);z-index:100}.voice-generate-btn{width:100%;padding:16px;background:linear-gradient(135deg,#D32F2F,#8B0000);border:2px solid #FFD700;border-radius:14px;color:gold;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #0000004d}.voice-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0006}.voice-generate-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 360px){.voice-grid{grid-template-columns:repeat(3,1fr)}}.voice-player{background:rgba(0,0,0,.3);border-radius:16px;padding:16px}.voice-waveform{display:flex;align-items:center;justify-content:center;gap:3px;height:60px;margin-bottom:12px}.voice-waveform-bar{width:4px;min-height:5px;border-radius:2px;transition:height .1s ease,background .3s ease}.voice-player-controls{display:flex;align-items:center;justify-content:center;gap:12px}.voice-play-btn{width:50px;height:50px;border:none;border-radius:50%;background:linear-gradient(135deg,#FFD700,#FFA000);font-size:20px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #ffd70066}.voice-play-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #ffd70080}.voice-download-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:25px;padding:10px 20px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.voice-download-btn:hover{background:rgba(255,255,255,.25)}.voice-video-btn{background:linear-gradient(135deg,#D32F2F,#FF6B6B);border:none;border-radius:25px;padding:10px 20px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 10px #d32f2f4d}.voice-video-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #d32f2f66}.voice-recorder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:20px}.voice-recorder-modal{width:100%;max-width:400px;background:linear-gradient(180deg,#2D1B1B 0%,#1A0F0F 100%);border-radius:24px 24px 0 0;padding:20px;max-height:80vh;overflow-y:auto}.voice-recorder-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.voice-recorder-header h3{font-size:18px;font-weight:600;color:#fff;margin:0}.voice-recorder-close{width:32px;height:32px;border:none;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:16px;cursor:pointer;transition:all .2s}.voice-recorder-close:hover{background:rgba(255,255,255,.2)}.voice-recorder-tip{text-align:center;color:#fffc;font-size:14px;margin-bottom:20px}.voice-recorder-tip strong{color:gold}.voice-recorder-timer{text-align:center;margin-bottom:16px}.voice-recorder-time{font-size:48px;font-weight:700;font-family:monospace;color:#fff;transition:color .3s}.voice-recorder-time.recording{color:#ff6b6b;animation:pulse-text 1s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.voice-recorder-limit{font-size:13px;margin-top:8px}.voice-recorder-limit .warning{color:#ffd54f}.voice-recorder-limit .ok{color:#81c784}.voice-recorder-limit .max{color:#ff8a65}.voice-recorder-progress{position:relative;height:6px;background:rgba(255,255,255,.1);border-radius:3px;margin-bottom:20px;overflow:visible}.voice-recorder-progress-bar{height:100%;background:linear-gradient(90deg,#FFD700,#FF6B6B);border-radius:3px;transition:width .3s ease}.voice-recorder-progress-mark{position:absolute;top:-20px;transform:translate(-50%);font-size:10px;color:#ffffff80}.voice-recorder-progress-mark:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:1px;height:12px;background:rgba(255,255,255,.3)}.voice-recorder-preview{margin-bottom:16px;padding:12px;background:rgba(255,255,255,.05);border-radius:12px}.voice-recorder-actions{display:flex;flex-direction:column;gap:10px}.voice-recorder-btn{width:100%;padding:14px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.voice-recorder-btn.start{background:linear-gradient(135deg,#D32F2F,#8B0000);color:#fff}.voice-recorder-btn.start:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d32f2f66}.voice-recorder-btn.stop{background:#FF5722;color:#fff}.voice-recorder-btn.stop:disabled{background:rgba(255,87,34,.5);cursor:not-allowed}.voice-recorder-btn.reset{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}.voice-recorder-btn.confirm{background:linear-gradient(135deg,#FFD700,#FFA000);color:#8b0000}.voice-recorder-btn.confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.voice-recorder-btn.confirm:disabled{opacity:.6;cursor:not-allowed}.voice-clone-card.active{background:linear-gradient(135deg,rgba(76,175,80,.2),rgba(56,142,60,.15));border-color:#81c784}.voice-clone-card.active .voice-clone-title{color:#81c784}.voice-cloned-item{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:2px solid transparent;border-radius:12px;padding:14px;cursor:pointer;transition:all .2s}.voice-cloned-item:hover{background:rgba(255,255,255,.12)}.voice-cloned-item.selected{background:rgba(211,47,47,.3);border-color:gold}.voice-cloned-icon{font-size:28px}.voice-cloned-info{flex:1}.voice-cloned-name{font-size:14px;font-weight:600;color:#fff}.voice-cloned-date{font-size:11px;color:#ffffff80;margin-top:2px}.voice-cloned-check{width:24px;height:24px;background:#FFD700;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#8b0000;font-weight:700;font-size:14px}.voice-cloned-empty{text-align:center;padding:20px;color:#fff6;font-size:13px}.voice-option-card{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:2px solid transparent;border-radius:12px;padding:14px;cursor:pointer;transition:all .2s;margin-bottom:10px}.voice-option-card:last-child{margin-bottom:0}.voice-option-card:hover{background:rgba(255,255,255,.12)}.voice-option-card.selected{background:rgba(211,47,47,.3);border-color:gold}.voice-option-icon{font-size:24px}.voice-option-info{flex:1}.voice-option-title{font-size:14px;font-weight:600;color:#fff}.voice-option-desc{font-size:11px;color:#fff9;margin-top:2px}.voice-option-badge{font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px}.voice-option-badge.free{background:rgba(76,175,80,.3);color:#81c784}.voice-option-badge.pro{background:linear-gradient(135deg,#FFD700,#FFA000);color:#8b0000}.festival-text-page{min-height:100vh;background:var(--cny-bg-cream);padding-bottom:40px}.text-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.08)}.text-back-btn{width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);color:var(--cny-gray-900);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.text-back-btn:hover{background:rgba(0,0,0,.08)}.text-title{font-size:18px;font-weight:600;color:var(--cny-gray-900);margin:0}.text-header-placeholder{width:36px}.text-content{padding:20px}.text-subtitle{text-align:center;color:var(--cny-gray-600);font-size:14px;margin-bottom:24px}.text-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--cny-gray-900);gap:20px}.text-error button{padding:12px 24px;background:linear-gradient(135deg,#D32F2F,#FF6B6B);border:none;border-radius:8px;color:#fff;font-size:14px;cursor:pointer}.text-form{display:flex;flex-direction:column;gap:20px}.text-field{display:flex;flex-direction:column;gap:8px}.text-field-label{font-size:14px;font-weight:500;color:var(--cny-gray-900)}.text-field-label .required{color:var(--cny-red-500);margin-left:4px}.text-field-options{display:flex;flex-wrap:wrap;gap:8px}.text-option-btn{padding:8px 16px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.12);border-radius:20px;color:var(--cny-gray-900);font-size:13px;cursor:pointer;transition:all .2s ease}.text-option-btn:hover{background:rgba(255,255,255,.9);border-color:#ffffff4d}.text-option-btn.active{background:linear-gradient(135deg,#D32F2F,#FF6B6B);border-color:gold;color:#fff;font-weight:500}.text-field-input,.text-field-textarea{padding:12px 16px;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.12);border-radius:12px;color:var(--cny-gray-900);font-size:14px;outline:none;transition:all .2s ease}.text-field-input:focus,.text-field-textarea:focus{border-color:var(--cny-red-400);background:white;box-shadow:0 0 0 3px #e539351a}.text-field-input::placeholder,.text-field-textarea::placeholder{color:var(--cny-gray-400)}.text-field-textarea{min-height:100px;resize:vertical;font-family:inherit}.text-field-counter{font-size:11px;color:var(--cny-gray-500);text-align:right}.text-action{margin-top:32px;display:flex;justify-content:center}.text-generate-btn{width:100%;max-width:320px;padding:16px 32px;background:linear-gradient(135deg,#D32F2F,#FF6B6B);border:2px solid #FFD700;border-radius:30px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #d32f2f66}.text-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #d32f2f80}.text-generate-btn:disabled{opacity:.7;cursor:not-allowed}.text-result{display:flex;flex-direction:column;gap:24px}.text-result-card{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:24px;position:relative;box-shadow:0 2px 12px #00000014}.text-result-card:before{content:"📜";position:absolute;top:-12px;left:20px;font-size:24px;background:var(--cny-bg-cream);padding:0 8px}.text-result-content{font-size:16px;line-height:1.8;color:var(--cny-gray-900);white-space:pre-wrap}.text-result-actions{display:flex;flex-direction:column;gap:12px}.text-action-btn{width:100%;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.text-action-btn.primary{background:linear-gradient(135deg,#D32F2F,#FF6B6B);color:#fff}.text-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #d32f2f66}.text-action-btn.secondary{background:rgba(255,215,0,.15);border:1px solid var(--cny-gold-500);color:var(--cny-orange-600)}.text-action-btn.secondary:hover{background:rgba(255,215,0,.25)}.text-action-btn.ghost{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.12);color:var(--cny-gray-700)}.text-action-btn.ghost:hover{background:rgba(255,255,255,.15);color:#fff}.festival-category-page{min-height:100vh;padding:16px 16px 100px}.category-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:20px}.back-btn{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:8px 16px;color:var(--cny-gray-700);font-size:14px;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:rgba(0,0,0,.08);border-color:#0000001f;transform:translateY(-1px)}.category-title{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);margin:0}.header-placeholder{width:80px}.category-error{text-align:center;padding:60px 20px}.category-error h2{color:#fff;font-size:24px;margin-bottom:20px}.category-error button{background:linear-gradient(135deg,#D32F2F,#FF6B6B);border:none;border-radius:20px;padding:12px 30px;color:#fff;font-size:15px;cursor:pointer;transition:all .2s ease}.category-error button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #d32f2f66}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.feature-card{background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.06) 100%);border:1px solid rgba(255,215,0,.2);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000004d;border-color:#ffd70080}.feature-card:active{transform:translateY(-2px)}.feature-preview{width:100%;aspect-ratio:1;background:linear-gradient(135deg,rgba(211,47,47,.3) 0%,rgba(255,152,0,.2) 100%);display:flex;align-items:center;justify-content:center}.feature-icon-large{font-size:48px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.feature-info{padding:12px;text-align:center}.feature-name{font-size:15px;font-weight:700;color:#000;margin:0 0 4px}.feature-desc{font-size:12px;color:#333;margin:0 0 8px;line-height:1.3}.feature-quota{display:inline-block;font-size:11px;padding:4px 8px;border-radius:10px;background:rgba(255,215,0,.2);color:gold}.feature-quota.free{background:rgba(76,175,80,.2);color:#81c784}.package-tip{background:linear-gradient(135deg,rgba(255,215,0,.2) 0%,rgba(255,152,0,.2) 100%);border:1px solid rgba(255,215,0,.4);border-radius:16px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.package-tip span{color:#fff;font-size:14px;font-weight:500}.package-tip button{background:linear-gradient(135deg,#FFD700,#FFA000);border:none;border-radius:20px;padding:10px 20px;color:#000;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.package-tip button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ffd70066}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:0 16px 32px;margin-bottom:32px;position:relative;margin-top:-76px;z-index:2}.category-card{border-radius:20px;padding:24px 16px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;position:relative;overflow:hidden}.category-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 50%);pointer-events:none}.category-card:hover{transform:translateY(-6px);box-shadow:0 8px 30px #00000059}.category-card:active{transform:translateY(-3px)}.category-icon{font-size:48px;margin-bottom:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.category-name{font-size:18px;font-weight:800;color:#fff;margin:0 0 6px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.category-desc{font-size:13px;color:#ffffffe6;margin:0;line-height:1.3}.category-card-v2{position:relative;height:220px;overflow:hidden;border-radius:20px;background:#FFFFFF;border:none;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;transition:all .3s cubic-bezier(.25,.8,.25,1);cursor:pointer}.category-card-v2:hover{transform:translateY(-8px);box-shadow:0 12px 24px #0000001f,0 4px 8px #0000000f}.category-card-v2:before,.category-card-v2:after{display:none}.category-preview-bg{position:absolute;top:0;left:0;right:0;height:70%;background-size:cover;background-position:center;transition:transform .3s ease}.category-card-v2:hover .category-preview-bg{transform:scale(1.05)}.category-overlay{display:none}.category-content{position:absolute;bottom:0;left:0;right:0;height:30%;padding:12px 14px;display:flex;flex-direction:column;justify-content:center;z-index:2;background:linear-gradient(135deg,#D32F2F 0%,#E53935 100%)!important;border-radius:0 0 20px 20px}.category-card-v2 .category-name{font-size:16px;font-weight:700;margin:0 0 4px;color:#fff;text-shadow:none}.category-card-v2 .category-desc{font-size:11px;color:#fffffff2;margin:0;text-shadow:none}.package-banner{margin:0 20px 40px;background:linear-gradient(135deg,rgba(255,215,0,.25) 0%,rgba(255,152,0,.2) 100%);border:2px solid rgba(255,215,0,.5);border-radius:20px;padding:20px 24px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.package-banner:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,215,0,.1) 50%,transparent 70%);animation:packageShine 3s ease-in-out infinite}@keyframes packageShine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.package-banner:hover{transform:translateY(-3px);box-shadow:0 8px 30px #ffd7004d;border-color:gold}.package-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.package-icon{font-size:40px;flex-shrink:0}.package-info{flex:1}.package-title{font-size:18px;font-weight:800;color:gold;margin-bottom:4px}.package-desc{font-size:12px;color:#fffc}.package-arrow{font-size:24px;color:gold;flex-shrink:0}.feature-card-v2{position:relative;height:220px;border:2px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.feature-preview-bg{position:absolute;top:0;left:0;right:0;height:70%;background-size:cover;background-position:center;transition:transform .3s ease}.feature-card-v2:hover .feature-preview-bg{transform:scale(1.05)}.feature-info-v2{position:absolute;bottom:0;left:0;right:0;height:30%;padding:10px 12px;background:linear-gradient(135deg,rgba(211,47,47,.95) 0%,rgba(255,107,107,.95) 100%);display:flex;flex-direction:column;justify-content:center}.feature-info-v2 .feature-name{font-size:15px;font-weight:700;margin:0 0 3px;color:#000}.feature-info-v2 .feature-desc{font-size:12px;margin:0 0 4px;color:#333}.feature-info-v2 .feature-quota{font-size:10px;padding:2px 6px}.home-btn{background:rgba(255,215,0,.2);border:1px solid rgba(255,215,0,.4);border-radius:10px;padding:8px 12px;font-size:20px;cursor:pointer;transition:all .3s ease;color:#fff}.home-btn:hover{background:rgba(255,215,0,.3);border-color:#ffd70099;transform:scale(1.05)}.home-btn:active{transform:scale(.95)}.fortune-page{min-height:100vh;padding:20px}.fortune-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.fortune-title{font-size:24px;font-weight:700;color:#fff;margin:0}.fortune-content{max-width:600px;margin:0 auto}.fortune-ready{text-align:center;padding:40px 20px}.fortune-card-stack{position:relative;width:200px;height:280px;margin:0 auto 40px}.card-back{position:absolute;width:180px;height:260px;background:linear-gradient(135deg,#D32F2F,#FFD700);border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:80px;box-shadow:0 10px 30px #00000080;transition:all .3s ease}.card-1{left:10px;top:0;transform:rotate(-5deg);z-index:1}.card-2{left:50%;transform:translate(-50%);top:10px;z-index:2}.card-3{right:10px;top:0;transform:rotate(5deg);z-index:1}.fortune-card-stack:hover .card-1{transform:rotate(-8deg) translateY(-10px)}.fortune-card-stack:hover .card-2{transform:translate(-50%) translateY(-15px)}.fortune-card-stack:hover .card-3{transform:rotate(8deg) translateY(-10px)}.fortune-prompt{font-size:28px;font-weight:700;color:#fff;margin:0 0 10px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.fortune-desc{font-size:16px;color:#fffc;margin:0 0 40px}.fortune-draw-btn{display:inline-flex;align-items:center;gap:10px;padding:18px 50px;font-size:20px;font-weight:700;background:linear-gradient(135deg,#FFD700,#FFA000);color:#000;border:none;border-radius:50px;cursor:pointer;box-shadow:0 8px 25px #ffd70066;transition:all .3s ease}.fortune-draw-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px #ffd70099}.fortune-draw-btn:active{transform:translateY(-1px)}.btn-icon{font-size:24px;animation:sparkle 1.5s infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}}.fortune-tips{margin-top:30px;padding:12px 20px;background:rgba(255,215,0,.1);border-radius:12px;border:1px solid rgba(255,215,0,.3)}.fortune-tips p{margin:0;font-size:14px;color:gold}.fortune-drawing{text-align:center;padding:100px 20px}.card-flip-animation{font-size:120px;animation:flip 1s infinite;display:inline-block}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.drawing-text{font-size:20px;color:#fff;margin-top:30px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fortune-error{text-align:center;padding:60px 20px}.error-icon{font-size:80px;margin-bottom:20px}.fortune-error h3{font-size:24px;color:#fff;margin:0 0 10px}.fortune-error p{font-size:16px;color:#ffffffb3;margin:0 0 30px}.retry-btn{padding:12px 40px;font-size:16px;background:linear-gradient(135deg,#D32F2F,#FF6B6B);color:#fff;border:none;border-radius:25px;cursor:pointer;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d32f2f66}.header-lanterns{display:none}@keyframes lanternSwing{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.hero-mascot{display:none}.gift-icon-decoration{width:56px;height:56px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.08));margin-right:12px}.festival-lab-modern{min-height:100vh;position:relative;overflow:hidden;font-family:Inter,PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lab-background-modern{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#C62828 0%,#E53935 25%,#FF6B3C 55%,#FF9A56 80%,#FFC947 100%);z-index:0}.lab-grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:50px 50px;opacity:.3;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{background-position:0 0}to{background-position:50px 50px}}.lab-glow-effect{position:absolute;top:-50%;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);pointer-events:none;animation:glowPulse 8s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.5;transform:translate(-50%) scale(1)}50%{opacity:.8;transform:translate(-50%) scale(1.2)}}.lab-top-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lab-back-button{background:rgba(255,255,255,.15);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 18px;color:#424242;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #0000001a}.lab-back-button:hover{background:rgba(255,255,255,.25);transform:translate(-4px)}.lab-back-button:active{transform:translate(-2px) scale(.98)}.lab-back-button svg{color:#424242}.lab-content-container{position:relative;z-index:5;background:rgba(255,255,255,.98);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-radius:32px;padding:32px 20px;max-width:500px;margin:70px 0 16px;width:100%;box-shadow:0 20px 60px #00000026,0 8px 24px #0000001a,inset 0 1px #fff;min-height:calc(100vh - 86px);display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-steps-modern{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:40px;flex-wrap:wrap;width:100%}.step-modern{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;background:#f5f5f5;font-size:13px;font-weight:600;color:#999;transition:all .3s ease;white-space:nowrap}.step-number-modern{width:24px;height:24px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.step-text-modern{font-size:13px}.step-modern.active{background:linear-gradient(135deg,#D32F2F,#E64A19);color:#fff}.step-modern.active .step-number-modern{background:rgba(255,255,255,.3);color:#d32f2f}.step-modern.completed{background:#e8f5e9;color:#4caf50}.step-modern.completed .step-number-modern{background:#4caf50;color:#fff}.step-divider-modern{width:24px;height:2px;background:#e0e0e0;border-radius:1px;flex-shrink:0}.step-divider-modern.completed{background:linear-gradient(90deg,#4caf50,#D32F2F)}.title-section-modern{text-align:center;margin-bottom:40px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-title-modern{font-size:28px;font-weight:900;background:linear-gradient(135deg,#1a1a1a,#4a4a4a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px;letter-spacing:-.5px;text-align:center}.page-subtitle-modern{font-size:15px;color:#666;font-weight:500;line-height:1.6;padding:0 20px;text-align:center;max-width:400px}.gender-selection-modern{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;width:100%;max-width:460px;margin-left:auto;margin-right:auto}.gender-card-modern{background:linear-gradient(145deg,#fafafa,#f5f5f5);border:2px solid #e0e0e0;border-radius:24px;padding:32px 20px;cursor:pointer;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.gender-card-modern:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px #d32f2f26,0 6px 16px #d32f2f1a;border-color:#d32f2f}.gender-card-modern.selected{background:linear-gradient(145deg,rgba(211,47,47,.1),rgba(230,74,25,.1));border:3px solid transparent;background-image:linear-gradient(white,white),linear-gradient(135deg,#D32F2F,#E64A19);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 16px 48px #d32f2f40,0 0 0 4px #d32f2f1a;transform:translateY(-8px) scale(1.05);animation:selectPulse 2s ease-in-out infinite}@keyframes selectPulse{0%,to{box-shadow:0 16px 48px #d32f2f40,0 0 0 4px #d32f2f1a}50%{box-shadow:0 16px 48px #d32f2f59,0 0 0 8px #d32f2f26}}.gender-icon-modern{width:100px;height:100px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);position:relative;transition:all .4s ease;color:#999}.gender-card-modern:hover .gender-icon-modern{transform:scale(1.1) rotate(5deg)}.gender-card-modern.selected .gender-icon-modern{background:linear-gradient(135deg,#D32F2F,#E64A19);transform:scale(1.15);box-shadow:0 8px 24px #d32f2f66;color:#fff}.gender-icon-modern svg{width:60px;height:60px}.gender-label-modern{font-size:18px;font-weight:700;color:#333;text-align:center;transition:all .3s ease}.gender-card-modern.selected .gender-label-modern{background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.checkmark-modern{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#D32F2F,#E64A19);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.gender-card-modern.selected .checkmark-modern{opacity:1;transform:scale(1)}.checkmark-modern:after{content:"✓";color:#fff;font-size:16px;font-weight:900}.preview-section-modern{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:24px}.preview-image-container{width:100%;max-width:300px;aspect-ratio:3/4;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 12px 32px #0000001f,0 6px 16px #00000014;animation:fadeInScale .5s cubic-bezier(.25,.8,.25,1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.preview-image{width:100%;height:100%;object-fit:cover}.preview-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:600}.preview-info{text-align:center;padding:0 24px}.preview-title{font-size:20px;font-weight:800;color:#1a1a1a;margin-bottom:8px}.preview-desc{font-size:14px;color:#666;line-height:1.6;font-weight:500}.preview-desc strong{background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.generate-button-modern{width:100%;max-width:360px;padding:18px 32px;border:none;border-radius:16px;font-size:18px;font-weight:800;cursor:pointer;position:relative;overflow:hidden;background:linear-gradient(135deg,#D32F2F 0%,#E64A19 100%);color:#fff;box-shadow:0 8px 24px #d32f2f4d,0 4px 12px #d32f2f33;transition:all .4s cubic-bezier(.25,.8,.25,1);display:flex;align-items:center;justify-content:center;gap:12px;letter-spacing:.5px}.button-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.1));border-radius:16px;opacity:0;transition:opacity .3s ease}.generate-button-modern:hover .button-glow{opacity:1;animation:glowMove 2s linear infinite}@keyframes glowMove{0%{transform:translate(-100%) rotate(0)}to{transform:translate(100%) rotate(360deg)}}.generate-button-modern:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 40px #d32f2f66,0 8px 20px #d32f2f4d,0 0 0 4px #d32f2f1a}.generate-button-modern:active{transform:translateY(-2px) scale(1);transition-duration:.1s}.button-icon{font-size:24px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.8;transform:scale(1.2) rotate(180deg)}}.button-text{font-size:18px;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.2)}.reupload-button-modern{background:transparent;border:none;color:#999;font-size:14px;font-weight:600;cursor:pointer;padding:12px 24px;transition:all .3s ease;text-decoration:underline;text-underline-offset:4px}.reupload-button-modern:hover{color:#d32f2f;text-decoration-thickness:2px}.generating-overlay-modern{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(250,250,250,.95));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;z-index:5}.progress-ring-modern{position:relative;display:flex;align-items:center;justify-content:center}.progress-ring-text{position:absolute;font-size:28px;font-weight:900;background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 8px rgba(211,47,47,.3)}@media (max-width: 768px){.lab-content-container{padding:32px 20px;border-radius:24px}.page-title-modern{font-size:24px}.page-subtitle-modern{font-size:14px;padding:0 12px}.gender-selection-modern{gap:12px}.gender-card-modern{padding:24px 16px}.gender-icon-modern{width:80px;height:80px}.gender-icon-modern svg{width:48px;height:48px}.gender-label-modern{font-size:16px}.step-modern{padding:6px 12px;font-size:12px}.step-number-modern{width:20px;height:20px;font-size:10px}.step-text-modern{font-size:12px}.step-divider-modern{width:16px}.preview-image-container{max-width:250px}.preview-title{font-size:18px}.preview-desc{font-size:13px}.generate-button-modern{font-size:16px;padding:16px 28px}.button-text{font-size:16px}.button-icon{font-size:20px}}@media (max-width: 480px){.lab-content-container{padding:20px 16px!important;border-radius:24px}.progress-steps-modern{display:none!important}.gender-selection-modern{grid-template-columns:1fr;gap:16px;margin-bottom:20px!important}.gender-card-modern{padding:24px 16px!important}.page-title-modern{font-size:22px!important;margin-bottom:8px!important}.page-subtitle-modern{font-size:13px!important}}.multi-preview-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:24px;width:100%}.preview-image-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:3 / 4;box-shadow:0 4px 12px #0000001a}.preview-image-small{width:100%;height:100%;object-fit:cover}.preview-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fff;padding:8px;font-size:13px;font-weight:600;text-align:center}@media (max-width: 480px){.multi-preview-container{gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.preview-label{font-size:12px;padding:6px}}.zj-uploader{width:100%;min-height:320px;border:2px dashed #d0d0d0;border-radius:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(145deg,#fafafa,#f5f5f5);position:relative;overflow:hidden;margin:20px auto;max-width:460px}.zj-uploader:hover{border-color:#d32f2f;background:linear-gradient(145deg,#ffffff,#fafafa);transform:translateY(-2px);box-shadow:0 12px 32px #d32f2f14,0 6px 16px #d32f2f0a}.zj-uploader-dragging{border-color:#d32f2f;background:linear-gradient(145deg,rgba(211,47,47,.05),rgba(230,74,25,.05));box-shadow:0 16px 48px #d32f2f26,inset 0 0 0 2px #d32f2f33}.zj-uploader-processing{pointer-events:none;opacity:.7}.zj-uploader-content-modern{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 24px;text-align:center}.upload-icon-modern{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);display:flex;align-items:center;justify-content:center;color:#999;transition:all .3s ease;position:relative}.zj-uploader:hover .upload-icon-modern{background:linear-gradient(135deg,#D32F2F,#E64A19);color:#fff;transform:scale(1.1);box-shadow:0 8px 24px #d32f2f4d}.upload-icon-modern svg{width:40px;height:40px}.upload-text-modern{font-size:18px;font-weight:700;color:#1a1a1a;letter-spacing:-.3px;margin:0}.upload-text-modern.primary{font-size:18px;color:#1a1a1a}.upload-text-modern.processing{font-size:16px;color:#666}.upload-hint-modern{font-size:14px;color:#666;font-weight:500;line-height:1.5}.upload-spinner-modern{width:48px;height:48px;border:4px solid #f0f0f0;border-top-color:#d32f2f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.zj-uploader-dragging .upload-icon-modern{background:linear-gradient(135deg,#D32F2F,#E64A19);color:#fff;transform:scale(1.15);animation:iconPulse .6s ease-in-out}@keyframes iconPulse{0%,to{transform:scale(1.15)}50%{transform:scale(1.25)}}.zj-uploader-dragging .upload-text-modern{color:#d32f2f;font-weight:800}@media (max-width: 768px){.zj-uploader{min-height:280px;border-radius:20px}.zj-uploader-content-modern{gap:16px;padding:32px 20px}.upload-icon-modern{width:64px;height:64px}.upload-icon-modern svg{width:32px;height:32px}.upload-text-modern.primary{font-size:16px}.upload-hint-modern{font-size:13px}}@media (max-width: 480px){.zj-uploader{min-height:240px}.upload-icon-modern{width:56px;height:56px}.upload-icon-modern svg{width:28px;height:28px}.preview-image-container{max-width:220px}.generate-button-modern{font-size:15px;padding:14px 24px}}.zj-narrator{width:100%;margin-top:32px}.zj-narrator-container{width:100%;max-width:460px;margin:0 auto;padding:24px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(250,250,250,.95));border-radius:20px;box-shadow:0 8px 24px #00000014,0 4px 12px #0000000a}.zj-narrator-section{margin-bottom:24px}.zj-narrator-title{font-size:18px;font-weight:800;background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;text-align:center}.zj-narrator-divider{width:60px;height:3px;background:linear-gradient(90deg,#D32F2F,#E64A19);border-radius:2px;margin:0 auto 20px;box-shadow:0 2px 8px #d32f2f4d}.zj-narrator-dna-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.zj-narrator-dna-bubble{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border:2px solid #4caf50;border-radius:16px;padding:12px 20px;font-size:14px;font-weight:600;color:#2e7d32;animation:bubbleIn .6s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 4px 12px #4caf5026}@keyframes bubbleIn{0%{opacity:0;transform:scale(0) translateY(20px)}60%{transform:scale(1.1) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.zj-narrator-narrative-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.zj-narrator-narrative-item{font-size:15px;color:#666;font-weight:500;padding:10px 16px;background:rgba(211,47,47,.05);border-left:3px solid #D32F2F;border-radius:8px;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.zj-narrator-progress-wrapper{margin-top:24px}.zj-narrator-progress-bar{width:100%;height:12px;background:#f0f0f0;border-radius:20px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #00000014}.zj-narrator-progress-fill{height:100%;background:linear-gradient(90deg,#D32F2F,#E64A19,#FF9A56);background-size:200% 100%;border-radius:20px;transition:width .5s cubic-bezier(.25,.8,.25,1);box-shadow:0 0 20px #d32f2f80;animation:progressShine 2s linear infinite;position:relative}@keyframes progressShine{0%{background-position:0% 50%}to{background-position:100% 50%}}.zj-narrator-progress-fill:after{content:"";position:absolute;top:0;right:0;width:40px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:progressGlow 1.5s ease-in-out infinite}@keyframes progressGlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.zj-narrator-progress-text{text-align:center;margin-top:12px;font-size:16px;font-weight:700;background:linear-gradient(135deg,#D32F2F,#E64A19);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.zj-narrator-container{padding:20px 16px}.zj-narrator-title{font-size:16px}.zj-narrator-dna-bubble{font-size:13px;padding:10px 16px}.zj-narrator-narrative-item{font-size:14px;padding:8px 12px}.zj-narrator-progress-bar{height:10px}.zj-narrator-progress-text{font-size:14px}}:root{--cny-red-50: #FFF5F5;--cny-red-100: #FFE5E5;--cny-red-200: #FFCDD2;--cny-red-300: #FF8A80;--cny-red-400: #FF5252;--cny-red-500: #E53935;--cny-red-600: #D32F2F;--cny-red-700: #C62828;--cny-red-800: #B71C1C;--cny-red-900: #8B0000;--cny-orange-50: #FFF3E0;--cny-orange-100: #FFE0B2;--cny-orange-200: #FFCC80;--cny-orange-300: #FFB74D;--cny-orange-400: #FFA726;--cny-orange-500: #FF6B35;--cny-orange-600: #F4511E;--cny-orange-700: #E64A19;--cny-orange-800: #D84315;--cny-orange-900: #BF360C;--cny-gold-50: #FFFDE7;--cny-gold-100: #FFF9C4;--cny-gold-200: #FFF59D;--cny-gold-300: #FFF176;--cny-gold-400: #FFEB3B;--cny-gold-500: #FFD700;--cny-gold-600: #FFC107;--cny-gold-700: #FFA000;--cny-gold-800: #FF8F00;--cny-gold-900: #FF6F00;--cny-gray-50: #FAFAFA;--cny-gray-100: #F5F5F5;--cny-gray-200: #EEEEEE;--cny-gray-300: #E0E0E0;--cny-gray-400: #BDBDBD;--cny-gray-500: #9E9E9E;--cny-gray-600: #757575;--cny-gray-700: #616161;--cny-gray-800: #424242;--cny-gray-900: #212121;--cny-bg-cream: #FDFBF7;--cny-bg-warm: #FFF8F0;--cny-bg-paper: #FFFEF9;--cny-bg-overlay: rgba(255, 255, 255, .85);--color-primary: var(--cny-red-500);--color-primary-hover: var(--cny-red-600);--color-secondary: var(--cny-orange-500);--color-accent: var(--cny-gold-500);--color-success: #4CAF50;--color-warning: var(--cny-orange-400);--color-error: var(--cny-red-700);--glass-ultra-light: rgba(255, 255, 255, .45);--glass-light: rgba(255, 255, 255, .6);--glass-medium: rgba(255, 255, 255, .75);--glass-heavy: rgba(255, 255, 255, .85);--glass-dark-light: rgba(0, 0, 0, .2);--glass-dark-medium: rgba(0, 0, 0, .4);--glass-dark-heavy: rgba(0, 0, 0, .6);--blur-subtle: 8px;--blur-normal: 16px;--blur-strong: 24px;--blur-ultra: 40px;--glass-border-light: rgba(255, 255, 255, .3);--glass-border-medium: rgba(255, 255, 255, .4);--glass-border-dark: rgba(255, 255, 255, .1);--glass-border-colored: rgba(229, 57, 53, .15);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--spacing-card-inner: var(--space-6);--spacing-card-gap: var(--space-3);--spacing-section: var(--space-8);--spacing-page: var(--space-4);--radius-xs: .375rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--shadow-xs: 0 1px 3px rgba(229, 57, 53, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 2px 8px rgba(229, 57, 53, .06), 0 2px 4px rgba(0, 0, 0, .03);--shadow-md: 0 4px 16px rgba(229, 57, 53, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(229, 57, 53, .12), 0 4px 12px rgba(0, 0, 0, .06);--shadow-xl: 0 12px 40px rgba(229, 57, 53, .16), 0 6px 16px rgba(0, 0, 0, .08);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--shadow-red-glow: 0 8px 32px rgba(229, 57, 53, .2);--shadow-gold-glow: 0 8px 32px rgba(255, 215, 0, .25);--shadow-orange-glow: 0 8px 32px rgba(255, 107, 53, .18);--font-display: "Songti SC", "Noto Serif SC", "STSong", "SimSun", serif;--font-body: "SF Pro Display", "SF Pro Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--text-xs: .625rem;--text-sm: .75rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--text-4xl: 2rem;--text-5xl: 2.5rem;--leading-tight: 1.2;--leading-normal: 1.6;--leading-relaxed: 1.8;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-smooth: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--gradient-primary: linear-gradient(135deg, var(--cny-red-500) 0%, var(--cny-orange-500) 100%);--gradient-gold: linear-gradient(135deg, var(--cny-gold-500) 0%, var(--cny-orange-400) 100%);--gradient-rose: linear-gradient(135deg, var(--cny-red-100) 0%, var(--cny-orange-100) 100%)}.glass-card{background:var(--glass-light);backdrop-filter:blur(var(--blur-normal));-webkit-backdrop-filter:blur(var(--blur-normal));border:1px solid var(--glass-border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.glass-card-hover{transition:all var(--duration-normal) var(--ease-smooth)}.glass-card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--glass-border-medium)}.text-gradient-cny{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes breathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 30s linear infinite}.animate-marquee:hover{animation-play-state:paused}.festival-home-glass{min-height:100vh;background:var(--cny-bg-cream)!important;position:relative;overflow-x:hidden;font-family:var(--font-body);padding-bottom:100px;padding-top:0!important;margin-top:0!important}.bg-aura{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.bg-aura:before{content:"";position:absolute;top:-10%;left:-10%;width:80%;height:40%;background:radial-gradient(ellipse,rgba(229,57,53,.08) 0%,transparent 70%);border-radius:50%;filter:blur(60px);animation:breathe-glow-1 8s ease-in-out infinite}.bg-aura:after{content:"";position:absolute;top:10%;right:-20%;width:60%;height:50%;background:radial-gradient(ellipse,rgba(255,107,53,.06) 0%,transparent 70%);border-radius:50%;filter:blur(60px);animation:breathe-glow-2 10s ease-in-out infinite}.content-wrapper{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:0 8px}.header-section{padding:32px 4px!important;margin-bottom:0!important;position:relative;z-index:2}.date-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--glass-light);backdrop-filter:blur(var(--blur-normal));-webkit-backdrop-filter:blur(var(--blur-normal));border:1px solid var(--glass-border-light);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--cny-gray-600);margin-bottom:12px}.main-title{font-size:18px;font-weight:300;color:#9ca3af;margin-bottom:8px;letter-spacing:.02em;font-family:var(--font-body)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-title{font-family:var(--font-display);font-size:40px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em;margin-bottom:12px;line-height:1.05}.subtitle{font-size:13px;font-weight:300;color:var(--cny-gray-500);opacity:.9;letter-spacing:.15em;margin-bottom:0!important;padding-bottom:0!important;line-height:1.8}.category-section{margin-bottom:32px!important;margin-top:48px!important;padding-top:0!important;position:relative;z-index:1;clear:both}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.glass-card{position:relative;background:var(--glass-light);backdrop-filter:blur(var(--blur-normal));-webkit-backdrop-filter:blur(var(--blur-normal));border:1px solid var(--glass-border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:0;cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);overflow:hidden;height:200px}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--glass-border-medium)}.glass-card:active{transform:translateY(0)}.card-large{grid-column:span 2;height:220px}.card-wide{grid-column:span 2;height:160px}.card-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.3;z-index:0}.card-icon-wrapper{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px}.icon-box{width:40px;height:40px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-smooth)}.card-large .icon-box{width:48px;height:48px}.glass-card:hover .icon-box{transform:scale(1.1)}.icon{font-size:20px}.card-large .icon{font-size:24px}.hot-badge{display:inline-block;padding:4px 10px;background:var(--cny-red-500);color:#fff;font-size:11px;font-weight:var(--font-bold);border-radius:var(--radius-lg);box-shadow:var(--shadow-red-glow)}.card-content{position:relative;z-index:1}.card-large .card-content{flex:1;display:flex;flex-direction:column;justify-content:flex-end}.card-wide .card-content{flex:1;margin-left:16px}.card-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--cny-gray-900);margin-bottom:8px;letter-spacing:-.02em}.card-large .card-title{font-size:24px}.card-desc{font-size:11px;font-weight:400;color:var(--cny-gray-500);line-height:1.5;letter-spacing:.01em}.action-link{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin-top:8px}.action-text{font-size:10px;font-weight:700;color:var(--cny-gray-900);letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid rgba(17,24,39,.2);padding-bottom:2px;transition:all var(--duration-normal) var(--ease-smooth);font-family:var(--font-body)}.action-arrow{color:var(--cny-gray-400);font-size:14px;transition:all var(--duration-normal) var(--ease-smooth)}.glass-card:hover .action-text{color:var(--cny-red-500);border-color:var(--cny-red-500)}.glass-card:hover .action-arrow{color:var(--cny-red-500);transform:translate(4px)}.card-large .card-desc{font-size:14px}.card-arrow{font-size:20px;color:var(--cny-gray-400);transition:all var(--duration-fast) var(--ease-smooth)}.glass-card:hover .card-arrow{color:var(--cny-red-500);transform:translate(4px)}.showcase-section{margin-bottom:24px;position:relative}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:18px;font-weight:var(--font-extrabold);color:var(--cny-gray-900);letter-spacing:var(--tracking-tight);margin:0}.live-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;background:rgba(255,152,0,.1);border-radius:var(--radius-full)}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#4CAF50;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.live-badge span{font-size:10px;font-weight:var(--font-bold);color:var(--cny-orange-600)}.showcase-scroll{display:flex;gap:12px;overflow:hidden;padding-bottom:8px;position:relative}.showcase-scroll-inner{display:flex;gap:12px;animation:marquee 30s linear infinite}.showcase-scroll:hover .showcase-scroll-inner{animation-play-state:paused}.showcase-item{flex-shrink:0;width:112px;height:144px;border-radius:var(--radius-xl);border:1px solid var(--glass-border-light);box-shadow:var(--shadow-xs);overflow:hidden;position:relative;background:var(--cny-gray-100);transition:all var(--duration-normal) var(--ease-smooth)}.showcase-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.showcase-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:32px;background:linear-gradient(to right,var(--cny-bg-cream),transparent);z-index:2;pointer-events:none}.showcase-section:after{content:"";position:absolute;right:0;top:0;bottom:0;width:32px;background:linear-gradient(to left,var(--cny-bg-cream),transparent);z-index:2;pointer-events:none}.showcase-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;background-color:var(--cny-gray-100)}.showcase-label{position:absolute;bottom:8px;left:8px;right:8px;padding:4px 8px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-bold);color:#fff;text-align:center}.showcase-gif-badge{position:absolute;top:6px;right:6px;padding:2px 6px;background:rgba(229,57,53,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px;font-size:9px;font-weight:800;color:#fff;letter-spacing:.5px;z-index:2}.vip-section{margin-bottom:32px}.vip-banner{position:relative;background:var(--gradient-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-red-glow);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);overflow:hidden;padding:20px}.vip-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-2xl);padding:2px;background:linear-gradient(90deg,var(--cny-gold-400) 0%,var(--cny-orange-400) 25%,var(--cny-red-400) 50%,var(--cny-orange-400) 75%,var(--cny-gold-400) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:border-beam 3s linear infinite;opacity:.8}.vip-banner:hover{transform:translateY(-2px);box-shadow:0 12px 40px #e5393540}.vip-banner:active{transform:translateY(0)}.vip-glow{position:absolute;top:0;right:0;width:128px;height:128px;background:var(--cny-gold-400);border-radius:50%;filter:blur(60px);opacity:.3;margin:-40px -40px 0 0}.vip-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.vip-info{flex:1}.vip-title{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:18px;font-weight:var(--font-bold);color:#fff;margin-bottom:4px}.vip-title span:first-child{font-size:20px;color:var(--cny-gold-300)}.vip-desc{font-size:13px;color:var(--cny-red-100);opacity:.9;margin:0}.vip-price{text-align:center;padding:8px 12px;background:rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg)}.old-price{font-size:12px;color:var(--cny-red-100);text-decoration:line-through;margin-bottom:2px}.new-price{font-size:22px;font-weight:var(--font-black);color:var(--cny-red-700)}.nav-dock{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:50;width:calc(100% - 16px);max-width:464px}.dock-container{background:var(--glass-heavy);backdrop-filter:blur(var(--blur-ultra));-webkit-backdrop-filter:blur(var(--blur-ultra));border:1px solid var(--glass-border-medium);box-shadow:var(--shadow-xl);border-radius:var(--radius-full);padding:12px 24px;display:flex;align-items:center;justify-content:space-around}.dock-btn{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px;background:none;border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);color:var(--cny-gray-400)}.dock-btn.active{color:var(--cny-red-500);transform:scale(1.1)}.dock-btn:hover:not(.active){color:var(--cny-gray-600)}.dock-icon{font-size:24px}.dock-label{font-size:10px;font-weight:var(--font-medium)}@media (min-width: 768px){.content-wrapper{max-width:560px}.nav-dock{max-width:480px}}@keyframes breathe-glow-1{0%,to{transform:scale(1) translateY(0);opacity:.08}50%{transform:scale(1.05) translateY(-10px);opacity:.12}}@keyframes breathe-glow-2{0%,to{transform:scale(1) translate(0);opacity:.06}50%{transform:scale(1.08) translate(10px);opacity:.1}}@keyframes border-beam{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-33.333%)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@tailwind base;@tailwind components;@tailwind utilities;body{background-color:#fff;color:#333;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@keyframes white-glow{0%{box-shadow:0 0 20px #ffffff80}50%{box-shadow:0 0 60px 20px #fff!important}to{box-shadow:0 0 20px #ffffff80}}.white-glow-active{animation:white-glow 1.5s infinite ease-in-out;border:5px solid white!important;z-index:10;box-shadow:0 0 60px 20px #fff!important}:root{--p4-bg-canvas: #0a0a0a;--p4-bg-surface: #101010;--p4-bg-elevated: #151515;--p4-bg-input: #0d0d0d;--p4-border-subtle: rgba(255, 255, 255, .08);--p4-border-strong: rgba(255, 255, 255, .14);--p4-text-primary: rgba(255, 255, 255, .92);--p4-text-secondary: rgba(255, 255, 255, .72);--p4-text-muted: rgba(255, 255, 255, .54);--p4-accent: rgba(255, 255, 255, .92);--p4-accent-2: rgba(255, 255, 255, .72);--p4-danger: rgba(255, 255, 255, .86);--p4-warn: rgba(255, 255, 255, .7);--p4-focus: rgba(255, 255, 255, .24);--mono-fg: rgba(0, 0, 0, .82);--mono-fg-soft: rgba(0, 0, 0, .66);--mono-fg-muted: rgba(0, 0, 0, .48);--mono-ring: rgba(0, 0, 0, .18);--mono-bg-soft: rgba(0, 0, 0, .06);--mono-border: rgba(0, 0, 0, .14);--mono-border-subtle: rgba(0, 0, 0, .1);--mono-accent: rgba(64, 64, 64, .92);--mono-accent-strong: rgba(18, 18, 18, .92)}.p4-theme{color:var(--p4-text-primary);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;--mono-fg: rgba(255, 255, 255, .92);--mono-fg-soft: rgba(255, 255, 255, .72);--mono-fg-muted: rgba(255, 255, 255, .54);--mono-ring: rgba(255, 255, 255, .18);--mono-bg-soft: rgba(255, 255, 255, .06);--mono-border: rgba(255, 255, 255, .2);--mono-border-subtle: rgba(255, 255, 255, .12);--mono-accent: rgba(255, 255, 255, .78);--mono-accent-strong: rgba(255, 255, 255, .92)}.p4-theme *:focus-visible{outline:2px solid var(--p4-focus);outline-offset:2px}.p4-antd-popup{background:var(--p4-bg-elevated)!important}.p4-theme .ant-input,.p4-theme .ant-input-affix-wrapper,.p4-theme .ant-input-number,.p4-theme .ant-input-number-input,.p4-theme .ant-select-selector{background:#1a1a1a!important;border-color:#ffffff40!important;color:#fffffff2!important;box-shadow:none!important}.p4-theme .ant-select-selection-item{color:#fffffff2!important}.p4-theme .ant-select-arrow{color:#ffffffa6!important}.p4-theme .ant-input::placeholder,.p4-theme .ant-input-affix-wrapper input::placeholder,.p4-theme .ant-input-number-input::placeholder{color:var(--p4-text-muted)!important}.p4-theme .ant-input:focus,.p4-theme .ant-input-focused,.p4-theme .ant-input-affix-wrapper-focused,.p4-theme .ant-input-number:focus,.p4-theme .ant-input-number-focused,.p4-theme .ant-select-focused .ant-select-selector{border-color:#ffffff47!important;box-shadow:0 0 0 2px #ffffff24!important}.p4-theme .ant-select-dropdown,.p4-antd-popup .ant-select-dropdown{background:#1a1a1a!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 4px 12px #00000080!important}.p4-theme .ant-select-item{color:#000!important;padding:8px 12px!important}.p4-theme .ant-select-item-option-active:not(.ant-select-item-option-disabled){background:#e6f4ff!important;color:#000!important}.p4-theme .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:#1677ff!important;color:#fff!important;font-weight:600!important}.p4-theme .ant-select-item-option-disabled{color:#00000040!important}.p4-theme .ant-switch{background:rgba(255,255,255,.14)!important}.p4-theme .ant-switch-checked{background:rgba(255,255,255,.28)!important}.p4-theme .ant-switch-handle:before{background:rgba(255,255,255,.92)!important}.p4-theme .ant-slider-rail{background:rgba(255,255,255,.2)!important}.p4-theme .ant-slider-track{background:rgba(100,149,237,.7)!important}.p4-theme .ant-slider-handle:after{background:#ffffff!important;box-shadow:0 0 0 2px #6495ed80!important}.p4-theme .ant-slider-handle:hover:after{box-shadow:0 0 0 3px #6495ed99!important}.p4-btn{height:36px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.08) 100%);color:#fffffff2;font-size:13px;font-weight:650;letter-spacing:.2px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,box-shadow .12s ease,transform .12s ease,opacity .12s ease;box-shadow:0 1px #ffffff1f inset,0 10px 26px #0000008c;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.p4-btn:hover{background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.12) 100%);border-color:#fff6}.p4-btn:active{transform:translateY(1px);box-shadow:0 1px #ffffff1a inset,0 6px 18px #0000008c}.p4-btn--primary{border-color:#fff3;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.1) 100%)}.p4-btn--primary:hover{background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.12) 100%)}.p4-btn--subtle{border-color:var(--p4-border-subtle);background:rgba(255,255,255,.04);box-shadow:0 1px #ffffff1a inset,0 8px 20px #00000080}.p4-btn--disabled{opacity:.45;transform:none;box-shadow:none}.p4-btn--icon{display:inline-flex;align-items:center;gap:6px}.p4-btn--sm{height:32px;padding:0 12px;border-radius:9px;font-size:12px}:root{--mono-ui-fg: var(--mono-fg);--mono-ui-fg-soft: var(--mono-fg-soft);--mono-ui-fg-muted: var(--mono-fg-muted);--mono-ui-ring: var(--mono-ring);--mono-ui-bg-soft: var(--mono-bg-soft);--mono-ui-border: var(--mono-border);--mono-ui-border-subtle: var(--mono-border-subtle);--mono-ui-accent: var(--mono-accent);--mono-ui-accent-strong: var(--mono-accent-strong)}.ant-typography a,a{color:inherit}.ant-btn-primary{background:var(--mono-ui-accent-strong)!important;border-color:var(--mono-ui-accent-strong)!important;color:#ffffffeb!important;box-shadow:none!important}.p4-theme .ant-btn-primary{color:#000000db!important}.ant-btn-default,.ant-btn-dashed,.ant-btn{border-color:var(--mono-ui-border)!important}.ant-btn-default:not(:disabled),.ant-btn-dashed:not(:disabled),.ant-btn:not(:disabled){color:var(--mono-ui-fg)!important}.ant-btn-default:hover,.ant-btn-dashed:hover,.ant-btn:hover{border-color:var(--mono-ui-border)!important;color:var(--mono-ui-fg)!important}.ant-checkbox-checked .ant-checkbox-inner,.ant-radio-checked .ant-radio-inner{background-color:var(--mono-ui-accent-strong)!important;border-color:var(--mono-ui-accent-strong)!important}.ant-checkbox-checked .ant-checkbox-inner:after{border-color:#ffffffeb!important}.p4-theme .ant-checkbox-checked .ant-checkbox-inner:after{border-color:#000000db!important}.ant-tabs-ink-bar{background:var(--mono-ui-accent-strong)!important}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--mono-ui-accent-strong)!important}.ant-progress-bg{background:var(--mono-ui-accent-strong)!important}.ant-pagination-item-active{border-color:var(--mono-ui-accent-strong)!important}.ant-pagination-item-active a{color:var(--mono-ui-accent-strong)!important}.ant-tag{border-color:var(--mono-ui-border-subtle)!important}.ant-tag,.ant-badge-status-text{color:var(--mono-ui-fg-soft)!important}.ant-alert-success,.ant-alert-info,.ant-alert-warning,.ant-alert-error{border-color:var(--mono-ui-border-subtle)!important}.ant-alert-success .ant-alert-icon,.ant-alert-info .ant-alert-icon,.ant-alert-warning .ant-alert-icon,.ant-alert-error .ant-alert-icon,.ant-notification-notice-message,.ant-message-notice-content{color:var(--mono-ui-fg)!important}
