*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Noto Sans SC,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.inset-0{inset:0}.right-4{right:1rem}.top-4{top:1rem}.z-40{z-index:40}.z-50{z-index:50}.flex{display:flex}.hidden{display:none}.gap-2{gap:.5rem}.overflow-hidden{overflow:hidden}:root{color:#f8e9c7;font-synthesis:none;text-rendering:optimizelegibility;background:#8f0c1c;font-family:Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#790917}body{background:#790917;min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}::selection{color:#8d0b1c;background:#f1d08b}.wedding-page{color:#f8e9c7;background:radial-gradient(circle at 20% 12%,#ffd88917,#0000 25%),radial-gradient(circle at 90% 55%,#ffd88914,#0000 24%),linear-gradient(#9e1022 0%,#790917 44%,#970f20 100%);min-height:100vh;overflow:hidden}.wedding-page:before{content:"";z-index:0;opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='90' height='90' viewBox='0 0 90 90' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23e5bf73' stroke-opacity='.25' stroke-width='.7'%3E%3Cpath d='M45 0a45 45 0 0 0 45 45A45 45 0 0 0 45 90 45 45 0 0 0 0 45 45 45 0 0 0 45 0Z'/%3E%3Cpath d='M45 20a25 25 0 0 0 25 25 25 25 0 0 0-25 25 25 25 0 0 0-25-25 25 25 0 0 0 25-25Z'/%3E%3C/g%3E%3C/svg%3E");position:fixed;inset:0}.wedding-page>section{z-index:1;position:relative}.red-section{width:min(100%,760px);margin:0 auto;padding:6.5rem 1.5rem}.small-gold{color:#e6c47e;letter-spacing:.26em;font-size:.74rem}.invitation-cover{color:#f8e9c7;background:linear-gradient(160deg,#a71124,#750714 70%);place-items:center;padding:1.4rem;display:grid}.invitation-cover:before,.invitation-cover:after{content:"";pointer-events:none;border:1px solid #edcc8999;position:absolute;inset:18px}.invitation-cover:after{border-color:#edcc892e;inset:25px}.cover-inner{text-align:center;width:min(100%,390px);animation:.9s both rise-in}.cover-parent{color:#e9c77f;letter-spacing:.2em;margin:0 0 2rem;font-size:.98rem}.cover-emblem{aspect-ratio:1;background:radial-gradient(circle,#eec97c1f,#0000 64%);border:1px solid #e8c67db8;border-radius:50%;place-items:center;width:min(62vw,238px);margin:0 auto 2rem;display:grid;position:relative}.cover-emblem:before,.cover-emblem:after{content:"";border:1px solid #e8c67d3b;border-radius:50%;position:absolute;inset:13px}.cover-emblem:after{border-style:dashed;animation:18s linear infinite spin;inset:29px}.cover-emblem-ring{border-top:1px solid #e8c67db3;border-bottom:1px solid #e8c67db3;border-radius:50%;position:absolute;inset:-9px;transform:rotate(-18deg)}.cover-emblem strong{color:#edcd89;text-shadow:0 10px 32px #35000759;font-family:Noto Serif SC,serif;font-size:clamp(5rem,24vw,7rem);font-weight:700;line-height:1}.cover-relation{color:#e8c780;letter-spacing:.32em;margin:1.45rem 0 .35rem;font-size:.94rem}.cover-inner h1{letter-spacing:.13em;margin:0;font-family:Noto Serif SC,serif;font-size:clamp(2.05rem,8.2vw,2.55rem);font-weight:600}.cover-inner h1 i{color:#e5c17b;margin:0 .65rem;font-size:1.12rem;font-style:normal;font-weight:400}.cover-date{letter-spacing:.04em;justify-content:center;align-items:center;gap:.55rem;margin-top:1rem;font-family:Noto Serif SC,serif;font-size:.9rem;display:flex}.cover-date b{border-inline:1px solid #ecca8580;padding-inline:.55rem;font-weight:500}.cover-venue{color:#eedaa9;letter-spacing:.03em;max-width:340px;margin:.8rem auto 0;font-size:.88rem;line-height:1.7}.open-invitation{color:#f5dfae;letter-spacing:.15em;border-bottom:1px solid #e6c078;min-height:54px;margin-top:1.3rem;padding:.55rem .7rem;font-size:1.15rem}.open-invitation span{margin-left:.4rem;font-size:1.5rem;line-height:1;animation:1.5s ease-in-out infinite float-down;display:inline-block}.cover-cloud{opacity:.14;border:1px solid #e8c67d;border-radius:50%;width:220px;height:80px;position:absolute}.cloud-one{top:12%;left:-90px}.cloud-two{bottom:10%;right:-100px}.round-control,.music-control{color:#f6e3b7;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);letter-spacing:.1em;background:#610310a8;border:1px solid #f7dea657;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;min-height:38px;font-size:.68rem;display:inline-flex;box-shadow:0 8px 28px #37000738}.round-control{padding:0 .75rem}.music-control{width:38px;padding:0}.music-control.is-playing{color:#f2cc80}.opening-section{flex-direction:column;justify-content:center;min-height:100svh;padding-top:7rem;padding-bottom:7rem;display:flex}.parents-note{text-align:center}.section-ornament{color:#e6c078;letter-spacing:.24em;align-items:center;gap:.6rem;font-family:Noto Serif SC,serif;font-size:1.08rem;display:inline-flex}.section-ornament:before,.section-ornament:after{content:"";background:linear-gradient(90deg,#0000,#e4bd70);width:38px;height:1px}.section-ornament:after{transform:rotate(180deg)}.parents-note .small-gold{margin-top:2rem;font-size:.86rem}.parents-note h2{letter-spacing:.06em;margin:1rem 0 0;font-family:Noto Serif SC,serif;font-size:clamp(2.3rem,9vw,3.5rem);font-weight:600}.note-body{color:#f1deb1;letter-spacing:.06em;text-align:center;white-space:pre-line;text-wrap:balance;max-width:520px;margin:2.1rem auto 0;font-family:Noto Serif SC,serif;font-size:1.2rem;line-height:2.15}.parents-sign{color:#e3bd71;letter-spacing:.22em;margin-top:1.9rem;font-size:1rem}.couple-gallery{padding-top:1.5rem}.portrait-card{background:#59020e59;border:1px solid #e8c47aa6;width:min(88%,440px);margin:0 auto 6rem;padding:8px;box-shadow:0 28px 70px #32000740}.portrait-card img{aspect-ratio:3/4;-o-object-fit:cover;object-fit:cover;width:100%;display:block}.portrait-card:first-child img{-o-object-position:50% 55%;object-position:50% 55%}.arch-card{margin-left:auto;margin-right:0}.portrait-card figcaption{color:#efd79f;letter-spacing:.14em;justify-content:space-between;align-items:center;padding:.8rem .2rem .15rem;font-family:Noto Serif SC,serif;font-size:.88rem;display:flex}.portrait-card figcaption b{color:#e5bb6c;font-weight:500}.gallery-vow{text-align:center;margin:0 auto 6rem}.gallery-vow span{color:#e7c378;border:1px solid #e4bd70;border-radius:50%;place-items:center;width:56px;height:56px;font-family:Noto Serif SC,serif;font-size:1.8rem;display:inline-grid}.gallery-vow p{letter-spacing:.12em;margin:1.5rem 0 0;font-family:Noto Serif SC,serif;font-size:1.3rem;line-height:2}.wide-photo{margin:0 -1.5rem}.wide-photo img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;display:block}.wide-photo figcaption{text-align:right;color:#e5c27b;letter-spacing:.16em;padding:1.2rem 1.5rem 0;font-family:Noto Serif SC,serif;font-size:.9rem}.date-section{padding-top:3rem}.date-card{background:#50000b33;border:1px solid #eac78094;padding:2rem 1.2rem 1.5rem;box-shadow:inset 0 0 55px #ffd38009}.date-header{border-bottom:1px solid #eac67f47;grid-template-columns:1fr auto auto;align-items:end;gap:1rem;margin:1rem 0 2.2rem;padding-bottom:1rem;display:grid}.date-header strong{font-family:Noto Serif SC,serif;font-size:2.2rem;font-weight:600}.date-header span{color:#e3bd73;letter-spacing:.1em;font-size:.7rem;line-height:1.7}.date-header b{color:#e7c57f;font-family:Noto Serif SC,serif;font-size:3.6rem;font-weight:500;line-height:.9}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);align-items:center;gap:.9rem .25rem;font-size:.86rem;display:grid}.weekday{color:#dfb769}.chosen-day{color:#8c0a1b;background:#efd18f;border:1px solid #f0cf8a;border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:30px;height:30px;display:inline-flex;box-shadow:0 0 0 4px #efd18f1f}.banquet-time{letter-spacing:.07em;border-top:1px solid #eac67f47;align-items:center;gap:.65rem;margin-top:2rem;padding-top:1.25rem;font-size:.86rem;display:flex}.banquet-time b{color:#eccb85;margin-left:auto;font-weight:500}.wedding-countdown{text-align:center;border-top:1px solid #eac67f33;margin-top:1.45rem;padding-top:1.25rem}.wedding-countdown>p{color:#dfbd79;letter-spacing:.22em;margin-bottom:.9rem;font-family:Noto Serif SC,serif;font-size:.8rem}.countdown-values{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.countdown-values span{gap:.25rem;display:grid;position:relative}.countdown-values span:not(:last-child):after{content:":";color:#ebca8780;font-size:1.15rem;position:absolute;top:.08rem;right:-.32rem}.countdown-values strong{color:#f1d394;font-family:Noto Serif SC,serif;font-size:1.55rem;font-weight:500;line-height:1}.countdown-values small{color:#f6e0b3b8;letter-spacing:.1em;font-size:.68rem}.countdown-arrived{color:#f1d394;letter-spacing:.28em;font-family:Noto Serif SC,serif;font-size:1.15rem}.venue-section{text-align:center}.venue-section .small-gold{margin-top:2rem}.venue-section h2{letter-spacing:.06em;margin:1rem auto 0;font-family:Noto Serif SC,serif;font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.55}.venue-section h3{color:#e7c078;letter-spacing:.13em;margin:.25rem 0 0;font-family:Noto Serif SC,serif;font-size:1.38rem;font-weight:500}.venue-section>p{color:#ead49f;letter-spacing:.04em;max-width:500px;margin:1.2rem auto 0;font-size:.9rem;line-height:1.8}.real-map{background:#4600094d;border:1px solid #edcd8bb8;width:100%;max-width:580px;margin:2rem auto 0;padding:7px;display:block;position:relative;overflow:hidden;box-shadow:0 24px 60px #32000647}.real-map img{-o-object-fit:cover;object-fit:cover;filter:saturate(.72)sepia(.08)contrast(.96);width:100%;height:245px;transition:transform .4s;display:block}.real-map:hover img{transform:scale(1.02)}.red-closing{min-height:84svh;position:relative;overflow:hidden}.red-closing>img{-o-object-fit:cover;object-fit:cover;-o-object-position:32% center;object-position:32% center;width:100%;height:100%;position:absolute;inset:0}.closing-overlay{background:linear-gradient(#5b010d14,#4b000a40 35%,#3f0008eb);position:absolute;inset:0}.closing-copy{inset-inline:0;text-align:center;padding:5rem 1.5rem 3.5rem;position:absolute;bottom:0}.closing-copy>span{color:#eccb87;font-family:Noto Serif SC,serif;font-size:3rem;display:inline-block}.closing-copy p{color:#efd89f;letter-spacing:.26em;margin:.5rem 0 1rem;font-size:.82rem}.closing-copy h2{letter-spacing:.08em;margin:0;font-family:Noto Serif SC,serif;font-size:clamp(2rem,8vw,3rem);font-weight:500;line-height:1.5}.closing-copy small{color:#f8e9c7d6;letter-spacing:.11em;margin-top:1.3rem;font-size:.82rem;line-height:1.9;display:block}.floating-music{z-index:35;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));color:#f0cf89;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#6f0413c7;border:1px solid #efd08f80;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:fixed;box-shadow:0 10px 28px #32000740}.floating-music.is-playing{animation:5s linear infinite spin}.map-sheet-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1a000394;justify-content:center;align-items:flex-end;padding:1rem;animation:.2s both fade-in;display:flex;inset:0;z-index:80!important;position:fixed!important}.map-sheet{color:#3f0b12;background:#fffaf0;border:1px solid #efd19173;border-radius:22px;width:min(100%,500px);animation:.35s cubic-bezier(.2,.8,.2,1) both sheet-up;overflow:hidden;box-shadow:0 -20px 60px #26000459}.map-sheet-handle{background:#dbcdb8;border-radius:10px;width:42px;height:4px;margin:.7rem auto .25rem}.map-sheet-title{text-align:left;border-bottom:1px solid #eee3d1;justify-content:space-between;align-items:center;padding:.8rem 1.2rem 1rem;display:flex}.map-sheet-title span{font-family:Noto Serif SC,serif;font-size:1.12rem;font-weight:600;display:block}.map-sheet-title small{color:#8e7c6d;margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}.map-sheet-title button{color:#72545a;background:#f3eadc;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.map-option-list{padding:.25rem 1rem}.map-option-list a{color:#3e2728;border-bottom:1px solid #f0e7da;align-items:center;gap:.8rem;min-height:58px;font-size:1rem;text-decoration:none;display:flex}.map-option-list a>svg{color:#a79083;margin-left:auto}.map-option-icon{color:#f7e6bd;background:#991024;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.map-cancel{width:calc(100% - 2rem);min-height:50px;margin:.45rem 1rem calc(.9rem + env(safe-area-inset-bottom));color:#7a121f;letter-spacing:.1em;background:#f2e7d6;border-radius:13px;font-size:.98rem}[data-reveal]{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(34px)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}@keyframes float-down{50%{transform:translateY(5px)}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(35px)}}@media (width<=639px){.round-control span{display:none}.round-control{width:38px;padding:0}.red-section{padding-inline:1.2rem}.wide-photo{margin-inline:-1.2rem}.wide-photo figcaption{padding-inline:1.2rem}.real-map img{height:215px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
