:root{--page-bg:#e9e7e3;--bg:#fbfaf8;--fg:#2b2b2b;--muted:#9a9690;--accent:#2b2b2b;--accent-2:#b7a58a;--line:#00000014;--card:#fff;--btn-bg:var(--accent);--btn-fg:#fff;--cover-bg:var(--bg);--cover-fg:var(--fg);--cover-muted:var(--muted);--seal-bg:var(--accent);--seal-fg:#fff;--radius:10px;--font-title:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-body:-apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-en:"Didot", "Bodoni 72", "Georgia", "Times New Roman", serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--page-bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.8}html.is-locked,html.is-locked body{height:100%;overflow:hidden}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}.app{background:var(--bg);max-width:480px;min-height:100vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 48px #00000026}.sec{text-align:center;padding:72px 28px;position:relative}.sec-head{margin-bottom:36px}.sec-sub{font-family:var(--font-en);letter-spacing:.4em;text-transform:uppercase;color:var(--muted);font-size:12px}.sec-title{font-family:var(--font-title);letter-spacing:.25em;text-indent:.25em;color:var(--accent);margin:6px 0 0;font-size:26px;font-weight:500}.sec-orn{background:var(--accent-2);width:48px;height:1px;margin:16px auto 0}.names .amp{font-family:var(--font-en);color:var(--accent-2);margin:0 .45em;font-style:italic;font-weight:400;display:inline-block}.btn{border:1px solid var(--accent);background:var(--btn-bg);min-height:42px;color:var(--btn-fg);letter-spacing:.12em;border-radius:999px;justify-content:center;align-items:center;padding:8px 22px;font-size:14px;text-decoration:none;transition:transform .15s,opacity .15s;display:inline-flex}.btn:active{opacity:.85;transform:scale(.97)}.btn.ghost{color:var(--accent);background:0 0}.btn-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)}.reveal.in{opacity:1;transform:none}.cover{z-index:50;background:var(--cover-bg);justify-content:center;align-items:center;max-width:480px;margin:0 auto;transition:opacity .6s .3s,transform .8s .3s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.cover-panel,.cover-flap{display:none;position:absolute}.cover-content{z-index:3;text-align:center;color:var(--cover-fg);padding:24px;transition:opacity .45s,transform .6s;position:relative}.cover-kicker{font-family:var(--font-en);letter-spacing:.4em;color:var(--cover-muted);font-size:12px}.cover-names{font-family:var(--font-title);letter-spacing:.12em;margin:20px 0 10px;font-size:34px}.cover-names .amp{font-family:var(--font-en);color:var(--accent-2);margin:0 .4em;font-style:italic;display:inline-block}.cover-date{font-family:var(--font-en);letter-spacing:.3em;color:var(--cover-muted)}.cover-guest{font-family:var(--font-title);letter-spacing:.15em;margin-top:18px}.cover-open{color:var(--cover-fg);letter-spacing:.35em;background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;margin-top:48px;padding:0;font-size:13px;display:inline-flex}.seal{background:var(--seal-bg);width:68px;height:68px;color:var(--seal-fg);font-family:var(--font-title);letter-spacing:0;border-radius:50%;place-items:center;font-size:30px;animation:2.2s ease-in-out infinite seal-pulse;display:grid;box-shadow:0 6px 18px #00000040}.seal:empty{display:none}@keyframes seal-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}html.is-opening .cover{pointer-events:none;opacity:0}html.is-opening .cover-content{opacity:0;transform:scale(.96)}.hero{padding-top:56px}.hero-photo img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);width:100%}.hero-text{margin-top:32px}.hero-kicker{font-family:var(--font-en);letter-spacing:.4em;color:var(--muted);font-size:12px}.hero-names{font-family:var(--font-title);letter-spacing:.1em;color:var(--accent);margin:14px 0 6px;font-size:32px;font-weight:500}.hero-en{font-family:var(--font-en);color:var(--muted);font-style:italic}.hero-date{font-family:var(--font-en);letter-spacing:.25em;margin-top:18px;font-size:22px}.hero-date-cn,.hero-lunar{letter-spacing:.1em;color:var(--muted);font-size:13px}.greet-guest{font-family:var(--font-title);text-align:left;margin:0 0 18px;font-size:18px}.greet-text{font-family:var(--font-title);white-space:pre-line;margin:0;font-size:16px;line-height:2.2}.greet-hosts{color:var(--muted);text-align:right;white-space:pre-line;margin:28px 0 0;font-size:13px}.cd-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.cd-cell{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 0 10px}.cd-num{font-family:var(--font-en);color:var(--accent);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.2}.cd-label{color:var(--muted);font-size:12px}.cd-past{font-family:var(--font-title);color:var(--accent);font-size:20px}.countdown .btn{margin-top:26px}.timeline{text-align:left;margin:0;padding:0 0 0 28px;list-style:none;position:relative}.timeline:before{content:"";background:var(--accent-2);opacity:.6;width:1px;position:absolute;top:8px;bottom:8px;left:6px}.tl-item{padding-bottom:30px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";border:2px solid var(--accent);background:var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;top:8px;left:-27px}.tl-date{font-family:var(--font-en);letter-spacing:.15em;color:var(--muted);font-size:13px}.tl-title{font-family:var(--font-title);color:var(--accent);font-size:18px}.tl-text{white-space:pre-line;margin:4px 0 0;font-size:14px}.gallery{padding-left:16px;padding-right:16px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gallery-item{border-radius:var(--radius);background:0 0;border:0;padding:0;display:block;overflow:hidden}.gallery-item img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .6s}.gallery-item.wide{grid-column:span 2}.gallery-item.wide img{aspect-ratio:4/3}.gallery-item:active img{transform:scale(1.03)}.sched-list{max-width:300px;margin:0 auto;padding:0;list-style:none}.sched-row{border-bottom:1px dashed var(--line);align-items:center;gap:14px;padding:12px 0;display:flex}.sched-time{width:56px;font-family:var(--font-en);color:var(--accent);text-align:right;font-variant-numeric:tabular-nums;font-size:18px}.sched-dot{background:var(--accent-2);border-radius:50%;width:6px;height:6px}.sched-title{text-align:left;font-family:var(--font-title);flex:1}.venue-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:30px 20px}.venue-name{font-family:var(--font-title);color:var(--accent);font-size:22px}.venue-hall{margin-top:2px;font-size:14px}.venue-time{color:var(--muted);margin-top:14px;font-size:14px}.venue-addr{margin-top:4px;font-size:14px}.venue-tips{border-top:1px dashed var(--line);color:var(--muted);text-align:left;white-space:pre-line;margin:20px 0 0;padding-top:16px;font-size:13px}.rsvp-text{font-family:var(--font-title);margin:0}.rsvp-deadline{color:var(--muted);margin:6px 0 22px;font-size:13px}.footer{padding-bottom:96px}.footer-names{font-family:var(--font-title);color:var(--accent);font-size:22px}.footer-text{letter-spacing:.2em;color:var(--muted);margin:10px 0 0;font-size:13px}.music-btn{z-index:45;border:1px solid var(--accent-2);background:color-mix(in srgb, var(--bg) 80%, transparent);width:40px;height:40px;color:var(--accent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:50%;padding:0;position:fixed;top:14px;right:max(14px,50% - 226px)}.music-disc{font-size:18px;display:inline-block}.music-btn.playing .music-disc{animation:3s linear infinite spin}.music-btn:not(.playing):after{content:"";background:currentColor;height:1px;position:absolute;top:50%;left:8px;right:8px;transform:rotate(-45deg)}@keyframes spin{to{transform:rotate(360deg)}}.effects{z-index:40;pointer-events:none;width:100%;max-width:480px;height:100%;margin:0 auto;position:fixed;top:0;bottom:0;left:0;right:0}.toast{z-index:70;color:#fff;opacity:0;pointer-events:none;background:#000000c7;border-radius:8px;max-width:80vw;padding:10px 18px;font-size:14px;transition:opacity .25s,transform .25s;position:fixed;bottom:80px;left:50%;transform:translate(-50%,10px)}.toast.show{opacity:1;transform:translate(-50%)}.lightbox{z-index:60;opacity:0;background:#0a0a0af0;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox.show{opacity:1}.lb-img{object-fit:contain;max-width:94vw;max-height:82vh}.lb-counter{color:#ffffffb3;text-align:center;letter-spacing:.2em;font-size:13px;position:absolute;bottom:24px;left:0;right:0}.lb-btn{color:#fff;background:#ffffff1f;border:0;border-radius:50%;width:44px;height:44px;padding:0;font-size:26px;line-height:44px;position:absolute}.lb-close{top:16px;right:16px}.lb-prev{top:50%;left:12px;transform:translateY(-50%)}.lb-next{top:50%;right:12px;transform:translateY(-50%)}.preview-bar{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000bf;border-radius:999px;gap:6px;max-width:calc(100vw - 24px);padding:6px;display:flex;position:fixed;bottom:16px;left:50%;overflow-x:auto;transform:translate(-50%)}.preview-bar a{color:#fff;white-space:nowrap;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;text-decoration:none}.preview-bar a.active{color:#111;background:#fff}.preview-bar a.poster-link{border:1px solid #ffffff80;margin-left:4px}.cover-mascot{z-index:4;width:32%;max-width:150px;transition:opacity .3s;animation:2.4s ease-in-out infinite mascot-bob;position:absolute;bottom:16px;right:12px}html.is-opening .cover-mascot{opacity:0}.footer-mascot{width:120px;margin:0 auto 16px}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.poster-page{text-align:left;min-height:100vh}.poster-page .sec-head{text-align:center}.pp-tip{color:var(--muted);margin:0 0 20px;font-size:13px}.pp-field{margin-bottom:14px;font-size:14px;display:block}.pp-field span{margin-bottom:6px;display:block}.pp-input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--fg);font:inherit;border-radius:8px;padding:10px 12px;font-size:15px}.pp-actions{gap:10px;margin-top:6px;display:flex}.pp-actions .btn[disabled]{opacity:.5}.pp-status{color:var(--muted);white-space:pre-line;margin:16px 0;font-size:13px}.pp-results{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pp-results:has(>:only-child){grid-template-columns:1fr}.pp-card{margin:0}.pp-card img{border-radius:6px;width:100%;box-shadow:0 4px 16px #00000026}.pp-card figcaption{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.pp-card .btn{min-height:32px;padding:4px 14px;font-size:13px}.error-page{padding:80px 28px}.error-page h1{font-size:22px}.error-page li{color:#b3261e;margin-bottom:8px}@media (prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1;transition:none;transform:none}.seal,.music-btn.playing .music-disc{animation:none}}html[data-theme=classic-red]{--theme-color:#8c1018;--page-bg:#3a0a0c;--bg:#fdf6ec;--fg:#4a2a1a;--muted:#a07a5a;--accent:#b8202a;--accent-2:#c9a14a;--line:#b8202a29;--card:#fffaf2;--btn-bg:#b8202a;--btn-fg:#fff3d6;--cover-bg:transparent;--cover-fg:#f7dfa3;--cover-muted:#e8c27a;--seal-bg:radial-gradient(circle at 35% 30%, #f6dc98, #c9a14a 72%);--seal-fg:#8c1018;--font-title:"STKaiti", "KaiTi", "Kaiti SC", "Noto Serif SC", "Songti SC", serif;--font-body:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--radius:4px;--poster-bg:#9e1620;--poster-fg:#fbe6bd;--poster-accent:#f7dfa3;--poster-muted:#e8c27a;--poster-line:#c9a14a}[data-theme=classic-red] .cover-panel{background:radial-gradient(circle,#ffd28214 1px,#0000 1.5px) 0 0/14px 14px,linear-gradient(160deg,#b51a24,#8c1018);width:50%;transition:transform 1.3s cubic-bezier(.7,0,.3,1);display:block;top:0;bottom:0}[data-theme=classic-red] .cover-panel:before{content:"";border:1px solid #e8c27a8c;position:absolute;top:18px;bottom:18px;left:18px;right:10px;box-shadow:inset 0 0 0 4px #8c101899,inset 0 0 0 5px #e8c27a59}[data-theme=classic-red] .cover-panel.left{left:0}[data-theme=classic-red] .cover-panel.right{right:0}[data-theme=classic-red] .cover-panel.right:before{top:18px;bottom:18px;left:10px;right:18px}[data-theme=classic-red] .cover-names{text-shadow:0 2px 6px #00000040;font-size:38px}html[data-theme=classic-red].is-opening .cover{opacity:1}html[data-theme=classic-red].is-opening .cover-panel.left{transform:translate(-102%)}html[data-theme=classic-red].is-opening .cover-panel.right{transform:translate(102%)}[data-theme=classic-red] .hero{background:linear-gradient(180deg, #f8e9d4, var(--bg) 70%)}[data-theme=classic-red] .hero-photo{border:1px solid var(--accent-2);outline-offset:5px;outline:1px solid #c9a14a73;padding:8px}[data-theme=classic-red] .sec-orn{background:linear-gradient(90deg, transparent, var(--accent-2), transparent);width:140px;position:relative}[data-theme=classic-red] .sec-orn:after{content:"";background:var(--accent-2);width:8px;height:8px;position:absolute;top:-4px;left:calc(50% - 4px);transform:rotate(45deg)}[data-theme=classic-red] .countdown,[data-theme=classic-red] .rsvp{--fg:#fbe6bd;--muted:#e8c27a;--accent:#f7dfa3;--card:#ffffff0f;--line:#e8c27a59;--btn-bg:#f7dfa3;--btn-fg:#8c1018;color:var(--fg);background:linear-gradient(160deg,#b51a24,#8c1018)}[data-theme=classic-red] .footer{background:linear-gradient(180deg, var(--bg), #f3dfc4)}html[data-theme=minimal]{--theme-color:#fbfaf8;--page-bg:#e4e1dc;--bg:#fbfaf8;--fg:#2b2b2b;--muted:#9a9690;--accent:#2b2b2b;--accent-2:#b7a58a;--line:#00000014;--card:#fff;--btn-bg:#2b2b2b;--btn-fg:#fff;--cover-bg:#fbfaf8;--font-title:-apple-system, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--radius:0}[data-theme=minimal] .sec-title,[data-theme=minimal] .hero-names,[data-theme=minimal] .cover-names{font-weight:300}[data-theme=minimal] .cover-names{letter-spacing:.3em;font-size:30px}[data-theme=minimal] .cover-open-label{border:1px solid var(--fg);width:84px;height:84px;font-family:var(--font-en);letter-spacing:.3em;text-indent:.3em;border-radius:50%;place-items:center;font-size:12px;animation:2.4s ease-in-out infinite seal-pulse;display:grid}html[data-theme=minimal].is-opening .cover{opacity:1;transition:transform .9s cubic-bezier(.7,0,.3,1);transform:translateY(-100%)}[data-theme=minimal] .hero{padding:0 0 56px}[data-theme=minimal] .hero-photo img{aspect-ratio:3/4.2}[data-theme=minimal] .hero-text{padding:0 28px}[data-theme=minimal] .sec-orn{display:none}[data-theme=minimal] .sec-title{letter-spacing:.4em;text-indent:.4em;font-size:22px}[data-theme=minimal] .cd-cell{background:0 0;border:0}[data-theme=minimal] .cd-num{font-size:38px;font-weight:300}[data-theme=minimal] .gallery-grid{gap:4px}[data-theme=minimal] .venue-card{border:0;border-top:1px solid var(--fg);border-bottom:1px solid var(--fg);background:0 0}[data-theme=minimal] .btn{border-radius:0}html[data-theme=envelope]{--theme-color:#c9b48f;--page-bg:#5b4636;--bg:#f4ecdf;--fg:#4b3b2e;--muted:#9b8670;--accent:#8e3b2e;--accent-2:#b89b72;--line:#6e50322e;--card:#fbf6ee;--btn-bg:#8e3b2e;--btn-fg:#f6e8d2;--cover-bg:#e3d2b4;--cover-fg:#5a4330;--cover-muted:#8a7258;--seal-bg:radial-gradient(circle at 35% 30%, #c95a4f, #8e2b22 70%);--seal-fg:#f6e2c8;--font-title:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-body:"Noto Serif SC", "Songti SC", "STSong", serif;--radius:2px}[data-theme=envelope] .app{background:radial-gradient(#785a3c0f 1px, transparent 1px) 0 0 / 5px 5px, var(--bg)}[data-theme=envelope] .cover{perspective:1200px}[data-theme=envelope] .cover-panel{background:#d9c6a4;width:50%;display:block;top:0;bottom:0}[data-theme=envelope] .cover-panel.left{clip-path:polygon(0 0,100% 50%,0 100%);left:0}[data-theme=envelope] .cover-panel.right{clip-path:polygon(100% 0,0 50%,100% 100%);right:0}[data-theme=envelope] .cover-flap{z-index:2;filter:drop-shadow(0 3px 4px #5a3c1e40);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background:linear-gradient(#cdb790,#c3ab82);height:40%;transition:transform .8s;display:block;top:0;left:0;right:0}[data-theme=envelope] .cover-content{padding-top:30vh}[data-theme=envelope] .cover-open{margin-top:36px}[data-theme=envelope] .seal{border-radius:46% 54% 50% 50%;width:76px;height:76px;box-shadow:0 4px 10px #501e1473,inset 0 0 0 5px #0000001f}html[data-theme=envelope].is-opening .cover-flap{transform:rotateX(180deg)}html[data-theme=envelope].is-opening .cover{opacity:1;transition:transform .9s ease-in .7s;transform:translateY(100%)}[data-theme=envelope] .hero-photo,[data-theme=envelope] .gallery-item{background:#fff;padding:8px 8px 26px;box-shadow:0 4px 14px #46321e2e}[data-theme=envelope] .hero-photo{transform:rotate(-1.5deg)}[data-theme=envelope] .gallery-item:nth-child(2n){transform:rotate(1.2deg)}[data-theme=envelope] .gallery-item:nth-child(odd){transform:rotate(-1deg)}[data-theme=envelope] .gallery-grid{gap:14px}[data-theme=envelope] .greeting{background:repeating-linear-gradient(180deg, transparent 0 34px, #8c643c1f 34px 35px), var(--card);margin:0 18px;padding:56px 24px;box-shadow:0 2px 10px #46321e1a}[data-theme=envelope] .greet-text{line-height:35px}[data-theme=envelope] .sec-sub{text-transform:none;letter-spacing:.15em;font-size:16px;font-style:italic}html[data-theme=garden]{--theme-color:#f3f5ec;--page-bg:#d6e0cf;--bg:#f7f8f2;--fg:#3d4a3a;--muted:#8a9a86;--accent:#5f7d58;--accent-2:#d9a5a0;--line:#5f7d582e;--card:#fff;--btn-bg:#5f7d58;--btn-fg:#fff;--cover-bg:#f3f5ec;--font-title:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--radius:18px;--branch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M6 194 C60 140 110 96 194 6' fill='none' stroke='%235f7d58' stroke-width='2'/%3E%3Cg fill='%2387a77f'%3E%3Cellipse cx='38' cy='148' rx='20' ry='8' transform='rotate(-80 38 148)'/%3E%3Cellipse cx='66' cy='150' rx='20' ry='8' transform='rotate(-10 66 150)'/%3E%3Cellipse cx='76' cy='106' rx='20' ry='8' transform='rotate(-85 76 106)'/%3E%3Cellipse cx='104' cy='112' rx='20' ry='8' transform='rotate(-5 104 112)'/%3E%3Cellipse cx='116' cy='68' rx='18' ry='7' transform='rotate(-85 116 68)'/%3E%3Cellipse cx='142' cy='74' rx='18' ry='7' transform='rotate(0 142 74)'/%3E%3C/g%3E%3Cg fill='%23d9a5a0'%3E%3Ccircle cx='160' cy='36' r='9'/%3E%3Ccircle cx='54' cy='124' r='6'/%3E%3Ccircle cx='128' cy='92' r='5'/%3E%3C/g%3E%3C/svg%3E")}[data-theme=garden] .cover:before,[data-theme=garden] .cover:after,[data-theme=garden] .hero:before,[data-theme=garden] .footer:before{content:"";background:var(--branch) no-repeat center / contain;opacity:.9;pointer-events:none;width:170px;height:170px;position:absolute}[data-theme=garden] .cover:before{bottom:-16px;left:-16px}[data-theme=garden] .cover:after{top:-16px;right:-16px;transform:rotate(180deg)}[data-theme=garden] .hero:before{opacity:.6;width:140px;height:140px;top:-30px;right:-30px;transform:rotate(180deg)}[data-theme=garden] .footer:before{opacity:.6;width:130px;height:130px;bottom:-20px;left:-20px}[data-theme=garden] .cover-open-label{background:var(--accent);color:#fff;letter-spacing:.3em;border-radius:999px;padding:12px 30px;box-shadow:0 6px 18px #5f7d5859}html[data-theme=garden].is-opening .cover{transition:opacity .8s .2s,transform 1s;transform:scale(1.08)}[data-theme=garden] .hero-photo img{border-radius:999px 999px var(--radius) var(--radius)}[data-theme=garden] .sec-orn{background:var(--accent-2);width:8px;height:8px;box-shadow:-16px 0 0 -1px var(--accent), 16px 0 0 -1px var(--accent);border-radius:50%}[data-theme=garden] .countdown,[data-theme=garden] .schedule{background:#eef2e6}[data-theme=garden] .cd-cell,[data-theme=garden] .venue-card{border:0;box-shadow:0 6px 20px #5f7d581f}[data-theme=garden] .sec-sub{text-transform:none;letter-spacing:.1em;font-size:16px;font-style:italic}html[data-theme=dream-door]{--theme-color:#1e9be8;--page-bg:#bfe6ff;--bg:#f4fbff;--fg:#1f3b57;--muted:#6b8aa6;--accent:#1e9be8;--accent-2:#e60012;--bell:#ffd200;--door:#f07ea8;--door-dark:#d45f8b;--line:#1e9be838;--card:#fff;--btn-bg:#1e9be8;--btn-fg:#fff;--cover-bg:linear-gradient(180deg, #6cc6ff 0%, #bfe6ff 62%, #8fd36a 62.1%, #7cc457 100%);--cover-fg:#fff;--cover-muted:#fff;--font-title:"Yuanti SC", "YouYuan", "幼圆", "Hiragino Maru Gothic ProN", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:"Yuanti SC", "YouYuan", "PingFang SC", "Microsoft YaHei", sans-serif;--font-en:"Arial Rounded MT Bold", "Varela Round", "Helvetica Rounded", "Arial", sans-serif;--radius:22px;--poster-bg:#e3f4ff;--poster-line:#e60012}[data-theme=dream-door] .cover{perspective:1400px}[data-theme=dream-door] .cover:before{content:"";opacity:.95;background:radial-gradient(60px 22px at 18% 12%,#fff 98%,#0000),radial-gradient(40px 26px at 24% 10%,#fff 98%,#0000),radial-gradient(70px 24px at 80% 20%,#fff 98%,#0000),radial-gradient(44px 28px at 75% 18%,#fff 98%,#0000);position:absolute;top:0;bottom:0;left:0;right:0}[data-theme=dream-door] .cover-panel.right{width:auto;box-shadow:0 0 0 10px var(--door-dark), 0 18px 0 6px #003c002e;background:radial-gradient(circle at 50% 55%,#fffbe6 0%,#ffe680 45%,#ffd200 100%);border-radius:8px 8px 0 0;display:block;top:12%;bottom:30%;left:15%;right:15%}[data-theme=dream-door] .cover-panel.left{z-index:2;background:var(--door);width:auto;box-shadow:inset 0 0 0 14px var(--door), inset 0 0 0 17px var(--door-dark);transform-origin:0;border-radius:8px 8px 0 0;transition:transform 1s cubic-bezier(.5,0,.3,1);display:block;top:12%;bottom:30%;left:15%;right:15%}[data-theme=dream-door] .cover-panel.left:after{content:"";background:radial-gradient(circle at 35% 35%, #fff6b0, var(--bell) 60%, #c9a400);border-radius:50%;width:22px;height:22px;position:absolute;top:52%;right:22px;box-shadow:0 2px 4px #00000040}[data-theme=dream-door] .cover-content{z-index:3;text-shadow:0 2px 0 var(--door-dark);margin-bottom:14vh}[data-theme=dream-door] .cover-kicker{letter-spacing:.12em;font-size:13px}[data-theme=dream-door] .cover-names{font-size:36px;font-weight:700}[data-theme=dream-door] .cover-names .amp{color:var(--bell)}[data-theme=dream-door] .cover-open{margin-top:36px}[data-theme=dream-door] .cover-open-label{color:var(--door-dark);letter-spacing:.2em;text-shadow:none;box-shadow:0 4px 0 var(--door-dark);background:#fff;border-radius:999px;padding:10px 26px;font-weight:700;animation:2s ease-in-out infinite seal-pulse}html[data-theme=dream-door].is-opening .cover-panel.left{transform:rotateY(-100deg)}html[data-theme=dream-door].is-opening .cover{opacity:0;transform-origin:50% 40%;transition:transform .9s ease-in .8s,opacity .5s 1.2s;transform:scale(2.6)}[data-theme=dream-door] .hero{background:linear-gradient(180deg, #d4efff, var(--bg) 75%)}[data-theme=dream-door] .hero-photo{border-radius:calc(var(--radius) + 8px);box-shadow:0 6px 0 var(--line);background:#fff;padding:8px;position:relative}[data-theme=dream-door] .hero-photo:before{content:"";background:var(--accent-2);border-radius:999px;height:14px;position:absolute;bottom:-9px;left:18%;right:18%}[data-theme=dream-door] .hero-photo:after{content:"";background:radial-gradient(circle at 50% 70%, #3a2a00 3px, transparent 3.5px), linear-gradient(180deg, transparent 38%, #3a2a00 38%, #3a2a00 44%, transparent 44%), radial-gradient(circle at 35% 30%, #fff6b0, var(--bell) 60%);border:2px solid #3a2a00;border-radius:50%;width:32px;height:32px;position:absolute;bottom:-30px;left:calc(50% - 16px)}[data-theme=dream-door] .hero-text{margin-top:48px}[data-theme=dream-door] .hero-names,[data-theme=dream-door] .sec-title{font-weight:700}[data-theme=dream-door] .names .amp{color:var(--accent-2)}[data-theme=dream-door] .sec-orn{border:3px solid var(--fg);background:#fff;border-top:0;border-radius:0 0 56px 56px;width:56px;height:26px}[data-theme=dream-door] .sec-sub{text-transform:none;letter-spacing:.15em}[data-theme=dream-door] .countdown,[data-theme=dream-door] .schedule{background:#e3f4ff}[data-theme=dream-door] .cd-cell,[data-theme=dream-door] .venue-card{border:3px solid var(--accent);box-shadow:0 5px 0 var(--accent)}[data-theme=dream-door] .cd-num{font-weight:700}[data-theme=dream-door] .tl-item:before{background:var(--bell);border:2px solid #3a2a00}[data-theme=dream-door] .timeline:before{background:var(--accent-2);opacity:1;width:3px;left:5px}[data-theme=dream-door] .gallery-item{box-shadow:0 5px 0 var(--line);border:4px solid #fff}[data-theme=dream-door] .btn{font-weight:700;box-shadow:0 4px #1576b3}[data-theme=dream-door] .btn.ghost{box-shadow:0 4px 0 var(--line);background:#fff}[data-theme=dream-door] .btn:active{transform:translateY(3px);box-shadow:0 1px #1576b3}[data-theme=dream-door] .footer{background:linear-gradient(180deg, var(--bg), #d4efff)}[data-theme=dream-door] .dd-art{width:100%;height:auto;display:block;overflow:visible}[data-theme=dream-door] .dd-char{cursor:pointer;outline:none;position:relative}[data-theme=dream-door] .dd-eyes{transform-box:fill-box;transform-origin:50%;animation:4.2s infinite dd-blink}[data-theme=dream-door] .dd-dorami .dd-eyes{animation-duration:5s;animation-delay:1.3s}[data-theme=dream-door] .dd-bell{transform-box:view-box;transform-origin:100px 170px;animation:2.6s ease-in-out infinite dd-bell}[data-theme=dream-door] .dd-whiskers{transform-box:fill-box;transform-origin:50%;animation:3.4s infinite dd-whisk}[data-theme=dream-door] .dd-arm-r{transform-box:view-box;transform-origin:144px 172px}[data-theme=dream-door] .dd-char.wave .dd-arm-r{animation:1.8s ease-in-out dd-wave}[data-theme=dream-door] .dd-char.jump{animation:.6s cubic-bezier(.3,1.6,.5,1) dd-jump}@keyframes dd-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes dd-bell{0%,to{transform:rotate(0)}25%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}@keyframes dd-whisk{0%,88%,to{transform:scaleX(1)}92%{transform:scaleX(1.06)}96%{transform:scaleX(.97)}}@keyframes dd-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-110deg)}40%,80%{transform:rotate(-145deg)}}@keyframes dd-jump{0%{transform:translateY(0)scale(1)}20%{transform:translateY(0)scale(1.08,.9)}50%{transform:translateY(-26px)scale(.95,1.06)}80%{transform:translateY(0)scale(1.05,.95)}to{transform:none}}[data-theme=dream-door] .dd-bubble{z-index:6;color:#1f3b57;white-space:nowrap;text-shadow:none;pointer-events:none;background:#fff;border:2.5px solid #222;border-radius:16px;padding:4px 12px;font-size:13px;font-weight:700;line-height:1.6;animation:.35s cubic-bezier(.3,1.6,.5,1) both dd-pop;position:absolute;bottom:100%;left:50%;translate:-50% -4px}[data-theme=dream-door] .dd-bubble:after{content:"";border:7px solid #0000;border-top-color:#222;margin-left:-7px;position:absolute;top:100%;left:50%}@keyframes dd-pop{0%{opacity:0;scale:.3}}[data-theme=dream-door] .dd-couple{justify-content:center;align-items:flex-end;gap:2px;display:flex}[data-theme=dream-door] .dd-couple .dd-char{width:96px}[data-theme=dream-door] .dd-hero-couple{margin-top:46px}[data-theme=dream-door] .dd-hero-couple+.hero-text{margin-top:18px}[data-theme=dream-door] .dd-footer-couple{margin-bottom:18px}[data-theme=dream-door] .dd-footer-couple .dd-char{width:84px}[data-theme=dream-door] .dd-footer-couple .dd-arm-r{animation:1.8s ease-in-out infinite dd-wave}[data-theme=dream-door] .dd-footer-couple .dd-char-dorami .dd-arm-r{animation-delay:.9s}[data-theme=dream-door] .dd-hearts{width:56px;height:90px;position:relative}[data-theme=dream-door] .dd-hearts i{bottom:6px;left:calc(var(--x) * 1%);opacity:0;animation:dd-heart 3s ease-in calc(var(--i) * .6s) infinite;font-style:normal;position:absolute}[data-theme=dream-door] .dd-hearts i:before{content:"♥";color:#ff5a7a;font-size:18px}@keyframes dd-heart{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translateY(-84px)scale(1.15)}}[data-theme=dream-door] .cover:before{animation:16s ease-in-out infinite alternate dd-clouds}@keyframes dd-clouds{0%{transform:translate(-5%)}to{transform:translate(5%)}}[data-theme=dream-door] .dd-cover-doraemon{z-index:4;width:30%;position:absolute;bottom:5%;right:4%}[data-theme=dream-door] .dd-cover-dorami{z-index:4;width:25%;position:absolute;bottom:6%;left:5%}[data-theme=dream-door] .dd-cover-dorami .dd-bubble{left:0;translate:0 -4px}[data-theme=dream-door] .dd-cover-dorami .dd-bubble:after{left:30%}[data-theme=dream-door] .dd-cover-doraemon .dd-bubble{left:auto;right:0;translate:0 -4px}[data-theme=dream-door] .dd-cover-doraemon .dd-bubble:after{left:70%}[data-theme=dream-door] .cover-mascot{width:22%;top:14px;bottom:auto;left:12px;right:auto}[data-theme=dream-door] .dd-glow{opacity:0;pointer-events:none;background:radial-gradient(circle,#fff 0%,#fffbd0 40%,#ffe67800 70%);border-radius:50%;width:30px;height:30px;margin:-15px;position:absolute;top:84%;left:50%}[data-theme=dream-door] .dd-shout{z-index:5;color:var(--door-dark);letter-spacing:.1em;opacity:0;pointer-events:none;background:#fff;border:3px solid #222;border-radius:20px;padding:6px 16px;font-size:22px;font-weight:800;position:absolute;bottom:30%;right:16%}[data-theme=dream-door] .dd-shout:after{content:"";border:9px solid #0000;border-top-color:#222;position:absolute;top:100%;right:26px}.cover.dd-intro .dd-cover-doraemon{animation:1.2s ease-out both dd-walk-in}.cover.dd-intro .dd-cover-doraemon .dd-art{animation:.3s ease-in-out 4 dd-step}.cover.dd-intro .dd-cover-doraemon .dd-arm-r{animation:1.8s ease-in-out 1.2s both dd-dig}.cover.dd-intro .dd-glow{animation:1.2s ease-out 1.35s both dd-glow}.cover.dd-intro .dd-shout{animation:1.5s 1.7s both dd-shout}.cover.dd-intro .dd-cover-dorami{animation:.7s cubic-bezier(.3,1.5,.5,1) .3s both dd-rise}.cover.dd-intro .cover-panel.left,.cover.dd-intro .cover-panel.right{transform-origin:94% 138%;animation:.9s cubic-bezier(.3,1.4,.5,1) 1.8s both dd-door-grow}.cover.dd-intro .cover-content{animation:.5s 2.6s both dd-fade-up}@keyframes dd-walk-in{0%{transform:translate(140%)}to{transform:none}}@keyframes dd-step{50%{transform:translateY(-7px)rotate(-4deg)}}@keyframes dd-dig{0%{transform:rotate(0)}18%,50%{transform:rotate(80deg)}72%,86%{transform:rotate(-150deg)}to{transform:rotate(0)}}@keyframes dd-glow{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(3)}to{opacity:0;transform:scale(6)}}@keyframes dd-shout{0%{opacity:0;transform:scale(.2)rotate(-12deg)}15%{opacity:1;transform:scale(1.15)rotate(4deg)}25%{transform:scale(1)rotate(0)}85%{opacity:1}to{opacity:0}}@keyframes dd-rise{0%{transform:translateY(120%)}to{transform:none}}@keyframes dd-door-grow{0%{opacity:0;transform:scale(.02)}15%{opacity:1}to{opacity:1;transform:none}}@keyframes dd-fade-up{0%{opacity:0;transform:translateY(12px)}}[data-theme=dream-door] .dd-burst{z-index:5;pointer-events:none;position:absolute;top:41%;left:50%}[data-theme=dream-door] .dd-burst i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffd200;width:16px;height:16px;margin:-8px;animation:.9s ease-out .3s both dd-burst;position:absolute}[data-theme=dream-door] .dd-burst i:nth-child(3n){background:#fff}[data-theme=dream-door] .dd-burst i:nth-child(3n+1){background:#ff8fb8}@keyframes dd-burst{0%{transform:rotate(var(--a)) translateY(0) scale(.3);opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(1.3);opacity:0}}[data-theme=dream-door] .countdown{--fg:#fff;--muted:#c9d8ff;--accent:#ffd200;color:#fff;background:#1b2a6b;overflow:hidden}[data-theme=dream-door] .countdown>:not(.dd-tunnel){position:relative}[data-theme=dream-door] .dd-tunnel{background:repeating-conic-gradient(from 0deg, #2c43a8 0 9deg, #1b2a6b 9deg 18deg);animation:40s linear infinite dd-spin;position:absolute;top:-60%;bottom:-60%;left:-60%;right:-60%}[data-theme=dream-door] .dd-tunnel:after{content:"";background:radial-gradient(circle,#fff6 0,#7896ff26 18%,#0000 40%);position:absolute;top:0;bottom:0;left:0;right:0}@keyframes dd-spin{to{transform:rotate(360deg)}}[data-theme=dream-door] .dd-tm-float{width:150px;margin:-6px auto 22px;animation:3s ease-in-out infinite dd-float}@keyframes dd-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-9px)rotate(-3deg)}}[data-theme=dream-door] .countdown .cd-cell{perspective:240px;background:#fff;border-color:#ffd200;box-shadow:0 5px #c9a400}[data-theme=dream-door] .countdown .cd-num{color:var(--btn-bg)}[data-theme=dream-door] .countdown .cd-label{color:#6b8aa6}[data-theme=dream-door] .cd-num.flip{animation:.45s ease-out dd-flip}@keyframes dd-flip{0%{opacity:.2;transform:rotateX(90deg)}to{opacity:1;transform:none}}[data-theme=dream-door] .countdown .btn.ghost{color:var(--btn-bg)}[data-theme=dream-door] .dd-tl-box{position:relative}[data-theme=dream-door] .timeline{padding-left:74px}[data-theme=dream-door] .timeline:before{left:30px}[data-theme=dream-door] .tl-item:before{left:-50px}[data-theme=dream-door] .dd-rider{z-index:2;will-change:transform;width:64px;transition:transform .15s linear;position:absolute;top:-14px;left:0}[data-theme=dream-door] .gallery-item.reveal{transform-origin:50% 100%;transition:opacity .5s,transform .7s cubic-bezier(.3,1.5,.5,1);transform:translateY(60px)scale(.5)}[data-theme=dream-door] .gallery-item.reveal.in{transform:none}[data-theme=dream-door] .gallery-item:nth-child(2n){transition-delay:.12s}[data-theme=dream-door] .sec-orn.dig{animation:.6s dd-dig-pocket}@keyframes dd-dig-pocket{0%,to{transform:none}25%{transform:scale(1.3,.8)rotate(-6deg)}50%{transform:scale(.9,1.2)rotate(6deg)}75%{transform:scale(1.1,.9)}}[data-theme=dream-door] .dd-progress{z-index:41;opacity:0;pointer-events:none;will-change:transform;width:34px;transition:opacity .4s;position:fixed;top:0;right:max(4px,50% - 236px)}html[data-theme=dream-door].is-open .dd-progress{opacity:.95}[data-theme=dream-door] .dd-prop{transform-box:fill-box;transform-origin:50%;animation:.16s linear infinite alternate dd-prop}@keyframes dd-prop{to{transform:scaleX(.15)}}[data-theme=dream-door] .dd-flyby{z-index:41;opacity:0;pointer-events:none;width:64px;margin-left:-32px;position:fixed;top:20%;left:50%}html[data-theme=dream-door].is-open .dd-flyby{animation:18s linear 3s infinite dd-flyby}[data-theme=dream-door] .dd-flyby .dd-copter{width:44px;margin:0 auto -10px}@keyframes dd-flyby{0%{opacity:1;transform:translate(-320px)rotate(10deg)}12%{transform:translateY(-36px)rotate(10deg)}24%{opacity:1;transform:translate(320px,8px)rotate(10deg)}24.1%,to{opacity:0;transform:translate(320px,8px)}}[data-theme=dream-door] .music-btn{color:#222;background:radial-gradient(circle at 35% 30%,#fff6b0,#ffd200 60%,#c9a400);border:2.5px solid #222}[data-theme=dream-door] .music-btn.playing{animation:1.2s ease-in-out infinite dd-bell}[data-theme=dream-door] .music-btn.playing .music-disc{animation:none}@media (prefers-reduced-motion:reduce){[data-theme=dream-door] *,[data-theme=dream-door] :before,[data-theme=dream-door] :after{animation:none!important}}
