:root{--paper:#fbf7ef;--ink:#503f39;--muted:#88786c;--accent:#b76151;--petal:#e6ad9e;--blue:#dce8ea;--line:#e6ddd0;--card:#fffdf7;--serif:"Gowun Batang", Georgia, serif;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a,button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #668f9d}fieldset{border:0;min-width:0;margin:0;padding:0}input,textarea,select{width:100%;min-height:46px;color:var(--ink);background:#ffffffc9;border:1px solid #d8cbbd;border-radius:9px;padding:11px 12px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0}textarea{resize:vertical;line-height:1.7}label{gap:7px;margin-bottom:17px;font-size:13px;font-weight:600;display:grid}summary{cursor:pointer}::selection{background:#efd1c0}.theme-blue{--accent:#456d7d;--petal:#bfd4d8}.theme-rose{--accent:#95506c;--petal:#e4b2c2}.button{border:1px solid #0000;border-radius:99px;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:12px 23px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button.primary{background:var(--accent);color:#fff}.button.secondary{background:#fffdf6;border-color:#d8cbbd}.button.wide{width:100%}.text-button{color:var(--accent);text-underline-offset:5px;background:0 0;border:0;padding:8px;font-size:13px;text-decoration:underline}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.small-text{font-size:12px}.eyebrow,.section-number{letter-spacing:2.2px;font-size:10px;font-weight:600;line-height:1.8}.section-number{color:var(--accent);margin-bottom:16px;display:block}.invitation{background:var(--paper);overflow:hidden}.invite-header{justify-content:space-between;align-items:center;gap:20px;max-width:1160px;height:84px;margin:auto;padding:0 48px;display:flex}.monogram{font-family:Georgia,serif;font-size:24px;text-decoration:none;display:inline-flex}.initials{letter-spacing:0;align-items:center;gap:.17em;line-height:1;display:inline-flex}.heart-icon{vertical-align:-.12em;flex:none;width:1em;height:1em;display:inline-block}.initials-heart{flex:none;width:.72em;height:.72em;display:block;transform:translateY(-.07em)}.monogram .initials-heart{color:var(--accent)}.header-note{font-family:var(--serif);color:var(--muted);font-size:12px;font-style:italic}.language-switch{border:1px solid var(--line);letter-spacing:.5px;background:0 0;border-radius:30px;min-height:40px;padding:8px 13px;font-size:11px}.language-switch span{margin-left:7px}.envelope-stage{isolation:isolate;text-align:center;flex-direction:column;align-items:center;max-width:1100px;min-height:calc(100svh - 84px);margin:auto;padding:40px 24px 50px;display:flex;position:relative}.envelope-intro .eyebrow{color:var(--accent);margin:0 0 12px}.envelope-intro h1{letter-spacing:-2px;margin-bottom:12px;font-family:Georgia,serif;font-size:clamp(36px,6vw,66px);font-weight:400;line-height:1.2}.envelope-intro h1 em{color:var(--accent);margin:0 15px;font-size:.58em;font-style:normal}.envelope-subtitle{color:var(--muted);letter-spacing:.2px;font-size:11px}.envelope{isolation:isolate;background:#e8d4bf;border:0;border-radius:7px;width:min(480px,90vw);height:290px;margin:64px 0 26px;transition:transform .5s;display:block;position:relative;transform:rotate(-4deg);box-shadow:0 22px 34px -17px #82685665}.envelope:hover{transform:rotate(-1deg)translateY(-5px)}.envelope-letter{background:var(--card);z-index:1;border-radius:5px;flex-direction:column;align-items:center;width:85%;height:280px;padding:30px 20px 25px;transition:transform .65s;display:flex;position:absolute;bottom:10px;left:7.5%;transform:translateY(-42px);box-shadow:0 1px 7px #705c3d16}.envelope-letter p{font-family:var(--serif);white-space:pre-line;margin:24px 0 16px;font-size:21px;line-height:1.9}.envelope-letter .eyebrow{font-size:8px}.envelope-pocket{clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);z-index:3;background:linear-gradient(145deg,#ead6c2,#f4e2cb);border-radius:6px;position:absolute;inset:0}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 58%);z-index:4;transform-origin:top;background:#ddc4aa;transition:transform .45s,z-index .45s;position:absolute;inset:0}.wax-seal{background:var(--accent);color:#ffe9d8;z-index:6;border-radius:47% 53% 50% 46%;justify-content:center;align-items:center;width:64px;height:64px;font-family:Georgia,serif;font-size:20px;transition:opacity .2s;display:flex;position:absolute;top:calc(50% - 12px);left:calc(50% - 32px);box-shadow:inset 0 0 0 5px #ffffff15,0 3px 8px #8c5e4150}.postage{z-index:5;background:#faf5e7;border:1px solid #ded0be;outline:3px dotted #faf5e7;flex-direction:column;align-items:center;width:62px;height:81px;padding:5px;display:flex;position:absolute;bottom:20px;right:24px;transform:rotate(7deg)}.postage span{letter-spacing:1px;font-size:5px}.postage svg{width:35px;height:52px}.envelope-address{z-index:5;font-family:var(--serif);text-align:left;font-size:19px;line-height:1.8;position:absolute;bottom:38px;left:30px}.envelope-address i{color:#8b715b;font-size:12px}.opening .envelope-flap{z-index:0;transform:rotateX(180deg)}.opening .wax-seal{opacity:0}.opening .envelope-letter{transform:translateY(-110px)}.opening .envelope{transform:rotate(0)scale(1.03)}.tap-note{color:var(--muted);margin:0 0 4px;font-size:12px}.tap-note span{color:var(--accent);padding-left:6px;font-size:24px}.skip-button{color:var(--muted);font-size:11px}.envelope-flower{z-index:-1;color:#807565;opacity:.7;width:130px;position:absolute}.envelope-flower.left{bottom:11%;left:5%;transform:rotate(-23deg)}.envelope-flower.right{--petal:#b9d0d7;top:14%;right:3%;transform:rotate(22deg)}.invite-main{max-width:1160px;margin:auto}.hero-section{grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:58px 90px 100px;display:grid;position:relative}.hero-copy{text-align:center}.hero-copy .eyebrow{color:var(--accent);font-size:10px}.hero-copy h1{letter-spacing:-2.5px;margin:25px 0;font-family:Georgia,serif;font-size:78px;font-weight:400;line-height:1.1}.hero-copy h1 span{color:var(--accent);font-family:var(--serif);font-size:34px;font-style:normal;line-height:1.8;display:block}.hero-date{margin:22px 0 16px;font-size:14px;line-height:1.9}.hero-venue{color:var(--muted);font-size:12px;line-height:1.9}.polaroid{background:#fffef9;border:1px solid #efe9de;padding:13px 13px 0;position:relative;box-shadow:0 8px 24px #856e4920}.hero-photo{max-width:360px;margin:auto;transform:rotate(4deg)}.hero-photo>img,.hero-photo>.photo-placeholder{aspect-ratio:3/4;object-fit:cover;width:100%}.polaroid-caption{font-family:var(--serif);text-align:center;color:#806e62;padding:16px 3px;font-size:12px;font-style:italic;line-height:1.6;display:block}.tape{background:#eac79c85;width:100px;height:30px;position:absolute;top:-14px;left:calc(50% - 50px);transform:rotate(-9deg);box-shadow:0 0 0 1px #eadcc750}.photo-placeholder{color:#627263;background:#e7ede5;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:22px;display:flex;position:relative}.photo-placeholder>svg{--petal:#e9b09c;width:125px;height:165px}.placeholder-names{font-family:var(--serif);font-size:25px;font-style:italic;line-height:1.3}.photo-placeholder .eyebrow{letter-spacing:1.7px;font-size:6px}.section-pad{text-align:center;padding:76px 32px}.section-pad h2{font-family:var(--serif);letter-spacing:-.5px;margin:0 0 25px;font-size:29px;font-weight:400;line-height:1.6}.section-subtitle{color:var(--muted);margin:-12px 0 35px;font-size:13px;line-height:1.9}.letter-section{border:1px solid var(--line);background:#fffdf6;max-width:710px;margin:24px auto 50px;padding:75px 60px 68px;position:relative;transform:rotate(-1deg);box-shadow:6px 8px #eee5d655}.letter-section:before{content:"";pointer-events:none;border:1px solid #ece1d2;position:absolute;inset:14px}.letter-flower{color:#867965;width:92px;position:absolute;top:-28px;right:13px;transform:rotate(18deg)}.letter-copy{font-family:var(--serif);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;max-width:520px;margin:0 auto 30px;font-size:16px;line-height:2.4}.couple-signature{letter-spacing:.5px;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin:35px 0 15px;font-size:12px;display:flex}.couple-signature span{color:var(--accent);font-family:Georgia,serif;font-size:15px}.family-lines{font-family:var(--serif);word-break:keep-all;margin:32px auto 18px;font-size:14px;line-height:2.6}.family-line{min-height:2.6em;display:block}.family-line strong{font-weight:700}.letter-kiss{font-family:var(--serif);color:var(--muted);font-size:11px;font-style:italic}.date-section{padding-top:60px}.date-card{border-top:5px solid var(--petal);background:#fffefa;border-radius:2px 2px 13px 13px;max-width:310px;margin:30px auto 35px;padding:25px 25px 17px;transform:rotate(1deg);box-shadow:0 12px 35px #98836b14}.calendar-month{font-family:Georgia,serif;font-size:28px;font-style:italic}.calendar-year{letter-spacing:4px;color:var(--muted);margin-top:4px;font-size:10px;display:block}.calendar-grid{color:#807367;grid-template-columns:repeat(7,1fr);gap:3px;margin:17px 0;display:grid}.calendar-grid>*{place-items:center;height:32px;font-size:11px;display:grid}.calendar-grid b{color:#ae9287;font-size:9px;font-weight:500}.calendar-grid .wedding-day{background:var(--accent);color:#fff;border-radius:45% 49% 44% 51%;position:relative}.calendar-grid .wedding-day>.heart-icon{color:var(--accent);font-size:13px;position:absolute;top:-12px;right:0;transform:rotate(20deg)}.date-card>p{color:var(--accent);margin-bottom:0;font-size:12px}.countdown-label{font-family:var(--serif);color:var(--muted);margin-bottom:15px;font-size:14px;font-style:italic}.countdown{justify-content:center;gap:10px;margin-bottom:30px;display:flex}.countdown>div{background:#f3eadd;border-radius:7px;min-width:63px;padding:9px 6px 6px}.countdown strong{font-family:Georgia,serif;font-size:25px;font-weight:400;display:block}.countdown span{letter-spacing:1px;color:var(--muted);font-size:8px;display:block}.story-section{background:#e9efeb70;border-radius:48% 48% 5px 5px;max-width:800px;margin:auto;padding-top:75px}.story-doodles{justify-content:center;gap:50px;margin:35px 0 0;display:flex}.story-doodles>span{font-family:var(--serif);color:var(--accent);font-size:30px}.story-doodles small{font-family:var(--sans);color:#8b8976;letter-spacing:.5px;margin-top:10px;font-size:9px;display:block}.gallery-section{padding-left:0;padding-right:0}.gallery-strip{scroll-snap-type:x mandatory;justify-content:safe center;gap:22px;padding:28px 36px 30px;display:flex;overflow-x:auto}.gallery-photo{width:245px;color:inherit;scroll-snap-align:center;flex:0 0 245px}.gallery-photo>img,.gallery-photo>.photo-placeholder{aspect-ratio:4/5;object-fit:cover;width:100%}.gallery-photo .photo-placeholder>svg{width:90px;height:120px}.gallery-photo .placeholder-names{font-size:19px}.gallery-photo:disabled{opacity:1}.rotate-0{transform:rotate(-3deg)}.rotate-1{transform:rotate(3deg)}.rotate-2{transform:rotate(-1deg)}.venue-section{padding-top:35px}.venue-card{background:#f7f9f2;border:1px solid #dbd9cb;border-radius:14px;max-width:540px;margin:auto;padding:24px 35px 35px}.venue-sketch{max-width:240px;margin:auto}.venue-card h3{font-family:var(--serif);margin:15px 0 9px;font-size:20px;font-weight:400}.venue-card>p{word-break:keep-all;font-size:12px}.venue-card .venue-time{color:var(--accent);margin:22px 0;line-height:1.9}.venue-note{white-space:pre-line;text-align:left;border-top:1px solid #e4e5d8;padding-top:20px;line-height:1.9;margin:25px 0 0!important}.rsvp-section{background:#f3e7db70;border-radius:30px;max-width:900px;margin:auto}.reply-card{background:#fffcf6;border:1px solid #e3d6c7;max-width:530px;margin:auto;padding:45px 35px 20px;position:relative;transform:rotate(-.4deg);box-shadow:0 8px 25px #8f725212}.reply-stamp{color:#456b70;letter-spacing:2px;background:#b7c9cb;border:4px dotted #fffdf7;padding:7px 15px;font-size:9px;line-height:1.4;position:absolute;top:-20px;right:14px;transform:rotate(12deg)}.guest-form{text-align:left}.rsvp-schedule{border:1px solid var(--line);color:var(--muted);text-align:left;border-radius:8px;margin-bottom:20px;padding:12px 14px}.rsvp-schedule p{margin:0}.rsvp-schedule p+p{margin-top:5px}.guest-form .form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guest-form label{color:#705d50;font-size:12px}.check-row{align-items:flex-start;gap:9px;margin:15px 0;font-weight:400;line-height:1.7;display:flex;font-size:11px!important}.check-row input{margin-top:1px}.attendance-options{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.attendance-options label{border:1px solid #dfd4c7;border-radius:8px;align-items:center;gap:7px;min-height:50px;margin:0;padding:12px 9px;font-size:11px;display:flex}.attendance-options .selected{background:#f5e4d8;border-color:#c79a80}.form-footnote{text-align:center;color:var(--muted);margin:18px 0 0;font-size:10px}.form-error{color:#923923;word-break:keep-all;background:#fff0e8;border:1px solid #ebbb9f;border-radius:8px;padding:12px;font-size:12px}.empty-note{font-family:var(--serif);text-align:center;white-space:pre-line;max-width:430px;margin:15px auto 25px;font-size:14px;line-height:2}.honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.verification{max-width:100%;min-height:65px;margin:16px 0;overflow:hidden}.reply-success{text-align:center}.reply-success h3{font-family:var(--serif);font-size:24px;font-weight:400}.reply-success p{font-size:13px;line-height:1.9}.reply-success .button-row{margin:16px 0}.sent-letter{font-size:70px;animation:.9s ease-out letter-arrives}.deadline{color:var(--accent);margin-top:-15px;margin-bottom:30px;font-size:11px}.messages-section{max-width:800px;margin:auto}.messages-section .section-subtitle{white-space:pre-line}.gift-note{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:520px;margin:0 auto 30px;padding:32px 24px}.gift-note .letter-copy{margin:18px 0 0;font-size:15px}.gift-note strong{font-weight:700}.postcard-form{border:1px solid #e2d4c8;border-radius:4px;max-width:500px;margin:auto;padding:30px;box-shadow:5px 6px #dfcbb333}.cream{background:#fcf3df}.pink{background:#f9e5de}.blue{background:#e4eef0}.color-options{justify-content:flex-end;gap:11px;margin-bottom:20px;display:flex}.swatch{border:2px solid #fff;border-radius:50%;width:32px;height:32px;box-shadow:0 0 0 1px #c4b9a9}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}.message-wall{grid-template-columns:1fr 1fr;gap:18px;margin:30px 0;display:grid}.postcard{text-align:left;padding:28px 22px 20px;position:relative;transform:rotate(-1deg);box-shadow:2px 4px 10px #8d725d12}.postcard:nth-child(2n){transform:rotate(2deg)}.postcard p{font-family:var(--serif);white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:2}.postcard-from{color:var(--muted);font-size:11px}.postcard-heart{color:var(--accent);position:absolute;top:8px;right:12px}.invitation-footer{padding-top:30px;padding-bottom:130px}.invitation-footer>svg{color:#7d806c;width:100px;height:130px;margin:0 auto 24px}.invitation-footer h2{color:var(--accent);font-family:Georgia,serif;font-size:32px;font-style:italic}.invitation-footer .letter-copy{font-size:13px}.share-status{min-height:24px;color:var(--accent);margin:12px 0;font-size:12px}.privacy-note{text-align:left;color:#8c7e70;max-width:450px;margin:20px auto;font-size:10px;line-height:1.9}.privacy-note summary{text-align:center}.privacy-note p{margin:15px 0}.made-with{letter-spacing:2px;color:#9b8a7a;margin:35px 0 0;font-size:8px}.invite-bottom{z-index:20;width:min(520px,100%);padding:12px 16px max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fbf7efec;border:1px solid #e5dacb;border-bottom:0;border-radius:18px 18px 0 0;gap:12px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -5px 25px #6b4d2910}.invite-bottom a{border-radius:30px;flex:1;justify-content:center;align-items:center;gap:20px;min-height:45px;font-size:12px;text-decoration:none;display:flex}.invite-bottom .bottom-reply{background:var(--accent);color:#fff;flex:1.5}.photo-dialog{max-width:min(94vw,900px);max-height:94svh;color:var(--ink);background:#fffdf6;border:0;border-radius:12px;padding:12px}.photo-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#302821c9}.photo-dialog img{object-fit:contain;max-height:80svh}.photo-dialog>button{background:#fffef8e8;border:0;border-radius:50%;width:42px;height:42px;font-size:27px;position:absolute;top:18px;right:18px}.photo-dialog>p{text-align:center;margin:14px 0 2px;font-size:13px}.reveal{animation:.8s ease-out both fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1}}@keyframes letter-arrives{0%{opacity:0;transform:translateY(20px)rotate(-15deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.studio{background:#f6f4ef;min-height:100svh}.studio-header{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fffdf8eb;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;display:flex;position:sticky;top:0}.studio-brand{align-items:center;gap:14px;display:flex}.studio-brand h1{font-family:var(--serif);margin:0;font-size:20px;font-weight:400}.studio-brand small{color:var(--muted);font-size:11px}.studio-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.studio-actions .button{min-height:39px;padding:8px 17px;font-size:12px}.save-status{color:#687f68;max-width:180px;font-size:11px}.studio-tabs{gap:6px;max-width:1440px;margin:auto;padding:17px 24px;display:flex;overflow-x:auto}.studio-tabs button{white-space:nowrap;background:0 0;border:0;border-radius:30px;min-height:43px;padding:10px 20px;font-size:13px}.studio-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.studio-body{max-width:1440px;margin:auto;padding:0 24px 55px}.studio-columns{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:35px;display:grid}.studio-panel{min-width:0}.editor-card{border:1px solid var(--line);background:#fffdf9;border-radius:14px;margin-bottom:20px;padding:26px}.editor-card h2{font-family:var(--serif);margin:0 0 5px;font-size:20px;font-weight:400}.editor-card>p{color:var(--muted);margin-bottom:23px;font-size:12px}.editor-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.editor-grid label{margin:0}.editor-stack{gap:20px;display:grid}.editor-card summary{font-size:14px;font-weight:600}.editor-card details[open]>summary{margin-bottom:20px}.editor-card input[type=range]{min-height:32px;box-shadow:none;accent-color:var(--accent);border:0;padding:0}.editor-card .localized{margin:18px 0}.localized small{color:var(--muted);margin:6px 0;font-size:10px;display:block}.studio-note{background:#fff3dd;border:1px solid #e3ca9f;border-radius:9px;margin:0 0 20px;padding:14px 20px;font-size:12px}.studio-note .button-row{justify-content:flex-start;margin-top:10px}.studio-preview-wrap{text-align:center;position:sticky;top:95px}.preview-label{letter-spacing:1.5px;color:var(--muted);margin:0 0 12px;font-size:10px}.studio-preview{overscroll-behavior:contain;height:calc(100svh - 145px);max-height:850px;text-align:initial;border:7px solid #fffdf8;border-radius:32px;overflow:auto;box-shadow:0 10px 45px #674e3620}.is-preview .invite-header{height:65px;padding:0 20px}.is-preview .header-note{display:none}.is-preview .hero-section{grid-template-columns:1fr;gap:20px;padding:28px 35px 90px}.is-preview .hero-copy h1{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:15px 0;font-size:52px;display:flex}.is-preview .hero-copy h1 span{font-size:25px}.is-preview .hero-photo{max-width:285px}.is-preview .section-pad{padding:55px 22px}.is-preview .letter-section{margin:0 17px 30px}.is-preview .section-pad h2{font-size:23px}.is-preview .letter-copy{font-size:13px}.is-preview .reply-card{padding:35px 17px 22px}.is-preview .gallery-photo{flex-basis:220px}.is-preview .venue-card{padding:20px 16px}.is-preview .postcard-form{padding:23px 18px}.is-preview .story-doodles{gap:25px}.photo-library{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px;display:grid}.asset-tile{border:1px solid var(--line);background:#f3ede4;border-radius:9px;padding:7px;position:relative}.asset-tile img{aspect-ratio:1;object-fit:cover;border-radius:5px;width:100%}.asset-tile .asset-actions{flex-wrap:wrap;gap:4px;padding-top:7px;display:flex}.asset-tile button{border:1px solid var(--line);background:#fffdf8;border-radius:6px;min-height:32px;padding:5px 7px;font-size:10px}.photo-editor{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:17px;padding:20px 0;display:grid}.photo-editor>img{object-fit:cover;border-radius:6px;width:110px;height:145px}.photo-editor .button-row{justify-content:flex-start}.photo-editor .text-button{font-size:11px}.upload-drop{text-align:center;background:#fbf5e9;border:1.5px dashed #c7b49e;border-radius:10px;flex-direction:column;align-items:center;gap:12px;padding:28px;display:flex}.upload-drop label{cursor:pointer;margin:0}.upload-drop input{background:#fff;max-width:300px;padding:10px;font-size:11px}.upload-drop p{color:var(--muted);margin:0;font-size:11px}.guest-summary{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.guest-summary>div{border:1px solid var(--line);background:#fffdf8;border-radius:12px;padding:17px 25px}.guest-summary strong{font-family:Georgia,serif;font-size:30px;font-weight:400;display:block}.guest-summary span{color:var(--muted);font-size:11px}.table-scroll{border:1px solid var(--line);background:#fffdf9;border-radius:12px;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:pre-line;overflow-wrap:anywhere;max-width:220px;padding:14px}.data-table th{background:#eee7dc;font-size:11px;font-weight:600}.moderation-list{grid-template-columns:1fr 1fr;gap:18px;display:grid}.moderation-card{border:1px solid var(--line);background:#fffdfa;border-radius:12px;padding:23px}.moderation-card p{white-space:pre-line;overflow-wrap:anywhere;font-family:var(--serif);font-size:15px}.moderation-card small{color:var(--muted);font-size:11px}.moderation-card .button-row{justify-content:flex-start;margin-top:20px}.moderation-card .button{min-height:38px;padding:7px 13px;font-size:11px}.studio-toolbar{justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px;display:flex}.studio-toolbar input{max-width:350px}.login-page{max-width:530px;margin:8svh auto;padding:25px}.login-card{border:1px solid var(--line);text-align:center;background:#fffdf8;border-radius:18px;padding:40px;box-shadow:0 20px 50px #78644913}.login-card>svg{color:#7b816e;width:90px;height:130px}.login-card h1{font-family:var(--serif);font-size:30px;font-weight:400}.login-card p{color:var(--muted);font-size:13px;line-height:1.9}.login-card ul{text-align:left;overflow-wrap:anywhere;font-size:12px;line-height:2}.login-card code{font-size:10px}.login-card .button{margin:15px 0}.error-page{text-align:center;max-width:500px;margin:20vh auto;padding:30px}.mobile-preview-button{display:none}.preview-drawer{z-index:80;background:var(--paper);position:fixed;inset:0;overflow:auto}.preview-drawer-bar{z-index:90;border-bottom:1px solid var(--line);background:#fffdf8;justify-content:space-between;align-items:center;padding:12px;font-size:12px;display:flex;position:sticky;top:0}.release-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:10px 0;font-size:12px;display:flex}@media (max-width:1000px){.studio-columns{grid-template-columns:minmax(0,1fr) 350px;gap:20px}.studio-body{padding:0 18px 40px}.photo-library{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-section{gap:25px;padding:45px 55px 100px}.hero-copy h1{font-size:65px}}@media (max-width:760px){.invite-header{height:65px;padding:0 23px}.header-note{font-size:10px}.envelope-stage{min-height:calc(100svh - 65px);padding:40px 22px 30px}.envelope-intro h1{font-size:43px}.envelope-intro .eyebrow{letter-spacing:1.6px;font-size:8px}.envelope-intro h1 em{margin:0 9px}.envelope-subtitle{max-width:300px;margin:auto;font-size:10px;line-height:1.9}.envelope{width:min(350px,86vw);height:226px;margin-top:66px}.envelope-letter{height:224px;padding:21px 15px;transform:translateY(-32px)}.envelope-letter p{margin:19px 0 12px;font-size:18px}.envelope-letter .eyebrow{font-size:7px}.wax-seal{width:53px;height:53px;font-size:17px;top:calc(50% - 8px);left:calc(50% - 26px)}.envelope-address{font-size:17px;bottom:23px;left:22px}.envelope-address i{font-size:10px}.postage{width:50px;height:69px;bottom:16px;right:18px}.postage svg{width:30px;height:44px}.postage span{font-size:4px}.envelope-flower.left{width:78px;bottom:3%;left:-10px}.envelope-flower.right{width:70px;top:28%;right:-15px}.tap-note{font-size:11px}.hero-section{grid-template-columns:1fr;gap:22px;padding:28px 35px 90px}.hero-copy h1{letter-spacing:-2px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:20px 0 12px;font-size:51px;display:flex}.hero-copy h1 span{font-size:25px;line-height:1}.hero-copy .eyebrow{font-size:9px}.hero-date{margin:16px 0 10px;font-size:12px}.hero-venue{margin-bottom:0;font-size:11px}.hero-photo{width:100%;max-width:290px;transform:rotate(3deg)}.section-pad{padding:55px 23px}.section-pad h2{margin-bottom:24px;font-size:24px}.section-subtitle{font-size:12px}.letter-section{margin:0 18px 28px;padding:60px 23px 50px}.letter-copy{font-size:14px;line-height:2.4}.letter-flower{width:72px;top:-25px;right:0}.couple-signature{gap:10px;font-size:11px}.date-card{max-width:280px}.date-section{padding-top:35px}.story-section{margin:0 12px}.story-doodles{gap:28px}.story-doodles small{font-size:8px}.gallery-section{padding-left:0;padding-right:0}.gallery-strip{justify-content:flex-start;gap:20px;padding:20px 30px 30px}.gallery-photo{flex-basis:230px;width:230px}.venue-card{padding:18px 20px 28px}.venue-card h3{font-size:18px}.venue-card .button{padding:10px 16px;font-size:11px}.rsvp-section{border-radius:0}.reply-card{padding:35px 18px 20px}.guest-form .form-grid{grid-template-columns:1fr}.postcard-form{padding:26px 20px}.message-wall{grid-template-columns:1fr}.messages-section{padding-top:55px}.invitation-footer{padding-bottom:120px}.invitation-footer .letter-copy{font-size:12px}.studio-header{align-items:flex-start;gap:10px;padding:13px 15px}.studio-brand h1{font-size:16px}.studio-brand .monogram{display:none}.studio-brand small{font-size:9px}.studio-actions{justify-content:flex-end;gap:6px;max-width:235px}.studio-actions .button{min-height:36px;padding:7px 11px;font-size:10px}.save-status{text-align:right;width:100%;max-width:none;font-size:10px}.studio-tabs{gap:2px;padding:12px}.studio-tabs button{padding:9px 16px;font-size:12px}.studio-body{padding:0 13px 40px}.studio-columns{display:block}.studio-preview-wrap{display:none}.mobile-preview-button{display:inline-flex}.editor-card{padding:20px 17px}.editor-card h2{font-size:18px}.editor-grid{grid-template-columns:1fr;gap:14px}.editor-card .editor-grid:has(input[type=range]){grid-template-columns:1fr}.photo-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.photo-editor{grid-template-columns:80px 1fr;gap:12px}.photo-editor>img{width:80px;height:105px}.photo-editor .localized textarea{min-height:70px}.studio-toolbar{flex-wrap:wrap;align-items:flex-start;gap:12px}.studio-toolbar input{max-width:none}.moderation-list{grid-template-columns:1fr}.guest-summary{gap:8px}.guest-summary>div{flex:1;padding:12px 15px}.guest-summary strong{font-size:26px}.login-card{padding:30px 24px}.login-page{margin-top:5svh;padding:18px}.preview-drawer .is-preview .hero-photo{max-width:300px}.is-preview .invitation-footer{padding-bottom:55px}}@media (max-width:350px){.envelope-intro h1{font-size:36px}.header-note{display:none}.envelope,.envelope-letter{height:208px}.envelope-letter p{font-size:16px}.hero-copy h1{gap:8px;font-size:42px}.section-pad h2{font-size:21px}.letter-copy{font-size:13px}.reply-card{padding:32px 12px 18px}.attendance-options{gap:5px}.attendance-options label{padding:10px 6px;font-size:10px}.photo-library{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1}.envelope:hover{transform:rotate(-4deg)}.button:hover:not(:disabled){transform:none}}.preview-drawer{border:0;width:100vw;max-width:100vw;height:100svh;max-height:100svh;margin:0;padding:0}.preview-drawer::backdrop{background:#49372fcc}@media (max-width:760px){.studio-brand{min-width:0}.studio-brand h1{word-break:keep-all;font-size:15px}.studio-brand small{white-space:nowrap;text-overflow:ellipsis;max-width:125px;display:block;overflow:hidden}.hero-copy h1{font-size:58px;line-height:1.1;display:block}.hero-copy h1 span{font-size:26px;line-height:1.8;display:block}}.is-preview .hero-copy h1{font-size:54px;line-height:1.1;display:block}.is-preview .hero-copy h1 span{line-height:1.8;display:block}
