@import "https://fonts.googleapis.com/css2?family=Maru+Buri:wght@400;500;600&display=swap";@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";:root{--font-wedding:"Maru Buri", serif;--font-body:"Pretendard", sans-serif;--color-background:#faf8f4;--color-background-sub:#f1ece6;--color-background-lavender:#f2edf4;--color-text:#464149;--color-text-sub:#6a6268;--color-primary:#a18aae;--color-primary-light:#e9e2ed;--color-primary-dark:#81738f;--color-sage:#777d69;--color-divider:#e8e1dc;--hero-info-background:var(--color-background);--invitation-background:var(--color-background-sub);--calendar-background:var(--color-background);--gallery-background:var(--color-background-lavender);--location-background:var(--color-background-sub);--account-background:var(--color-background);--share-background:var(--color-background-sub);--hero-photo-background:#eee9f1;--hero-title-color:var(--color-primary-dark);--hero-name-color:var(--color-text);--hero-accent-color:var(--color-primary);--hero-date-color:var(--color-text-sub);--hero-venue-color:var(--color-text);--hero-scroll-color:var(--color-primary-dark);--hero-info-padding-top:45px;--hero-info-padding-bottom:55px;--hero-title-size:11px;--hero-name-size:30px;--hero-heart-size:14px;--hero-date-size:15px;--hero-venue-size:16px;--hero-name-spacing:1px;--hero-date-spacing:.5px;--calendar-accent-color:var(--color-primary-dark);--calendar-text-color:var(--color-text);--calendar-text-sub-color:var(--color-text-sub);--calendar-divider-color:var(--color-divider);--calendar-sunday-color:#bb7c83;--calendar-wedding-day-background:var(--color-primary);--calendar-wedding-day-text:#fff;--calendar-title-font:var(--font-wedding);--calendar-title-size:23px;--calendar-month-font:var(--font-wedding);--calendar-month-size:24px;--calendar-date-font:var(--font-body);--calendar-date-size:14px;--calendar-dday-font:var(--font-wedding);--calendar-dday-size:28px;--calendar-padding-top:90px;--calendar-padding-bottom:95px;--calendar-day-height:42px;--calendar-wedding-day-size:36px;--gallery-text-color:var(--color-text);--gallery-text-sub-color:var(--color-text-sub);--gallery-accent-color:var(--color-primary-dark);--gallery-photo-background:#e9e2ed;--gallery-photo-ratio:3 / 4;--gallery-arrow-background:#ffffffd9;--gallery-arrow-color:var(--color-text);--gallery-subtitle-size:11px;--gallery-title-size:23px;--gallery-counter-size:12px;--gallery-thumbnail-size:64px;--gallery-padding-top:90px;--gallery-padding-bottom:95px;--location-title-color:var(--color-primary-dark);--location-name-color:var(--color-text);--location-text-color:var(--color-text-sub);--location-divider-color:var(--color-divider);--location-button-background:#fff;--location-button-text:var(--color-text);--location-button-border:#d8c8bd;--location-button-hover:var(--color-primary-light);--location-map-height:320px;--account-card-background:#fff;--account-copy-background:var(--color-background-sub);--account-text-color:var(--color-text);--account-text-sub-color:var(--color-text-sub);--account-accent-color:var(--color-primary-dark);--account-border-color:var(--color-divider);--account-subtitle-size:11px;--account-title-size:23px;--account-message-size:14px;--account-group-title-size:15px;--account-role-size:12px;--account-name-size:14px;--account-detail-size:13px;--account-copy-size:12px;--account-padding-top:90px;--account-padding-bottom:95px;--share-text-color:var(--color-text);--share-text-sub-color:var(--color-text-sub);--share-accent-color:var(--color-primary-dark);--share-button-background:#fff;--share-button-text:var(--color-text);--share-button-border:#d8c8bd;--share-subtitle-size:11px;--share-title-size:23px;--share-message-size:14px;--share-button-size:13px;--share-status-size:12px;--share-names-size:15px;--share-padding-top:90px;--share-padding-bottom:70px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.main-hero{background:var(--hero-info-background);width:100%}.main-hero__photo{background:var(--hero-photo-background);width:100%;overflow:hidden}.main-hero__image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.main-hero__info{width:100%;padding:var(--hero-info-padding-top) 20px var(--hero-info-padding-bottom);background:var(--hero-info-background);color:var(--hero-name-color);text-align:center;flex-direction:column;align-items:center;display:flex}.main-hero__title{font-family:var(--font-body);font-size:var(--hero-title-size);letter-spacing:3px;color:var(--hero-title-color);margin:0 0 25px;font-weight:400;line-height:1.5}.main-hero__names{font-family:var(--font-wedding);font-size:var(--hero-name-size);letter-spacing:var(--hero-name-spacing);color:var(--hero-name-color);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:0 0 25px;font-weight:400;line-height:1.5;display:flex}.main-hero__heart{font-family:var(--font-body);font-size:var(--hero-heart-size);color:var(--hero-accent-color);font-weight:400}.main-hero__date{font-family:var(--font-body);font-size:var(--hero-date-size);letter-spacing:var(--hero-date-spacing);color:var(--hero-date-color);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;margin:0;font-weight:400;line-height:1.7;display:flex}.main-hero__separator{color:var(--hero-accent-color)}.main-hero__venue{width:100%;font-family:var(--font-body);font-size:var(--hero-venue-size);letter-spacing:.3px;color:var(--hero-venue-color);text-align:center;margin:18px 0 0;font-weight:500;line-height:1.6}.main-hero__scroll{width:100%;font-family:var(--font-body);letter-spacing:2px;color:var(--hero-scroll-color);text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:40px;font-size:10px;font-weight:400;line-height:1.5;display:flex}.main-hero__scroll-arrow{font-size:18px;line-height:1}@media screen and (width<=360px){.main-hero__info{padding-left:16px;padding-right:16px}.main-hero__names{gap:8px}.main-hero__date{gap:5px}}.invitation-section{background:var(--invitation-background);width:100%;color:var(--color-text);text-align:center;padding:90px 24px 95px}.invitation-section__subtitle{font-family:var(--font-body);letter-spacing:4px;color:var(--color-primary-dark);margin:0 0 20px;font-size:11px;font-weight:400}.invitation-section__title{font-family:var(--font-wedding);letter-spacing:-.5px;color:var(--color-text);margin:0;font-size:23px;font-weight:400;line-height:1.6}.invitation-section__accent{background:var(--color-primary);width:28px;height:1px;margin:28px auto 0}.invitation-section__message{font-family:var(--font-wedding);letter-spacing:-.4px;color:var(--color-text);margin:55px 0 60px;font-size:15px;font-weight:400;line-height:2.2}.invitation-section__message-line{overflow-wrap:break-word;margin:0}.invitation-section__paragraph-gap{height:22px}.invitation-section__family{border-top:1px solid var(--color-divider);flex-direction:column;align-items:center;gap:22px;padding-top:40px;display:flex}.invitation-section__family-row{width:100%;font-family:var(--font-body);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:14px;line-height:1.8;display:flex}.invitation-section__parents{color:var(--color-text-sub)}.invitation-section__relation{color:var(--color-primary-dark);font-size:12px}.invitation-section__person{color:var(--color-text);font-family:var(--font-wedding);font-size:16px;font-weight:500}@media (width<=360px){.invitation-section{padding:75px 16px 80px}.invitation-section__title{font-size:21px}.invitation-section__message{letter-spacing:-.6px;font-size:14px}.invitation-section__family-row{gap:6px;font-size:13px}}.calendar-section{width:100%;padding:var(--calendar-padding-top) 24px var(--calendar-padding-bottom);background:var(--calendar-background);color:var(--calendar-text-color);text-align:center}.calendar-section__subtitle{font-family:var(--font-body);letter-spacing:4px;color:var(--calendar-accent-color);margin:0 0 20px;font-size:11px;font-weight:400}.calendar-section__title{font-family:var(--calendar-title-font);font-size:var(--calendar-title-size);color:var(--calendar-text-color);margin:0;font-weight:400;line-height:1.6}.calendar-section__date-info{font-family:var(--font-body);color:var(--calendar-text-sub-color);margin:16px 0 0;font-size:14px;font-weight:400;line-height:1.8}.calendar-section__calendar{border-top:1px solid var(--calendar-divider-color);border-bottom:1px solid var(--calendar-divider-color);width:100%;max-width:360px;margin:52px auto 0;padding:28px 0 32px}.calendar-section__month{font-family:var(--calendar-month-font);font-size:var(--calendar-month-size);color:var(--calendar-text-color);margin-bottom:28px;font-weight:400;line-height:1.5}.calendar-section__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 2px;width:100%;display:grid}.calendar-section__weekday{min-width:0;height:28px;font-family:var(--calendar-date-font);color:var(--calendar-accent-color);justify-content:center;align-items:center;font-size:10px;font-weight:400;display:flex}.calendar-section__weekday--sunday{color:var(--calendar-sunday-color)}.calendar-section__day-cell,.calendar-section__empty{min-width:0;height:var(--calendar-day-height);justify-content:center;align-items:center;display:flex}.calendar-section__day{width:var(--calendar-wedding-day-size);height:var(--calendar-wedding-day-size);font-family:var(--calendar-date-font);font-size:var(--calendar-date-size);color:var(--calendar-text-color);border-radius:50%;justify-content:center;align-items:center;font-weight:400;display:flex}.calendar-section__day--sunday{color:var(--calendar-sunday-color)}.calendar-section__day--wedding{background:var(--calendar-wedding-day-background);color:var(--calendar-wedding-day-text);font-weight:600}.calendar-section__dday{margin-top:38px}.calendar-section__dday-message{font-family:var(--font-body);color:var(--calendar-text-sub-color);margin:0;font-size:14px;font-weight:400;line-height:1.8}.calendar-section__dday-count{font-family:var(--calendar-dday-font);font-size:var(--calendar-dday-size);color:var(--calendar-accent-color);margin:12px 0 0;font-weight:500;line-height:1.5}@media (width<=360px){.calendar-section{padding-left:16px;padding-right:16px}.calendar-section__calendar{margin-top:42px}.calendar-section__grid{gap:5px 0}}.gallery-section{width:100%;padding:var(--gallery-padding-top) 24px var(--gallery-padding-bottom);background:var(--gallery-background);color:var(--gallery-text-color);text-align:center}.gallery-section__subtitle{font-family:var(--font-body);font-size:var(--gallery-subtitle-size);letter-spacing:4px;color:var(--gallery-accent-color);margin:0 0 20px;font-weight:400}.gallery-section__title{font-family:var(--font-wedding);font-size:var(--gallery-title-size);color:var(--gallery-text-color);margin:0 0 42px;font-weight:400;line-height:1.6}.gallery-section__viewer{width:100%;aspect-ratio:var(--gallery-photo-ratio);background:var(--gallery-photo-background);touch-action:pan-y;position:relative;overflow:hidden}.gallery-section__main-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.gallery-section__main-image{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.gallery-section__expand-hint{color:#fff;font-family:var(--font-body);pointer-events:none;background:#00000073;border-radius:20px;padding:7px 10px;font-size:11px;line-height:1;position:absolute;bottom:12px;right:12px}.gallery-section__arrow{z-index:1;background:var(--gallery-arrow-background);width:34px;height:34px;color:var(--gallery-arrow-color);font-family:var(--font-body);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:28px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-section__arrow--previous{left:10px}.gallery-section__arrow--next{right:10px}.gallery-section__counter{font-family:var(--font-body);font-size:var(--gallery-counter-size);color:var(--gallery-text-sub-color);margin:16px 0 20px}.gallery-section__counter-divider{color:var(--gallery-accent-color)}.gallery-section__thumbnails{overscroll-behavior-x:contain;scrollbar-width:thin;align-items:center;gap:8px;width:100%;padding-bottom:6px;display:flex;overflow-x:auto}.gallery-section__thumbnail{flex:0 0 var(--gallery-thumbnail-size);width:var(--gallery-thumbnail-size);height:var(--gallery-thumbnail-size);background:var(--gallery-photo-background);opacity:.65;cursor:pointer;border:2px solid #0000;border-radius:4px;padding:0;overflow:hidden}.gallery-section__thumbnail--active{border-color:var(--gallery-accent-color);opacity:1}.gallery-section__thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.gallery-lightbox{z-index:1000;touch-action:pan-y;background:#121014f0;justify-content:center;align-items:center;width:100%;height:100dvh;display:flex;position:fixed;inset:0}.gallery-lightbox__content{justify-content:center;align-items:center;width:100%;height:100%;padding:64px 12px;display:flex}.gallery-lightbox__image{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.gallery-lightbox__close{top:max(16px, env(safe-area-inset-top));z-index:2;color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:30px;line-height:1;display:flex;position:absolute;right:16px}.gallery-lightbox__arrow{z-index:2;color:#fff;cursor:pointer;background:#00000059;border:0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:30px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-lightbox__arrow--previous{left:8px}.gallery-lightbox__arrow--next{right:8px}.gallery-lightbox__counter{bottom:max(20px, env(safe-area-inset-bottom));color:#fff;font-family:var(--font-body);margin:0;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}@media (width<=360px){.gallery-section{padding-left:16px;padding-right:16px}}.location-section{background:var(--location-background);color:var(--location-text-color);text-align:center;border-top:1px solid var(--location-divider-color);padding:80px 24px}.location-title{font-family:var(--font-body);letter-spacing:4px;color:var(--location-title-color);margin-bottom:25px;font-size:12px;font-weight:400}.location-section h2{font-family:var(--font-wedding);color:var(--location-name-color);margin-bottom:35px;font-size:24px;font-weight:500}.location-section h3{font-family:var(--font-body);color:var(--location-name-color);margin-bottom:10px;font-size:19px;font-weight:500}.location-section p{font-family:var(--font-body);font-size:14px;line-height:1.8}.kakao-map{width:100%;height:var(--location-map-height);border-radius:6px;margin-top:30px;overflow:hidden}.map-error{color:#b44242;font-size:13px}.map-buttons{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.map-buttons a{border:1px solid var(--location-button-border);min-height:48px;color:var(--location-button-text);background:var(--location-button-background);font-family:var(--font-body);border-radius:5px;justify-content:center;align-items:center;padding:10px;font-size:13px;text-decoration:none;display:flex}.map-buttons a:hover{background:var(--location-button-hover)}.map-buttons a:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:3px}.account-section{width:100%;padding:var(--account-padding-top) 24px var(--account-padding-bottom);background:var(--account-background);color:var(--account-text-color);text-align:center}.account-section__subtitle{font-family:var(--font-body);font-size:var(--account-subtitle-size);letter-spacing:4px;color:var(--account-accent-color);margin:0 0 20px;font-weight:400}.account-section__title{font-family:var(--font-wedding);font-size:var(--account-title-size);color:var(--account-text-color);margin:0;font-weight:400;line-height:1.6}.account-section__message{font-family:var(--font-body);font-size:var(--account-message-size);color:var(--account-text-sub-color);margin:24px 0 40px;line-height:1.9}.account-section__message p{margin:0}.account-section__groups{flex-direction:column;gap:12px;display:flex}.account-section__group{border:1px solid var(--account-border-color);background:var(--account-card-background);border-radius:6px;overflow:hidden}.account-section__toggle{width:100%;min-height:54px;font-family:var(--font-body);font-size:var(--account-group-title-size);color:var(--account-text-color);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:500;display:flex}.account-section__toggle-icon{color:var(--account-accent-color);font-size:18px;font-weight:400}.account-section__panel{border-top:1px solid var(--account-border-color);text-align:left;padding:0 18px 18px}.account-section__panel[hidden]{display:none}.account-section__item{padding-top:18px}.account-section__item+.account-section__item{border-top:1px solid var(--account-border-color);margin-top:18px}.account-section__person{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.account-section__role{background:var(--color-primary-light);color:var(--account-accent-color);font-family:var(--font-body);font-size:var(--account-role-size);border-radius:4px;margin:0;padding:4px 9px;font-weight:500;line-height:1.5}.account-section__name{font-family:var(--font-body);font-size:var(--account-name-size);color:var(--account-text-color);margin:0;font-weight:600;line-height:1.5}.account-section__details{background:var(--account-copy-background);border-radius:6px;align-items:center;gap:8px;width:100%;min-width:0;padding:10px;display:flex}.account-section__bank{font-family:var(--font-body);font-size:var(--account-detail-size);color:var(--account-text-sub-color);white-space:nowrap;flex:none;margin:0}.account-section__number{min-width:0;font-family:var(--font-body);font-size:var(--account-detail-size);color:var(--account-text-color);text-align:left;overflow-wrap:anywhere;flex:auto}.account-section__copy{border:1px solid var(--account-border-color);background:var(--account-card-background);min-width:44px;color:var(--account-text-color);font-family:var(--font-body);font-size:var(--account-copy-size);white-space:nowrap;cursor:pointer;border-radius:4px;flex:none;padding:7px 8px}.account-section__empty{font-family:var(--font-body);font-size:var(--account-detail-size);color:var(--account-text-sub-color);text-align:center;margin:18px 0 0}@media screen and (width<=360px){.account-section{padding-left:16px;padding-right:16px}.account-section__toggle,.account-section__panel{padding-left:14px;padding-right:14px}.account-section__details{gap:6px;padding:8px}}.share-section{width:100%;padding:var(--share-padding-top) 24px var(--share-padding-bottom);background:var(--share-background);color:var(--share-text-color);text-align:center}.share-section__subtitle{font-family:var(--font-body);font-size:var(--share-subtitle-size);letter-spacing:4px;color:var(--share-accent-color);margin:0 0 20px;font-weight:400}.share-section__title{font-family:var(--font-wedding);font-size:var(--share-title-size);color:var(--share-text-color);margin:0;font-weight:400;line-height:1.6}.share-section__message{font-family:var(--font-wedding);font-size:var(--share-message-size);color:var(--share-text-sub-color);margin:28px 0 38px;line-height:2}.share-section__message p{margin:0}.share-section__divider{background:var(--share-accent-color);width:28px;height:1px;margin:0 auto 38px}.share-section__buttons{align-items:stretch;gap:10px;width:100%;max-width:360px;margin:0 auto;display:flex}.share-section__button{border:1px solid var(--share-button-border);background:var(--share-button-background);min-width:0;min-height:48px;color:var(--share-button-text);font-family:var(--font-body);font-size:var(--share-button-size);cursor:pointer;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:10px 8px;font-weight:500;display:flex}.share-section__button-icon{color:var(--share-accent-color);font-size:17px;line-height:1}.share-section__status{font-family:var(--font-body);font-size:var(--share-status-size);color:var(--share-accent-color);margin:15px 0 0}.share-section__names{font-family:var(--font-wedding);font-size:var(--share-names-size);color:var(--share-accent-color);margin:50px 0 0}@media screen and (width<=360px){.share-section{padding-left:16px;padding-right:16px}.share-section__buttons{gap:8px}}.invitation{background:var(--color-background);width:100%;min-height:100vh;color:var(--color-text);margin:0 auto}@media screen and (width>=768px){body{background:#eae7e2}.invitation{width:100%;max-width:480px;margin:0 auto;box-shadow:0 0 30px #00000014}}@media screen and (width<=767px){body{background:var(--color-background)}.invitation{width:100%;max-width:none;box-shadow:none;margin:0}}
