@font-face{font-family:WeddingSerif;src:local(Georgia)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:#2b594e;background:#fbf4e8;font-family:Arial,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #af8fc1}button{background:0 0;border:0}a{color:inherit;text-decoration:none}.app{background:radial-gradient(at 0,#f4d8c144,#0000 40%),radial-gradient(at 100% 60%,#c5d9c844,#0000 40%);flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}header{border-bottom:1px solid #2c5d4f20;flex-shrink:0;justify-content:space-between;align-items:center;height:72px;margin:0 4%;display:flex}.brand{letter-spacing:-4px;padding:0 8px 4px 0;font:700 38px Georgia,serif}.brand span{margin:0 4px;font-size:25px;font-weight:400}.brand .brand-star{color:#dc806d;vertical-align:top;letter-spacing:0;margin:3px 0 0 8px;font:23px Arial;display:inline-block}.header-caption{letter-spacing:2.8px;font-size:10px}.header-date{letter-spacing:2px;font-size:11px}main{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;display:flex}.scene-heading{letter-spacing:2.5px;text-transform:uppercase;justify-content:center;align-items:center;gap:18px;height:42px;font-size:10px;display:flex}.little-flower{color:#d58370;font-size:21px}.stage-wrap{aspect-ratio:540/740;width:min(540px,100vw,72.973dvh - 198.487px);min-width:260px;position:relative}.stage,.cover-stage{border-radius:36px;position:absolute;inset:0;overflow:hidden}.stage-wrap:after{content:"";pointer-events:none;border:1px solid #346b4f0c;border-radius:36px;position:absolute;inset:0}.side-note{letter-spacing:4px;white-space:nowrap;writing-mode:vertical-rl;color:#829083;font-size:10px;position:absolute;top:50%}.side-note.left{left:-65px;rotate:180deg}.side-note.right{right:-65px}.action-area{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:min(540px,100%);min-height:91px;padding:4px 18px 0;display:flex}.primary{color:#fff8eb;background:#2d6254;border-radius:24px;justify-content:center;align-items:center;gap:20px;min-height:43px;padding:11px 22px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px #173f3317}.primary:hover{background:#224e43}.open-invite{min-width:244px;min-height:50px;font-size:15px}.open-invite span{font-size:24px}.secondary{background:#fff9ef;border:1px solid #2d625445;border-radius:24px;min-height:43px;padding:10px 15px;font-size:12px}.hint{letter-spacing:.25px;color:#6e8276;text-align:center;margin:8px 0;font-size:10px}.playback{align-items:center;gap:9px;width:100%;display:flex}.playback button{border-radius:50%;min-width:33px;height:36px;font-size:19px}.playback .sound{white-space:nowrap;background:#e8ebdd;border-radius:16px;width:70px;font-size:10px}.track{background:#d4dfd0;border-radius:4px;flex:1;height:3px;overflow:hidden}.track span{background:#d7806c;height:100%;display:block}.scene-actions{justify-content:center;align-items:center;gap:8px;width:100%;min-height:43px;display:flex}.text-link{text-underline-offset:3px;padding:10px 4px;font-size:12px;text-decoration:underline}footer{border-top:1px solid #2c5d4f20;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;min-height:59px;margin:0 4%;padding:12px 0 20px;display:flex;position:relative}footer button{min-height:32px;font-size:12px}footer nav{align-items:center;gap:2px;display:flex}footer nav button{place-items:center;width:22px;min-height:32px;padding:0;display:grid}footer nav span{background:#d8dfd1;border-radius:8px;width:5px;height:5px}footer nav .active{background:#d6816c;width:20px;height:5px}footer nav .visited{background:#8aac9b}.counter{letter-spacing:1px;color:#6e8276;font-size:9px;position:absolute;bottom:2px;left:50%;translate:-50%}.cover-footer{text-align:center;color:#7d8b7c;letter-spacing:1px;padding:10px 0 24px;font-size:10px}dialog{color:#2b594e;overscroll-behavior:contain;background:#fff8ec;border:1px solid #d6dccc;border-radius:30px;width:min(520px,100vw - 28px);max-height:88dvh;padding:24px;box-shadow:0 25px 100px #183e3a44}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1b443f99}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head button{background:#eee8dc;border-radius:50%;width:38px;height:38px;font-size:28px}h2{letter-spacing:-1px;margin:8px 0 12px;font:36px Georgia,serif}.eyebrow{letter-spacing:2px;margin-top:16px;font-size:9px}.modal-intro{color:#6b7d70;margin-bottom:24px;font-size:13px;line-height:1.7}form{flex-direction:column;gap:10px;display:flex}label{margin-top:6px;font-size:12px}input,textarea{color:#285547;background:#fffdf7;border:1px solid #bdcbbb;border-radius:12px;width:100%;padding:13px;font-size:16px}textarea{resize:vertical;min-height:110px}form .primary{margin-top:8px}.notice,.inline-notice{color:#614c31;background:#f8e2bc;border-radius:12px;padding:12px 16px;font-size:12px;line-height:1.6}.inline-notice{margin:2px 0;padding:7px 10px;font-size:10px}.accounts{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.account{background:#fffdf6;border:1px solid #cbd4c3;border-radius:18px;padding:17px 14px}.bank-label{justify-content:space-between;font-size:16px;font-weight:800;display:flex}.bank-label span{color:#d58370}.account-number{letter-spacing:.3px;-webkit-user-select:all;user-select:all;margin:21px 0 5px;font-size:18px;font-weight:700}.account-owner{margin:0 0 17px;font-size:11px}.account button{background:#e6ecdf;border-radius:16px;min-height:34px;padding:8px 12px;font-size:11px}@media (width<=600px){header{height:58px;margin:0 20px}.header-caption{display:none}.header-date{font-size:9px}.brand{font-size:33px}.scene-heading{letter-spacing:2px;gap:12px;height:35px;font-size:9px}.stage-wrap{width:min(100vw,72.973dvh - 186.081px);min-width:0}.stage,.cover-stage,.stage-wrap:after{border-radius:24px}.side-note{display:none}.action-area{min-height:95px;padding:4px 14px 0}.scene-actions .primary{gap:6px;padding:10px 16px;font-size:11px}.scene-actions .secondary{padding:10px 12px;font-size:11px}.scene-actions .text-link{font-size:11px}.playback{gap:8px}footer{gap:6px;min-height:59px;margin:0 18px;padding-bottom:21px}footer button{font-size:11px}footer nav button{width:19px}.accounts{gap:9px}.account{padding:15px 11px}.account-number{font-size:16px}.cover-footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media (height<=650px){.stage-wrap{width:min(100vw,72.973dvh - 156.892px)}.scene-heading{height:28px}header{height:48px}.action-area{min-height:80px}footer{min-height:55px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.brand{letter-spacing:.02em;color:#2d6254;font:600 22px Georgia,serif}.heading-mark{background:#d58370;border-radius:50% 0 50% 50%;width:8px;height:8px;display:block;transform:rotate(-45deg)}.bank-flower{color:#d58370;font-size:15px}.control-bubble-wrap{right:18px;bottom:max(20px,env(safe-area-inset-bottom));z-index:40;position:fixed}.control-bubble{color:#fff9ed;background:#2d6254;border:1px solid #ffffff80;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 8px 28px #183e3a42}.control-bubble:focus-visible{outline-offset:3px;outline:3px solid #d58370}.control-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#285547;background:#fffaf0ee;border:1px solid #d8dfd1;border-radius:22px;width:min(300px,100vw - 28px);padding:13px 15px 12px;position:absolute;bottom:64px;right:0;box-shadow:0 18px 56px #183e3a35}.control-panel-head{justify-content:space-between;align-items:center;padding:0 1px 6px;font-size:12px;font-weight:700;display:flex}.control-links{border-bottom:1px solid #2c5d4f15;grid-template-columns:1fr 1fr;gap:6px;padding:9px 0 2px;display:grid}.control-links button{text-align:left;white-space:normal;background:#f0eadf;border-radius:12px;justify-content:flex-start;align-items:center;gap:7px;width:100%;min-width:0;min-height:38px;padding:7px 9px;font-size:11px;line-height:1.2;display:flex}.control-links button svg{flex:none}.control-links button:last-child{grid-column:1/-1;justify-content:center}.control-panel-head button{background:#f0eadf;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.control-row{border-bottom:1px solid #2c5d4f20;justify-content:space-between;gap:8px;padding:4px 0 10px;display:flex}.control-row button{background:#f0eadf;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.control-row button:nth-child(2){color:#fff9ed;background:#2d6254}.control-toggle{text-align:left;border-bottom:1px solid #2c5d4f15;justify-content:space-between;align-items:center;width:100%;min-height:46px;font-size:12px;display:flex}.switch{background:#c8cec3;border-radius:20px;width:36px;height:21px;padding:3px;transition:none}.switch:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;display:block;transform:translate(0)}.switch.on{background:#508673}.switch.on:after{transform:translate(15px)}.mini-dots{justify-content:center;align-items:center;gap:5px;padding:8px 0 0;display:flex}.mini-dots button{place-items:center;width:23px;height:25px;padding:0;display:grid}.mini-dots span{background:#d8dfd1;border-radius:9px;width:5px;height:5px}.mini-dots span.visited{background:#8aac9b}.mini-dots span.active{background:#d6816c;width:16px}.cover-footer{padding:10px 0 24px}.site-loading{color:#285547;background:#fbf4e8;place-items:center;min-height:100dvh;display:grid}@media (width<=600px){.brand{font-size:19px}.control-bubble-wrap{right:14px;bottom:max(16px,env(safe-area-inset-bottom))}.control-bubble{width:48px;height:48px}.control-panel{bottom:59px}}@media (width<=360px){.control-links{grid-template-columns:1fr}.control-links button:last-child{grid-column:auto}}dialog{overscroll-behavior:contain;height:fit-content;max-height:calc(100dvh - 24px);margin:auto;position:fixed;inset:0;overflow:hidden auto}dialog>*{max-width:100%}.accounts,.account{min-width:0;max-width:100%}.account-number{overflow-wrap:anywhere;font-size:clamp(12px,4vw,18px)}dialog button,.account button{white-space:normal;max-width:100%}@media (width<=360px){dialog{padding:18px}.accounts{grid-template-columns:1fr}.account-number{font-size:16px}}.wish-tabs{flex-wrap:wrap;gap:6px;margin:0 0 16px;display:flex}.wish-tabs button{background:#fffdf6;border:1px solid #cbd4c3;border-radius:18px;align-items:center;gap:5px;padding:8px 11px;font-size:11px;display:flex}.wish-tabs button.active{color:#fff9ed;background:#2d6254}.wish-list{gap:10px;max-height:48dvh;display:grid;overflow:auto}.wish-list article{background:#fffdf6;border:1px solid #d8dfd1;border-radius:16px;padding:13px}.wish-list p{margin:6px 0;font-size:12px;line-height:1.55}.wish-list video,.video-wish video{background:#1f2e2a;border-radius:15px;width:100%;max-height:330px;margin-top:8px}.video-wish{flex-direction:column;gap:9px;display:flex}.record-time{text-align:center;letter-spacing:1px;font-size:11px}.video-actions{justify-content:center;gap:8px;display:flex}@media (width<=600px){.wish-toast{left:12px;bottom:max(14px,env(safe-area-inset-bottom));width:min(270px,100vw - 84px)}}.guest-dedication{text-align:center;overflow-wrap:anywhere;order:-1;margin:0 0 10px;font-size:13px}.guest-dedication strong{margin-top:3px;font:600 20px/1.15 Georgia,serif;display:block}.scene-actions{flex-wrap:wrap}.story-chat{gap:8px;margin:18px 0;display:grid}.story-chat p{color:#234b42;background:#e4ebe0;border-radius:5px 16px 16px;justify-self:start;margin:0;padding:11px 14px;line-height:1.45}.story-chat p:nth-child(2){animation:.4s .28s both chat-reveal}.story-chat p:nth-child(3){animation:.4s .68s both chat-reveal}@keyframes chat-reveal{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.story-chat p{animation:none!important}}.invitation-shell{background:#283e40;place-items:center;min-height:100dvh;padding:0;display:grid}.invitation-stage{isolation:isolate;aspect-ratio:9/16;background:#fbefd6;border-radius:clamp(0px,2vw,18px);width:min(100vw,56.25dvh,540px);position:relative;overflow:hidden;box-shadow:0 16px 60px #13272866;container-type:inline-size}.invitation-content,.invitation-art,.invitation-overlay{position:absolute;inset:0}.invitation-art{pointer-events:none}.invitation-toolbar,.invitation-nav,.invitation-cover-actions,.invitation-profile-buttons,.invitation-scene-actions,.invitation-status{z-index:2;position:absolute}.invitation-toolbar,.invitation-nav{color:#283e40;justify-content:space-between;align-items:center;gap:4px;display:flex;left:4.5%;right:4.5%}.invitation-toolbar{font-size:clamp(9px,3.8cqw,15px);top:2.3%}.invitation-nav{bottom:2.6%}.invitation-toolbar button,.invitation-nav button,.invitation-profile-buttons button{white-space:nowrap;background:#f8ead1;border:1px solid #a9926e;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:clamp(27px,10cqw,44px);height:clamp(27px,10cqw,44px);padding:0 clamp(4px,2.6cqw,14px);font-size:clamp(9px,3.45cqw,15px);display:inline-flex}.invitation-nav button[aria-pressed=true]{background:#d6e0cf}.invitation-nav button:last-child{color:#fff0d4;background:#405d57}.invitation-nav button svg,.invitation-toolbar button svg{flex-shrink:0;width:clamp(11px,4.4cqw,18px);height:clamp(11px,4.4cqw,18px)}.invitation-cover-actions{text-align:center;font-size:clamp(11px,4cqw,17px);top:60%;left:7%;right:7%}.invitation-cover-actions p{overflow-wrap:anywhere;margin:8px 0 12px}.invitation-cover-actions strong{font:600 clamp(16px,6cqw,28px)/1.15 Georgia,serif;display:block}.invitation-profile-buttons{grid-template-columns:repeat(2,minmax(0,1fr));height:37.6563%;display:grid;top:26.5625%;left:10.2778%;right:10.2778%}.invitation-profile-buttons button{color:#0000;background:0 0;border:1px solid #0000;border-radius:clamp(8px,3cqw,16px);width:100%;min-width:0;height:100%;padding:0}.invitation-profile-buttons button:hover,.invitation-profile-buttons button:focus-visible{border-color:#58776b;box-shadow:inset 0 0 0 2px #58776b}.invitation-scene-actions{flex-wrap:wrap;justify-content:center;gap:4px;display:flex;top:65.8%;left:5%;right:5%}.invitation-scene-actions .primary,.invitation-scene-actions .secondary,.invitation-cover-actions .primary{white-space:nowrap;gap:4px;height:clamp(26px,9.6cqw,44px);min-height:0;padding:0 clamp(5px,2cqw,12px);font-size:clamp(9px,3.25cqw,15px)}.invitation-scene-actions svg{width:clamp(11px,4cqw,16px)}.invitation-status{text-align:center;background:#fff5de;border-radius:8px;margin:0;padding:4px;font-size:clamp(9px,3cqw,13px);bottom:8%;left:5%;right:5%}.invitation-overlay{z-index:5;background:#273f3ca0;place-items:center;padding:5%;display:grid;overflow:hidden}.invitation-panel{overscroll-behavior:contain;color:#283e40;overflow-wrap:anywhere;background:#fbefd6;border:1px solid #a9926e;border-radius:20px;width:100%;max-height:100%;padding:clamp(10px,4.4cqw,22px);overflow:auto}.invitation-panel h2{font-size:clamp(22px,7.4cqw,34px)}.invitation-panel .accounts{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-panel .account-number{overflow-wrap:anywhere;font-size:clamp(12px,4cqw,18px)}.invitation-panel .video-preview,.invitation-panel .wish-video-card video{object-fit:contain;max-width:100%;max-height:34dvh}@media (width<=370px){.invitation-panel .accounts{grid-template-columns:1fr}}.invitation-overlay.profile-page{background:linear-gradient(155deg,#fcf1d9,#e5caaa);padding:4.5%}.profile-page .invitation-panel{text-align:center;background:radial-gradient(#9f795325 .75px,#0000 .75px) 0 0/9px 9px;border-radius:17px;flex-direction:column;align-items:center;gap:0;height:100%;display:flex}.profile-page .modal-head{flex-shrink:0;width:100%}.profile-page .profile-portrait{border-bottom:1px solid #a9926e;flex-shrink:0;width:min(81%,36dvh);margin:0 auto 5%;display:block}.profile-page .eyebrow{margin:0 0 5px}.profile-page h2{margin:0}.profile-facts{border-block:1px solid #a9926e70;width:min(100%,340px);margin:5% 0;font-size:clamp(11px,3.7cqw,16px)}.profile-facts div{padding:.6em .25em}.profile-facts div+div{border-top:1px solid #a9926e45}.profile-facts dt{color:#4f655e;margin-bottom:.3em;font-size:.8em}.profile-facts dd{margin:0}.invitation-overlay.wish-sheet{background:#273f3c81;place-items:end center}.wish-sheet .invitation-panel{border-radius:20px 20px 14px 14px;box-shadow:0 -8px 28px #293e3428}.invitation-panel .wish-choice{gap:8px;margin-top:14px;display:grid}.invitation-panel .wish-choice button{text-align:left;color:#283e40;background:#fff8e7;border:1px solid #a9926e92;border-radius:12px;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;gap:clamp(7px,3cqw,14px);width:100%;min-height:48px;padding:8px clamp(7px,3cqw,14px);display:grid}.invitation-panel .wish-choice button:hover{background:#edf0df}.invitation-panel .wish-choice strong,.invitation-panel .wish-choice small{display:block}.invitation-panel .wish-choice strong{font-size:clamp(11px,3.7cqw,16px)}.invitation-panel .wish-choice small{color:#4f655e;margin-top:2px;font-size:clamp(10px,3.1cqw,13px)}.invitation-panel .wish-back{align-items:center;gap:4px;margin:5px 0 10px;display:inline-flex}.wish-sheet .camera-preview-wrap{background:#344d49;border-radius:12px;overflow:hidden}.wish-sheet .camera-preview-wrap video:not([hidden]){margin:auto;display:block}.wish-sheet .camera-state{color:#fff1d6;justify-content:center;align-items:center;gap:8px;min-height:clamp(62px,25cqw,120px);font-size:clamp(11px,3.5cqw,15px);display:flex}.wish-sheet .video-actions{flex-wrap:wrap}
