@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.1u-lvzo58r3-e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.37c107x1d-cfz.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.3_gspotjv4tkw.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.0m-w082keobar.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.3y9b8znjr2455.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_40717273-module__m48NkW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_40717273-module__m48NkW__variable{--font-terminal-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--frame-width:480px;--safe-top:max(16px, env(safe-area-inset-top));--safe-bottom:max(24px, env(safe-area-inset-bottom));--font-sans:var(--font-wedding-sans), "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:var(--font-wedding-serif), "Noto Serif KR", Georgia, serif;--font-mono:var(--font-terminal-mono), "SFMono-Regular", Consolas, monospace;--bride-sky:#4d9ff0;--bride-sky-soft:#dff1ff;--bride-cream:#fff8eb;--bride-yellow:#ffd04f;--bride-red:#d94f48;--bride-green:#278659;--bride-blue-deep:#235f9e;--bride-text:#2d3953;--groom-bg:#0d1117;--groom-panel:#161b22;--groom-panel-2:#21262d;--groom-border:#30363d;--groom-text:#e6edf3;--groom-muted:#9aa5b1;--groom-green:#4ac15c;--groom-blue:#71b7ff;--groom-purple:#c7a0ff}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#e7ecf3;min-width:320px}body{color:#20293a;min-width:320px;font-family:var(--font-sans);font-feature-settings:"kern" 1;letter-spacing:-.01em;background:radial-gradient(circle at 20% 10%,#dceeff,#0000 28%),#e7ecf3;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit;text-decoration:none}img{object-fit:cover}:focus-visible{outline-offset:3px;outline:3px solid #ffbf47}.wedding-frame{width:min(100%, var(--frame-width));background:#fff;min-height:100vh;margin:0 auto;position:relative;overflow:clip;box-shadow:0 0 48px #161d2d2e}.wedding-shell{min-height:100vh;overflow:hidden}.mode-switcher{z-index:100;top:var(--safe-top);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d1117d1;border:1px solid #ffffff38;border-radius:18px;grid-template-columns:1fr 1fr;gap:5px;width:min(100% - 28px,430px);min-height:56px;padding:6px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #03081247}.mode-switcher a{color:#c4ccd5;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:700;display:flex}.mode-switcher a[aria-current=page]{color:#182033;background:#fff}.mode-switcher svg{width:17px}.visit-dot{background:#6b7280;border-radius:999px;width:7px;height:7px}.visit-dot.visited{background:#55d369;box-shadow:0 0 0 4px #55d36921}.route-redirect,.not-found{text-align:center;background:#fff;place-content:center;gap:14px;min-height:100vh;padding:28px;display:grid}.route-redirect a,.not-found a{color:#fff;background:#235f9e;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;font-weight:800;display:inline-flex}.not-found>span{color:#4d9ff0;font-size:54px;font-weight:1000}.not-found h1,.not-found p{margin:0}.bride-world{color:var(--bride-text);background:var(--bride-cream)}.bride-hero{padding:calc(var(--safe-top) + 60px) 24px 22px;color:#fff;background:linear-gradient(#3f93ed 0%,#79bfff 58%,#e4f4ff 100%);position:relative;overflow:hidden}.bride-hero:after{content:"";background:linear-gradient(135deg,#d6a263,#aa6b32);border-radius:34px;width:270px;height:170px;position:absolute;bottom:-68px;right:-82px;transform:rotate(-8deg);box-shadow:inset 0 0 0 10px #ffffff1f}.cloud{filter:drop-shadow(0 6px 14px #1d5b9a1f);background:#ffffffeb;border-radius:999px;width:104px;height:34px;animation:9s ease-in-out infinite alternate float-cloud;position:absolute}.cloud:before,.cloud:after{background:inherit;content:"";border-radius:50%;position:absolute;bottom:0}.cloud:before{width:46px;height:46px;left:17px}.cloud:after{width:58px;height:58px;right:17px}.cloud-one{top:330px;left:-72px;transform:scale(.72)}.cloud-two{animation-delay:-2s;top:286px;right:-64px;transform:scale(.92)}.cloud-three{animation-delay:-4s;top:555px;left:-68px;transform:scale(1.05)}@keyframes float-cloud{0%{margin-left:-8px}to{margin-left:14px}}.hero-orbit{z-index:1;opacity:.8;gap:12px;display:grid;position:absolute;top:104px;right:26px}.hero-orbit svg:first-child{width:30px;height:30px;transform:rotate(-30deg)}.hero-orbit svg:last-child{width:18px;height:18px;color:var(--bride-yellow)}.bride-eyebrow{z-index:2;letter-spacing:.12em;background:#ffffff26;border:1px solid #ffffff6b;border-radius:999px;margin:0;padding:8px 12px;font-size:11px;font-weight:700;display:inline-flex;position:relative}.bride-hero h1{z-index:2;width:100%;max-width:100%;font-family:var(--font-display);text-align:center;text-shadow:0 8px 22px #1a549433;justify-items:center;margin:12px 0 7px;font-weight:600;line-height:1.08;display:grid;position:relative}.bride-couple-title{letter-spacing:-.05em;white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;max-width:100%;font-size:clamp(28px,8vw,38px);display:flex}.bride-couple-title small{letter-spacing:.04em;flex:none;margin:0 .42em;font-size:.44em}.bride-invite-title{font-family:var(--font-sans);letter-spacing:-.035em;margin-top:5px;font-size:clamp(17px,4.8vw,21px);font-weight:800}.bride-hero-subtitle{z-index:2;color:#ffffffeb;letter-spacing:.02em;text-align:center;text-shadow:0 1px 2px #0a22414d;word-break:keep-all;width:fit-content;max-width:100%;margin:0 auto;font-size:13px;font-weight:700;line-height:1.5;position:relative}.polaroid{background:#fff;box-shadow:0 22px 50px #19487e3d}.hero-polaroid{z-index:2;width:82%;max-width:345px;margin:29px auto 0;padding:14px 14px 39px;position:relative;transform:rotate(-1.2deg)}.hero-image{background:#dbeeff;min-height:222px;position:relative;overflow:hidden}.hero-image img,.groom-couple-photo img{object-fit:cover}.hero-polaroid p{color:#505a70;font-family:var(--font-display);text-align:center;margin:12px 0 -25px;font-size:13px}.toy-blocks{z-index:3;align-items:flex-end;gap:5px;display:flex;position:absolute;bottom:38px;right:14px;transform:rotate(4deg)}.toy-blocks span{color:#4a3d16;background:var(--bride-yellow);border-radius:8px;place-items:center;width:40px;height:40px;font-weight:1000;display:grid;box-shadow:inset 0 -5px #00000014,0 8px 16px #14467d26}.toy-blocks span:nth-child(2){color:#fff;background:var(--bride-red);height:56px}.toy-blocks span:nth-child(3){color:#fff;background:var(--bride-green)}.bride-section{padding:12px 24px;position:relative}.bride-section h2{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0 0 11px;font-size:clamp(25px,7vw,30px);font-weight:600;line-height:1.38}.section-eyebrow{color:var(--bride-red);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.section-description,.invitation-copy p{color:#5d697d;word-break:keep-all;font-size:15px;line-height:1.72}.invitation-section{background:radial-gradient(circle at 90% 16%, #ffd04f3b, transparent 25%), var(--bride-cream)}.invitation-copy p{margin:0 0 10px}.invitation-section blockquote{color:#4d5870;font-family:var(--font-display);text-align:center;background:#ffffffdb;border:1px solid #4d9ff033;border-radius:16px;gap:12px;margin:20px 0 0;padding:21px 19px;font-size:15px;line-height:1.78;display:grid;box-shadow:0 10px 28px #262d4614}.invitation-section blockquote svg{width:22px;color:var(--bride-red);fill:currentColor;margin:0 auto}.story-section{background:#eff8ff}.story-section .section-eyebrow{color:var(--bride-blue-deep)}.train-timeline{gap:13px;margin-top:22px;padding-left:43px;display:grid;position:relative}.train-timeline:before{content:"";background:repeating-linear-gradient(#8d6e54 0 8px,#d4c1ad 8px 13px);border-radius:999px;width:7px;position:absolute;top:8px;bottom:8px;left:18px}.train-icon{z-index:2;color:#fff;background:var(--bride-blue-deep);border-radius:12px;width:38px;height:38px;padding:8px;position:absolute;top:-12px;left:2px}.train-timeline article{background:#fff;border:1px solid #3b5b881a;border-radius:18px;padding:17px;position:relative;box-shadow:0 9px 24px #2c588914}.train-timeline article:before{background:var(--bride-yellow);width:17px;height:17px;box-shadow:0 0 0 2px var(--bride-blue-deep);content:"";border:4px solid #fff;border-radius:50%;position:absolute;top:25px;left:-34px}.train-timeline time{color:var(--bride-blue-deep);font-size:12px;font-weight:900}.train-timeline h3{margin:5px 0;font-size:17px}.train-timeline p{color:#647086;margin:0;font-size:13px;line-height:1.65}.event-section{color:#fff;background:var(--bride-blue-deep)}.event-section .section-eyebrow{color:var(--bride-yellow)}.calendar-card{color:var(--bride-text);background:#fff;border-radius:18px;grid-template-columns:78px 1fr;align-items:center;gap:17px;margin-top:20px;padding:19px;display:grid;box-shadow:0 17px 36px #08254b33}.calendar-number{color:#fff;background:var(--bride-red);height:78px;font-family:var(--font-sans);border-radius:14px;place-items:center;font-size:38px;font-weight:700;display:grid}.calendar-card strong,.calendar-card span,.calendar-card a{display:block}.calendar-card span,.calendar-card a{color:#647086;margin-top:5px;font-size:13px;line-height:1.55}.gallery-section{background:var(--bride-cream)}.gallery-section .section-eyebrow{color:var(--bride-green)}.video-section{background:#fff2df}.location-section{background:#e5f3ff}.contact-section,.account-section{background:#fff}.guestbook-section{background:#f6f0e6}.upload-section{background:#eef8f1}.passport-section{background:#f3eee4}.passport-card{border-radius:17px;margin-top:19px;padding:18px;position:relative;overflow:hidden}.passport-card.bride{color:#24314a;background:#f8fbff;border:1px solid #4d9ff03d;box-shadow:0 10px 28px #1c22381a}.passport-card.groom{border:1px solid var(--groom-border);color:#f0f6fc;background:var(--groom-panel);border-radius:12px}.passport-heading{justify-content:space-between;gap:16px;font-size:13px;display:flex}.passport-heading span{color:var(--bride-blue-deep);font-weight:900}.passport-card.groom .passport-heading span{color:var(--groom-green)}.passport-card ul{gap:8px;padding:0;list-style:none;display:grid}.passport-card li{align-items:center;gap:9px;font-size:12px;display:flex}.passport-card li>span{color:#fff;background:#7d8896;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.passport-card li>span svg{width:12px}.passport-card li.visited>span{background:var(--bride-green)}.passport-track{background:#808b9c33;border-radius:999px;height:7px;overflow:hidden}.passport-track span{border-radius:inherit;background:linear-gradient(90deg, var(--bride-sky), var(--bride-green));height:100%;transition:width .3s;display:block}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.gallery-item{cursor:pointer;min-width:0;padding:0;overflow:hidden}.gallery-grid.bride .gallery-item{background:#fff;border-radius:12px;box-shadow:0 7px 19px #1c22381f}.gallery-thumb{aspect-ratio:1;width:100%;min-height:0;display:block;position:relative;overflow:hidden}.gallery-thumb img{object-fit:cover}.gallery-caption{text-align:left;align-items:center;gap:4px;min-height:34px;padding:6px;font-size:8px;font-weight:800;line-height:1.25;display:flex;overflow:hidden}.gallery-caption svg{width:16px}.gallery-grid.groom .gallery-item{border:1px solid var(--groom-border);color:var(--groom-blue);background:var(--groom-panel);border-radius:9px;display:block}.gallery-grid.groom .gallery-thumb{min-height:0}.gallery-grid.groom .gallery-caption{padding:6px}.gallery-overlay{z-index:300;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050a12e0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gallery-dialog{background:#fff;border-radius:22px;width:min(100%,720px);position:relative;overflow:hidden;box-shadow:0 28px 80px #00000073}.gallery-full-image{background:#182033;width:100%;min-height:min(70vh,720px);position:relative}.gallery-dialog>p{color:#344054;margin:0;padding:16px 60px 18px 18px;font-size:13px;line-height:1.6}.gallery-dialog button{z-index:2;color:#fff;cursor:pointer;background:#0d1117d1;border-radius:14px;place-items:center;width:46px;height:46px;display:grid;position:absolute}.gallery-close{top:12px;right:12px}.gallery-previous{top:50%;left:10px}.gallery-next{top:50%;right:10px}.video-component{margin-top:20px}.video-frame{aspect-ratio:16/9;background:#111827;border-radius:22px;width:100%;position:relative;overflow:hidden;box-shadow:0 16px 40px #18233733}.video-frame:after{pointer-events:none;content:"";background:linear-gradient(#0000 40%,#070c179e);position:absolute;inset:0}.video-frame iframe{z-index:3;border:0;width:100%;height:100%;position:absolute;inset:0}.video-frame>button{z-index:4;color:#fff;background:var(--bride-red);cursor:pointer;border-radius:50%;place-items:center;width:70px;height:70px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-frame>button svg{fill:currentColor;width:28px}.video-frame>span{z-index:2;color:#fff;font-size:12px;position:absolute;bottom:14px;left:16px;right:16px}.video-frame>.youtube-thumbnail{z-index:1;background-position:50%;background-size:cover;width:auto;inset:0}.video-component>a,.video-unconfigured{color:#42516a;align-items:center;gap:6px;width:fit-content;min-height:44px;margin:10px 0 0 auto;font-size:12px;font-weight:800;display:flex}.video-component>a svg{width:15px}.location-card{background:#fff;border-radius:19px;margin-top:20px;overflow:hidden;box-shadow:0 14px 35px #1c324a21}.naver-live-map{background:#dfe7e2;width:100%;height:240px}.naver-live-map:not(:empty)+.map-fallback{display:none}.naver-map-label{color:#20242a;white-space:nowrap;background:#fff;border:1px solid #d7dde3;border-radius:8px;padding:8px 11px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:800;box-shadow:0 4px 13px #0003}.map-art{color:#fff;background:linear-gradient(35deg,#0000 42%,#ffffffc7 43% 48%,#0000 49%),linear-gradient(110deg,#0000 43%,#ffffffbd 44% 49%,#0000 50%),#b8d5bd;place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.map-art>svg{z-index:2;background:var(--bride-red);border:5px solid #fff;border-radius:50% 50% 50% 0;width:62px;height:62px;padding:14px;position:relative;transform:rotate(-45deg)}.map-art>.map-place-label{z-index:3;color:#253548;text-align:left;background:#fffffff2;border-radius:11px;gap:3px;padding:11px 13px;display:grid;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 8px 22px #27463229}.map-art>.map-place-label strong{font-size:13px}.map-art>.map-place-label small{color:#536477;font-size:11px}.naver-map-brand{z-index:4;color:#273342;background:#fffffff2;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:900;display:flex;position:absolute;top:13px;left:13px;box-shadow:0 5px 14px #1c392624}.naver-map-brand b{color:#fff;background:#03c75a;border-radius:4px;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.map-road{background:#aeb8bf;border:3px solid #ffffffd9;width:145%;height:17px;position:absolute;transform:rotate(-12deg);box-shadow:0 0 0 1px #50626a24}.map-road-two{transform:rotate(73deg)}.map-art[href]{cursor:pointer}.location-content{padding:20px}.location-content>strong{font-size:17px}.location-content>p{color:#5e6a7e;margin:7px 0;font-size:13px;line-height:1.6}.route-note{align-items:flex-start;gap:8px;display:flex}.route-note svg{flex:0 0 18px;width:18px}.map-links{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:7px;margin-top:15px;display:grid}.map-links a{color:#34445d;background:#edf2f7;border-radius:11px;justify-content:center;align-items:center;gap:4px;min-height:44px;font-size:11px;font-weight:900;display:flex}.map-links .naver-map-link{color:#052e16;background:#35df7a}.map-links svg{width:13px}.copy-button{color:#fff;background:var(--bride-blue-deep);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:8px 12px;font-size:11px;font-weight:900;display:inline-flex}.copy-button svg{width:15px}.contact-groups section>h3,.account-groups section>h3{margin:0 0 12px;font-size:15px}.contact-groups section+section,.account-groups section+section{margin-top:18px}.contact-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.contact-list article{text-align:center;background:#fff;border-radius:18px;padding:18px 12px;box-shadow:0 9px 25px #262d461a}.contact-avatar{background:#edf5fd;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 9px;font-size:25px;display:grid}.contact-list strong,.contact-list>article>span{display:block}.contact-list>article>span{color:#59667b;margin:3px 0 11px;font-size:11px}.contact-list article>div:last-child{grid-template-columns:1fr 1fr;gap:6px;display:grid}.contact-list a{color:#2f4c6b;background:#edf4fb;border-radius:10px;justify-content:center;align-items:center;gap:4px;min-height:44px;font-size:11px;font-weight:800;display:flex}.contact-list a svg{width:15px}.account-groups{gap:15px;margin-top:19px;display:grid}.account-groups section{background:#fff;border:1px solid #e4e9f0;border-radius:18px;overflow:hidden}.account-groups section>h3{border-bottom:1px solid #e7ebf0;padding:15px 17px}.account-row{grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:15px;display:grid}.account-row>svg{width:21px}.account-row small,.account-row strong{display:block}.account-row small{color:#5d697d;font-size:11px}.account-row strong{margin-top:3px;font-size:13px}.guestbook form,.guest-photo{background:#fffffff0;border-radius:19px;padding:18px;box-shadow:0 10px 28px #372d2217}.guestbook-inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.guestbook label{color:#465269;gap:6px;font-size:12px;font-weight:800;display:grid}.guestbook input,.guestbook textarea{color:#263247;background:#fff;border:1px solid #d8dee8;border-radius:11px;outline:none;width:100%;min-height:46px;padding:11px 12px}.guestbook textarea{resize:vertical}.guestbook input:focus,.guestbook textarea:focus{border-color:var(--bride-sky);box-shadow:0 0 0 4px #4d9ff021}.field-help{color:#5f6c80;margin:7px 0 12px;font-size:11px;line-height:1.5}.form-error,.upload-message{color:#a62e29;font-size:12px;line-height:1.55}.guestbook-success{margin:11px 0 0;font-size:12px;line-height:1.5}.terminal-response{border:1px solid #4ac15c9e;border-left:4px solid var(--groom-green);color:#b7ffbf;min-height:40px;font-family:var(--font-mono);background:#010409;border-radius:7px;align-items:center;gap:8px;padding:9px 11px;font-weight:800;display:flex;box-shadow:0 7px 18px #0000003d,inset 0 0 15px #4ac15c0d}.terminal-response>span{color:var(--groom-green);text-shadow:0 0 8px;font-size:9px}.guestbook form>button,.guest-photo button,.file-picker{color:#fff;background:var(--bride-red);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:10px 15px;font-weight:900;display:inline-flex}.guestbook form>button{width:100%;margin-top:12px}.guestbook button svg,.guest-photo button svg,.file-picker svg{width:18px}.guestbook-list{gap:11px;margin-top:16px;display:grid}.guestbook-list article{background:#fff;border-radius:16px;padding:16px;position:relative;box-shadow:0 8px 22px #54412b14}.guestbook-list article>div{justify-content:space-between;gap:12px;display:flex}.guestbook-list time{color:#637084;font-size:11px}.guestbook-list p{color:#5d697b;white-space:pre-wrap;margin:9px 0 0;font-size:14px;line-height:1.7}.load-more{color:#445168;cursor:pointer;background:#fffc;border-radius:12px;width:100%;min-height:44px;margin-top:14px;font-weight:800}.file-picker input{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.guest-photo>p{color:#667386;font-size:11px;line-height:1.55}.preview-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0;display:grid}.preview-grid span{aspect-ratio:1;background:#e6ecf2;border-radius:11px;position:relative;overflow:hidden}.upload-actions{flex-wrap:wrap;gap:8px;display:flex}.guest-photo .clear-button{color:#4a5669;background:#edf1f5}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bride-world-link{color:#f7fbff;background:radial-gradient(circle at 20% 20%, #4ac15c2b, transparent 25%), var(--groom-bg)}.bride-world-link,.groom-section.groom-world-link{text-align:left;grid-template-columns:max-content max-content minmax(0,1fr);align-items:center;gap:6px;padding-top:4px;padding-bottom:4px;display:grid}.bride-world-link>svg,.groom-section.groom-world-link>svg{display:none}.bride-world-link h2,.groom-section.groom-world-link>h2{color:#f7fbff;white-space:nowrap;margin:0;font-size:10px;line-height:1.2}.bride-world-link a,.groom-world-link a{color:#102016;white-space:nowrap;background:#70dc80;border-radius:9px;justify-content:center;align-items:center;gap:0;width:auto;min-width:0;min-height:44px;padding:0 6px;font-size:10px;font-weight:900;display:inline-flex}.groom-world-link a{color:#332500;background:var(--bride-yellow)}.bride-world-link a svg,.groom-world-link a svg{display:none}.combined-passport{border:0;min-width:0;margin:0;padding:0}.combined-passport .passport-card{text-align:left;box-shadow:none;border-radius:8px;grid-template-columns:max-content minmax(76px,1fr);align-items:center;gap:4px;margin:0;padding:5px 6px;display:grid}.combined-passport .passport-heading{white-space:nowrap;gap:3px;font-size:9px}.passport-short-label{display:none}.combined-passport .passport-card ul{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:4px;width:100%;min-width:76px;margin:0;display:grid}.combined-passport .passport-card li{white-space:nowrap;grid-template-columns:14px max-content;justify-content:start;align-items:center;gap:3px;min-width:0;font-size:9px;line-height:14px;display:grid}.combined-passport .passport-card li>span{aspect-ratio:1;flex:none;place-items:center;width:14px;min-width:14px;height:14px;line-height:0;display:grid}.combined-passport .passport-card li>span svg{flex:none;width:9px;height:9px;display:block}.combined-passport .passport-track{display:none}.bride-closing{padding:17px 24px calc(16px + var(--safe-bottom));color:#fff;text-align:center;background:linear-gradient(#255f9e,#173e6a);place-items:center;display:grid}.bride-closing>svg{color:var(--bride-yellow);fill:currentColor}.bride-closing h2{font-family:var(--font-display);margin:13px 0 8px;font-weight:600}.bride-closing p,.bride-closing time{color:#dbeafe;margin:3px}.groom-world{color:var(--groom-text);background:var(--groom-bg);font-family:var(--font-sans)}.groom-hero{background:radial-gradient(circle at 80% 12%, #58a6ff26, transparent 27%), radial-gradient(circle at 14% 52%, #3fb95017, transparent 32%), var(--groom-bg);padding:112px 20px 20px;position:relative;overflow:hidden}.groom-grid{opacity:.24;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.repository-window{z-index:2;border:1px solid var(--groom-border);font-family:var(--font-mono);background:#0d1117eb;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 24px 58px #00000061}.window-bar{border-bottom:1px solid var(--groom-border);background:var(--groom-panel);align-items:center;gap:7px;min-height:46px;padding:0 14px;display:flex}.window-bar i{background:#f85149;border-radius:50%;width:10px;height:10px}.window-bar i:nth-child(2){background:#d29922}.window-bar i:nth-child(3){background:var(--groom-green)}.window-bar span{color:var(--groom-muted);margin-left:5px;font-size:10px}.repository-window header{border-bottom:1px solid var(--groom-border);padding:20px}.repository-owner{color:var(--groom-blue);font-size:12px}.repository-window h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:8px 0 10px;font-size:clamp(28px,8.5vw,39px);font-weight:650;line-height:1.15}.repository-window header p{color:var(--groom-muted);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.65}.repository-window header .repository-intro{color:#82e491;font-family:var(--font-mono);text-shadow:0 0 10px #4ac15c29;font-size:15px;line-height:1.72}.repository-prompt{color:var(--groom-green);margin-right:3px;font-weight:900}.repository-intro strong{color:#b7ffbf;font-family:var(--font-sans);letter-spacing:-.02em;text-shadow:0 0 12px #4ac15c61;font-size:1.14em;font-weight:900;display:inline-block}.repository-chips{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.repository-chips span{border:1px solid var(--groom-border);color:#cbd3dc;background:var(--groom-panel);border-radius:8px;align-items:center;gap:5px;min-height:31px;padding:6px 9px;font-size:10px;font-weight:800;display:flex}.repository-chips span.success{color:#86d492;border-color:#4ac15c59}.repository-chips svg{width:13px}.contributor-merge{border-bottom:1px solid var(--groom-border);background:#05080c;margin:0;padding:0 14px 15px;overflow:hidden}.contributor-merge figcaption{border-bottom:1px solid var(--groom-border);color:#d5dbe2;font-family:var(--font-mono);background:#11161d;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;margin:0 -14px 12px;padding:8px 14px;font-size:10px;display:grid}.merge-command{color:#d5dbe2;white-space:nowrap}.merge-command b{color:var(--groom-green)}.merge-command>span{color:var(--groom-muted)}.merge-message-ticker{border-left:1px solid var(--groom-border);color:#f0f6fc;min-width:0;height:20px;display:block;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.merge-message-track{width:max-content;height:100%;animation:27s linear infinite merge-message-scroll;display:flex}.merge-message-group{flex:none;align-items:center;gap:22px;padding-right:22px;display:flex}.contributor-merge .merge-message-group>span{color:#f2c96d;white-space:nowrap;align-items:center;gap:4px;height:20px;font-size:9px;font-weight:800;display:inline-flex}.contributor-merge .merge-message-group>span:before{color:var(--groom-green);content:">"}.ascii-merge-scene{color:#d9e2eb;width:calc(100% + 12px);height:138px;min-height:138px;font-family:var(--font-mono);place-items:center;margin:0 -6px;display:grid;position:relative;overflow:hidden}.ascii-scene{opacity:0;pointer-events:none;place-items:center;animation:27s ease-in-out infinite both ascii-scene-cycle;display:grid;position:absolute;inset:0;overflow:hidden}.ascii-scene-merge{animation-delay:0s}.ascii-scene-branch{animation-delay:-18s}.ascii-scene-deploy{animation-delay:-9s}.ascii-scene-static{color:#f0f6fc;text-align:center;place-content:center;gap:8px;font-size:12px;display:none;position:absolute;inset:0}.ascii-scene-static strong{font-family:var(--font-sans);font-size:14px}.ascii-scene-static strong span:first-child{color:#82c2ff}.ascii-scene-static strong span:last-child{color:#ffacd5}.ascii-scene-static code{color:var(--groom-green);font-family:inherit}.ascii-actor{z-index:3;width:58px;font-family:var(--font-mono);text-align:center;font-size:clamp(7.2px,2.25vw,9.2px);font-weight:800;line-height:1.02;animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;position:absolute;top:27px}.ascii-actor pre{color:inherit;font:inherit;white-space:pre;justify-items:center;margin:0;display:grid}.ascii-actor pre>span{text-align:center;min-width:6ch;display:block}.ascii-actor i{font-style:normal}.ascii-face{color:#efc4a6}.ascii-hair{color:#090c10;text-shadow:0 0 2px #e6edf3d1}.ascii-eyes{color:#f8fbff;text-shadow:0 0 4px #71b7ff94}.ascii-mouth{color:#ff5d73;text-shadow:0 0 5px #ff5d739e}.ascii-actor-groom .ascii-outfit{color:#82c2ff}.ascii-actor-bride .ascii-outfit{color:#ffacd5}.ascii-actor strong{font-family:var(--font-sans);white-space:nowrap;margin-top:4px;font-size:10px;line-height:1.15;display:block}.ascii-actor-groom{color:#82c2ff;animation-name:ascii-groom-arrive;left:0}.ascii-actor-bride{color:#ffacd5;animation-name:ascii-bride-arrive;right:0}.ascii-heart{z-index:2;opacity:0;transform-origin:50%;color:#ff668f;width:max-content;font-family:var(--font-mono);text-align:center;text-shadow:0 0 12px #ff668f80;margin:0;font-size:clamp(7.1px,2.25vw,9.3px);font-weight:900;line-height:1.02;animation:9s ease-in-out infinite both ascii-heart-bloom;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.12)}.ascii-heart code{font:inherit;justify-items:center;display:grid}.ascii-heart code span{text-align:center;display:block}.ascii-result{opacity:0;color:#d9e2eb;width:100%;font-family:var(--font-mono);text-align:center;white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;margin:0;font-size:clamp(8.8px,2.6vw,11px);animation:9s ease-in-out infinite both ascii-result-appear;display:flex;position:absolute;bottom:4px;left:0;right:0}.ascii-result span:first-child{color:#82c2ff}.ascii-result span:last-child{color:#ffacd5}.ascii-result code{color:#f3f6f9;font-family:inherit}.ascii-branch-diagram{color:#d9e2eb;white-space:nowrap;grid-template:auto auto/max-content max-content;align-items:center;max-width:100%;font-size:clamp(8px,2.5vw,11.2px);line-height:1.4;display:grid}.ascii-branch-row{opacity:0;align-items:center;animation:9s ease-in-out infinite both ascii-branch-enter;display:flex}.ascii-branch-row strong{min-width:4em;font-family:var(--font-sans);text-align:right;font-size:1.08em}.ascii-branch-row code{color:#b8c2cc;font-family:inherit}.ascii-branch-groom{color:#82c2ff;--branch-offset:-14px;grid-area:1/1}.ascii-branch-bride{color:#ffacd5;--branch-offset:14px;grid-area:2/1}.ascii-branch-core{opacity:0;color:var(--groom-green);font:inherit;transform-origin:0;grid-area:1/2/3/3;align-self:center;margin-left:-.2ch;animation:9s ease-in-out infinite both ascii-branch-merge}.ascii-scene-status{opacity:0;color:#f2c96d;text-align:center;white-space:nowrap;margin:0;font-size:clamp(8px,2.35vw,10px);font-weight:800;animation:9s ease-in-out infinite both ascii-scene-status;position:absolute;bottom:7px;left:0;right:0}.ascii-deploy-stack{text-align:center;place-items:center;gap:9px;width:100%;max-width:274px;padding:0 4px;font-size:clamp(8px,2.45vw,11px);display:grid}.ascii-deploy-command{opacity:0;color:#d9e2eb;font:inherit;animation:9s ease-in-out infinite both ascii-deploy-command}.ascii-deploy-command:first-letter{color:var(--groom-green)}.ascii-deploy-approval{opacity:0;color:#f0f6fc;white-space:nowrap;flex-wrap:nowrap;justify-content:center;gap:12px;animation:9s ease-in-out infinite both ascii-deploy-approval;display:flex}.ascii-deploy-approval strong{font-family:var(--font-sans)}.ascii-deploy-approval span:first-child strong{color:#82c2ff}.ascii-deploy-approval span:last-child strong{color:#ffacd5}.ascii-deploy-progress{place-items:center;width:100%;min-height:1.5em;font-size:clamp(7px,2.35vw,10px);display:grid;overflow:hidden}.ascii-deploy-progress code{opacity:0;color:#d9e2eb;max-width:100%;font:inherit;white-space:nowrap;grid-area:1/1}.ascii-deploy-progress code:first-child{animation:9s step-end infinite both ascii-deploy-progress-one}.ascii-deploy-progress code:nth-child(2){animation:9s step-end infinite both ascii-deploy-progress-two}.ascii-deploy-progress code:nth-child(3){color:var(--groom-green);animation:9s step-end infinite both ascii-deploy-progress-success}.groom-couple-photo{aspect-ratio:742/413;border:1px solid var(--groom-border);background:var(--groom-panel);border-radius:10px;width:100%;margin:0 0 10px;position:relative;overflow:hidden}@keyframes ascii-scene-cycle{0%,30%{opacity:1}32%,to{opacity:0}}@keyframes ascii-groom-arrive{0%,12%{opacity:1;left:0;transform:translate(0)}20%{transform:translateY(-2px)}28%{transform:translateY(2px)}36%{transform:translateY(-2px)}44%{transform:translateY(2px)}58%{opacity:1;left:50%;transform:translate(-100%)}66%,94%{opacity:0;left:50%;transform:translate(-100%)}to{opacity:0;left:0;transform:translate(0)}}@keyframes ascii-bride-arrive{0%,12%{opacity:1;right:0;transform:translate(0)}20%{transform:translateY(2px)}28%{transform:translateY(-2px)}36%{transform:translateY(2px)}44%{transform:translateY(-2px)}58%{opacity:1;right:50%;transform:translate(100%)}66%,94%{opacity:0;right:50%;transform:translate(100%)}to{opacity:0;right:0;transform:translate(0)}}@keyframes ascii-heart-bloom{0%,32%{opacity:0;transform:translate(-50%,-50%)scale(.12)}40%{opacity:1;transform:translate(-50%,-50%)scale(.24)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}64%,86%{opacity:1;transform:translate(-50%,-50%)scale(1)}96%,to{opacity:0;transform:translate(-50%,-50%)scale(.92)}}@keyframes ascii-result-appear{0%,50%{opacity:0;transform:translateY(3px)}62%,86%{opacity:1;transform:translateY(0)}96%,to{opacity:0;transform:translateY(-2px)}}@keyframes ascii-branch-enter{0%,8%{opacity:0;transform:translateX(var(--branch-offset))}20%,84%{opacity:1;transform:translate(0)}96%,to{opacity:0;transform:translate(0)}}@keyframes ascii-branch-merge{0%,24%{opacity:0;transform:scaleX(.2)}38%,86%{opacity:1;transform:scaleX(1)}96%,to{opacity:0;transform:scaleX(1)}}@keyframes ascii-scene-status{0%,46%{opacity:0;transform:translateY(3px)}58%,86%{opacity:1;transform:translateY(0)}96%,to{opacity:0;transform:translateY(-2px)}}@keyframes ascii-deploy-command{0%,6%{opacity:0;transform:translateY(4px)}16%,90%{opacity:1;transform:translateY(0)}98%,to{opacity:0;transform:translateY(-2px)}}@keyframes ascii-deploy-approval{0%,20%{opacity:0;transform:translateY(4px)}32%,90%{opacity:1;transform:translateY(0)}98%,to{opacity:0;transform:translateY(-2px)}}@keyframes ascii-deploy-progress-one{0%,34%{opacity:0}35%,48%{opacity:1}49%,to{opacity:0}}@keyframes ascii-deploy-progress-two{0%,48%{opacity:0}49%,63%{opacity:1}64%,to{opacity:0}}@keyframes ascii-deploy-progress-success{0%,63%{opacity:0}64%,90%{opacity:1}91%,to{opacity:0}}@keyframes merge-message-scroll{to{transform:translate(-50%)}}.terminal-lines{padding:18px 20px;font-size:12px;line-height:1.72}.terminal-lines p{color:#d5dbe2;gap:8px;margin:0;display:flex}.terminal-lines b{color:var(--groom-green)}.terminal-lines em{color:var(--groom-blue);font-style:normal}.terminal-cursor{background:#d5dbe2;width:8px;height:15px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.groom-section{border-top:1px solid var(--groom-border);padding:12px 20px}.groom-section>h2{font-family:var(--font-sans);letter-spacing:-.04em;text-wrap:balance;margin:8px 0 11px;font-size:26px;font-weight:650;line-height:1.3}.groom-eyebrow{color:var(--groom-green);font-family:var(--font-mono);letter-spacing:.06em;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.groom-eyebrow svg{width:16px}.readme-card{border:1px solid var(--groom-border);background:var(--groom-panel);border-radius:12px;margin-top:20px;overflow:hidden}.readme-card>div{border-bottom:1px solid var(--groom-border);padding:13px 15px;font-size:11px}.readme-card h3,.readme-card p,.readme-card blockquote{font-family:var(--font-sans);margin-left:18px;margin-right:18px}.readme-card h3{border-bottom:1px solid var(--groom-border);padding-bottom:12px;font-size:22px}.readme-card p,.readme-card blockquote{color:#c0c8d1;word-break:keep-all;font-size:14px;line-height:1.72}.readme-card blockquote{border-left:4px solid var(--groom-border);color:var(--groom-muted);margin-bottom:22px;padding-left:14px}.commit-list{border:1px solid var(--groom-border);background:var(--groom-panel);border-radius:12px;margin-top:20px;overflow:hidden}.commit-list article{border-bottom:1px solid var(--groom-border);grid-template-columns:37px 1fr;gap:11px;padding:16px;display:grid}.commit-list article:last-child{border-bottom:0}.commit-list article>span{border:1px solid var(--groom-border);width:33px;height:33px;color:var(--groom-green);background:var(--groom-bg);border-radius:50%;place-items:center;display:grid}.commit-list svg{width:17px}.commit-list h3{font-family:var(--font-mono);margin:0 0 5px;font-size:12px}.commit-list p{color:var(--groom-muted);margin:0 0 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;line-height:1.5}.commit-list code{color:var(--groom-blue);font-family:var(--font-mono);font-size:10px}.code-card{border:1px solid var(--groom-border);font-family:var(--font-mono);background:#010409;border-radius:12px;margin-top:20px;overflow:hidden}.code-card>div{border-bottom:1px solid var(--groom-border);color:var(--groom-muted);background:var(--groom-panel);justify-content:space-between;padding:12px 13px;font-size:10px;display:flex}.code-card>div span:last-child{color:var(--groom-green)}.code-card pre{color:#cad2db;margin:0;padding:17px;font-size:11px;line-height:1.75;overflow-x:auto}.code-card b{color:var(--groom-purple)}.code-card em{color:#acd6ff;font-style:normal}.groom-world .video-frame{border:1px solid var(--groom-border);border-radius:12px}.groom-world .video-frame>button{color:#0d1117;background:var(--groom-green)}.groom-world .video-component>a,.groom-world .video-unconfigured{color:var(--groom-muted)}.groom-note{color:var(--groom-muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.65;display:flex}.groom-note svg{flex:0 0 18px;width:18px}.groom-world .location-card{border:1px solid var(--groom-border);background:var(--groom-panel);box-shadow:none;border-radius:12px}.groom-world .location-content>p{color:var(--groom-muted)}.groom-world .copy-button,.groom-world .map-links a{border:1px solid var(--groom-border);color:#d4dbe3;background:var(--groom-panel-2)}.groom-world .map-links .naver-map-link{color:#052e16;background:#35df7a;border-color:#35df7a}.groom-world .contact-groups section>h3,.groom-world .account-groups section>h3{color:var(--groom-blue)}.groom-world .contact-list article,.groom-world .account-groups section{border:1px solid var(--groom-border);color:var(--groom-text);background:var(--groom-panel);box-shadow:none;border-radius:12px}.groom-world .contact-avatar{background:var(--groom-panel-2)}.groom-world .contact-list a{border:1px solid var(--groom-border);color:#d4dbe3;background:var(--groom-panel-2)}.groom-world .account-groups section>h3,.groom-world .account-row{border-color:var(--groom-border)}.groom-world .account-row small{color:var(--groom-muted)}.groom-world .guestbook form,.groom-world .guest-photo,.groom-world .guestbook-list article{border:1px solid var(--groom-border);color:var(--groom-text);background:var(--groom-panel);box-shadow:none;border-radius:12px}.groom-world .guestbook label{color:#cad2db}.groom-world .guestbook input,.groom-world .guestbook textarea{border-color:var(--groom-border);color:var(--groom-text);background:var(--groom-bg)}.groom-world .guestbook form>button,.groom-world .guest-photo button,.groom-world .file-picker{background:#238636}.groom-world .guestbook-list p,.groom-world .guest-photo>p{color:#c2cad3}.groom-world .contact-list>article>span,.groom-world .account-row small,.groom-world .field-help,.groom-world .guestbook-list time{color:#b8c2cc}.groom-world .form-error,.groom-world .upload-message{color:#ff9b97}.issue-status{color:#8bd697;background:#4ac15c14;border:1px solid #4ac15c5c;border-radius:999px;padding:4px 7px;font-size:9px;position:absolute;top:12px;right:12px}.groom-world .guestbook-list article>div{padding-right:75px}.groom-world .load-more{border:1px solid var(--groom-border);color:#d4dbe3;background:var(--groom-panel)}.groom-world-link{text-align:center;background:radial-gradient(circle at 80% 20%, #ffd04f1a, transparent 25%), var(--groom-bg)}.groom-world-link>svg{color:var(--bride-text);background:var(--bride-yellow)}.groom-passport-section{background:#11161d}.deploy-closing{padding:17px 22px calc(17px + var(--safe-bottom));border-top:1px solid var(--groom-border);text-align:center;background:#010409;place-items:center;display:grid}.deploy-closing>svg{width:44px;height:44px;color:var(--groom-blue)}.deploy-status{color:var(--groom-green);align-items:center;gap:6px;margin-top:18px;font-size:12px;font-weight:900;display:flex}.deploy-status svg{width:15px}.deploy-closing h2{margin:12px 0 7px}.deploy-closing p{color:var(--groom-muted);margin:0 0 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.deploy-closing code{color:var(--groom-blue);font-size:11px}.wedding-toast{z-index:400;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));color:#fff;text-align:center;pointer-events:none;background:#111827f0;border-radius:13px;max-width:calc(100% - 32px);min-height:0;padding:0;font-size:13px;font-weight:800;position:fixed;transform:translate(-50%);box-shadow:0 16px 34px #00000040}.wedding-toast:not(:empty){min-height:46px;padding:13px 17px}.wedding-toast.terminal-toast:not(:empty){border:1px solid #4ac15cb8;border-left:5px solid var(--groom-green);color:#b7ffbf;min-width:min(330px,100% - 32px);min-height:52px;font-family:var(--font-mono);letter-spacing:.01em;text-align:left;background:#010409f7;border-radius:7px;justify-content:flex-start;align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex;box-shadow:0 0 0 1px #4ac15c1f,0 16px 38px #00000085,0 0 22px #4ac15c1f}.wedding-toast.terminal-toast:not(:empty):before{color:var(--groom-green);content:"●";text-shadow:0 0 9px;font-size:10px}.section-reveal{isolation:isolate;position:relative}.section-reveal>*{transition:transform .38s cubic-bezier(.2,.75,.25,1),box-shadow .32s,border-color .32s}.section-reveal.is-reveal-pending:not(.is-visible)>*{transform:translateY(8px)}.section-reveal.is-visible>*{transform:translateY(0)}.section-reveal[data-kind=event].is-visible>*{box-shadow:inset 0 2px #ffffff14}.section-reveal[data-kind=location].is-visible .map-art>svg{filter:drop-shadow(0 8px 8px #1539222e)}.section-reveal[data-kind=contact].is-visible .contact-list article,.section-reveal[data-kind=account].is-visible .account-groups section{border-color:#4ac15c59}.music-toggle{z-index:120;right:max(16px, calc((100vw - var(--frame-width)) / 2 + 16px));bottom:calc(18px + env(safe-area-inset-bottom));color:#fff;cursor:pointer;background:#0d1117e6;border-radius:999px;align-items:center;gap:7px;min-height:48px;padding:10px 14px;display:flex;position:fixed;box-shadow:0 12px 30px #0000003d}.music-toggle svg{width:18px}.music-toggle span{font-size:11px;font-weight:900}.consent-overlay{z-index:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050a12c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.consent-card{color:#263247;text-align:center;background:#fff;border-radius:23px;width:min(100%,360px);padding:25px;box-shadow:0 28px 80px #0006}.consent-icon{color:#fff;background:var(--bride-red);border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto;display:grid}.consent-card h2{margin:17px 0 9px}.consent-card p{color:#647086;font-size:13px;line-height:1.65}.consent-card button{color:#fff;background:var(--bride-blue-deep);cursor:pointer;border-radius:13px;width:100%;min-height:48px;margin-top:8px;font-weight:900}.consent-card button.quiet-button{color:#43506a;background:#edf1f5}@media (max-width:360px){.bride-hero,.bride-section,.groom-section{padding-left:18px;padding-right:18px}.merge-command>span,.passport-full-label{display:none}.passport-short-label{display:inline}.mode-switcher{width:calc(100% - 18px)}.mode-switcher a{font-size:12px}.guestbook-inline-fields,.contact-list{grid-template-columns:1fr}.calendar-card{grid-template-columns:70px 1fr;padding:17px}.calendar-number{height:70px}.account-row{grid-template-columns:28px 1fr}.account-row .copy-button{grid-column:2;width:100%}}@media (min-width:700px){body{padding:30px 0}.wedding-frame{border-radius:34px;min-height:calc(100vh - 60px)}.mode-switcher{top:44px}.bride-hero{padding-top:116px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ascii-scene{animation:none;display:none}.ascii-scene-static{display:grid}.merge-message-track{width:100%;animation:none;transform:none}.merge-message-group{display:none}.merge-message-group:first-child{justify-content:center;width:100%;padding:0;display:flex}.merge-message-group:first-child>span{display:none}.merge-message-group:first-child>span:first-child{display:inline-flex}.section-reveal>:not(.reveal-status),.section-reveal article,.section-reveal .gallery-item{opacity:1!important;transition:none!important;transform:none!important}.reveal-status{display:none;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.mode-switcher{transition:opacity .32s,transform .32s}.mode-switcher.is-main-hidden{opacity:0;pointer-events:none;transform:translate(-50%,-12px)}body.main-intro-open{overflow:hidden}.main-landing-intro{z-index:1000;color:#302c29;opacity:1;background:linear-gradient(145deg,#eee7dc 0%,#f5efe7 48%,#eadfd1 100%);place-items:center;padding:30px;transition:opacity .65s,visibility .65s;display:grid;position:fixed;inset:0;overflow:hidden}.main-landing-intro:before,.main-landing-intro:after{filter:blur(70px);opacity:.55;content:"";border-radius:50%;width:62vmax;height:62vmax;position:absolute}.main-landing-intro:before{background:#fffaf0;top:-30vmax;left:-22vmax}.main-landing-intro:after{background:#d9c3ae;bottom:-34vmax;right:-28vmax}.main-landing-intro.is-leaving{visibility:hidden;opacity:0}.main-landing-intro button{z-index:2;top:max(18px, env(safe-area-inset-top));color:#5d5650;min-width:56px;min-height:44px;font-family:var(--font-mono);letter-spacing:.16em;cursor:pointer;background:0 0;place-items:center;font-size:11px;display:grid;position:absolute;right:20px}.main-landing-intro p{z-index:2;min-height:5.2em;font-family:var(--font-display);letter-spacing:-.04em;text-align:center;margin:0;font-size:clamp(24px,7vw,38px);font-weight:500;line-height:1.7;position:relative}.main-landing-intro p span{display:block}.main-landing-intro p i{background:currentColor;width:1px;height:.95em;margin-left:5px;animation:.85s step-end infinite main-cursor;display:inline-block}@keyframes main-cursor{50%{opacity:0}}.main-world{color:#252321;background:#efede8}.main-hero{background:#d5d3cf;min-height:100svh;padding:6vh 22px 7vh 56px;position:relative;overflow:hidden}.main-film-strip{height:87svh;min-height:590px;position:relative}.main-hero-photo{background:#aaa8a4;margin:0;position:absolute;overflow:hidden;box-shadow:0 25px 65px #0f0e0d3d}.main-hero-photo img{filter:grayscale()contrast(1.08);transition:filter .9s,transform 7s cubic-bezier(.2,.65,.25,1)}.main-hero-photo.photo-1{z-index:2;inset:0 16px 18% 0}.main-hero-photo.photo-2{z-index:3;border:7px solid #f3f0ea;width:48%;height:39%;bottom:0;right:0}.main-hero-photo.photo-1 img{object-position:50% center;transform:scale(1.025)}.main-hero-photo.photo-2 img{object-position:center}.main-hero-photo figcaption{z-index:5;color:#fffc;font-family:var(--font-mono);letter-spacing:.16em;font-size:9px;position:absolute;bottom:8px;right:10px}.main-vertical-date{z-index:5;color:#2f2d2a;font-family:var(--font-mono);letter-spacing:.22em;text-orientation:mixed;writing-mode:vertical-rl;margin:0;font-size:9px;position:absolute;top:7vh;bottom:9vh;left:17px}.main-scroll-cue{z-index:6;color:#252321;place-items:center;width:34px;height:48px;animation:1.8s ease-in-out infinite main-scroll;display:grid;position:absolute;bottom:24px;left:18px}.main-scroll-cue svg{width:16px}@keyframes main-scroll{50%{transform:translateY(7px)}}.main-snow{z-index:4;pointer-events:none;position:absolute;inset:-30% 0 0;overflow:hidden}.main-snow i{background-image:radial-gradient(circle,#ffffffeb 0 1.4px,#0000 1.8px),radial-gradient(circle,#ffffffad 0 1px,#0000 1.5px),radial-gradient(circle,#ffffffc7 0 2px,#0000 2.5px);background-position:8px 12px,54px 43px,93px 78px;background-size:92px 108px,124px 136px,168px 192px;animation:11s linear infinite main-snowfall;position:absolute;inset:-45% 0 0}.main-snow i+i{opacity:.58;filter:blur(.4px);animation-duration:16s;animation-delay:-7s;transform:translate(25px)scale(.72)}@keyframes main-snowfall{to{transform:translate(22px,55%)}}.main-section{background:#f5f3ee;padding:70px 27px;position:relative}.main-section h2,.main-invitation-letter h2{max-width:360px;font-family:var(--font-display);letter-spacing:-.055em;text-wrap:balance;margin:8px 0 20px;font-size:clamp(28px,8vw,38px);font-weight:500;line-height:1.35}.main-eyebrow{color:#77716a;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:9px;font-weight:600;display:block}.main-description{color:#706b64;word-break:keep-all;margin:-7px 0 22px;font-size:13px;line-height:1.8}.main-section-symbol{color:#7d7770;stroke-width:1.1px;width:25px;position:absolute;top:72px;right:28px}.main-date-invitation{background:#676663}.main-date-stage{color:#fff;text-align:center;place-content:center;min-height:72svh;padding:76px 26px;display:grid}.main-date-stage>span,.main-date-stage>p{color:#ffffffa8;font-family:var(--font-mono);letter-spacing:.22em;margin:0;font-size:9px}.main-date-stage h2{font-family:var(--font-display);letter-spacing:-.08em;align-items:center;gap:7px;margin:28px 0;font-size:clamp(42px,13vw,64px);font-weight:400;display:flex}.main-date-stage h2 b{font-weight:inherit;opacity:.18;transform:translateY(18px)}.section-reveal.is-visible .main-date-stage h2 b{opacity:1;transition:opacity .7s,transform .7s cubic-bezier(.2,.78,.2,1);transform:translateY(0)}.section-reveal.is-visible .main-date-stage h2 b:nth-child(2){transition-delay:.12s}.section-reveal.is-visible .main-date-stage h2 b:nth-child(3){transition-delay:.24s}.main-date-stage h2 b+b:before{color:#ffffff52;content:"/";margin-right:7px}.main-invitation-letter{color:#282624;background:#f3f0ea;padding:72px 28px 80px}.main-invitation-letter>p{color:#68625c;word-break:keep-all;margin:0 0 14px;font-size:14px;line-height:1.9}.main-invitation-letter blockquote{color:#413e3a;font-family:var(--font-display);border-top:1px solid #cfcac2;gap:15px;margin:32px 0 0;padding:25px 0 0;font-size:14px;line-height:1.8;display:grid}.main-invitation-letter blockquote svg{fill:currentColor;width:18px}.wedding-calendar-countdown{gap:16px;margin-top:26px;display:grid}.month-calendar,.countdown-panel{background:#fff;border-radius:17px;padding:22px;box-shadow:0 13px 32px #231f1b14}.month-calendar header{border-bottom:1px solid #dedbd5;justify-content:space-between;align-items:baseline;padding-bottom:17px;display:flex}.month-calendar header span{color:#77716a;letter-spacing:.13em;font-size:11px}.month-calendar header strong{font-family:var(--font-display);font-size:31px;font-weight:500}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{color:#99928b;margin-top:17px;font-size:9px}.calendar-days{row-gap:7px;margin-top:10px;font-size:11px}.calendar-days>span{border-radius:50%;justify-self:center;place-items:center;width:31px;height:31px;display:grid}.calendar-days .ceremony-day{color:#fff;background:#33312e;font-weight:800;box-shadow:0 0 0 4px #33312e1a}.countdown-panel{text-align:center}.countdown-panel>p{color:#77716a;letter-spacing:.08em;margin:0 0 17px;font-size:11px}.countdown-units{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.countdown-units>span{gap:4px;display:grid}.countdown-units strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:500}.countdown-units small{color:#918b83;font-family:var(--font-mono);letter-spacing:.1em;font-size:7px}.countdown-names{font-family:var(--font-display);margin-top:20px;font-size:13px;font-weight:500;display:block}.countdown-names i{color:#8f3d3d;margin:0 4px;font-style:normal}.couple-introduction{grid-template-columns:1fr 1fr;gap:13px;margin-top:25px;display:grid}.couple-introduction article{min-width:0}.couple-portrait{aspect-ratio:4/5;background:#d9d5ce;position:relative;overflow:hidden}.couple-portrait img{filter:grayscale();transition:filter .5s,transform .7s}.couple-introduction article>span{color:#888179;font-family:var(--font-mono);letter-spacing:.15em;margin-top:13px;font-size:8px;display:block}.couple-introduction h3{font-family:var(--font-display);margin:5px 0;font-size:21px;font-weight:500}.couple-introduction p{color:#706a63;word-break:keep-all;margin:0;font-size:11px;line-height:1.7}.main-calendar-section{background:#ebe8e1}.main-contact-section{background:#f8f6f2}.main-about-section{background:#dfdcd6}.main-timeline-section{color:#efede8;background:#292826}.main-timeline-section .main-eyebrow{color:#aaa49b}.main-timeline{border-top:1px solid #57534e;margin-top:30px;display:grid}.main-timeline article{border-bottom:1px solid #57534e;grid-template-columns:30px 1fr;padding:20px 0;display:grid}.main-timeline article>span{color:#837d75;font-family:var(--font-mono);grid-row:1/4;font-size:9px}.main-timeline time{color:#aaa49b;font-family:var(--font-mono);letter-spacing:.08em;font-size:9px}.main-timeline h3{font-family:var(--font-display);margin:7px 0 5px;font-size:20px;font-weight:500}.main-timeline p{color:#bdb7af;margin:0;font-size:12px;line-height:1.7}.main-gallery-section{background:#f4f1eb}.gallery-grid.main .gallery-item{color:#34312e;background:0 0;border-radius:0}.gallery-grid.main .gallery-thumb{aspect-ratio:3/4}.gallery-grid.main img{filter:grayscale()contrast(1.04);transition:filter .45s,transform .6s}.gallery-grid.main .gallery-caption{color:#77716a;font-family:var(--font-mono);letter-spacing:.04em;padding:7px 0;font-size:7px}.main-film{border-top:1px solid #d1ccc4;margin-top:38px;padding-top:19px}.main-film>span{color:#77716a;font-family:var(--font-mono);letter-spacing:.15em;font-size:8px}.main-world .video-frame{box-shadow:none;border-radius:0}.main-world .video-frame>button{background:#23211fdb;width:58px;height:58px}.main-location-section{background:#dedbd4}.main-world .location-card{box-shadow:none;border:1px solid #cac5bc;border-radius:0}.main-world .map-links a{border-radius:0}.main-account-section{background:#f7f5f0}.main-world .account-groups section{box-shadow:none;border-color:#d8d3ca;border-radius:0}.main-world .copy-button{background:#34312e;border-radius:0}.main-guestbook-section{background:#e7e3dc}.main-world .guestbook form,.main-world .guestbook-list article{box-shadow:none;border:1px solid #d5d0c7;border-radius:0}.main-world .guestbook form>button{background:#34312e;border-radius:0}.main-world .guestbook input,.main-world .guestbook textarea{border-radius:0}.main-contact-section .contact-list article{box-shadow:none;border:1px solid #ddd8d0;border-radius:0}.main-contact-section .contact-avatar{filter:grayscale();background:#ebe8e1}.main-contact-section .contact-list a{color:#fff;background:#383532;border-radius:0}.main-worlds-section{color:#f3f0ea;background:#292826;padding-top:38px;padding-bottom:38px}.main-worlds-section .main-eyebrow{color:#aaa49b}.main-worlds-section h2{margin-bottom:12px;font-size:clamp(24px,7vw,30px)}.main-world-links{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.main-world-links a{border:1px solid #56514b;align-content:end;min-height:86px;padding:12px;transition:color .25s,background .25s;display:grid;position:relative}.main-world-links a>span{color:#918b83;font-family:var(--font-mono);letter-spacing:.15em;font-size:8px}.main-world-links a strong{font-family:var(--font-display);margin-top:4px;font-size:14px;font-weight:500}.main-world-links svg{width:18px;position:absolute;top:12px;right:12px}.main-worlds-section .passport-card{margin-top:12px;padding:13px}.main-worlds-section .passport-card ul{margin-top:10px;margin-bottom:10px}.passport-card.main{color:#f3f0ea;background:0 0;border:1px solid #56514b;border-radius:0}.passport-card.main .passport-heading span{color:#d4cec5}.passport-card.main li>span{background:#625d56}.passport-card.main li.visited>span{color:#292826;background:#ede8df}.passport-card.main .passport-track{background:#45413c}.passport-card.main .passport-track span{background:#ede8df}.main-closing{min-height:74svh;padding:80px 32px calc(80px + var(--safe-bottom));color:#2d2a27;text-align:center;background:#d4d0c8;place-content:center;display:grid}.main-closing>span{color:#77716a;font-family:var(--font-mono);letter-spacing:.2em;font-size:9px}.main-closing h2{font-family:var(--font-display);letter-spacing:-.06em;margin:24px 0;font-size:clamp(30px,9vw,43px);font-weight:500;line-height:1.45}.main-closing p{color:#68625c;word-break:keep-all;margin:0 auto 34px;font-size:13px;line-height:1.8}.main-closing strong{font-family:var(--font-display);font-size:18px;font-weight:500}.main-closing strong i{margin:0 7px;font-style:italic;font-weight:400}.main-closing time{color:#77716a;font-family:var(--font-mono);letter-spacing:.1em;margin-top:9px;font-size:9px}.bride-hero{min-height:100svh;padding-top:calc(var(--safe-top) + 72px)}.bride-hero .hero-polaroid{width:88%;max-width:372px;margin-top:5vh;padding-bottom:14px}.bride-hero .hero-image{min-height:66svh}.bride-calendar-section{background:#fff7e8}.bride-about-section{background:#e8f5ff}.bride-date-invitation .event-section,.bride-date-invitation .invitation-section{padding-top:54px;padding-bottom:54px}.couple-introduction.bride .couple-portrait{border:7px solid #fff;box-shadow:0 12px 25px #284b6e1f}.couple-introduction.bride img{filter:none}.wedding-calendar-countdown.bride .ceremony-day{background:var(--bride-red)}.groom-photo-first{align-items:center;min-height:100svh;display:grid}.groom-photo-first .repository-window>.window-bar,.groom-photo-first .repository-window>header,.groom-photo-first .contributor-merge>figcaption,.groom-photo-first .ascii-merge-scene,.groom-photo-first .terminal-lines{display:none}.groom-photo-first .contributor-merge{border:0;padding:0}.groom-photo-first .groom-couple-photo{border:0;border-radius:0;min-height:66svh;margin:0}.groom-photo-first .groom-couple-photo img{filter:grayscale()contrast(1.08)}.groom-date-invitation .groom-section{padding-top:52px;padding-bottom:52px}.groom-calendar-section,.groom-about-section{padding-top:54px;padding-bottom:54px}.wedding-calendar-countdown.groom .month-calendar,.wedding-calendar-countdown.groom .countdown-panel{border:1px solid var(--groom-border);color:var(--groom-text);background:var(--groom-panel);box-shadow:none}.wedding-calendar-countdown.groom .month-calendar header{border-color:var(--groom-border)}.wedding-calendar-countdown.groom .month-calendar header span,.wedding-calendar-countdown.groom .calendar-weekdays,.wedding-calendar-countdown.groom .countdown-panel>p,.wedding-calendar-countdown.groom .countdown-units small{color:var(--groom-muted)}.wedding-calendar-countdown.groom .ceremony-day{color:#08110a;background:var(--groom-green);box-shadow:0 0 0 4px #4ac15c1f}.couple-introduction.groom article{border:1px solid var(--groom-border);background:var(--groom-panel);padding:9px}.couple-introduction.groom h3{color:var(--groom-text);font-family:var(--font-mono);font-size:16px}.couple-introduction.groom p,.couple-introduction.groom article>span{color:var(--groom-muted)}.couple-introduction.groom .couple-portrait{aspect-ratio:1}.bride-world-link,.groom-section.groom-world-link{grid-template-columns:auto 1fr 1fr;padding-top:12px;padding-bottom:12px}.bride-world-link .combined-passport,.groom-world-link .combined-passport{grid-column:1/-1}.combined-passport .passport-card{grid-template-columns:max-content 1fr}.combined-passport .passport-card ul{grid-template-columns:repeat(3,minmax(0,1fr))}.section-reveal>*{opacity:1;transition:opacity .52s,transform .52s cubic-bezier(.2,.78,.2,1),box-shadow .32s,border-color .32s}.section-reveal.is-reveal-pending:not(.is-visible)>*{opacity:0;transform:translateY(20px)}.section-reveal.is-visible>*{opacity:1;transform:translateY(0)}@media (hover:hover){.main-hero-photo:hover img,.gallery-grid.main .gallery-item:hover img,.couple-introduction.main article:hover img{filter:grayscale(0);transform:scale(1.025)}.main-world-links a:hover{color:#292826;background:#f3f0ea}}@media (max-width:360px){.main-section{padding-left:21px;padding-right:21px}.main-hero{padding-left:49px;padding-right:14px}.main-vertical-date{left:13px}.main-date-stage h2{gap:3px;font-size:41px}.main-date-stage h2 b+b:before{margin-right:3px}.couple-introduction p{font-size:10px}.combined-passport .passport-heading{display:none}.combined-passport .passport-card{grid-template-columns:1fr}}@media (min-width:700px){.main-hero{min-height:calc(100vh - 60px)}.main-landing-intro{inset:30px calc((100vw - var(--frame-width)) / 2);border-radius:34px}}@media (prefers-reduced-motion:reduce){.main-snow{display:none}.main-date-stage h2 b{opacity:1;transform:none}.mode-switcher{transition:none}}
