@import "https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#554b42;background:#f8f6f1;margin:0;font-family:Noto Sans KR,sans-serif;font-size:15px;line-height:1.8}.invitation{flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:36px 18px;display:flex}.cover{text-align:center;background:#fffefa;border:1px solid #e9e2d7;flex-direction:column;justify-content:space-between;align-items:center;width:100%;max-width:480px;min-height:780px;padding:65px 25px 35px;display:flex}.cover-label{letter-spacing:4px;color:#a99a84;font-size:11px}.cover-title{margin:auto 0}.cover-title>p{letter-spacing:2px;color:#93816c;margin-bottom:45px;font-family:Gowun Batang,serif;font-size:15px}.cover-title h1{letter-spacing:4px;color:#554b42;font-family:Gowun Batang,serif;font-size:35px;font-weight:400;line-height:1.8}.cover-title h1 span{color:#b69d7b;font-family:serif;font-size:20px;font-style:italic;display:block}.cover-date{letter-spacing:1.5px;color:#817565;font-size:14px;line-height:2.2}.cover-date p{margin:3px 0}.cover-bottom{letter-spacing:2px;color:#9b8b76;margin-top:50px;font-size:10px}.greeting,.details,.directions{text-align:center;background:#fffefa;border:1px solid #e9e2d7;border-top:none;width:100%;max-width:480px;margin:0 auto;padding:100px 30px}.section-label{color:#927d63;letter-spacing:3px;margin-bottom:22px;font-size:11px}.greeting h2,.details h2,.directions h2{color:#554b42;letter-spacing:2px;margin:0 0 45px;font-family:Gowun Batang,serif;font-size:25px;font-weight:400}.greeting-text{color:#75695b;letter-spacing:0;font-family:Gowun Batang,serif;font-size:16px;line-height:2.3}.greeting-text p{margin:0}.couple-names{color:#a18d72;letter-spacing:2px;margin-top:55px;font-size:14px}.calendar-card{background:#fffefa;border:1px solid #e9e2d7;width:100%;padding:35px 20px 28px}.calendar-heading{padding-bottom:25px}.calendar-year{color:#927d63;letter-spacing:3px;margin:0 0 5px;font-size:13px}.calendar-heading h3{color:#554b42;letter-spacing:4px;margin:0;font-family:Gowun Batang,serif;font-size:30px;font-weight:400}.calendar-subtitle{color:#9b8b76;letter-spacing:2px;margin:10px 0 0;font-size:10px}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:#927d63;letter-spacing:1px;border-top:1px solid #e9e2d7;border-bottom:1px solid #e9e2d7;padding:15px 0;font-family:Arial,sans-serif;font-size:11px}.calendar-weekdays span:first-child{color:#b88b82}.calendar-grid{row-gap:9px;padding:18px 0}.calendar-day{color:#75695b;justify-content:center;align-items:center;min-height:43px;font-family:Noto Sans KR,sans-serif;font-size:14px;display:flex;position:relative}.calendar-day:nth-child(7n+1){color:#b88b82}.calendar-day.wedding-day{color:#fffefa;background:#a18d72;border-radius:50%;width:37px;height:37px;min-height:37px;margin:auto}.calendar-day.wedding-day span:first-child{font-size:14px}.calendar-heart{color:#b88b82;font-size:11px;position:absolute;top:-8px;right:-3px}.calendar-footer{border-top:1px solid #e9e2d7;padding-top:22px}.calendar-date-text{color:#927d63;letter-spacing:1.5px;margin:0;font-family:Arial,sans-serif;font-size:11px}.dday-display{flex-direction:column;align-items:center;gap:8px;margin:22px 0 15px;display:flex}.dday-label{color:#927d63;letter-spacing:2px;font-size:11px}.dday-display strong{color:#554b42;letter-spacing:3px;font-family:Gowun Batang,serif;font-size:37px;font-weight:400}.calendar-time{color:#927d63;letter-spacing:2px;margin:0;font-size:13px}.detail-info{color:#75695b;margin-top:45px;font-size:14px;line-height:2.1}.detail-heading{color:#927d63;letter-spacing:2px;font-size:11px}.detail-info h3{color:#554b42;margin:15px 0;font-family:Gowun Batang,serif;font-size:22px;font-weight:400}.venue-address{margin-bottom:25px}.venue-address h3{color:#554b42;margin-bottom:10px;font-family:Gowun Batang,serif;font-size:21px;font-weight:400}.venue-address p{color:#75695b;font-size:14px}.map-frame{background:#f4f0e8;border:1px solid #e9e2d7;width:100%;overflow:hidden}.map-frame iframe{width:100%;height:320px;display:block}.map-caption{color:#897965;margin:12px 0 25px;font-size:12px;line-height:1.8}.map-buttons{gap:10px;margin-top:15px;display:flex}.map-button{color:#554b42;letter-spacing:0;background:#fffefa;border:1px solid #e5ddd1;flex:1;justify-content:center;align-items:center;gap:9px;min-height:54px;font-size:14px;text-decoration:none;transition:background .2s;display:flex}.map-button:active{background:#f4f0e8}.map-button.naver{border-color:#c9d9c5}.map-button.kakao{border-color:#e8dba9}.map-button-name{font-family:Arial,sans-serif;font-size:18px;font-weight:700}.naver .map-button-name{color:#03a94d}.kakao .map-button-name{color:#b59b00}.location-info{text-align:left;margin-top:35px}.location-row{border-bottom:1px solid #eee8df;padding:20px 0}.location-row h3{color:#927d63;letter-spacing:2px;margin:0 0 10px;font-size:12px;font-weight:600}.location-row p{color:#75695b;margin:0;font-size:14px;line-height:2}@media (width<=600px){.invitation{padding:0}.cover{border:none;min-height:100svh;padding:55px 25px 30px}.greeting,.details,.directions{border-left:none;border-right:none;padding:85px 25px}.map-frame iframe{height:280px}.calendar-card{padding:30px 14px 25px}.calendar-day{min-height:40px}.greeting-text{font-size:15px;line-height:2.2}.location-row p{font-size:14px}}.countdown-clock{justify-content:center;align-items:center;gap:12px;margin:22px 0;display:flex}.countdown-unit{flex-direction:column;align-items:center;gap:7px;min-width:65px;display:flex}.countdown-unit strong{color:#554b42;font-variant-numeric:tabular-nums;font-family:Gowun Batang,serif;font-size:27px;font-weight:400}.countdown-unit span{color:#927d63;letter-spacing:1px;font-family:Arial,sans-serif;font-size:10px}.countdown-colon{color:#b69d7b;align-self:flex-start;padding-top:3px;font-size:20px}@media (width<=600px){.countdown-clock{gap:8px}.countdown-unit{min-width:58px}.countdown-unit strong{font-size:25px}}.calendar-day.holiday-day{color:#bd7770;background-color:#0000;border-radius:0}.meal-info{border-top:1px solid #e8dfd3;margin-top:28px;padding-top:22px}.meal-info .detail-heading{color:#a18d72;letter-spacing:2px;margin-bottom:8px;font-size:11px}.meal-info p:last-child{color:#554b42;margin:0;font-size:15px;line-height:1.8}.snow-container{pointer-events:none;z-index:9999;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.snowflake{color:#b8b1a8;text-shadow:0 0 3px #786e6440;will-change:transform;animation:linear infinite snowfall;position:absolute;top:-30px;-webkit-transform:translateZ(0)}@keyframes snowfall{0%{transform:translateY(-30px)rotate(0)}50%{transform:translate(25px,50vh)rotate(180deg)}to{transform:translate(-15px,105vh)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.snowflake{animation-duration:20s!important}}.cover{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:space-between;align-items:center;min-height:100svh;padding:75px 20px 55px;display:flex;position:relative;overflow:hidden}.cover .cover-label{color:#a18d72;letter-spacing:4px;margin:0;font-family:Arial,sans-serif;font-size:10px;font-weight:400}.cover .cover-title{flex-direction:column;justify-content:center;align-items:center;gap:34px;width:100%;margin:auto 0;display:flex}.cover .cover-message{color:#8f7963;letter-spacing:2px;flex-wrap:wrap;justify-content:center;align-items:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(14px,3.8vw,19px);line-height:1.8;display:flex}.animated-letter{opacity:0;animation:.45s forwards letterReveal;display:inline-block}.animated-heart{color:#bd7770;opacity:0;margin-left:9px;font-size:1.25em;animation:.8s 2.4s forwards heartReveal;display:inline-block}@keyframes letterReveal{0%{opacity:0;filter:blur(4px);transform:translateY(12px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes heartReveal{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.cover .cover-title .cover-couple{color:#554b42;letter-spacing:2px;white-space:nowrap;justify-content:center;align-items:center;gap:clamp(9px,3vw,22px);width:100%;margin:0;font-family:Gowun Batang,serif;font-size:clamp(30px,8vw,48px);font-weight:400;display:flex}.cover .cover-title .cover-couple span{display:inline-block}.cover .cover-title .cover-couple .couple-ampersand{color:#b18d72;font-family:Georgia,serif;font-size:.8em;font-weight:400}.cover .cover-date{color:#897965;letter-spacing:2px;margin:0 0 35px;font-family:Arial,sans-serif;font-size:11px;line-height:2.2}.cover .cover-date p{margin:0}.cover .cover-bottom{color:#aa9a86;letter-spacing:3px;margin:0;font-family:Arial,sans-serif;font-size:9px}@media (width<=380px){.cover{padding-left:12px;padding-right:12px}.cover .cover-title .cover-couple{letter-spacing:1px;gap:8px;font-size:29px}.cover .cover-message{letter-spacing:1px;font-size:13px}}@media (prefers-reduced-motion:reduce){.animated-letter,.animated-heart{opacity:1;filter:none;animation:none;transform:none}}.payment{text-align:center;color:#554b42;background:#f8f5ef;padding:90px 24px}.payment .section-label{color:#a18d72;letter-spacing:4px;font-size:10px}.payment h2{margin:12px 0;font-family:Gowun Batang,serif;font-size:28px;font-weight:400}.payment-description{color:#897965;margin:20px 0 35px;font-size:13px;line-height:2}.payment-tabs{justify-content:center;gap:10px;margin-bottom:25px;display:flex}.payment-tab{color:#897965;cursor:pointer;background:0 0;border:1px solid #cbbba7;flex:1;max-width:180px;padding:13px 8px;font-size:13px;transition:all .2s}.payment-tab.active{color:#fff;background:#8f7963;border-color:#8f7963}.payment-list{text-align:left;max-width:440px;margin:0 auto}.payment-card{background:#fffdfa;border:1px solid #e8dfd4;border-radius:8px;margin-bottom:12px;padding:20px}.payment-person{color:#8f7963;margin-bottom:12px;font-size:12px}.payment-name{margin-bottom:14px;font-family:Gowun Batang,serif;font-size:19px}.payment-bank{color:#897965;overflow-wrap:anywhere;font-size:12px;line-height:1.8}.payment-copy{color:#786653;cursor:pointer;background:0 0;border:1px solid #d8caba;border-radius:4px;width:100%;margin-top:15px;padding:10px;font-size:12px;display:block}.payment-copy:disabled{opacity:.45;cursor:not-allowed}.payment-note{color:#a18d72;margin-top:28px;font-size:11px;line-height:1.8}.gallery{color:#554b42;text-align:center;background:#fbf8f2;padding:80px 20px}.gallery .section-label{color:#a18d72;letter-spacing:4px;font-size:10px}.gallery h2{margin:12px 0 10px;font-family:Gowun Batang,serif;font-size:27px;font-weight:400}.gallery-subtitle{color:#897965;margin:0 0 35px;font-size:12px;line-height:1.8}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:600px;margin:0 auto;display:grid}.gallery-item{aspect-ratio:1;cursor:pointer;background:#eee7dd;border:none;width:100%;padding:0;display:block;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gallery-item:hover img{transform:scale(1.04)}.gallery-lightbox{z-index:11000;box-sizing:border-box;background:#191613f0;justify-content:center;align-items:center;padding:55px 45px;display:flex;position:fixed;inset:0}.gallery-large-image{object-fit:contain;max-width:100%;max-height:80vh;display:block}.gallery-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:38px;font-weight:300;position:absolute;top:15px;right:22px}.gallery-arrow{color:#fff;cursor:pointer;background:0 0;border:none;font-size:45px;font-weight:200;position:absolute;top:50%;transform:translateY(-50%)}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-counter{color:#fff;letter-spacing:2px;font-size:12px;position:absolute;bottom:15px}@media (width<=480px){.gallery{padding:65px 16px}.gallery-grid{gap:7px}.gallery-lightbox{padding:55px 35px}.gallery-prev{left:0}.gallery-next{right:0}}
