:root{--bg:#f7f4ef;--paper:#fffdfa;--text:#2b2823;--text-soft:#574f45;--line:#e7e0d6;--point:#c9a87c;--point-soft:#e9d9c4;--pink:#e8c7c8;--green:#cdd8c5;--maxw:460px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{color:var(--text);letter-spacing:-.01em;background:#ded8cf;font-family:Noto Sans KR,sans-serif;font-weight:400;line-height:1.8}.wrap{max-width:var(--maxw);background:var(--bg);margin:0 auto;overflow:hidden;box-shadow:0 0 40px #00000014}.serif{font-family:Nanum Myeongjo,serif}.script{font-family:Italianno,cursive}.topbar{width:100%;max-width:var(--maxw);z-index:500;-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#f7f4efd1;border-bottom:1px solid #e7e0d6b3;transition:transform .35s,opacity .35s;position:fixed;top:0;left:50%;transform:translate(-50%,-100%)}.topbar.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.sound-fab{z-index:1200;cursor:pointer;width:42px;height:42px;color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:16px;right:16px;box-shadow:0 3px 12px #0000002e}body.rsvp-open .sound-fab,body.rsvp-open .topbar{display:none}.topbar-head{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.topbar-btn{cursor:pointer;width:36px;height:36px;color:var(--text-soft);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.topbar-names{letter-spacing:.12em;color:var(--text);font-family:Nanum Myeongjo,serif;font-size:15px}.topbar-names em{color:var(--pink);margin:0 2px;font-style:normal}.topbar-rotate{animation:.5s topbar-rot}@keyframes topbar-rot{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.topbar-notice{text-align:center;white-space:nowrap;letter-spacing:-.02em;color:var(--text-soft);border-top:1px solid #e7e0d680;margin:0;padding:7px 10px;font-size:clamp(8px,2.85vw,12px);line-height:1.4}.label,.sub-label,.cal-date,.venue-name,.venue-hall,.dday,.gal-count,.topbar-names,.fcover-info{white-space:nowrap}.menu-overlay{width:100%;max-width:var(--maxw);z-index:960;-webkit-backdrop-filter:blur(3px);background:#f7f4efed;flex-direction:column;justify-content:center;align-items:center;height:100%;animation:.2s rsvp-fade;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.menu-close{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:14px;left:16px}.menu-title{letter-spacing:.2em;color:var(--point);text-align:center;margin:0 0 22px;font-family:Nanum Myeongjo,serif;font-size:15px}.menu-list{flex-direction:column;align-items:center;display:flex}.menu-list button{cursor:pointer;color:var(--text);letter-spacing:.04em;background:0 0;border:0;padding:11px 24px;font-family:Nanum Myeongjo,serif;font-size:16px}.menu-list button:active{color:var(--point)}section{padding:70px 28px;position:relative}.label{color:var(--point);text-align:center;margin:0 0 6px;font-family:Italianno,cursive;font-size:32px;line-height:1}.sub-label{text-align:center;letter-spacing:.35em;color:var(--text-soft);text-transform:uppercase;margin:0 0 36px;font-size:clamp(10.5px,3.2vw,12px)}.reveal{opacity:0;transition:opacity 1s,transform 1s;transform:translateY(28px)}.reveal.on{opacity:1;transform:none}.vcover{background:#111;min-height:100dvh;padding:0;position:relative;overflow:hidden}.vcover-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.vcover-bottom{text-align:center;color:#fff;text-shadow:0 1px 12px #00000080;position:absolute;bottom:30px;left:0;right:0}.vcover-names{letter-spacing:.35em;margin:0;font-family:Nanum Myeongjo,serif;font-size:16px}.vcover-date{letter-spacing:.28em;opacity:.92;margin:8px 0 0;font-size:12px}.vcover .scroll-hint{color:#ffffffd9;margin-top:16px}.vcover-intro{z-index:999;background:radial-gradient(120% 80% at 50% 25%, var(--paper) 0%, #f2ebdf 100%);flex-direction:column;justify-content:center;align-items:center;gap:28px;transition:opacity 1s;display:flex;position:fixed;inset:0}.vcover-intro.out{opacity:0;pointer-events:none}.vcover-intro-script{color:var(--point);text-align:center;margin:0;font-family:Italianno,cursive;font-size:56px;line-height:1.15}.vcover-spinner{border:2px solid #c9a87c38;border-top-color:#c9a87cd9;border-radius:50%;width:22px;height:22px;animation:1s linear infinite vspin}@keyframes vspin{to{transform:rotate(360deg)}}.fcover{background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:40px 20px 44px;display:flex}.pola-row{justify-content:center;align-items:stretch;width:100%;display:flex}.pola-card{background:#fff;flex:1;min-width:0;max-width:300px;padding:14px 14px 0;box-shadow:0 12px 32px #0000001f}.pola-card video{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.pola-script{color:var(--point);margin:0;padding:18px 0 26px;font-family:Dancing Script,cursive;font-size:28px;font-weight:500;line-height:1}.pola-names{writing-mode:vertical-rl;text-align:left;letter-spacing:.28em;color:var(--text);margin:0 0 0 14px;padding-top:46px;font-family:Nanum Myeongjo,serif;font-size:14px}.fcover-info{letter-spacing:.08em;color:var(--text);margin:26px 0 0;font-size:clamp(11.5px,3.6vw,13.5px);line-height:2}.fcover .scroll-hint{color:var(--text-soft);margin-top:22px}.fcover-intro{z-index:999;touch-action:none;overscroll-behavior:none;background:#2d2a26bd;flex-direction:column;justify-content:center;align-items:center;gap:30px;transition:opacity 1s;display:flex;position:fixed;inset:0}.fcover-intro.out{opacity:0;pointer-events:none}.fcover-hand{color:#fff;margin:0;font-family:Dancing Script,cursive;font-size:42px;font-weight:500;line-height:1.4}.fcover-hand span{clip-path:inset(-10% 100% -10% 0);animation:1.2s ease-out forwards hand-write;display:block}.fcover-hand span:nth-child(2){animation-delay:1s}@keyframes hand-write{to{clip-path:inset(-10% 0)}}.fcover-spinner{border:2px solid #ffffff2e;border-top-color:#fffc;border-radius:50%;width:22px;height:22px;animation:1s linear infinite vspin}.cover{text-align:center;background:radial-gradient(120% 60% at 50% 0%, #fff 0%, var(--bg) 60%);flex-direction:column;justify-content:space-between;align-items:center;min-height:100vh;padding:56px 28px 40px;display:flex}.cover .top-names{letter-spacing:.5em;color:var(--text-soft);font-family:Nanum Myeongjo,serif;font-size:15px}.cover-photo{aspect-ratio:3/4;background:linear-gradient(135deg, var(--point-soft), var(--pink));color:#fff;letter-spacing:.2em;border-radius:180px 180px 12px 12px;justify-content:center;align-items:center;width:100%;font-size:13px;display:flex;overflow:hidden;box-shadow:0 18px 40px #96785a40}.cover-photo img{object-fit:cover;width:100%;height:100%}.cover .date{letter-spacing:.25em;color:var(--text);font-family:Nanum Myeongjo,serif;font-size:18px}.cover .date small{color:var(--text-soft);letter-spacing:.3em;margin-top:8px;font-size:12px;display:block}.scroll-hint{color:var(--text-soft);letter-spacing:.2em;font-size:11px;animation:1.8s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.greeting{text-align:center;background:var(--paper)}.greeting .poem{color:var(--text);white-space:pre-line;font-family:Nanum Myeongjo,serif;font-size:clamp(14px,4.3vw,16px);line-height:2.2}.greeting .divider{background:var(--line);width:1px;height:46px;margin:30px auto}.parents{color:var(--text);font-size:clamp(13px,4vw,15px);font-weight:500;line-height:2.1}.parents b{color:var(--text);font-weight:500}.parents .son,.parents .daughter{color:var(--point);font-weight:700}.interview{background:var(--bg)}.qa{border-top:1px solid var(--line);padding:22px 4px}.qa:last-child{border-bottom:1px solid var(--line)}.qa .q{color:var(--point);margin-bottom:8px;font-family:Nanum Myeongjo,serif;font-size:clamp(13px,4vw,15px);font-weight:700}.qa .a{color:var(--text);font-size:clamp(13px,3.9vw,14.5px)}.calendar{background:var(--paper);text-align:center}.cal-date{letter-spacing:.1em;margin-bottom:24px;font-family:Nanum Myeongjo,serif;font-size:clamp(16px,5.2vw,20px);line-height:1.6}table.cal{border-collapse:collapse;table-layout:fixed;width:100%;max-width:320px;margin:0 auto}table.cal th,table.cal td{text-align:center;padding:9px 0;font-size:14px}table.cal th{color:var(--text-soft);letter-spacing:.1em;font-size:12px;font-weight:400}table.cal td.sun{color:#d09a9a}table.cal td.mark{color:#fff;font-weight:700;position:relative}table.cal td.mark span{background:var(--pink);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.dday{color:var(--text-soft);margin-top:28px;font-size:14px}.dday b{color:var(--point);font-size:16px;font-weight:700}.gallery{background:var(--bg)}.gal-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;column-gap:12px;margin:0 -28px;display:flex;overflow-x:auto}.gal-track::-webkit-scrollbar{display:none}.gal-track:before,.gal-track:after{content:"";flex:0 0 calc(8% - 12px)}.gal-slide{scroll-snap-align:center;scroll-snap-stop:always;aspect-ratio:3/4;cursor:pointer;background:linear-gradient(135deg, var(--point-soft), var(--green));color:#fff;border-radius:14px;flex:0 0 84%;justify-content:center;align-items:center;font-size:15px;display:flex;overflow:hidden;box-shadow:0 6px 18px #00000014}.gal-slide img{object-fit:cover;width:100%;height:100%}.gal-nav{justify-content:center;align-items:center;gap:28px;margin-top:18px;display:flex}.gal-nav button{cursor:pointer;color:var(--text-soft);background:0 0;border:0;padding:4px 10px;font-size:26px;line-height:1}.gal-count{color:var(--text-soft);letter-spacing:.08em;text-align:center;min-width:52px;font-size:13px}.lightbox{z-index:100;background:#000000e6;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.lightbox.on{display:flex}.lightbox img{border-radius:6px;max-width:100%;max-height:90vh}.lightbox .close{color:#fff;cursor:pointer;font-size:30px;position:absolute;top:18px;right:22px}.location{background:var(--paper);text-align:center}.venue-name{font-family:Nanum Myeongjo,serif;font-size:clamp(15px,4.8vw,18px);font-weight:700}.venue-hall{margin-top:4px;font-family:Nanum Myeongjo,serif;font-size:clamp(12.5px,3.7vw,14px)}.venue-addr{color:var(--text);margin-top:6px;font-size:clamp(12.5px,3.7vw,14px)}.addr-copy{color:var(--text);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;margin-top:14px;padding:10px 22px;font-family:inherit;font-size:13px}.map-box{aspect-ratio:4/3;width:100%;color:var(--text-soft);background:linear-gradient(135deg,#e9e4db,#d8d0c4);border-radius:10px;justify-content:center;align-items:center;margin:22px 0 0;font-size:13px;display:flex;overflow:hidden}.map-guard{cursor:pointer;z-index:200;background:#00000008;border:0;justify-content:center;align-items:flex-end;padding:14px;display:flex;position:absolute;inset:0}.map-guard span{color:var(--text);border:1px solid var(--line);background:#fffffff2;border-radius:30px;padding:8px 16px;font-family:inherit;font-size:12px;box-shadow:0 2px 8px #0000001f}.map-links{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;margin:10px 0 0;display:grid;overflow:hidden}.map-links a,.map-links button{min-height:46px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:13px 6px;font-family:inherit;font-size:clamp(12px,3.3vw,13px);text-decoration:none;display:flex}.map-links>:nth-child(-n+2){border-bottom:1px solid var(--line)}.map-links>:nth-child(odd){border-right:1px solid var(--line)}.mi{border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex}.mi.naver{color:#fff;background:#03c75a}.mi.kakao{color:#3a2d00;background:#fee500}.mi.tmap{border:1px solid var(--line);color:#4b2ee6;background:#fff}.mi.yt{color:#fff;background:red}.way-videos{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;margin:12px 0 0;display:grid;overflow:hidden}.way-videos a{min-height:46px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:13px 6px;font-family:inherit;font-size:clamp(12px,3.3vw,13px);text-decoration:none;display:flex}.way-videos a+a{border-left:1px solid var(--line)}.way{text-align:left;margin-top:34px}.way-item{margin-top:30px}.way-item:first-child{margin-top:0}.way-head{border-bottom:1px dashed var(--line);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;display:flex}.way-head h4{margin:0;font-size:15.5px;font-weight:700}.way-icon{border:1px solid var(--line);width:34px;height:34px;color:var(--point);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-style:normal;display:inline-flex}.way-icon-p{font-size:15px;font-weight:600}.way-body p{color:var(--text);margin:0;font-size:13.5px;line-height:1.9}.way-photo{border-radius:10px;width:100%;margin-top:14px;display:block}.info{background:var(--bg)}.guide{text-align:left;margin-top:30px}.guide-tabs-wrap{position:relative}.guide-tabs{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.guide-tabs::-webkit-scrollbar{display:none}.guide-tab{scroll-snap-align:center;white-space:nowrap;cursor:pointer;min-height:44px;color:var(--text-soft);background:0 0;border:1px solid #0000;border-radius:10px 10px 0 0;flex:1 0 auto;margin-bottom:-1px;padding:11px clamp(4px,2.2vw,14px);font-family:inherit;font-size:clamp(13px,3.5vw,14.5px);line-height:1.2;transition:color .2s,background-color .2s}.guide-tab[aria-selected=true]{color:var(--text);background:var(--paper);border-color:var(--line);border-bottom-color:var(--paper);font-weight:700}.guide-tab:focus-visible{outline:2px solid var(--point);outline-offset:-2px}.guide-panel{background:var(--paper);border:1px solid var(--line);text-align:center;border-top:0;border-radius:0 0 12px 12px;padding:clamp(16px,4.6vw,22px);animation:.28s both guideIn}@keyframes guideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.guide-panel{animation:none}.guide-tab{transition:none}}.guide-photo{border-radius:10px;width:100%;height:auto;margin:0 0 16px;display:block}.guide-body p{color:var(--text);word-break:keep-all;margin:0 0 12px;font-size:clamp(13px,3.6vw,14px);line-height:1.9}.guide-body p:last-child{margin-bottom:0}.guide-sub{border-top:1px dashed var(--line);padding-top:12px}.guide-note{color:var(--text-soft);font-size:.92em}.guide-menu{margin:0 0 12px;padding:0;list-style:none}.guide-menu li{color:var(--text);word-break:keep-all;font-size:clamp(12.5px,3.4vw,13.5px);line-height:1.95}.account{background:var(--paper)}.acc-group{margin-bottom:14px}.acc-toggle{text-align:left;border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:16px 18px;font-family:Nanum Myeongjo,serif;font-size:15px;display:flex}.acc-toggle .arrow{color:var(--point);transition:transform .3s}.acc-toggle.open .arrow{transform:rotate(180deg)}.acc-body{max-height:0;transition:max-height .4s;overflow:hidden}.acc-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:7px;padding:13px 12px;font-size:clamp(10px,3.3vw,14.5px);display:flex}.acc-row:first-child{padding-top:18px}.acc-row .who{color:var(--text-soft);white-space:nowrap}.acc-row .num{color:var(--text);white-space:nowrap;font-weight:500}.copy-btn{background:var(--point-soft);color:#7a5c39;cursor:pointer;white-space:nowrap;border:none;border-radius:20px;flex-shrink:0;padding:6px 11px;font-size:clamp(11px,3.2vw,12px)}.rsvp{background:var(--bg);text-align:center}.rsvp-card{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:360px;margin:0 auto 22px;padding:26px 22px;box-shadow:0 6px 20px #0000000d}.rsvp-greet{color:var(--text);margin:0;font-size:14px;line-height:2}.rsvp-divider{border-top:1px dashed var(--line);margin:20px 0}.rsvp-meta{text-align:left;margin:0;padding:0;list-style:none}.rsvp-meta li{color:var(--text);align-items:center;gap:10px;padding:5px 0;font-size:13.5px;display:flex}.rsvp-meta .rsvp-ic{text-align:center;width:18px;color:var(--point);flex:none}.rsvp-meta b{color:var(--point);font-size:13px;font-weight:700}.form{text-align:left;max-width:360px;margin:0 auto}.form .field{margin-bottom:14px}.form label{color:var(--text-soft);margin-bottom:6px;font-size:13px;display:block}.form input[type=text],.form select,.form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form input[type=text]:focus,.form select:focus,.form textarea:focus{border-color:var(--point);box-shadow:0 0 0 3px var(--point-soft);outline:none}.form textarea{resize:vertical;min-height:70px}.radio-row{gap:8px;display:flex}.radio-row label{text-align:center;border:1px solid var(--line);cursor:pointer;color:var(--text);background:#fff;border-radius:8px;flex:1;margin:0;padding:10px}.radio-row input{display:none}.radio-row input:checked+span{color:var(--point);font-weight:700}.btn-primary{background:var(--point);color:#fff;cursor:pointer;letter-spacing:.05em;border:none;border-radius:30px;width:100%;margin-top:8px;padding:14px;font-size:15px}.rsvp-modal{z-index:900;overscroll-behavior:contain;touch-action:none;background:#2d2a2680;justify-content:center;align-items:center;padding:20px;animation:.25s rsvp-fade;display:flex;position:fixed;inset:0}@keyframes rsvp-fade{0%{opacity:0}to{opacity:1}}.rsvp-modal-card{background:var(--bg);text-align:center;overscroll-behavior:contain;touch-action:pan-y;border-radius:16px;width:100%;max-width:400px;max-height:88vh;padding:34px 24px 24px;position:relative;overflow-y:auto;box-shadow:0 18px 50px #00000040}.rsvp-modal-x{color:var(--text-soft);cursor:pointer;background:0 0;border:0;padding:4px;font-size:26px;line-height:1;position:absolute;top:12px;right:14px}.rsvp-modal-card .sub-label{margin-bottom:22px}.rsvp-modal-hide{color:var(--text-soft);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:18px;font-size:12.5px;text-decoration:underline;display:inline-block}.guestbook{background:var(--paper)}.gb-form{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.gb-form input,.gb-form textarea{border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-family:inherit;font-size:14px}.gb-list{flex-direction:column;gap:10px;display:flex}.gb-item{background:var(--bg);border-radius:10px;padding:14px 16px;position:relative}.gb-item .name{color:var(--point);font-size:13.5px;font-weight:500}.gb-item .msg{color:var(--text);white-space:pre-line;margin-top:4px;font-size:14px}.gb-item .time{color:var(--text-soft);margin-top:6px;font-size:11px}.gb-item .del{color:var(--text-soft);cursor:pointer;font-size:11px;position:absolute;top:12px;right:14px}.gb-empty{text-align:center;color:var(--text-soft);padding:20px 0;font-size:13px}.gb-more{cursor:pointer;border:1px solid var(--point);color:var(--point);letter-spacing:.03em;background:0 0;border-radius:30px;margin:18px auto 0;padding:10px 26px;font-family:inherit;font-size:13px;display:block}.gb-more:disabled{opacity:.6;cursor:default}.snap{background:var(--bg);text-align:center}.snap-desc{color:var(--text-soft);margin:0 0 22px;font-family:Nanum Myeongjo,serif;font-size:clamp(13px,4vw,15px);line-height:1.9}.snap-name{box-sizing:border-box;border:1px solid var(--line);text-align:center;border-radius:8px;width:100%;margin-bottom:10px;padding:11px 13px;font-family:inherit;font-size:14px}.snap-btn{margin-top:0}.snap-note{color:var(--text-soft);letter-spacing:-.01em;white-space:nowrap;margin:12px 0 0;font-size:clamp(10.5px,3.2vw,12px)}.flower{background:var(--bg);text-align:center}.flower a{border:1px solid var(--point);color:var(--point);border-radius:30px;padding:12px 28px;font-size:14px;text-decoration:none;display:inline-block}.together{background:var(--paper);text-align:center}.together-count{color:var(--text);letter-spacing:.02em;white-space:nowrap;margin:0 0 4px;font-family:Nanum Myeongjo,serif;font-size:clamp(13px,4.2vw,16px)}.together-photos{flex-direction:column;margin:30px -28px 0;display:flex}.together-photos img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.together-last{position:relative}.together-last:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000080);height:45%;position:absolute;bottom:0;left:0;right:0}.together-msg{z-index:1;color:#fff;letter-spacing:.03em;text-shadow:0 1px 10px #00000080;margin:0;font-family:Nanum Myeongjo,serif;font-size:16px;position:absolute;bottom:26px;left:0;right:0}footer{background:var(--text);color:#cfc7bd;text-align:center;padding:40px 28px}footer .heart{color:var(--pink);font-size:20px}footer .couple{color:#fff;letter-spacing:.2em;margin:10px 0;font-family:Nanum Myeongjo,serif;font-size:16px}footer .share{color:#cfc7bd;cursor:pointer;background:0 0;border:1px solid #5a544d;border-radius:30px;margin-top:18px;padding:10px 20px;font-size:13px}footer .made{color:#9a938a;letter-spacing:.08em;margin-top:20px;font-size:11px}footer .made .mheart{color:var(--pink)}.bgm-toggle{top:14px;left:min(calc(50vw + var(--maxw) / 2 - 52px), calc(100vw - 52px));z-index:160;cursor:pointer;width:38px;height:38px;color:var(--point);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffdfad9;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 4px 14px #96785a40}.bgm-toggle .bgm-icon{font-size:16px;line-height:1}.bgm-toggle.playing .bgm-icon{animation:3s linear infinite bgm-spin}@keyframes bgm-spin{to{transform:rotate(360deg)}}.petals{width:var(--maxw);pointer-events:none;z-index:50;max-width:100%;height:100vh;position:fixed;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.petal{will-change:transform;opacity:.85;animation-name:petal-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8vh}@keyframes petal-fall{0%{opacity:0;transform:translateY(-8vh)translate(0)rotate(0)}10%{opacity:.85}to{transform:translateY(108vh) translateX(var(--drift,0)) rotate(420deg);opacity:.25}}.countdown{margin-top:26px}.cd-units{justify-content:center;gap:8px;display:flex}.cd-unit{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:56px;padding:12px 6px;display:flex}.cd-unit b{color:var(--point);font-family:Nanum Myeongjo,serif;font-size:22px;line-height:1}.cd-unit span{letter-spacing:.15em;color:var(--text-soft);font-size:10px}.contact{background:var(--paper)}.contact-group{margin-bottom:18px}.contact-side{color:var(--point);text-align:center;letter-spacing:.1em;margin:0 0 10px;font-family:Nanum Myeongjo,serif;font-size:14px}.contact-row{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 16px;display:flex}.contact-who{align-items:baseline;gap:8px;display:flex}.contact-role{color:var(--text-soft);font-size:12px}.contact-name{color:var(--text);font-size:14.5px;font-weight:500}.contact-actions{align-items:center;gap:8px;display:flex}.contact-btn{width:36px;height:36px;color:var(--point);border:1px solid var(--point-soft);background:0 0;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.contact-btn:active{background:var(--point-soft)}.contact-empty{color:var(--text-soft);font-size:12px}.lb-nav{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:26px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav.prev{left:14px}.lb-nav.next{right:14px}.lb-count{color:#fff;letter-spacing:.1em;font-size:13px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.share-btns{flex-direction:column;align-items:center;gap:10px;margin-top:18px;display:flex}footer .share-btns .share{min-width:200px;margin-top:0}footer .share.kakao{color:#3a2d00;background:#fee500;border-color:#fee500}.toast{color:#fff;opacity:0;z-index:200;pointer-events:none;background:#282420eb;border-radius:30px;padding:11px 20px;font-size:13px;transition:all .3s;position:fixed;bottom:40px;left:50%;transform:translate(-50%)translateY(20px)}.toast.on{opacity:1;transform:translate(-50%)translateY(0)}
