@font-face{font-family:"851 GBai Marker";src:url(./851%20GBai%20%E9%A9%AC%E5%85%8B%E7%AC%94%E4%BD%93-BGGVMXjs.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Noto Sans SC,sans-serif;background-image:url(./bk-bosTezYM.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}:root{--blue: #4a90e2;--pink: #ff6b6b;--yellow: #ffd54f;--orange: #ff9f43;--mint: #4ecdc4;--green: #2e9e5b;--bg: #F6E9D3;--text: #333}.page-container{width:100%;height:100%;position:relative;overflow:hidden;display:none}.page-container.show{display:block}.page-wrapper{width:100%;height:100%;transition:transform .8s cubic-bezier(.25,.1,.25,1);will-change:transform}.page-section{width:100%;height:calc(var(--vh, 1vh) * 100);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent}.dot-nav{position:fixed;right:12px;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;gap:12px;opacity:0;transition:opacity .3s ease}.dot-nav.show{opacity:1}.dot-nav-item{width:10px;height:10px;border-radius:50%;background:#4a90e24d;border:2px solid var(--blue);cursor:pointer;transition:all .3s ease}.dot-nav-item.active{background:var(--blue);transform:scale(1.3)}.expired-page{display:none;width:100%;height:calc(var(--vh, 1vh) * 100);flex-direction:column;align-items:center;justify-content:center;background:transparent;padding:40px;text-align:center}.expired-page.show{display:flex}.expired-balloon{width:80px;height:80px;margin-bottom:24px;opacity:.6;transform:rotate(-15deg)}.expired-balloon img{width:100%;height:100%}.expired-text{font-family:ZCOOL KuaiLe,Noto Sans SC,sans-serif;font-size:40px;line-height:2;max-width:320px;text-align:center}.expired-text span{text-shadow:0 0 2px rgba(255,255,255,.9),1px 1px 2px rgba(90,50,20,.35)}.audio-toggle{position:fixed;top:calc(12px + env(safe-area-inset-top));right:12px;z-index:1000;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:var(--orange);box-shadow:0 2px 8px color-mix(in srgb,var(--orange) 35%,transparent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.audio-icon{width:18px;height:18px}.audio-toggle[data-state=playing] .audio-icon-slash{display:none}.audio-toggle[data-state=playing] .audio-icon{animation:audioSpin 4s linear infinite}@keyframes audioSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.audio-toggle[data-state=playing] .audio-icon{animation:none}}.loading-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#fff5e9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:5vh;transition:opacity .4s}.loading-page.hide{opacity:0;pointer-events:none}.loading-character{width:70vw;max-width:400px;object-fit:contain;margin-top:-20px;margin-bottom:32px}.loading-dialog-wrapper{position:relative;width:85vw;max-width:480px;opacity:0}.loading-dialog-bg{width:100%;display:block}.loading-dialog-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16% 12% 12%}.loading-dialog-text{font-family:Noto Sans SC,sans-serif;font-size:clamp(14px,4vw,18px);color:#5a3a1a;text-align:center;margin-bottom:16px;font-weight:700}.loading-buttons{display:flex;gap:40px;justify-content:center}.loading-btn{font-family:Fredoka,Noto Sans SC,sans-serif;font-size:clamp(13px,3.5vw,16px);padding:8px 22px;border:none;border-radius:24px;cursor:pointer;font-weight:600;transition:transform .1s,opacity .1s}.loading-btn--primary{background:#ff7043;color:#fff}.loading-btn--secondary{background:#ffb74d;color:#fff}.loading-btn:active{transform:scale(.95)}.scene-clock{display:flex;align-items:center;justify-content:center;overflow:hidden}.clock-title{position:absolute;left:50%;transform:translate(-50%);z-index:35;text-align:center;width:100%;opacity:0;transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.clock-title.show{opacity:1}.clock-title-top{top:calc(8% + env(safe-area-inset-top));font-family:"851 GBai Marker",Noto Sans SC,cursive;font-size:48px;font-weight:700;color:var(--pink);text-shadow:2px 2px 0 var(--yellow),4px 4px 0 rgba(255,107,107,.15);letter-spacing:4px;white-space:nowrap;transform:translate(-50%) translateY(-12px)}.clock-title-top.show{transform:translate(-50%) translateY(0)}.clock-title-bottom{bottom:calc(8% + env(safe-area-inset-bottom));font-family:"851 GBai Marker",Noto Sans SC,cursive;font-size:22px;font-weight:600;color:var(--blue);letter-spacing:2px;transform:translate(-50%) translateY(12px)}.clock-title-bottom.show{transform:translate(-50%) translateY(0)}.clock-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 12px rgba(212,175,55,.2))}.clock-svg{width:90vw;height:80vh;max-width:none;max-height:none}.clock-outline{stroke-dasharray:4 2}.clock-numbers text{font-family:"851 GBai Marker",cursive;text-rendering:geometricPrecision;-webkit-font-smoothing:none;filter:url(#chalkFilter)}#clockPointer{transform-origin:370px 230px;transition:transform .6s cubic-bezier(.4,0,.2,1)}.clock-photo{transition:opacity .4s ease-out,transform .4s ease-out;transform-origin:center}.clock-photo.show{opacity:1!important;animation:photoZoomIn .4s ease-out forwards}@keyframes photoZoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}#clockPointer.breathing{transition:none;animation:pointerBreathing 2s ease-in-out infinite}@keyframes pointerBreathing{0%,to{transform:rotate(var(--final-angle)) scale(1)}50%{transform:rotate(var(--final-angle)) scale(1.05)}}.pull-flower{position:absolute;top:10%;width:70px;height:75px;z-index:50;will-change:transform;transform:translateZ(0)}.pull-flower-left{left:-100px}.pull-flower-right{right:-100px}.pull-flower-body{width:100%;height:100%;position:relative}.pull-flower-body .honeycomb{width:55px;height:55px;position:absolute;bottom:0;left:50%;transform:translate(-50%);background:repeating-linear-gradient(-20deg,transparent,transparent 6px,rgba(255,255,255,.2) 6px,rgba(255,255,255,.2) 8px),linear-gradient(160deg,#ffe082,#ffb74d 40%,#f57c00);clip-path:polygon(50% 100%,2% 0%,98% 0%)}.pull-flower-body .honeycomb:before{content:"";position:absolute;top:20%;left:50%;transform:translate(-50%);width:7px;height:7px;background:#ffffffb3;border-radius:50%;box-shadow:-8px 10px #ffffff80,8px 8px #ffffff80,0 20px #fff6}.pull-flower-body .honeycomb:after{content:"";position:absolute;top:45%;left:50%;transform:translate(-50%);width:5px;height:5px;background:#fff6;border-radius:50%}.pull-flower-fringe{position:absolute;top:10px;left:50%;transform:translate(-50%);width:52px;height:18px;background:linear-gradient(180deg,#4e342e,#6d4c41,#5d4037);border-radius:50%;box-shadow:0 2px 4px #0000004d;z-index:2}.pull-flower-fringe:before{content:"";position:absolute;top:3px;left:50%;transform:translate(-50%);width:36px;height:10px;background:radial-gradient(ellipse,#3e2723,#4e342e);border-radius:50%}.ribbon-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:52}.ribbon-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible}.ribbon-svg path{fill:none;stroke-linecap:round;opacity:0}.confetti-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:45;opacity:0}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:1px;opacity:0;will-change:transform}.confetti-star{position:absolute;width:14px;height:14px;opacity:0;will-change:transform;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.balloon{position:fixed;bottom:-150px;left:50%;z-index:200;will-change:transform;transform:translateZ(0);opacity:0}.balloon-body{width:var(--bw, 50px);height:calc(var(--bw, 50px) * 1.15);border-radius:50%/45% 45% 55% 55%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.4) 0%,transparent 40%),var(--bc, var(--pink));position:relative;box-shadow:inset -6px -8px 12px #00000026}.balloon-body:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:10px;height:8px;background:var(--bc, var(--pink));border-radius:50%;filter:brightness(.7)}.balloon-string{position:absolute;top:100%;left:50%;transform:translate(-50%);width:1.5px;height:40px;background:linear-gradient(to bottom,#00000040,#00000026);transform-origin:top center;animation:string-swing 2.5s ease-in-out infinite}@keyframes string-swing{0%,to{transform:translate(-50%) rotate(-3deg)}50%{transform:translate(-50%) rotate(3deg)}}.puzzle-grid{position:absolute;width:250px;height:250px;top:60%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:0;z-index:45;overflow:visible}.puzzle-piece{width:125px;height:125px;position:relative;opacity:0;will-change:transform;transform:translateZ(0);overflow:visible}.puzzle-piece:nth-child(1){clip-path:path("M 18 0 Q 0 0 0 18 L 0 43 L 0 53 A 20 20 0 1 0 0 73 L 0 83 L 0 107 Q 0 125 18 125 L 43 125 L 53 125 A 20 20 0 1 0 73 125 L 83 125 L 107 125 Q 125 125 125 107 L 125 83 L 125 73 A 20 20 0 1 1 125 53 L 125 43 L 125 18 Q 125 0 107 0 L 83 0 L 73 0 A 20 20 0 1 1 53 0 L 43 0 L 18 0 Z")}.puzzle-piece:nth-child(1):before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(./puzzle1-BCTtqYuY.jpg) 150% 50% / 120% auto no-repeat;z-index:-1}.puzzle-piece:nth-child(2){clip-path:path("M 0 18 Q 0 0 18 0 L 43 0 L 53 0 A 20 20 0 1 1 73 0 L 83 0 L 107 0 Q 125 0 125 18 L 125 43 L 125 53 A 20 20 0 1 0 125 73 L 125 83 L 125 107 Q 125 125 107 125 L 83 125 L 73 125 A 20 20 0 1 0 53 125 L 43 125 L 18 125 Q 0 125 0 107 L 0 83 L 0 73 A 20 20 0 1 1 0 53 L 0 43 L 0 18 Z");transform:rotate(10deg)}.puzzle-piece:nth-child(2):before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(./puzzle2-BMg5B_nd.jpg) 5% 0% / 120% auto no-repeat;z-index:-1}.puzzle-piece:nth-child(3){clip-path:path("M 0 18 Q 0 0 18 0 L 43 0 L 53 0 A 20 20 0 1 0 73 0 L 83 0 L 107 0 Q 125 0 125 18 L 125 43 L 125 53 A 20 20 0 1 1 125 73 L 125 83 L 125 107 Q 125 125 107 125 L 83 125 L 73 125 A 20 20 0 1 1 53 125 L 43 125 L 18 125 Q 0 125 0 107 L 0 83 L 0 73 A 20 20 0 1 0 0 53 L 0 43 L 0 18 Z")}.puzzle-piece:nth-child(3):before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(./puzzle3-C1EtBMjW.jpg) 100% -35% / 110% auto no-repeat;z-index:-1}.puzzle-piece:nth-child(4){clip-path:path("M 0 18 Q 0 0 18 0 L 43 0 L 53 0 A 20 20 0 1 1 73 0 L 83 0 L 107 0 Q 125 0 125 18 L 125 43 L 125 53 A 20 20 0 1 1 125 73 L 125 83 L 125 107 Q 125 125 107 125 L 83 125 L 73 125 A 20 20 0 1 0 53 125 L 43 125 L 18 125 Q 0 125 0 107 L 0 83 L 0 73 A 20 20 0 1 0 0 53 L 0 43 L 0 18 Z")}.puzzle-piece:nth-child(4):before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(./puzzle4-h3bF0VFn.jpg) 100% 20% / 100% auto no-repeat;z-index:-1}.banner{position:absolute;top:calc(15% + env(safe-area-inset-top));left:0;width:100%;height:220px;z-index:50;opacity:0;will-change:transform}.banner-rope{position:absolute;top:15px;left:0;width:100%;height:100%;pointer-events:none}.banner-rope svg{width:100%;height:100%}.banner-rope:before,.banner-rope:after{content:"";position:absolute;top:12px;width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 2px 4px #0003;z-index:10}.banner-rope:before{left:8px}.banner-rope:after{right:8px}.banner-flag{position:absolute;height:96px;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);transform-origin:top center;display:flex;align-items:center;justify-content:center;padding-bottom:12px;font-size:24px;font-family:Fredoka,Comic Sans MS,Arial Rounded MT Bold,sans-serif;font-weight:700;color:#fff;text-shadow:2px 2px 3px rgba(0,0,0,.3);letter-spacing:1px}.invitation-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 30px;background:transparent}.invitation-cars{display:flex;justify-content:space-between;align-items:flex-end;width:100%;max-width:400px;position:relative;height:60px}.invitation-car{width:60px;height:60px;opacity:0;background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0}.left-car{background-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20class='icon'%20width='200px'%20height='200.00px'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M551%20217.9H383.9c-30.4%200-55.1%2024.7-55.1%2055.1v221.4H134.1c-30.4%200-55.1%2024.7-55.1%2055.1v172.6h499.5V245.3c0.1-15.1-12.2-27.4-27.5-27.4z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M79.1%20663.4h499.5v58.7H79.1z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M955.3%20596.6l-55.1-169c-1.8-5.7-7.1-9.5-13.1-9.5h-47.7c-38%200-68.9%2030.9-68.9%2068.9v26.8l-66.9%2066.9-111.2-111.2h-0.1V354.3c0-7.6-6.2-13.8-13.8-13.8-7.6%200-13.8%206.2-13.8%2013.8v354.1h-28.5c-6.7-47.7-47.8-84.5-97.3-84.5s-90.5%2036.8-97.3%2084.5h-25.8c-6.7-47.7-47.8-84.5-97.3-84.5s-90.5%2036.8-97.3%2084.5H92.8v-16.1c0-7.6-6.2-13.8-13.8-13.8s-13.8%206.2-13.8%2013.8v29.9c0%207.6%206.2%2013.8%2013.8%2013.8h42.3c6.7%2047.7%2047.8%2084.5%2097.3%2084.5s90.5-36.8%2097.3-84.5h25.8c6.7%2047.7%2047.8%2084.5%2097.3%2084.5s90.5-36.8%2097.3-84.5h42.3c7.6%200%2013.8-6.2%2013.8-13.8V612.3L674%20694c15.9%2015.9%2042.5%2015.9%2058.4%200l84-83.3c7.2%202.5%2014.9%203.9%2022.9%203.9h102.8c9.3%200.1%2016.1-9.2%2013.2-18z'%20/%3e%3cpath%20d='M79.1%20632.5c7.6%200%2013.8-6.2%2013.8-13.8v-69.3c0-22.8%2018.5-41.3%2041.3-41.3h194.7c7.6%200%2013.8-6.2%2013.8-13.8V272.9c0-22.8%2018.5-41.3%2041.3-41.3h167c7.6%200%2013.8%206.2%2013.8%2013.8v35.4c0%207.6%206.2%2013.8%2013.8%2013.8s13.8-6.2%2013.8-13.8v-35.4c0-22.8-18.5-41.3-41.3-41.3H383.9c-38%200-68.9%2030.9-68.9%2068.9v207.6h-64.3v-79h8.3c7.6%200%2013.8-6.2%2013.8-13.8V340c0-7.6-6.2-13.8-13.8-13.8h-80.8c-7.6%200-13.8%206.2-13.8%2013.8v47.8c0%207.6%206.2%2013.8%2013.8%2013.8h8.3v79h-52.3c-38%200-68.9%2030.9-68.9%2068.9v69.3c0%207.5%206.1%2013.7%2013.8%2013.7z'%20/%3e%3cpath%20d='M792.3%20596c-11.9-11.1-19.8-26.4-21.4-43.5l-26.4%2026.4%2032.5%2032.5%2015.3-15.4z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M776.954%20611.36L755.6%20632.714l-32.456-32.456%2021.354-21.354z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M639.3%20555.3L606.6%20588c27.8%2027.5%2087%2086.5%2087%2086.5%205.3%205.3%2014.2%205.3%2019.5%200l22.7-22.7-96.5-96.5z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M592.4%20508.4v65.8c0.3%200.1%205.8%205.6%2014.2%2013.8l32.7-32.7-46.9-46.9z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M824.7%20487v58.8c0%2016.5%207.2%2031.2%2018.7%2041.3h79.9l-46.1-141.4h-33.8c-11.5%2010.1-18.7%2024.9-18.7%2041.3z'%20fill='%23999999'%20/%3e%3cpath%20d='M798.1%20487v58.8c0%2022.8%2018.5%2041.3%2041.3%2041.3h4c-11.4-10.1-18.7-24.9-18.7-41.3V487c0-16.5%207.2-31.2%2018.7-41.3h-4c-22.8%200-41.3%2018.5-41.3%2041.3z'%20fill='%23808080'%20/%3e%3cpath%20d='M548.3%20259.3c0-7.6-6.2-13.8-13.8-13.8H400.4c-22.8%200-41.3%2018.5-41.3%2041.3v207.5c0%207.6%206.2%2013.8%2013.8%2013.8h161.6c7.6%200%2013.8-6.2%2013.8-13.8v-235z'%20/%3e%3cpath%20d='M211.7%20353.9h33.5v20.2h-33.5z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M192%20353.9h19.7v20.2H192z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M439%20792.8c-39%200-70.7-31.7-70.7-70.7s31.7-70.7%2070.7-70.7%2070.7%2031.7%2070.7%2070.7-31.7%2070.7-70.7%2070.7zM218.6%20792.8c-39%200-70.7-31.7-70.7-70.7s31.7-70.7%2070.7-70.7%2070.7%2031.7%2070.7%2070.7-31.7%2070.7-70.7%2070.7z'%20fill='%23666666'%20/%3e%3cpath%20d='M439%20667.9c-29.9%200-54.2%2024.3-54.2%2054.2s24.3%2054.2%2054.2%2054.2c29.9%200%2054.2-24.3%2054.2-54.2s-24.3-54.2-54.2-54.2zM218.6%20667.9c-29.9%200-54.2%2024.3-54.2%2054.2s24.3%2054.2%2054.2%2054.2c29.9%200%2054.2-24.3%2054.2-54.2s-24.3-54.2-54.2-54.2zM694.3%20662.4h9.2c7.6%200%2013.8-6.2%2013.8-13.8%200-7.6-6.2-13.8-13.8-13.8h-9.2c-7.6%200-13.8%206.2-13.8%2013.8%200%207.6%206.2%2013.8%2013.8%2013.8z'%20/%3e%3cpath%20d='M214%20401.6h9.2v79H214z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M520.7%20480.6h-134V286.8c0-7.6%206.2-13.8%2013.8-13.8h120.3l-0.1%20207.6z'%20fill='%23999999'%20/%3e%3cpath%20d='M218.6%20748.7c-14.7%200-26.6-11.9-26.6-26.6s11.9-26.6%2026.6-26.6c14.7%200%2026.6%2011.9%2026.6%2026.6%200.1%2014.7-11.9%2026.6-26.6%2026.6zM439%20748.7c-14.7%200-26.6-11.9-26.6-26.6s11.9-26.6%2026.6-26.6c14.7%200%2026.6%2011.9%2026.6%2026.6s-11.9%2026.6-26.6%2026.6z'%20fill='%23F2F2F2'%20/%3e%3cpath%20d='M413.3%20548.5c7.6%200%2013.8-6.2%2013.8-13.8%200-7.6-6.2-13.8-13.8-13.8h-40.4c-7.6%200-13.8%206.2-13.8%2013.8%200%207.6%206.2%2013.8%2013.8%2013.8h40.4zM241.6%20582.5c0%207.6%206.2%2013.8%2013.8%2013.8h275.5c7.6%200%2013.8-6.2%2013.8-13.8%200-7.6-6.2-13.8-13.8-13.8H255.4c-7.6%200-13.8%206.2-13.8%2013.8zM119.5%20568.7c-7.6%200-13.8%206.2-13.8%2013.8s6.2%2013.8%2013.8%2013.8h77.1c7.6%200%2013.8-6.2%2013.8-13.8s-6.2-13.8-13.8-13.8h-77.1z'%20/%3e%3c/svg%3e");transform:translateY(8px)}.right-car{background-image:url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20class='icon'%20width='200px'%20height='200.00px'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M567.3%20784l310.2-627.9V85.9L567.3%20628.8h-66.5V784z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M877.5%20156.1V85.9L776.7%20262.4l31.4%2034.3zM567.3%20628.8h-66.5V784h66.5l58.8-119-33.9-79.7z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M600.5%20784H164.7c-44.9%200-81.3%2036.4-81.3%2081.3s36.4%2081.3%2081.3%2081.3h435.8c44.9%200%2081.3-36.4%2081.3-81.3%200-45-36.4-81.3-81.3-81.3z'%20fill='%23808080'%20/%3e%3cpath%20d='M944%20445.1c-7.6%200-13.9%206.2-13.9%2013.9%200%2022.9-18.6%2041.6-41.6%2041.6-22.9%200-41.6-18.6-41.6-41.6%200-22.9%2018.6-41.6%2041.6-41.6%207.6%200%2013.9-6.2%2013.9-13.9V362H920c7.7%200%2013.9-6.2%2013.9-13.9s-6.2-13.9-13.9-13.9h-17.5V201.8c31.6-6.4%2055.4-34.4%2055.4-67.9%200-38.2-31.1-69.2-69.3-69.2-38.2%200-69.3%2031.1-69.3%2069.3%200%207.1%201.1%2014%203.1%2020.5L774.7%20238c-3.5%206-1.8%2014%203.9%2018.1%206.6%204.8%2016.2%202.8%2020.2-4.3l39.9-69.8c2.3%202.4%204.8%204.6%207.4%206.7l-265%20536v-92.2l192.3-336.6c3.8-6.6%201.5-15.1-5.2-18.9-6.6-3.8-15.1-1.5-18.9%205.2L559.3%20615H433.4V505.1c0-53.5-43.5-97-97-97H225.7c-22.9%200-41.6%2018.6-41.6%2041.6v320.4h-19.4c-52.4%200-95.1%2042.7-95.1%2095.1%200%2052.4%2042.7%2095.1%2095.1%2095.1h302.9c7.6%200%2013.9-6.2%2013.9-13.9s-6.2-13.9-13.9-13.9H164.7c-37.2%200-67.4-30.2-67.4-67.4s30.2-67.4%2067.4-67.4h435.8c37.2%200%2067.4%2030.2%2067.4%2067.4s-30.2%2067.4-67.4%2067.4h-73.9c-7.6%200-13.9%206.2-13.9%2013.9s6.2%2013.9%2013.9%2013.9h73.9c52.4%200%2095.1-42.7%2095.1-95.1%200-52.4-42.7-95.1-95.1-95.1h-10.9l281.3-569.3c1.3%200.3%202.6%200.7%203.9%200.9v132.5h-17.5c-7.6%200-13.9%206.2-13.9%2013.9s6.2%2013.9%2013.9%2013.9h17.5v29.1c-31.6%206.4-55.4%2034.4-55.4%2067.9%200%2038.2%2031.1%2069.3%2069.3%2069.3%2038.2%200%2069.3-31.1%2069.3-69.3-0.1-7.7-6.3-13.9-14-13.9z'%20/%3e%3cpath%20d='M651.3%20865.2c0-28-22.8-50.8-50.8-50.8H164.7c-28%200-50.8%2022.8-50.8%2050.8%200%2028%2022.8%2050.8%2050.8%2050.8h435.8c28%200%2050.8-22.8%2050.8-50.8z'%20/%3e%3cpath%20d='M164.7%20902.1c-20.4%200-36.9-16.6-36.9-36.9%200-20.4%2016.6-36.9%2036.9-36.9h435.8c20.4%200%2036.9%2016.6%2036.9%2036.9%200%2020.4-16.6%2036.9-36.9%2036.9H164.7z'%20/%3e%3cpath%20d='M141.6%20865.2c0-12.7%2010.4-23.1%2023.1-23.1h435.8c12.7%200%2023.1%2010.4%2023.1%2023.1%200%2012.7-10.4%2023.1-23.1%2023.1H164.7c-12.7%200-23.1-10.4-23.1-23.1z'%20fill='%23CCCCCC'%20/%3e%3cpath%20d='M211.8%20449.7c0-7.6%206.2-13.9%2013.9-13.9h110.8c38.2%200%2069.3%2031.1%2069.3%2069.3v123.7c0%207.7%206.2%2013.9%2013.9%2013.9h133.9v127.4H211.8V449.7zM888.6%2092.4c22.9%200%2041.6%2018.6%2041.6%2041.6s-18.6%2041.5-41.6%2041.5-41.6-18.6-41.6-41.6c0.1-22.9%2018.7-41.5%2041.6-41.5z'%20fill='%23F7D04A'%20/%3e%3cpath%20d='M888.6%20133.9m-22.2%200a22.2%2022.2%200%201%200%2044.4%200%2022.2%2022.2%200%201%200-44.4%200Z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M212%20732.9h341.3v37.4H212z'%20fill='%23F3B41B'%20/%3e%3cpath%20d='M336.5%20452.5h-94.2c-7.6%200-13.9%206.2-13.9%2013.9v162.5c0%207.7%206.2%2013.9%2013.9%2013.9h133c7.6%200%2013.9-6.2%2013.9-13.9V505.1c-0.1-29-23.7-52.6-52.7-52.6z'%20/%3e%3cpath%20d='M361.4%20615H256.1V480.2h80.3c13.7%200%2024.9%2011.2%2024.9%2024.9l0.1%20109.9z'%20fill='%23FFFFFF'%20/%3e%3cpath%20d='M441.7%20683.3H523c7.6%200%2013.9-6.2%2013.9-13.9s-6.2-13.9-13.9-13.9h-81.3c-7.6%200-13.9%206.2-13.9%2013.9s6.3%2013.9%2013.9%2013.9zM523%20699.9h-81.3c-7.6%200-13.9%206.2-13.9%2013.9s6.2%2013.9%2013.9%2013.9H523c7.6%200%2013.9-6.2%2013.9-13.9-0.1-7.7-6.3-13.9-13.9-13.9zM286.6%20655.6h-44.3c-7.6%200-13.9%206.2-13.9%2013.9s6.2%2013.9%2013.9%2013.9h44.3c7.6%200%2013.9-6.2%2013.9-13.9-0.1-7.7-6.3-13.9-13.9-13.9z'%20/%3e%3cpath%20d='M164.7%20828.3c-20.4%200-36.9%2016.6-36.9%2036.9%200%2020.4%2016.6%2036.9%2036.9%2036.9h220l-99.3-73.9-120.7%200.1z'%20/%3e%3c/svg%3e");transform:scaleX(-1)}.left-car.active{animation:car-slide-left 2s ease-in-out .5s forwards}.right-car.active{animation:car-slide-right 2s ease-in-out .5s forwards}@keyframes car-slide-left{0%{opacity:0;transform:translateY(8px) translate(0)}10%{opacity:.9}to{opacity:.9;transform:translateY(8px) translate(40px)}}@keyframes car-slide-right{0%{opacity:0;transform:scaleX(-1) translate(0)}10%{opacity:.9}to{opacity:.9;transform:scaleX(-1) translate(40px)}}.invitation-title{font-family:"851 GBai Marker",cursive;font-size:36px;font-weight:400;color:var(--pink);text-align:center;letter-spacing:4px;position:relative;text-rendering:geometricPrecision;-webkit-font-smoothing:none}.invitation-card{background:#fffffff2;border-radius:20px;padding:40px 30px;box-shadow:0 8px 24px #0000001a;max-width:320px;width:100%;text-align:center;position:relative;border:2px solid rgba(245,200,66,.3);margin-top:20px;opacity:0;transform:scaleY(0);transform-origin:top center}.invitation-card.active{animation:scroll-unfold 1.2s ease-out 1s forwards}@keyframes scroll-unfold{0%{opacity:0;transform:scaleY(0)}50%{opacity:1}to{opacity:1;transform:scaleY(1)}}.invitation-text{font-family:Noto Sans SC,sans-serif;font-size:16px;line-height:1.8;color:#555;margin-bottom:20px;font-weight:400}.invitation-text:last-child{margin-bottom:0}.highlight-name{font-size:24px;font-weight:700;color:var(--yellow);display:inline-block;margin:8px 0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.invitation-divider{margin-top:40px;width:80px;height:3px;background:linear-gradient(90deg,transparent,var(--blue),transparent);border-radius:2px}.info-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:transparent;overflow:visible}.info-title{text-align:center;position:relative;margin-bottom:10px;opacity:0;transform:translate(-50px)}.info-title-svg{width:100%;max-width:300px;height:auto;display:block;margin:0 auto}.info-card{background:#fffdf7;border-radius:12px 18px 15px 20px;padding:30px 25px;max-width:320px;width:100%;position:relative;transform:rotate(-1.5deg);box-shadow:0 2px 8px #00000014,0 8px 20px #0000000f;border:2px dashed rgba(74,144,226,.3);margin-top:20px;opacity:0;transform:rotate(-1.5deg) translateY(50px)}.info-card:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%) rotate(-3deg);width:80px;height:24px;background:#ffd54f99;border-radius:2px;box-shadow:inset 0 1px 2px #0000001a}.info-card:after{content:"";position:absolute;top:15px;right:15px;width:12px;height:12px;background:radial-gradient(circle at 35% 35%,#ff9f43,#ff6b6b);border-radius:50%;box-shadow:0 2px 4px #0003,inset -1px -1px 2px #00000026}.info-row{display:flex;align-items:flex-start;margin-bottom:24px;opacity:0;transform:translateY(20px)}.info-row:last-child{margin-bottom:0}.info-icon{flex-shrink:0;width:36px;height:36px;margin-right:12px;opacity:0}.info-icon svg,.info-icon img{width:100%;height:100%;object-fit:contain}.info-content{flex:1}.info-label{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:var(--blue);margin-bottom:4px}.info-detail{font-family:Noto Sans SC,sans-serif;font-size:14px;line-height:1.6;color:var(--text)}.countdown-wrapper{margin-top:24px;text-align:center;opacity:0;transform:scale(.8)}.countdown-label{font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:var(--orange);margin-bottom:12px}.countdown-blocks{display:flex;justify-content:center;gap:8px}.countdown-block{background:#fff;border:2px solid rgba(255,159,67,.3);border-radius:8px;padding:8px 12px;min-width:50px;box-shadow:0 2px 4px #0000000f,inset 0 1px #fffc;transform:rotate(-1deg)}.countdown-block:nth-child(2){transform:rotate(1deg)}.countdown-block:nth-child(3){transform:rotate(-.5deg)}.countdown-number{font-family:Fredoka,sans-serif;font-size:24px;font-weight:700;color:var(--pink);line-height:1}.countdown-unit{font-family:Noto Sans SC,sans-serif;font-size:11px;color:#999;margin-top:4px}.info-nav-button{margin-top:30px;padding:12px 32px;background:var(--mint);border:3px solid var(--text);border-radius:20px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#fff;cursor:pointer;box-shadow:4px 4px #0000001a,inset 0 2px #ffffff4d;transition:all .2s ease;opacity:0;transform:translateY(20px)}.info-nav-button:hover{transform:translateY(20px) rotate(-2deg) scale(1.05);box-shadow:6px 6px #0000001f,inset 0 2px #ffffff4d}.info-doodles{position:absolute;bottom:5%;left:0;width:100%;height:80px;pointer-events:none;opacity:0}.doodle-star,.doodle-heart{position:absolute;opacity:0}.doodle-star svg,.doodle-heart svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.blessing-container{position:relative;width:100%;height:90%;max-height:calc(var(--vh, 1vh) * 90);display:flex;flex-direction:column;align-items:center;padding:30px 20px calc(20px + env(safe-area-inset-bottom,0px));overflow:hidden;pointer-events:auto}.blessing-title{text-align:center;margin-bottom:24px;opacity:0;transform:translateY(-30px)}.blessing-title-svg{width:100%;max-width:300px;height:50px;display:block;margin:0 auto}.blessing-board{position:relative;width:100%;max-width:360px;flex:1;background:#faf6ed;border-radius:12px;padding:20px 16px;box-shadow:inset 0 2px 8px #00000014,0 4px 12px #0000001a;border:3px solid #e8dcc8;overflow:hidden}.blessing-notes-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.blessing-notes{display:flex;flex-wrap:wrap;gap:16px;padding:10px 5px;justify-content:center;align-content:flex-start;height:100%}.blessing-note{--rotation: 0deg;position:relative;width:calc(50% - 12px);background:#fffdf7;border-radius:6px 8px 6px 10px;padding:20px 14px 16px;box-shadow:0 2px 6px #0000001f,0 6px 16px #00000014;border:2px solid;opacity:0;transform:translateY(30px) scale(.9) rotate(var(--rotation));transition:transform .2s ease;cursor:pointer}.blessing-note:hover{transform:translateY(-2px) scale(1.02) rotate(var(--rotation))!important;box-shadow:0 4px 10px #00000026,0 8px 20px #0000001a}.blessing-note.color-pink{border-color:#ff6b6b66}.blessing-note.color-blue{border-color:#4a90e266}.blessing-note.color-yellow{border-color:#ffd54f66}.blessing-note.color-orange{border-color:#ff9f4366}.blessing-note.color-mint{border-color:#4ecdc466}.blessing-note:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:10px;height:10px;border-radius:50%;box-shadow:0 2px 4px #00000040,inset -1px -1px 2px #0003}.blessing-note.color-pink:before{background:radial-gradient(circle at 35% 35%,#ff6b6b,#ff4757)}.blessing-note.color-blue:before{background:radial-gradient(circle at 35% 35%,#4a90e2,#357abd)}.blessing-note.color-yellow:before{background:radial-gradient(circle at 35% 35%,#ffd54f,#ffc107)}.blessing-note.color-orange:before{background:radial-gradient(circle at 35% 35%,#ff9f43,#ff7f11)}.blessing-note.color-mint:before{background:radial-gradient(circle at 35% 35%,#4ecdc4,#3bb3ab)}.blessing-text{font-family:ZCOOL KuaiLe,sans-serif;font-size:15px;line-height:1.6;color:#444;word-break:break-word;text-align:center}.blessing-note.empty-placeholder{border-style:dashed;border-width:2px;background:#fffdf799;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.blessing-note.empty-placeholder:hover{opacity:1;transform:translateY(-4px) scale(1.05) rotate(var(--rotation))!important;border-style:solid;background:#fffdf7}.blessing-note.empty-placeholder .empty-text{color:#aaa;font-family:ZCOOL KuaiLe,sans-serif;font-size:16px;line-height:1.8;display:flex;flex-direction:column;align-items:center;gap:6px}.blessing-note.empty-placeholder .empty-pencil{width:28px;height:28px;opacity:.6}.blessing-author{font-family:Noto Sans SC,sans-serif;font-size:12px;color:#999;text-align:right;margin-top:8px;font-style:italic}.blessing-input-area{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:250;opacity:0;display:none;align-items:flex-end;justify-content:center;pointer-events:auto}.blessing-input-wrapper{display:flex;gap:10px;align-items:center;max-width:500px;width:100%;box-sizing:border-box;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -2px 12px #0000001a;border-top:2px solid rgba(74,144,226,.2)}.blessing-input{flex:1;min-width:0;padding:12px 16px;border:2px solid rgba(74,144,226,.3);border-radius:20px;font-family:Noto Sans SC,sans-serif;font-size:14px;color:var(--text);background:#fff;outline:none;transition:all .3s ease;box-shadow:inset 0 2px 4px #0000000d}.blessing-input:focus{border-color:var(--blue);box-shadow:inset 0 2px 4px #0000000d,0 0 0 3px #4a90e21a}.blessing-input::placeholder{color:#bbb}.blessing-submit-btn{flex-shrink:0;padding:12px 24px;background:var(--orange);border:3px solid var(--text);border-radius:20px;font-family:Fredoka,sans-serif;font-size:15px;font-weight:600;color:#fff;cursor:pointer;box-shadow:4px 4px #0000001a,inset 0 2px #ffffff4d;transition:all .2s ease;white-space:nowrap}.blessing-submit-btn:hover{transform:rotate(-2deg) scale(1.05);box-shadow:6px 6px #0000001f,inset 0 2px #ffffff4d}.blessing-submit-btn:active{transform:rotate(-2deg) scale(.98);box-shadow:2px 2px #0000001f,inset 0 2px #ffffff4d}.blessing-input.shake{animation:shake .4s ease;border-color:var(--pink)}.map-nav-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#0000;transition:background .25s ease}.map-nav-mask.visible{background:#00000073}.map-nav-sheet{width:100%;max-width:420px;margin:0 12px 12px;padding:20px 18px calc(18px + env(safe-area-inset-bottom));background:#fffdf7;border:3px solid var(--text);border-radius:24px;box-shadow:5px 5px #0000001f;transform:translateY(120%);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.map-nav-mask.visible .map-nav-sheet{transform:translateY(0)}.map-nav-header{text-align:center;font-family:ZCOOL KuaiLe,Noto Sans SC,sans-serif;font-size:18px;color:var(--text);margin-bottom:16px}.map-nav-options{display:flex;flex-direction:column;gap:12px}.map-nav-option{width:100%;padding:14px;background:#fff;border:2.5px solid var(--text);border-radius:16px;font-family:Noto Sans SC,sans-serif;font-size:16px;font-weight:500;color:var(--text);cursor:pointer;box-shadow:3px 3px #0000001a;transition:transform .15s ease,box-shadow .15s ease}.map-nav-option:active{transform:translate(2px,2px);box-shadow:1px 1px #0000001a}.map-nav-option.primary{background:var(--mint);color:#fff;font-weight:600}.map-nav-cancel{width:100%;margin-top:16px;padding:12px;background:transparent;border:none;font-family:Noto Sans SC,sans-serif;font-size:15px;color:#999;cursor:pointer}.map-nav-toast{position:fixed;left:50%;bottom:15%;z-index:1200;max-width:80%;padding:10px 20px;background:#000c;border-radius:20px;font-family:Noto Sans SC,sans-serif;font-size:14px;color:#fff;text-align:center;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.map-nav-toast.visible{opacity:1;transform:translate(-50%)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}
