@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";
.year-of-horse *{box-sizing:border-box;margin:0;padding:0}.year-of-horse{--red-deep:#8b1538;--red:#c41e3a;--coral:#e8634a;--gold:#d4a853;--gold-light:#f5e6c8;--cream:#fff9f0;--brown:#3d2314;--green:#10b981;color:var(--brown);background:linear-gradient(#fff9f0 0%,#ffe8d6 50%,#ffdcc8 100%);min-height:100vh;font-family:Inter,sans-serif;overflow-x:hidden}.year-of-horse .particles{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.year-of-horse .particle{background:var(--gold);opacity:.4;border-radius:50%;width:8px;height:8px;animation:8s ease-in-out infinite float-up;position:absolute}.year-of-horse .particle:first-child{animation-delay:0s;left:10%}.year-of-horse .particle:nth-child(2){width:6px;height:6px;animation-delay:1s;left:20%}.year-of-horse .particle:nth-child(3){animation-delay:2s;left:35%}.year-of-horse .particle:nth-child(4){width:10px;height:10px;animation-delay:.5s;left:50%}.year-of-horse .particle:nth-child(5){animation-delay:1.5s;left:65%}.year-of-horse .particle:nth-child(6){width:5px;height:5px;animation-delay:2.5s;left:80%}.year-of-horse .particle:nth-child(7){animation-delay:3s;left:90%}@keyframes float-up{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-100px)rotate(360deg)}}.year-of-horse .confetti-container{pointer-events:none;z-index:1000;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.year-of-horse .confetti{opacity:0;width:10px;height:10px;position:absolute}.year-of-horse .confetti.active{animation:3s ease-out forwards confetti-fall}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.year-of-horse .header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#fff9f0e6;border-bottom:1px solid #d4a85333;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:fixed;top:0;left:0;right:0}.year-of-horse .logo{color:var(--red-deep);align-items:center;gap:.5rem;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;display:flex}.year-of-horse .user-area{align-items:center;gap:1rem;display:flex}.year-of-horse .credits-badge{background:linear-gradient(135deg,var(--gold)0%,#e8b84a 100%);color:var(--brown);border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;display:flex;box-shadow:0 2px 10px #d4a8534d}.year-of-horse .credits-coin{background:radial-gradient(circle at 30% 30%,#fff1c4 0%,#f5c76a 45%,#d4a853 100%);border:1px solid #7a3e1040;border-radius:50%;flex-shrink:0;width:18px;height:18px;position:relative;box-shadow:inset 0 0 0 1px #ffffff59,0 2px 6px #8b153826}.year-of-horse .credits-coin:after{content:"";opacity:.7;border:1px dashed #7a3e1047;border-radius:50%;position:absolute;inset:4px}.year-of-horse .text-link{color:var(--red-deep);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600;text-decoration:none}.year-of-horse .text-link:hover{color:var(--red)}.year-of-horse .hero{z-index:10;padding-top:80px;position:relative}.year-of-horse .hero-image{background:url(/assets/themes/year-of-horse/hero.png) 50%/cover no-repeat;width:100%;height:50vh;min-height:350px;position:relative}.year-of-horse .hero-image:after{content:"";background:linear-gradient(#0000 0%,#fff9f0 100%);height:150px;position:absolute;bottom:0;left:0;right:0}.year-of-horse .hero-content{text-align:center;z-index:10;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.year-of-horse .hero-badge{background:var(--gold);color:var(--brown);text-transform:uppercase;letter-spacing:2px;border-radius:20px;margin-bottom:1rem;padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.year-of-horse .hero h1{color:var(--red-deep);text-shadow:2px 2px 20px #fffc;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:3rem;font-weight:700}.year-of-horse .hero p{color:var(--brown);opacity:.8;font-size:1.1rem}.year-of-horse .main{z-index:10;max-width:1000px;margin:0 auto;padding:2rem 1.5rem 4rem;position:relative}.year-of-horse .progress{justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.year-of-horse .step{color:#999;background:#fff;border-radius:30px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .3s;display:flex;box-shadow:0 4px 15px #0000000d}.year-of-horse .step.active{background:linear-gradient(135deg,var(--red)0%,var(--coral)100%);color:#fff;transform:scale(1.05);box-shadow:0 8px 25px #c41e3a4d}.year-of-horse .step.completed{background:linear-gradient(135deg,var(--gold)0%,#e8b84a 100%);color:var(--brown)}.year-of-horse .step-icon{background:#ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.year-of-horse .step-container{position:relative;overflow:hidden}.year-of-horse .step-content{transition:all .5s ease-in-out}.year-of-horse .step-content.slide-out-left{animation:.4s ease-in-out forwards slideOutLeft}.year-of-horse .step-content.slide-in-right{animation:.4s ease-in-out forwards slideInRight}.year-of-horse .step-content.slide-out-right{animation:.4s ease-in-out forwards slideOutRight}.year-of-horse .step-content.slide-in-left{animation:.4s ease-in-out forwards slideInLeft}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.year-of-horse .card-container{background:#fff;border-radius:24px;padding:2rem;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000014}.year-of-horse .card-container:before{content:"";background:linear-gradient(90deg,var(--red)0%,var(--gold)50%,var(--red)100%);height:4px;position:absolute;top:0;left:0;right:0}.year-of-horse .decor-frame{opacity:.1;pointer-events:none;background:url(/assets/themes/year-of-horse/frame.png) 50%/100% 100% no-repeat;position:absolute;inset:0}.year-of-horse .upload-area{border:2px dashed var(--gold);text-align:center;cursor:pointer;background:linear-gradient(135deg,#d4a8530d 0%,#e8634a0d 100%);border-radius:16px;margin-bottom:1.5rem;padding:2.5rem 1.5rem;transition:all .3s;position:relative;overflow:hidden}.year-of-horse .upload-area:hover{border-color:var(--red);background:linear-gradient(135deg,#c41e3a14 0%,#e8634a14 100%);transform:scale(1.02)}.year-of-horse .upload-area.has-file{border-style:solid;border-color:var(--green);background:#10b9810d;padding:1.75rem 1.5rem}.year-of-horse .upload-area.has-file .upload-icon{display:none}.year-of-horse .upload-area.has-file .upload-preview{display:block}.year-of-horse .upload-area.has-file .upload-text{display:none}.year-of-horse .upload-area:before{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff4d 50%,#0000 60%);width:200%;height:200%;animation:3s ease-in-out infinite shimmer;position:absolute;top:-50%;left:-50%}@keyframes shimmer{0%{transform:translate(-100%)rotate(45deg)}to{transform:translate(100%)rotate(45deg)}}.year-of-horse .upload-icon{background:linear-gradient(135deg,var(--gold)0%,#e8b84a 100%);color:#fff;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;display:flex;position:relative;box-shadow:0 8px 25px #d4a85366}.year-of-horse .upload-preview{object-fit:contain;z-index:1;background:#fff;border-radius:12px;width:min(70%,420px);max-width:420px;height:auto;max-height:320px;margin:0 auto 1rem;display:none;position:relative;box-shadow:0 12px 30px #8b153826}.year-of-horse .upload-area h3{color:var(--brown);z-index:1;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;position:relative}.year-of-horse .upload-area p{color:#888;z-index:1;font-size:.85rem;position:relative}.year-of-horse .greeting-section{margin-bottom:1.5rem}.year-of-horse .greeting-section label{color:var(--brown);margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:block}.year-of-horse .greeting-input{resize:none;border:2px solid #e5e5e5;border-radius:12px;width:100%;padding:1rem 1.25rem;font-family:inherit;font-size:1rem;transition:all .3s}.year-of-horse .greeting-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px #d4a85326}.year-of-horse .quick-greetings{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.year-of-horse .quick-btn{background:linear-gradient(135deg,var(--gold-light)0%,#ffe8d6 100%);border:1px solid var(--gold);color:var(--brown);cursor:pointer;border-radius:20px;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:all .3s}.year-of-horse .quick-btn:hover{background:var(--gold);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #d4a8534d}.year-of-horse .quick-btn.selected{background:var(--gold);color:#fff;box-shadow:0 4px 15px #d4a8534d}.year-of-horse .btn-primary{background:linear-gradient(135deg,var(--red)0%,var(--coral)100%);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;padding:1.25rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 30px #c41e3a59}.year-of-horse .btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.year-of-horse .btn-primary:hover:before{left:100%}.year-of-horse .btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px #c41e3a73}.year-of-horse .horse-loader{text-align:center;padding:3rem 2rem}.year-of-horse .horse-track{border-radius:12px;height:120px;margin-bottom:2rem;position:relative;overflow:hidden}.year-of-horse .running-horse{width:120px;height:100px;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast;mix-blend-mode:multiply;background:url(/assets/themes/year-of-horse/horse-sprite.png) 0 0/480px 300px no-repeat;animation:12s linear infinite horse-gallop,1s step-end infinite horse-run;position:absolute;bottom:20px}@keyframes horse-run{0%{background-position:0 0}8.333%{background-position:-120px 0}16.666%{background-position:-240px 0}25%{background-position:-360px 0}33.333%{background-position:0 -100px}41.666%{background-position:-120px -100px}50%{background-position:-240px -100px}58.333%{background-position:-360px -100px}66.666%{background-position:0 -200px}75%{background-position:-120px -200px}83.333%{background-position:-240px -200px}91.666%{background-position:-360px -200px}}@keyframes horse-gallop{0%{left:-120px;transform:scaleX(1)}49%{left:calc(100% + 120px);transform:scaleX(1)}50%{left:calc(100% + 120px);transform:scaleX(-1)}99%{left:-120px;transform:scaleX(-1)}to{left:-120px;transform:scaleX(1)}}.year-of-horse .horse-dust{background:linear-gradient(90deg,#0000 0%,#d4a85333 20%,#d4a85366 50%,#d4a85333 80%,#0000 100%);width:100%;height:30px;animation:1.5s ease-in-out infinite dust-wave;position:absolute;bottom:0}@keyframes dust-wave{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:.8;transform:scaleY(1.2)}}.year-of-horse .loading-progress{background:#e5e5e5;border-radius:4px;width:100%;height:8px;margin-bottom:1.5rem;overflow:hidden}.year-of-horse .loading-progress-fill{background:linear-gradient(90deg,var(--red)0%,var(--gold)50%,var(--red)100%);background-size:200% 100%;border-radius:4px;height:100%;transition:width .3s;animation:2s linear infinite progress-shimmer}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.year-of-horse .loading-text{color:var(--red-deep);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600}.year-of-horse .loading-subtext{color:#888;font-size:.9rem}.year-of-horse .result-section{text-align:center}.year-of-horse .success-message{background:linear-gradient(135deg,var(--red)0%,var(--coral)60%,var(--gold)100%);color:#fff7e6;border-radius:30px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;animation:.5s ease-out bounce-in;display:inline-flex}@keyframes bounce-in{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.year-of-horse .fullscreen-overlay{z-index:2000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.year-of-horse .fullscreen-image{border-radius:16px;width:90vw;height:90vh;animation:.3s scaleIn;position:relative;overflow:hidden;box-shadow:0 30px 100px #00000080}.year-of-horse .split-container{background:#fffbf7;border:1px solid #c9a96233;border-radius:20px;grid-template-columns:1.55fr 1fr;gap:2.5rem;min-height:500px;padding:2.5rem;display:grid;box-shadow:0 20px 60px #8b15381a}@media (max-width:900px){.year-of-horse .split-container{grid-template-columns:1fr;gap:2rem;min-height:auto}}.year-of-horse .card-side{flex-direction:column;justify-content:center;align-items:center;gap:.7rem;height:100%;padding-top:0;padding-bottom:0;display:flex}.year-of-horse .card-frame{cursor:pointer;background:linear-gradient(#fffefd 0%,#fdf2e6 100%);border:1px solid #d4a85340;border-radius:12px;max-width:600px;margin-top:0;padding:.25rem;transition:transform .3s,box-shadow .3s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 16px 45px #8b15381f}.year-of-horse .card-frame:hover{transform:translateY(-4px);box-shadow:0 20px 60px #8b153833}.year-of-horse .card-frame img{border-radius:8px;width:auto;max-width:100%;height:auto;max-height:420px;display:block}.year-of-horse .card-hint{color:#999;font-size:.8rem}.year-of-horse .card-buttons{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.35rem;display:flex}.year-of-horse .btn-outline{color:var(--red);border:1.5px solid var(--red);cursor:pointer;background:0 0;border-radius:8px;padding:.6rem 1.2rem;font-size:.85rem;font-weight:500;transition:all .2s}.year-of-horse .btn-outline:hover{background:var(--red);color:#fff}.year-of-horse .letter-side{text-align:left;flex-direction:column;padding-top:.35rem;display:flex}.year-of-horse .letter-to{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.year-of-horse .letter-label{color:#8b7355;font-family:Georgia,serif;font-size:1rem;font-style:italic}.year-of-horse .letter-input-inline{color:var(--brown);background:0 0;border:none;border-bottom:1.5px solid #e8ddd4;flex:1;padding:.4rem 0;font-family:Georgia,serif;font-size:1rem;transition:border-color .2s}.year-of-horse .letter-input-inline:focus{border-bottom-color:#c9a962;outline:none}.year-of-horse .letter-input-inline::placeholder{color:#c4b8a8;font-style:italic}.year-of-horse .letter-textarea{resize:none;width:100%;min-height:165px;color:var(--brown);scrollbar-width:none;-ms-overflow-style:none;background:#fffef9;border:1.5px solid #e8ddd4;border-radius:10px;flex:1;padding:1rem;font-family:Georgia,serif;font-size:.95rem;line-height:1.8;transition:border-color .2s,box-shadow .2s}.year-of-horse .letter-textarea::-webkit-scrollbar{width:0;height:0}.year-of-horse .letter-textarea:focus{border-color:#c9a962;outline:none;box-shadow:0 0 0 3px #c9a9621a}.year-of-horse .letter-textarea::placeholder{color:#c4b8a8;font-style:italic}.year-of-horse .letter-closing{flex-direction:column;align-items:flex-end;gap:.4rem;margin-top:.6rem;padding-right:1rem;display:flex}.year-of-horse .closing-select{color:#8b7355;cursor:pointer;text-align:right;background:0 0;border:none;border-bottom:1.5px solid #e8ddd4;padding:.3rem .5rem;font-family:Georgia,serif;font-size:.95rem;font-style:italic}.year-of-horse .closing-select:focus{border-bottom-color:#c9a962;outline:none}.year-of-horse .letter-input-inline.signature{text-align:right;max-width:200px;font-weight:500}.year-of-horse .letter-divider{background:linear-gradient(90deg,#0000,#e8ddd4,#0000);height:1px;margin:.8rem 0}.year-of-horse .send-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.6rem;display:grid}.year-of-horse .send-field label{color:#8b7355;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}.year-of-horse .letter-input{background:#fffef9;border:1.5px solid #e8ddd4;border-radius:6px;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.year-of-horse .letter-input:focus{border-color:#c9a962;outline:none;box-shadow:0 0 0 3px #c9a9621a}.year-of-horse .letter-input::placeholder{color:#c4b8a8}.year-of-horse .btn-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#b8384b 0%,#c94a5c 100%);border:none;border-radius:8px;width:100%;padding:.9rem;font-size:.95rem;font-weight:600;transition:all .2s}.year-of-horse .btn-send:hover{background:linear-gradient(135deg,#a02f42 0%,#b8384b 100%);transform:translateY(-2px);box-shadow:0 6px 20px #b8384b4d}.year-of-horse .card-preview{border-radius:16px;width:100%;max-width:320px;margin:0 auto 1.5rem;position:relative;overflow:hidden;box-shadow:0 25px 80px #8b153840}.year-of-horse .card-preview img{width:100%;display:block}.year-of-horse .card-preview.anim-fall{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards card-fall}@keyframes card-fall{0%{opacity:0;transform:translateY(-200px)rotate(-10deg)}60%{opacity:1;transform:translateY(20px)rotate(3deg)}80%{transform:translateY(-10px)rotate(-2deg)}to{transform:translateY(0)rotate(-2deg)}}.year-of-horse .envelope-container{perspective:1000px;width:100%;max-width:280px;margin:0 auto 1.5rem;position:relative}.year-of-horse .envelope{cursor:pointer;width:100%;padding-bottom:130%;position:relative}.year-of-horse .envelope-back{background:linear-gradient(135deg,var(--red)0%,var(--red-deep)100%);z-index:1;border-radius:16px;width:100%;height:100%;transition:all .4s ease-out;position:absolute;box-shadow:0 20px 60px #8b15384d}.year-of-horse .envelope.opened .envelope-back{opacity:0;transform:scale(.8)}.year-of-horse .envelope-flap{background:linear-gradient(180deg,var(--red-deep)0%,var(--red)100%);transform-origin:top;z-index:3;clip-path:polygon(0 0,100% 0,100% 100%,50% 60%,0 100%);border-radius:16px 16px 0 0;width:100%;height:50%;transition:all .4s ease-out;position:absolute;top:0;left:0}.year-of-horse .envelope-flap:after{content:"";background:var(--gold);border-radius:50%;width:60px;height:60px;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #d4a85380}.year-of-horse .envelope.opened .envelope-flap{opacity:0;transform:scale(.8)}.year-of-horse .envelope-card{z-index:2;opacity:0;cursor:pointer;pointer-events:none;background:#fff;border-radius:12px;transition:all .5s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.5);box-shadow:0 10px 30px #0003}.year-of-horse .envelope-card img{object-fit:contain;width:320px;height:auto;max-height:450px;display:block}.year-of-horse .envelope.opened .envelope-card{opacity:1;z-index:10;pointer-events:auto;transform:translate(-50%,-50%)scale(1);box-shadow:0 30px 80px #0006}.year-of-horse .envelope-hint{color:#888;opacity:0;font-size:.8rem;transition:opacity .3s;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.year-of-horse .envelope.opened .envelope-hint{opacity:1}.year-of-horse .card-preview.anim-pop{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards card-pop}@keyframes card-pop{0%{opacity:0;transform:scale(0)rotate(-5deg)}50%{transform:scale(1.1)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}.year-of-horse .card-actions{justify-content:center;gap:.75rem;margin-bottom:2rem;display:flex}.year-of-horse .btn-secondary{color:var(--red);border:2px solid var(--red);cursor:pointer;background:#fff;border-radius:10px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s}.year-of-horse .btn-secondary:hover{background:var(--red);color:#fff;transform:translateY(-2px)}.year-of-horse .send-form{text-align:left;background:linear-gradient(135deg,#d4a85314 0%,#ffe8d680 100%);border:1px solid #d4a85333;border-radius:16px;padding:1.5rem}.year-of-horse .send-form h3{color:var(--brown);text-align:center;margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600}.year-of-horse .form-group{margin-bottom:1rem}.year-of-horse .form-group label{color:var(--brown);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.year-of-horse .form-input{background:#fff;border:2px solid #e5e5e5;border-radius:10px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:.9rem;transition:all .3s}.year-of-horse .form-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px #d4a85326}.year-of-horse .form-input.error{border-color:#ef4444;animation:.5s shake}.year-of-horse .form-input.success{border-color:var(--green)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.year-of-horse .error-msg{color:#ef4444;margin-top:.25rem;font-size:.75rem;display:none}.year-of-horse .form-input.error+.error-msg{display:block}.year-of-horse .error-box{color:#9b1c1c;text-align:center;background:#fff5f5;border:1px solid #ef444459;border-radius:12px;gap:.5rem;margin:.5rem 0 1.25rem;padding:.9rem 1rem;display:grid}.year-of-horse .error-box p{margin:0;font-size:.85rem}.year-of-horse .error-msg-inline{color:#b91c1c;margin:0 0 .75rem;font-size:.85rem}.year-of-horse .success-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.year-of-horse .success-overlay.show{display:flex}.year-of-horse .success-content{text-align:center;background:linear-gradient(135deg,#b8384b 0%,#e8634a 55%,#d4a853 100%);border:1px solid #fff6;border-radius:22px;max-width:90%;padding:2.5rem 2.75rem;animation:.5s pop-in;box-shadow:0 20px 70px #8b153859}@keyframes pop-in{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.year-of-horse .success-icon{color:#7a3e10;background:radial-gradient(circle at 30% 30%,#ffdfa5 0%,#f1c76a 45%,#d4a853 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.25rem;font-size:2.5rem;display:flex;box-shadow:0 12px 30px #d4a85373}.year-of-horse .success-content h2{color:#fff5e6;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:600}.year-of-horse .success-content p{color:#fff8ece6;margin-bottom:1.5rem;font-size:.95rem}.year-of-horse .success-content .btn-primary{width:auto;padding:.75rem 2.1rem;font-size:.95rem}.year-of-horse .anim-selector{justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.year-of-horse .anim-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.5rem 1rem;font-size:.75rem;transition:all .2s}.year-of-horse .anim-btn:hover,.year-of-horse .anim-btn.active{background:var(--gold-light);border-color:var(--gold);color:var(--brown)}.year-of-horse .demo-nav{justify-content:center;gap:.5rem;margin-top:2rem;display:flex}.year-of-horse .demo-nav button{cursor:pointer;color:#888;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:.5rem 1rem;font-size:.75rem;transition:all .2s}.year-of-horse .demo-nav button:hover{background:var(--gold-light);border-color:var(--gold);color:var(--brown)}@media (max-width:768px){.year-of-horse .header{padding:.75rem 1rem}.year-of-horse .hero h1{font-size:2rem}.year-of-horse .hero-image{height:40vh;min-height:280px}.year-of-horse .main{padding:1.5rem 1rem}.year-of-horse .particles{display:none}}
