@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;700&display=swap";
:root{--bg-color:#f6f0e0;--bg-warm:#f6f0e0;--bg-card:#fff;--text-primary:#3a3230;--text-secondary:#7a6e6a;--text-muted:#a89e98;--pastel-orange:#f0a050;--pastel-purple:#b08cd8;--pastel-pink:#e890b0;--pastel-teal:#70c0b0;--pastel-green:#90c880;--pastel-yellow:#e8c850;--gradient-accent:linear-gradient(135deg, var(--pastel-pink) 0%, var(--pastel-purple) 50%, var(--pastel-teal) 100%);--card-border:#0000000f;--card-shadow:0 8px 30px #0000000f;--card-shadow-hover:0 12px 40px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Outfit,Noto Sans TC,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}.site-header{z-index:50;background:linear-gradient(#f6f0e0f2 0%,#f6f0e000 100%);justify-content:flex-end;align-items:center;width:100%;padding:1.5rem 2rem;display:flex;position:fixed;top:0;left:0}.lang-switch{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #00000014;border-radius:999px;align-items:center;padding:.25rem;display:flex;box-shadow:0 2px 12px #0000000a}.lang-switch button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1)}.lang-switch button:hover{color:var(--text-secondary);background:#0000000a}.lang-switch button.active{background:var(--text-primary);color:#fff;box-shadow:0 2px 8px #0000001f}.hero-section{z-index:10;background:var(--bg-warm);flex-direction:column;align-items:center;display:flex;position:relative}.hero-banner{background:var(--bg-warm);justify-content:center;align-items:center;width:100%;padding:5rem 1.5rem 0;display:flex;position:relative;overflow:hidden}.hero-banner-img{object-fit:contain;z-index:2;width:100%;max-width:600px;height:auto;display:block;position:relative}.hero-content{text-align:center;background:var(--bg-warm);flex-direction:column;align-items:center;width:100%;padding:1.5rem 1.5rem 3.5rem;display:flex;position:relative}.hero-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);background:#fff9;border:1px solid #0000000f;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 2px 10px #0000000a}h1{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:1.25rem;font-family:Fredoka,Outfit,sans-serif;font-size:clamp(3.2rem,7vw,5.5rem);font-weight:700;line-height:1.08}.subtitle{color:var(--text-secondary);max-width:550px;margin-bottom:.5rem;font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:500;line-height:1.5}.details{color:var(--text-muted);margin-bottom:2rem;font-size:1rem;font-weight:400;line-height:1.6}.details strong{color:var(--text-primary)!important}.action-links{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.action-btn{color:var(--text-primary);border:1px solid var(--card-border);box-shadow:var(--card-shadow);background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.action-btn:hover{border-color:var(--pastel-purple);box-shadow:var(--card-shadow-hover);background:#fff;transform:translateY(-2px)}.calendar-dropdown-container{display:inline-block;position:relative}.calendar-btn{cursor:pointer;font-family:inherit}.arrow-icon{opacity:.5;margin-left:.2rem;font-size:.6rem;transition:transform .2s}.calendar-menu{border:1px solid var(--card-border);z-index:100;background:#fff;border-radius:16px;flex-direction:column;gap:.15rem;min-width:220px;padding:.4rem;animation:.2s cubic-bezier(.16,1,.3,1) fadeInDown;display:flex;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 15px 40px -8px #0000001f}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.calendar-menu-item{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.calendar-menu-item:hover{background:#0000000a}.countdown-container{border:1px solid var(--card-border);box-shadow:var(--card-shadow);background:#fff;border-radius:20px;gap:.5rem;margin-bottom:2.5rem;padding:1rem 1.5rem;display:flex}.time-box{flex-direction:column;align-items:center;min-width:75px;padding:.4rem 1rem;display:flex}.time-box:not(:last-child){border-right:1px solid #0000000f}.time-value{color:var(--text-primary);font-family:Fredoka,sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1}.time-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:.4rem;font-size:.7rem;font-weight:600}.vendor-link{margin-top:.5rem}.vendor-link a{color:#fff;background:var(--gradient-accent);border:none;border-radius:999px;align-items:center;gap:.6rem;padding:.85rem 2rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 6px 20px -4px #b08cd859}.vendor-link a:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 10px 30px -4px #b08cd873}.enter-btn{background:var(--gradient-accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:1rem 2.5rem;font-size:1.05rem;font-weight:700;transition:all .3s;box-shadow:0 6px 20px #b08cd84d}.enter-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #b08cd873}.site-footer{z-index:20;background:#eee8d8;border-top:1px solid #0000000f;flex-direction:column;align-items:center;gap:1rem;width:100%;padding:3rem 1.5rem;display:flex;position:relative}.social-links{gap:.75rem;display:flex}.social-links a{color:var(--text-secondary);border:1px solid var(--card-border);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .25s;display:flex;box-shadow:0 2px 8px #0000000a}.social-links a:hover{color:var(--text-primary);border-color:var(--pastel-purple);background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.footer-copyright{color:var(--text-muted);text-align:center;font-size:.82rem}.custom-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.dark-overlay{z-index:1;background:#f6f0e0b3;width:100%;height:100%;position:absolute;top:0;left:0}.hero-section>:not(.custom-bg):not(.dark-overlay):not(.mesh-bg){z-index:10;position:relative}@media (max-width:640px){.site-header{padding:1rem}.hero-banner{padding:4rem 1rem 0}.hero-content{padding:1.25rem 1rem 2.5rem}.action-links{gap:.5rem}.action-btn{padding:.65rem 1.2rem;font-size:.85rem}.countdown-container{gap:.25rem;padding:.75rem .5rem}.time-box{min-width:60px;padding:.25rem .5rem}.time-value{font-size:clamp(1.6rem,5vw,2rem)}}.splash-screen{background-color:var(--bg-warm);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;margin:0;padding:.75rem 1rem 1.25rem;display:flex;position:relative;overflow-x:hidden}.splash-glow{filter:blur(60px);pointer-events:none;z-index:1;opacity:.45;border-radius:50%;animation:8s ease-in-out infinite alternate ambientFloat;position:absolute}.splash-glow-1{background:radial-gradient(circle,#e890b0b3 0%,#0000 70%);width:380px;height:380px;top:-8%;left:-8%}.splash-glow-2{background:radial-gradient(circle,#70c0b0b3 0%,#0000 70%);width:420px;height:420px;animation-delay:-3s;bottom:-8%;right:-8%}.splash-glow-3{background:radial-gradient(circle,#f0a05099 0%,#0000 70%);width:320px;height:320px;animation-delay:-5s;top:40%;right:-5%}@keyframes ambientFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(20px,-15px)scale(1.08)}to{transform:translate(-15px,20px)scale(.95)}}.splash-main-layout{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;display:flex;position:relative}.splash-banner-container{width:100%;max-width:min(100%,820px,177.778dvh - 391.111px);margin:0 auto;animation:.6s cubic-bezier(.34,1.56,.64,1) both splashPopIn;position:relative}@keyframes splashPopIn{0%{transform:scale(.94)}65%{transform:scale(1.015)}to{transform:scale(1)}}.splash-banner-link{cursor:pointer;border-radius:20px;width:100%;text-decoration:none;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;display:block;position:relative;overflow:hidden;box-shadow:0 14px 40px -8px #3a323029,0 2px 8px #0000000a}.splash-banner-link:hover{transform:translateY(-2px)scale(1.008);box-shadow:0 20px 50px -8px #3a323038,0 4px 12px #0000000f}.splash-banner-wrapper{width:100%;line-height:0;position:relative;overflow:hidden}.splash-banner-img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.banner-date-overlay{z-index:10;pointer-events:none;animation:.6s cubic-bezier(.34,1.56,.64,1) both dateBadgeBounce;position:absolute;top:75%;left:50%;transform:translate(-50%,-50%)}@keyframes dateBadgeBounce{0%{transform:translate(-50%,-50%)scale(.7)rotate(-3deg)}70%{transform:translate(-50%,-50%)scale(1.06)rotate(1deg)}to{transform:translate(-50%,-50%)scale(1)rotate(0)}}.banner-date-badge{letter-spacing:.08em;color:#1e1927;text-transform:uppercase;white-space:nowrap;background:#fff;border:2.5px solid #1e1927;border-radius:999px;justify-content:center;align-items:center;padding:.35em 1.15em;font-family:Fredoka,Outfit,sans-serif;font-size:clamp(.85rem,2vw,1.45rem);font-weight:700;transition:transform .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 14px #00000024,0 3px #1e1927}.splash-banner-link:hover .banner-date-badge{transform:scale(1.05)}.splash-content-container{opacity:1;visibility:visible;flex-direction:column;align-items:center;gap:.65rem;width:100%;max-width:580px;animation:.5s cubic-bezier(.34,1.56,.64,1) both controlsSlideUp;display:flex}@keyframes controlsSlideUp{0%{transform:translateY(12px)scale(.97)}to{transform:translateY(0)scale(1)}}.splash-countdown-card{justify-content:center;width:100%;display:flex}.splash-countdown-card .countdown-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1.5px solid #00000014;border-radius:16px;margin-bottom:0;padding:.45rem 1rem;box-shadow:0 6px 20px #3a323014}.splash-countdown-card .time-box{min-width:62px;padding:.2rem .75rem}.splash-countdown-card .time-value{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.1}.splash-countdown-card .time-label{margin-top:.15rem;font-size:.65rem}.splash-redirect-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #00000014;border-radius:14px;width:100%;max-width:480px;padding:.65rem 1rem;box-shadow:0 6px 20px #3a32300f}.redirect-progress-track{background:#0000000f;border-radius:999px;width:100%;height:5px;margin-bottom:.55rem;overflow:hidden}.redirect-progress-bar{background:var(--gradient-accent);border-radius:999px;height:100%;animation:3s linear forwards progressFill}@keyframes progressFill{0%{width:0%}to{width:100%}}.redirect-details{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.redirect-status-text{color:var(--text-secondary);font-size:.85rem;font-weight:500}.redirect-status-text strong{color:var(--text-primary);font-weight:700}.redirect-cta-btn{color:#fff;background:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .85rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #0000001f}.redirect-cta-btn:hover{background:#000;transform:translateY(-1px);box-shadow:0 4px 12px #0000002e}@media (max-width:640px){.splash-screen{padding:.5rem}.splash-main-layout{gap:.5rem}.banner-date-badge{border-width:2px;padding:.25em .85em;box-shadow:0 2px 8px #0000001f,0 2px #1e1927}.splash-countdown-card .time-box{min-width:52px;padding:.15rem .45rem}.splash-countdown-card .time-value{font-size:1.3rem}.splash-redirect-card{padding:.55rem .75rem}.redirect-details{flex-direction:row;justify-content:space-between;gap:.5rem}.redirect-cta-btn{padding:.35rem .75rem}}
