:root{--ink:#262821;--muted:#77796f;--line:#e7e3d9;--paper:#f8f6f0;--card:#fffefa;--olive:#68735d;--olive-dark:#4c5944;--soft:#e9ebdf;--serif:Georgia,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 18px 55px rgba(47,46,36,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.wordmark{font:italic 31px/1 var(--serif);letter-spacing:-1.5px;text-decoration:none;color:#262821;white-space:nowrap}.wordmark span{color:#a56e70;font-size:.68em;font-style:normal;letter-spacing:0}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:750;color:#727868;text-transform:uppercase;margin:0 0 13px}.muted{color:var(--muted)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(46px,6vw,76px);line-height:1.03;margin-bottom:20px}h2{font-size:clamp(34px,4vw,47px);line-height:1.1;margin-bottom:10px}h3{font-size:25px;line-height:1.2;margin-bottom:12px}.button{border:1px solid transparent;border-radius:4px;min-height:42px;padding:10px 16px;font-weight:650;transition:transform .18s,background .18s,border-color .18s,color .18s}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--olive-dark);box-shadow:0 4px 12px #3f50351c}.button-primary:hover{background:#394735}.button-quiet{background:transparent;border-color:var(--line);color:var(--ink)}.button-quiet:hover{background:#f4f1e8}.button-danger{background:#a34e4d;color:white}.button-small{min-height:34px;padding:7px 11px;font-size:12px}.button-wide{width:100%;justify-content:center}.text-button{border:0;background:none;color:var(--olive-dark);padding:5px;font-weight:650}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fffefa;color:var(--ink);font-size:18px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.92fr) 1.08fr;background:#fffefa}.auth-story{position:relative;padding:43px clamp(34px,7vw,104px);background:#eeeee5;overflow:hidden;display:flex;flex-direction:column}.auth-story .wordmark{position:relative;z-index:2}.auth-story-copy{position:relative;z-index:2;margin:auto 0;width:min(480px,100%);padding:40px 0 20px}.auth-story-copy>p:not(.eyebrow){max-width:355px;color:#63665d;font-size:16px}.auth-art{height:320px;max-width:380px;position:relative;margin:48px 0 0 4px;display:grid;place-items:center}.art-orbit{position:absolute;border:1px solid #bfc5b4;border-radius:50%;width:300px;height:300px;transform:rotate(-24deg)}.orbit-two{width:350px;height:230px;transform:rotate(24deg);border-color:#d1b9b0}.art-card{width:225px;height:275px;background:#fbf8ee;box-shadow:0 22px 45px #33321d17;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transform:rotate(-4deg);position:relative}.art-card:before{content:"";position:absolute;inset:10px;border:1px solid #d8d4c6}.art-card span{font-size:9px;letter-spacing:2px;color:#7d7b6d}.art-card strong{font:38px/1.06 var(--serif);font-weight:400;color:#65745c;margin:22px 0}.art-card i{font:italic 15px var(--serif);color:#9a6a67}.art-spark{position:absolute;font-size:31px;color:#a56e70}.spark-one{top:14%;right:13%}.spark-two{bottom:15%;left:8%;font-size:24px;color:#8c966f}.auth-footnote{position:relative;z-index:1;color:#77796f;font:italic 15px var(--serif)}.auth-side{display:grid;place-items:center;padding:40px}.auth-card{width:min(410px,100%);padding:30px 0}.auth-card h2{font-size:39px}.auth-card .muted{margin-bottom:24px}.auth-mobile-brand{display:none}.auth-switch{display:flex;border-bottom:1px solid var(--line);margin:0 0 23px}.auth-switch-btn{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:12px;color:#888a80}.auth-switch-btn.active{border-color:var(--olive-dark);color:var(--ink);font-weight:700}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#55584f;margin:0 0 15px}.field input,.field select,.field textarea,.control{border:1px solid #dedbd2;border-radius:4px;background:#fffefa;padding:12px 13px;width:100%;min-width:0;color:var(--ink);outline:none;transition:border .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:#84917b;box-shadow:0 0 0 3px #dfe4d84d}.field input::placeholder,.field textarea::placeholder{color:#a3a49c}.form-error{min-height:19px;color:#a4413b;font-size:12px;margin:0 0 8px}.auth-divider{display:flex;align-items:center;gap:12px;color:#8a8b82;font-size:11px;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-legal{text-align:center;color:#92938b;font-size:10px;margin:25px 0 0}.app-shell{min-height:100vh;display:flex}.sidebar{width:258px;flex:none;background:#f1efe7;border-right:1px solid #e4e0d4;padding:28px 18px 15px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:5}.sidebar-brand{padding:0 11px 38px}.sidebar-label{padding:0 12px 10px;color:#9a9c91;font-size:9px;letter-spacing:2px;font-weight:800}.side-nav{display:grid;gap:4px}.nav-item{border:0;border-radius:4px;background:transparent;text-align:left;padding:11px 13px;display:flex;align-items:center;gap:12px;color:#696b63;font-size:13px}.nav-item:hover{background:#e8e7dd;color:#30322c}.nav-item.active{background:#e1e4d8;color:#35442f;font-weight:700}.nav-icon{font-size:17px;line-height:1;width:20px;text-align:center}.create-side{margin:25px 4px 0;display:flex;align-items:center;justify-content:center;gap:8px}.create-side span{font-size:18px;font-weight:400}.sidebar-bottom{margin-top:auto;position:relative}.local-note{background:#e8e9df;border-radius:4px;padding:13px 10px;display:flex;align-items:center;gap:10px;margin:0 4px 16px}.note-icon{font-size:19px;color:#8e967e}.local-note strong,.local-note small{display:block}.local-note strong{font:17px var(--serif);font-weight:400}.local-note small{font-size:10px;color:#77796f;margin-top:2px}.profile-button{display:flex;width:100%;align-items:center;gap:10px;border:0;border-top:1px solid #dfddd3;background:none;padding:15px 5px 5px;text-align:left}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#d9dfd1;color:#3a4b34;font:18px var(--serif)}.profile-copy{min-width:0;flex:1}.profile-copy strong,.profile-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:#85867e;margin-top:2px}.profile-more{font-weight:bold;color:#7e8075}.profile-menu{position:absolute;bottom:55px;left:6px;right:6px;border:1px solid var(--line);background:#fffefa;box-shadow:var(--shadow);padding:5px;border-radius:5px}.profile-menu button{display:block;width:100%;border:0;background:transparent;padding:10px;text-align:left;font-size:12px}.profile-menu button:hover{background:#f4f2eb}.app-main{margin-left:258px;min-width:0;flex:1}.app-topbar{height:70px;border-bottom:1px solid var(--line);background:#fbfaf6;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,54px);position:sticky;top:0;z-index:4}.breadcrumbs{display:flex;align-items:center;gap:10px;color:#96978e;font-size:12px}.breadcrumbs strong{color:#373a33;font-weight:650}.crumb-slash{color:#cfccc2}.topbar-actions{display:flex;align-items:center;gap:13px}.demo-badge{font-size:9px;letter-spacing:1.4px;color:#7a806f;background:#eeefe8;padding:7px 9px;border-radius:3px;font-weight:750}.mobile-brand,.mobile-profile{display:none}.main-content{max-width:1400px;margin:0 auto;padding:44px clamp(22px,4vw,56px) 70px;outline:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:30px}.page-head p{margin:0;color:var(--muted)}.page-head h1{font-size:clamp(36px,4vw,53px);margin:3px 0 7px}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:29px}.stat-card{background:#fffefa;border:1px solid var(--line);padding:18px 20px;border-radius:4px;min-height:105px}.stat-card small{display:block;font-size:9px;letter-spacing:1.4px;color:#898b81;font-weight:700}.stat-card strong{font:33px var(--serif);display:block;margin-top:4px}.stat-card span{font-size:10px;color:#92938b}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.section-heading h2{font-size:28px;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-card{--event-accent:#68735d;--event-soft:#e9ebdf;border:1px solid var(--line);border-radius:5px;background:#fffefa;overflow:hidden;transition:box-shadow .2s,transform .2s}.event-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.event-card-top{height:118px;padding:18px 20px;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,var(--event-soft),#fffefa);position:relative;overflow:hidden}.event-card-top:after{content:"";position:absolute;width:180px;height:180px;border:1px solid color-mix(in srgb,var(--event-accent) 25%,transparent);border-radius:50%;right:-22px;top:26px}.event-type-label{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:var(--event-accent);font-weight:800;position:relative;z-index:1}.event-card-top .event-date-chip{font-size:10px;padding:6px 9px;background:#ffffffb8;border-radius:30px;color:#686a60;position:relative;z-index:1}.event-card-title{font:29px/1.1 var(--serif);margin:0 0 6px;letter-spacing:-.5px}.event-card-body{padding:17px 20px}.event-subtitle{font-size:11px;color:#81837a;margin:0}.event-card-meta{display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid #eeeae1;margin-top:16px;padding-top:12px;color:#77796f;font-size:11px}.event-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.status-pill{display:inline-flex;align-items:center;gap:5px;background:#eef0e8;color:#58634d;padding:5px 9px;border-radius:20px;font-size:9px;font-weight:750;letter-spacing:.4px}.status-pill.draft{background:#f2eee4;color:#82714e}.status-pill.archived{background:#ecebe7;color:#777}.empty-state{padding:50px 20px;text-align:center;border:1px dashed #d6d2c7;background:#fbfaf6;border-radius:5px}.empty-ornament{width:55px;height:55px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;color:#6d795f;background:#e9ebdf;font:26px var(--serif)}.empty-state h3{margin-bottom:7px}.empty-state p{max-width:390px;margin:0 auto 17px;color:var(--muted);font-size:12px}.quick-note{padding:17px 20px;background:#efeee7;border-radius:4px;display:flex;gap:13px;align-items:center;margin-top:23px;color:#76796e;font-size:11px}.quick-note strong{color:#42463c}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fffefa;border:1px solid var(--line);padding:13px;margin-bottom:14px}.toolbar .field{margin:0;min-width:150px;flex:1}.toolbar .field.search-field{flex:2;min-width:200px}.toolbar .field label{font-size:10px}.toolbar .field input,.toolbar .field select{padding:9px 11px}.table-shell{overflow:auto;background:#fffefa;border:1px solid var(--line);border-radius:4px}table{width:100%;border-collapse:collapse;font-size:11px;min-width:730px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #efede6;vertical-align:middle}th{color:#85877d;font-size:9px;letter-spacing:1px;text-transform:uppercase;background:#fbfaf6;font-weight:750}td{color:#52554d}tr:last-child td{border-bottom:0}.guest-name{font-weight:700;color:#353830}.guest-email{display:block;color:#91938a;font-size:10px;margin-top:3px}.rsvp-label{display:inline-block;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:700}.rsvp-label.yes{background:#e7eee2;color:#4c6746}.rsvp-label.no{background:#f5e7e4;color:#995650}.rsvp-label.maybe{background:#f3eedf;color:#907542}.rsvp-label.pending{background:#eeede8;color:#77796f}.table-action{border:0;background:none;color:#65735b;padding:4px;font-size:11px;font-weight:700}.table-action.delete{color:#a34e4d}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:24px;align-items:start}.editor-panel,.preview-panel{border:1px solid var(--line);background:#fffefa;border-radius:5px;padding:22px}.editor-section{padding-bottom:19px;margin-bottom:19px;border-bottom:1px solid #eeeae1}.editor-section:last-child{border:0;padding-bottom:0;margin:0}.editor-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.editor-section-title h3{font-size:21px;margin:0}.editor-section-title span{font-size:10px;color:#999a91}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.field.full{grid-column:1/-1}.field textarea{resize:vertical;min-height:76px}.field input[type=color]{height:43px;padding:5px}.type-choices,.format-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choice-card{position:relative}.choice-card input{position:absolute;opacity:0;inset:0;pointer-events:none}.choice-card label{display:flex;min-height:69px;border:1px solid #e1ded4;border-radius:4px;cursor:pointer;padding:11px 8px;flex-direction:column;justify-content:center;gap:4px;background:#fffefa;transition:.16s}.choice-card label:hover{border-color:#b7bbae}.choice-card input:checked+label{border-color:#74806a;background:#f2f4ed;box-shadow:0 0 0 1px #74806a}.choice-card strong{font:17px var(--serif);font-weight:400}.choice-card small{font-size:9px;color:#878980}.format-choices .choice-card label{min-height:79px}.format-choices .choice-card strong{font:12px var(--sans);font-weight:700}.format-mark{font:19px var(--serif);color:#75816a}.preview-panel{position:sticky;top:94px}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.preview-header h3{font-size:22px;margin:0}.preview-frame{border:1px solid #e5e2d9;padding:12px;background:#f3f1ea;border-radius:4px}.device-toggle{display:flex;gap:4px}.device-toggle button{border:1px solid var(--line);background:#fffefa;border-radius:3px;padding:5px 8px;font-size:10px;color:#73756c}.device-toggle button.active{background:#454d40;color:white;border-color:#454d40}.invite-preview{--event-accent:#68735d;--event-soft:#e9ebdf;--event-paper:#fbf8f0;min-height:430px;background:var(--event-paper);position:relative;text-align:center;padding:42px 22px 28px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#302f29}.invite-preview:before{content:"";position:absolute;inset:11px;border:1px solid color-mix(in srgb,var(--event-accent) 25%,transparent);pointer-events:none}.invite-preview[data-format="modern"]{text-align:left;align-items:flex-start;justify-content:center;padding-left:36px}.invite-preview[data-format="story"]{min-height:520px;background:linear-gradient(170deg,var(--event-soft),var(--event-paper) 65%)}.preview-cover{position:absolute;inset:0 0 auto;height:43%;background-position:center;background-size:cover;opacity:.84}.preview-cover:not(.has-image){display:none}.invite-preview.has-cover .preview-kicker,.invite-preview.has-cover .preview-title,.invite-preview.has-cover .preview-host,.invite-preview.has-cover .preview-date,.invite-preview.has-cover .preview-place,.invite-preview.has-cover .preview-message{position:relative;text-shadow:0 1px 8px #fff}.invite-preview.has-cover{background:linear-gradient(180deg,#ffffff0d 0%,var(--event-paper) 44%)}.preview-kicker{font-size:8px;letter-spacing:2.4px;color:var(--event-accent);font-weight:800;text-transform:uppercase;position:relative}.preview-flower{font:42px/1 var(--serif);color:var(--event-accent);margin:20px 0 10px}.preview-title{font:clamp(27px,3vw,37px)/1.05 var(--serif);font-weight:400;letter-spacing:-.04em;margin:0 0 8px;position:relative}.preview-host{font:italic 15px var(--serif);color:#6c6e64;position:relative}.preview-rule{width:36px;height:1px;background:var(--event-accent);opacity:.5;margin:16px auto}.invite-preview[data-format="modern"] .preview-rule{margin-left:0}.preview-date,.preview-place{font-size:10px;color:#66685f;margin:2px 0;position:relative}.preview-message{font:italic 13px/1.5 var(--serif);color:#73746b;max-width:280px;margin:16px auto 0;position:relative}.invite-preview[data-format="modern"] .preview-message{margin-left:0}.preview-rsvp{display:inline-block;margin-top:18px;background:var(--event-accent);color:white;border:0;padding:8px 16px;border-radius:2px;font-size:9px;letter-spacing:1px;text-transform:uppercase;position:relative}.preview-caption{font-size:10px;color:#909187;margin:10px 0 0;text-align:center}.editor-footer{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-top:15px}.editor-footer-left{display:flex;gap:8px}.editor-footer-right{display:flex;gap:8px}.callout{border-left:2px solid #9ba58f;padding:9px 11px;background:#f4f5ef;color:#74776c;font-size:10px;margin-top:13px}.event-filter{width:auto!important;min-width:180px}.public-view{min-height:100vh;background:#f5f2eb}.public-nav{height:72px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8e2d8;background:#fbf9f4}.public-nav .wordmark{font-size:27px}.public-nav>span{font-size:8px;letter-spacing:1.8px;color:#96968b}.public-invitation{--event-accent:#68735d;--event-soft:#e9ebdf;max-width:740px;margin:40px auto 55px;padding:12px;background:#fffefa;box-shadow:0 20px 70px #3d39240d;border:1px solid #e9e4d9;position:relative;overflow:hidden}.public-invitation:before{content:"";position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--event-accent) 28%,transparent);pointer-events:none;z-index:1}.public-hero{min-height:400px;padding:70px 35px 42px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(180deg,var(--event-soft),#fffefa 82%);position:relative;background-size:cover;background-position:center}.public-hero.has-image{background-image:linear-gradient(180deg,#ffffff45,#fffefa 88%)}.public-hero .eyebrow{color:var(--event-accent)}.public-title{font:clamp(42px,8vw,70px)/1.02 var(--serif);letter-spacing:-.05em;font-weight:400;margin:7px 0 12px}.public-host{font:italic 18px var(--serif);color:#72736a}.public-separator{color:var(--event-accent);font:27px var(--serif);margin:13px 0}.public-meta{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:20px}.public-meta div{min-width:120px}.public-meta small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1.6px;color:#97978d}.public-meta strong{font:18px var(--serif);font-weight:400;display:block;margin-top:4px}.public-message{font:italic 17px/1.55 var(--serif);color:#696b61;max-width:465px;margin:23px auto 0}.public-detail{padding:24px clamp(20px,7vw,60px);text-align:center;border-top:1px solid #efebe2;position:relative;z-index:2}.public-detail h2{font-size:29px}.public-detail p{color:#77796f;font-size:12px}.public-rsvp{max-width:500px;margin:5px auto 32px;padding:25px;background:#f7f5ef;text-align:left;border:1px solid #e8e3d8;position:relative;z-index:2}.public-rsvp h2{text-align:center;font-size:31px}.public-rsvp>p{text-align:center;color:#82847b;font-size:11px}.public-rsvp .field{font-size:11px}.rsvp-choice-row{display:flex;gap:8px}.rsvp-choice{flex:1}.rsvp-choice input{position:absolute;opacity:0}.rsvp-choice label{display:block;border:1px solid #dedbd2;background:#fffefa;text-align:center;padding:10px 5px;border-radius:3px;cursor:pointer;font-size:10px}.rsvp-choice input:checked+label{border-color:var(--event-accent,#68735d);background:var(--event-soft,#e9ebdf);color:#414b3a}.public-footer{text-align:center;padding:20px;color:#8e8e84;font:italic 13px var(--serif)}.public-footer span{padding:0 6px;color:#b6a28d}.public-not-found{min-height:75vh;display:grid;place-items:center;text-align:center;padding:35px}.toast{position:fixed;bottom:22px;right:22px;padding:12px 16px;background:#2e362b;color:white;border-radius:4px;font-size:12px;box-shadow:var(--shadow);z-index:20;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.modal-backdrop{position:fixed;inset:0;background:#1d211b88;display:grid;place-items:center;padding:16px;z-index:12}.modal-card{width:min(520px,100%);background:#fbfaf6;padding:24px;border-radius:5px;box-shadow:var(--shadow);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h2{font-size:29px;margin:0}.modal-close{border:0;background:none;font-size:22px;color:#7b7d72}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.file-hidden{display:none}.inline-link{color:#68735d;text-decoration:underline;text-underline-offset:3px}.batch-note{font-size:10px;color:#92938a;margin-top:7px}.mobile-nav{display:none}
@media(max-width:1050px){.sidebar{width:225px}.app-main{margin-left:225px}.editor-layout{grid-template-columns:minmax(0,1fr) minmax(275px,.8fr);gap:15px}.editor-panel,.preview-panel{padding:17px}.event-grid{gap:12px}}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-side{min-height:100vh;padding:25px}.auth-mobile-brand{display:block;position:absolute;top:27px;left:25px}.auth-card{padding:65px 0 20px}.sidebar{width:70px;padding:20px 8px 10px}.sidebar-brand{font-size:0;padding:0 0 35px;text-align:center}.sidebar-brand:before{content:"e";font:italic 32px var(--serif);font-size:31px;color:#34362f}.sidebar-brand span{display:none}.sidebar-label,.nav-item:not(.active) .nav-label,.create-side{font-size:0}.nav-item{justify-content:center;padding:13px 7px;font-size:0}.nav-icon{font-size:18px}.nav-item.active{font-size:0}.sidebar-bottom .local-note,.profile-copy,.profile-more{display:none}.profile-button{justify-content:center}.avatar{width:38px;height:38px}.profile-menu{left:4px;right:auto;width:180px}.app-main{margin-left:70px}.app-topbar{height:62px;padding:0 19px}.main-content{padding:30px 19px 60px}.breadcrumbs{display:none}.mobile-brand{display:block}.mobile-brand .wordmark{font-size:24px}.mobile-profile{display:block}.editor-layout{grid-template-columns:1fr}.preview-panel{position:static;grid-row:1}.preview-frame{max-width:460px;margin:auto}.preview-caption{text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.demo-badge{font-size:8px}.page-head{align-items:flex-start;flex-direction:column}.page-head .head-actions{width:100%}.page-head .head-actions .button{flex:1}}
@media(max-width:560px){.auth-side{padding:18px}.auth-mobile-brand{top:22px;left:20px}.auth-card{padding-top:60px}.auth-card h2{font-size:34px}.app-topbar{padding:0 14px}.main-content{padding:26px 14px 48px}.stats-grid{gap:8px}.stat-card{padding:13px;min-height:90px}.stat-card strong{font-size:28px}.stat-card small{font-size:8px;letter-spacing:1px}.event-grid{grid-template-columns:1fr}.page-head h1{font-size:40px}.page-head .head-actions .button{flex:auto}.toolbar{align-items:stretch}.toolbar .field,.toolbar .field.search-field{min-width:100%}.type-choices,.format-choices{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.editor-panel,.preview-panel{padding:14px}.editor-footer{align-items:stretch;flex-direction:column}.editor-footer-left,.editor-footer-right{display:grid;grid-template-columns:1fr 1fr}.public-nav{height:62px;padding:0 17px}.public-nav .wordmark{font-size:23px}.public-nav>span{font-size:7px;letter-spacing:1px}.public-invitation{margin:16px 8px 28px;padding:8px}.public-invitation:before{inset:8px}.public-hero{min-height:350px;padding:50px 22px 35px}.public-meta{gap:14px}.public-meta div{min-width:105px}.public-detail{padding:20px 15px}.public-rsvp{margin:0 10px 28px;padding:18px}.modal-card{padding:18px}.event-card-actions .button{flex:1}.profile-menu{bottom:50px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.filter-row{display:flex;gap:7px;margin:-7px 0 20px;overflow:auto;padding:4px 0}.filter-chip{white-space:nowrap;border:1px solid transparent;background:transparent;border-radius:20px;padding:8px 13px;color:#77796f;font-size:11px}.filter-chip:hover{background:#f0eee7}.filter-chip.active{background:#e5e8dd;border-color:#d8ddce;color:#45523f;font-weight:700}.field-hint{display:block;color:#97988f;font-size:9px;font-weight:400;margin-top:-4px}.public-rsvp-success{padding:24px 10px;text-align:center}.public-rsvp-success h2{font-size:35px}.theme-birthday .public-hero{background-image:radial-gradient(circle at 8% 20%,#e4a25b30 0 6px,transparent 7px),radial-gradient(circle at 90% 15%,#d4654830 0 8px,transparent 9px),radial-gradient(circle at 87% 78%,#e4a25b30 0 5px,transparent 6px),linear-gradient(180deg,var(--event-soft),#fffefa 86%)}.theme-baby .public-hero{background-image:radial-gradient(ellipse at 18% 10%,#fffefa 0 45px,transparent 47px),radial-gradient(ellipse at 81% 12%,#fffefa 0 58px,transparent 60px),linear-gradient(180deg,var(--event-soft),#fffefa 84%)}.theme-graduation .public-hero{background-image:linear-gradient(135deg,#ffffff70 1px,transparent 1px),linear-gradient(45deg,#ffffff70 1px,transparent 1px),linear-gradient(180deg,var(--event-soft),#fffefa 84%);background-size:27px 27px,27px 27px,auto}.theme-anniversary .public-hero{background-image:radial-gradient(ellipse at center,var(--event-soft),#fffefa 78%)}.theme-birthday .preview-flower,.theme-baby .preview-flower{font-family:var(--sans);font-size:31px}.theme-graduation .preview-flower{font-family:var(--sans);font-size:26px}.compact-card .event-card-top{height:105px}.compact-card .event-card-title{font-size:25px}.compact-card .event-card-meta{margin-top:11px;padding-top:9px}.compact-card .event-card-actions .button{padding:6px 8px;min-height:30px;font-size:10px}.back-link{padding:0;margin-bottom:13px}.public-invitation.format-modern .public-hero{text-align:left;align-items:flex-start;padding-left:clamp(40px,10vw,90px)}.public-invitation.format-modern .public-meta{justify-content:flex-start}.public-invitation.format-modern .public-message{margin-left:0}.public-invitation.format-story .public-detail{padding-top:38px;padding-bottom:38px}


/* Story invitation additions */
#publicInvitation[hidden],.date-reveal-result[hidden]{display:none!important}
.invitation-opening{min-height:calc(100vh - 72px);position:relative;display:grid;place-items:center;overflow:hidden;padding:42px 20px;background:radial-gradient(ellipse at 50% 45%,#fffefa 0%,var(--event-soft,#f1e5e6) 100%);--event-soft:#eee9df}
.invitation-opening:before{content:"";position:absolute;inset:18px;border:1px solid #9a8b7055;z-index:1;pointer-events:none}
.opening-cover-photo,.closing-photo{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.27}
.has-cover .opening-cover-photo{opacity:.54}
.opening-card{position:relative;z-index:2;width:min(520px,100%);padding:clamp(28px,6vw,56px) clamp(22px,7vw,65px);text-align:center;background:#fffefaed;border:1px solid #e6ded2;box-shadow:0 24px 80px #302a2018}
.opening-card:before{content:"";position:absolute;inset:9px;border:1px solid #ad9d8260;pointer-events:none}
.opening-card .eyebrow{letter-spacing:2px;color:var(--event-accent,#8b626c)}
.opening-emblem{font:42px/1 var(--serif);color:var(--event-accent,#8b626c);margin:19px 0 10px}
.opening-card h1{font:clamp(39px,8vw,64px)/1 var(--serif);font-weight:400;letter-spacing:-.045em;margin:0 auto 12px;max-width:440px;color:#34352f}
.opening-host{font:italic 18px var(--serif);color:#6f7168;margin:0}
.opening-note{font:italic 14px/1.55 var(--serif);color:#89877d;margin:20px auto 22px;max-width:300px}
.open-invitation-button{position:relative;z-index:1}
.open-invitation-button span{padding-left:7px}
.public-invitation{margin-top:24px}
.music-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:7px 18px 15px;color:#8b8d83;font-size:10px}
.music-toolbar audio{display:none}
.public-story,.public-countdown,.public-schedule,.public-gallery,.public-closing{position:relative;z-index:2;padding:clamp(34px,7vw,65px) clamp(20px,7vw,62px);text-align:center;border-top:1px solid #efebe2}
.public-story{background:linear-gradient(180deg,#fbfaf6,#fffefa)}
.public-story .eyebrow,.public-section-heading .eyebrow{color:var(--event-accent,#68735d)}
.public-story h2,.public-section-heading h2,.public-countdown h2{font:clamp(29px,5vw,43px)/1.1 var(--serif);font-weight:400;letter-spacing:-.03em;margin:7px 0 15px}
.public-story>p:last-child{font:17px/1.8 var(--serif);color:#73746b;max-width:570px;margin:0 auto}
.date-reveal{position:relative;z-index:2;padding:34px 20px 40px;text-align:center;background:var(--event-paper,#fbf8f0);border-top:1px solid #efebe2}
.date-reveal-cover{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;width:min(390px,100%);min-height:130px;margin:14px auto 0;border:1px solid color-mix(in srgb,var(--event-accent,#68735d) 34%,#fff);background:linear-gradient(135deg,var(--event-soft,#e9ebdf),#fffefa);color:#55584d;cursor:pointer;box-shadow:0 6px 18px #39341d0b;transition:transform .18s,box-shadow .18s}
.date-reveal-cover:hover{transform:translateY(-2px);box-shadow:0 10px 24px #39341d15}
.date-reveal-cover span{font-size:24px;color:var(--event-accent,#68735d)}
.date-reveal-cover strong{font:20px var(--serif);font-weight:400}
.date-reveal-cover small{font-size:10px;color:#888a80}
.date-reveal-result{font:clamp(24px,5vw,37px) var(--serif);color:#55584d;margin:22px 0 4px}
.public-countdown{background:var(--event-soft,#e9ebdf);color:#45483f}
.public-countdown>.eyebrow{color:var(--event-accent,#68735d)}
.public-countdown h2{margin-bottom:22px}
.countdown-grid{display:flex;justify-content:center;gap:clamp(12px,4vw,32px);flex-wrap:wrap}
.countdown-grid>div{min-width:65px;display:flex;flex-direction:column;gap:5px}
.countdown-grid strong{font:clamp(32px,6vw,48px)/1 var(--serif);font-weight:400;color:var(--event-accent,#68735d);font-variant-numeric:tabular-nums}
.countdown-grid span{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#77796e}
.public-countdown>[data-countdown-note]{font-size:10px;color:#888a80;margin:17px 0 0}
.public-schedule{background:#fffefa}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:690px;margin:23px auto 0;text-align:left}
.schedule-card{display:flex;gap:13px;padding:20px;background:var(--event-paper,#fbf8f0);border:1px solid #ece8de;min-height:112px}
.schedule-mark{color:var(--event-accent,#68735d);font:22px var(--serif)}
.schedule-card .eyebrow{margin:0 0 7px;font-size:8px;letter-spacing:1.5px}
.schedule-time{font:19px var(--serif);margin:0 0 5px;color:#45483f}
.schedule-place{font-size:11px;line-height:1.5;margin:0;color:#77796f}
.map-button{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:7px 10px;border:1px solid #ded8c9;background:#fffefa;color:#5d654f;text-decoration:none;font-size:10px;font-weight:700;transition:background .16s,border-color .16s}
.map-button:hover{background:var(--event-soft,#e9ebdf);border-color:#c5c9b7}
.public-gallery{background:var(--event-paper,#fbf8f0)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:24px auto 0;text-align:left}
.gallery-photo{margin:0;min-width:0;background:#fffefa;border:1px solid #e9e4d9;padding:7px}
.gallery-photo img{display:block;width:100%;height:clamp(160px,28vw,290px);object-fit:cover;background:#efede7}
.gallery-photo figcaption{font:italic 13px var(--serif);color:#74766d;padding:10px 7px 5px}
.public-closing{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--event-soft,#e9ebdf)}
.public-closing.has-cover{color:#fffefa;text-shadow:0 1px 8px #17140fa8}
.closing-photo{opacity:.14}
.public-closing.has-cover .closing-photo{opacity:.46}
.public-closing>*:not(.closing-photo){position:relative;z-index:1}
.public-closing h2{font:clamp(27px,5vw,42px)/1.15 var(--serif);font-weight:400;max-width:600px;margin:7px auto 10px}
.public-closing>p:last-child{font:italic 15px var(--serif);margin:0}
.photo-editor-row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(110px,1fr) minmax(120px,1fr) auto;align-items:end;gap:9px;padding:12px 0;border-top:1px solid #eeeae1}
.photo-editor-row .field,.photo-upload-field,.music-upload-field,.cover-upload-field{margin-bottom:8px}
.photo-editor-row input[type=file],.music-upload-field input[type=file],.cover-upload-field input[type=file]{width:100%;font-size:10px;padding:7px;background:#fffefa}
.photo-remove{margin-bottom:16px;white-space:nowrap}
.gallery-editor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 2px}
.gallery-editor-head strong{font-size:12px}
.gallery-editor-head .field-hint{margin-top:4px;line-height:1.45}
.subsection-label{font-size:10px;font-weight:750;letter-spacing:1px;text-transform:uppercase;color:#84867c;margin:10px 0 0}
.preview-countdown-note{font-size:9px;color:#85877d;margin:4px 0 0;position:relative}
.public-invitation[hidden]{display:none!important}
@media(max-width:700px){.photo-editor-row{grid-template-columns:1fr 1fr}.photo-editor-row .photo-url{grid-column:1/-1}.photo-remove{justify-self:start;margin:0 0 9px}.schedule-grid{grid-template-columns:1fr}.public-invitation{margin:14px 8px 28px}.invitation-opening{min-height:calc(100svh - 62px)}.invitation-opening:before{inset:10px}.opening-card{padding:35px 23px}.gallery-grid{gap:8px}.gallery-photo{padding:5px}.gallery-photo img{height:clamp(145px,45vw,250px)}.music-toolbar{padding:0 10px 12px}}
.public-invitation,.invitation-opening{font-family:var(--invite-body-font,var(--sans))}
.public-title,.opening-card h1,.public-story h2,.public-section-heading h2,.public-countdown h2,.public-closing h2,.preview-title{font-family:var(--invite-heading-font,var(--serif))}
.public-host,.opening-host,.public-message,.schedule-time,.date-reveal-result,.preview-host{font-family:var(--invite-heading-font,var(--serif))}
.scratch-date-card{position:relative;width:min(390px,100%);height:138px;margin:14px auto 0;overflow:hidden;border:1px solid color-mix(in srgb,var(--event-accent,#68735d) 34%,#fff);background:var(--event-paper,#fbf8f0);box-shadow:0 6px 18px #39341d0b;touch-action:none;cursor:crosshair}
.scratch-date-under{position:absolute;inset:0;display:grid;place-items:center;padding:16px;font:clamp(22px,4vw,32px) var(--invite-heading-font,var(--serif));color:#55584d;text-align:center}
#dateScratchCanvas{position:absolute;inset:0;display:block;touch-action:none;cursor:crosshair}
.scratch-help{font-size:10px;color:#888a80;margin:10px 0 0}
#dateScratchCanvas{width:100%;height:100%}

/* Invitation opening and celebration-specific motion */
.invitation-opening{isolation:isolate;min-height:calc(100svh - 72px)}
.opening-cover-photo{transform:scale(1.025);transition:transform 1.1s ease,filter 1.1s ease,opacity .8s ease;filter:saturate(.83)}
.invitation-opening.has-cover .opening-cover-photo{opacity:.68}
.opening-card{isolation:isolate;overflow:hidden;transition:opacity .62s ease,transform .72s cubic-bezier(.2,.75,.2,1),filter .62s ease}
.opening-card>*{position:relative;z-index:1}
.opening-card:after{content:"";position:absolute;z-index:0;inset:-45% auto -45% -52%;width:32%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,#fff8dc00 18%,#fff3c58c 48%,#fff8dc00 78%,transparent);animation:golden-shine 5.2s ease-in-out infinite;pointer-events:none}
.opening-card:before{z-index:1}
.invitation-opening.opening-away .opening-card{opacity:0;filter:blur(3px);transform:translateY(-22px) scale(.97)}
.invitation-opening.opening-away .opening-cover-photo{transform:scale(1.09);filter:saturate(1.05)}
@keyframes golden-shine{0%,48%{left:-52%;opacity:0}55%{opacity:.9}76%,100%{left:125%;opacity:0}}
.open-invitation-button{overflow:hidden;border-color:#b49655;background:linear-gradient(115deg,#59492b,#9a7a35 48%,#59492b);box-shadow:0 7px 21px #66512735;color:#fffdf6;letter-spacing:.025em}
.open-invitation-button:before{content:"";position:absolute;inset:1px;border:1px solid #fff7d255;pointer-events:none}
.open-invitation-button:hover{background:linear-gradient(115deg,#715b30,#bd9948 48%,#715b30)}
.opening-scroll-cue{display:flex;flex-direction:column;align-items:center;gap:4px;margin:16px auto 0;border:0;background:transparent;color:#787365;font:italic 12px var(--serif);cursor:pointer}
.opening-scroll-cue span{font:20px/1 var(--sans);animation:scroll-cue-bob 1.5s ease-in-out infinite;color:var(--event-accent,#9b8046)}
@keyframes scroll-cue-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

.public-couple-intro{position:relative;z-index:2;padding:clamp(42px,8vw,82px) clamp(22px,8vw,80px);text-align:center;background:linear-gradient(180deg,var(--event-paper,#fbf8f4),#fffefa)}
.public-couple-intro h2{font:clamp(34px,7vw,62px)/1.08 var(--invite-heading-font,var(--serif));font-weight:400;letter-spacing:-.045em;color:#37382f;margin:8px auto 16px}
.public-couple-intro>p:last-child{max-width:590px;margin:0 auto;color:#74746c;font:italic clamp(16px,2.4vw,20px)/1.7 var(--invite-heading-font,var(--serif))}
.gold-divider{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 auto 19px;color:#ad8d4c}
.gold-divider:before,.gold-divider:after{content:"";width:min(18vw,92px);height:1px;background:linear-gradient(90deg,transparent,#c5a35e)}
.gold-divider:after{transform:scaleX(-1)}
.public-couple-photos{position:relative;z-index:2;padding:clamp(34px,7vw,62px) clamp(20px,7vw,62px);text-align:center;background:var(--event-paper,#fbf8f0);border-top:1px solid #efebe2}
.couple-photo-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(9px,2.8vw,24px);max-width:780px;margin:23px auto 0}
.couple-photo{position:relative;margin:0;padding:8px;background:#fffefa;border:1px solid #e6dfd1;box-shadow:0 14px 34px #554a3414;transform:rotate(-1.5deg)}
.couple-photo-2{transform:translateY(20px) rotate(1.6deg)}
.couple-photo-3{grid-column:1/-1;width:min(66%,450px);justify-self:center;transform:rotate(-.6deg)}
.couple-photo img{display:block;width:100%;height:clamp(175px,35vw,330px);object-fit:cover;background:#efede7}
.couple-photo-3 img{height:clamp(150px,26vw,250px)}
.couple-photo figcaption{font:italic 12px var(--serif);color:#74766d;padding:9px 4px 2px}

.date-reveal{isolation:isolate;overflow:hidden;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.scratch-photo-backdrop{position:absolute;z-index:-1;inset:0;display:grid;grid-template-columns:1fr 1fr;opacity:.24;filter:saturate(.75)}
.scratch-photo-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fbf8f0a8,#fbf8f0e8 46%,#fbf8f0e8 54%,#fbf8f0a8)}
.scratch-photo{display:block;background-position:center;background-size:cover;min-width:0}
.scratch-photo-left{transform:scale(1.04)}
.scratch-photo-right{transform:scale(1.04)}
.date-reveal>.eyebrow,.scratch-date-card,.scratch-help,.date-reveal-result{position:relative;z-index:1}
.date-reveal>.eyebrow{color:var(--event-accent,#8b7a4c)}
.scratch-date-card{border-radius:3px;box-shadow:0 13px 36px #40362223}
.scratch-date-under{color:#4e4c42;text-shadow:0 1px #ffffffa8}
.scratch-help{color:#77756b}
.petal-pop{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}
.petal-pop span{position:absolute;left:var(--petal-x);top:48%;font-size:var(--petal-size);line-height:1;color:#b68a52;text-shadow:0 1px 7px #fff9d8;animation:petal-burst 2.45s cubic-bezier(.15,.64,.2,1) var(--petal-delay) both}
@keyframes petal-burst{0%{opacity:0;transform:translate3d(0,15px,0) scale(.25) rotate(0)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate3d(0,-180px,0) scale(1.15) rotate(var(--petal-turn))}}

.public-decorations{position:fixed;z-index:8;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .5s ease}
.public-decorations.active{opacity:1}
.decor-fall,.decor-sock{position:absolute;display:grid;place-items:center;will-change:transform;filter:drop-shadow(0 3px 7px #66552d35)}
.decor-ring-fall{position:absolute;top:8px;right:clamp(12px,4vw,48px);width:clamp(140px,22vw,220px);height:clamp(130px,26vw,210px);transform-origin:55% 48%;will-change:transform;filter:drop-shadow(0 7px 12px #644d1d5c) drop-shadow(0 0 14px #d8b45c38)}
.decor-ring-fallback,.decor-ring-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.decor-ring-fallback{object-fit:contain;opacity:1;transition:opacity .4s ease}
.decor-ring-canvas{opacity:0;transition:opacity .4s ease}
.public-decorations.has-3d-rings .decor-ring-fallback{opacity:0}
.public-decorations.has-3d-rings .decor-ring-canvas{opacity:1}
.decor-fall{top:15px;right:clamp(14px,4vw,48px);font-size:clamp(33px,5vw,50px);width:58px;height:58px;transform-origin:50% 0}
.decor-cap{width:64px;height:64px;transform-origin:50% 50%;filter:drop-shadow(0 5px 9px #26375355)}
.graduation-hat-icon{display:block;width:100%;height:100%;overflow:visible}
.graduation-hat-board{fill:#334d79;stroke:#d5b35e;stroke-width:2.3;stroke-linejoin:round}
.graduation-hat-base{fill:#536c96;stroke:#d5b35e;stroke-width:2;stroke-linejoin:round}
.graduation-hat-tassel{fill:none;stroke:#d8b75f;stroke-width:3;stroke-linecap:round}
.graduation-hat-tassel-end{fill:#e4c671;stroke:#aa8537;stroke-width:1.2}
.decor-cake{filter:drop-shadow(0 4px 9px #8c4b3438)}
.decor-sock{top:14px;font-size:clamp(28px,4vw,40px);width:48px;height:48px;transform-origin:50% 0}
.decor-sock-left{left:13px}.decor-sock-right{right:13px}
.haldi-water-stream{position:absolute;top:0;right:0;width:clamp(40px,8vw,76px);height:var(--pour-height,18px);overflow:hidden;border-radius:0 0 55% 55%;background:linear-gradient(90deg,#e8bc39dd,#ffe77c,#d6a719dd);box-shadow:0 5px 18px #c69b263d;transition:height .12s linear}
.haldi-water-stream:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(108deg,transparent 0 10px,#fff8bd66 11px 14px,transparent 15px 24px);animation:haldi-glimmer .85s linear infinite}
.haldi-water-stream span{position:absolute;z-index:1;right:18px;bottom:0;color:#fff5bd;font-size:16px;animation:scroll-cue-bob 1.2s ease-in-out infinite}
.haldi-water-stream i{position:absolute;bottom:-5px;right:6px;width:8px;height:12px;border-radius:50%;background:#f4cf50;filter:blur(1px)}
@keyframes haldi-glimmer{to{background-position:0 30px}}

.scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.public-share{position:relative;z-index:2;padding:28px 20px 40px;text-align:center;background:var(--event-paper,#fbf8f0);border-top:1px solid #efebe2}
.public-share .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border-color:#d9cda9;background:#fffdf6;color:#625534;text-decoration:none}
.theme-haldi .public-hero{background-image:radial-gradient(ellipse at 50% 0%,#f4d56e4a,transparent 54%),linear-gradient(180deg,var(--event-soft),#fffdf7 84%)}
.theme-haldi .public-countdown{background:linear-gradient(140deg,#f8edbd,#fff8e0)}
.theme-haldi .schedule-card,.theme-haldi .gallery-photo{border-color:#ebd998}
.theme-haldi .public-couple-intro{background:linear-gradient(180deg,#fffaf0,#fffdf7)}
@media(max-width:700px){
  .opening-card{width:min(480px,100%)}
  .opening-card h1{font-size:clamp(36px,12vw,56px)}
  .public-couple-photos{padding-left:16px;padding-right:16px}
  .couple-photo{padding:5px}
  .couple-photo img{height:clamp(150px,45vw,230px)}
  .couple-photo-3{width:78%}
  .couple-photo-3 img{height:clamp(130px,35vw,200px)}
  .date-reveal{min-height:290px;padding-left:14px;padding-right:14px}
  .scratch-date-card{height:126px}
  .decor-ring-fall{right:6px;width:clamp(132px,36vw,180px);height:clamp(122px,35vw,176px)}
  .decor-fall{right:6px}
  .decor-sock-left{left:4px}.decor-sock-right{right:4px}
}
@media(prefers-reduced-motion:reduce){
  .opening-card:after,.opening-scroll-cue span,.haldi-water-stream:after,.haldi-water-stream span{animation:none}
  .opening-cover-photo,.opening-card,.scroll-reveal,.public-decorations,.open-invitation-button{transition:none}
  .scroll-reveal{opacity:1;transform:none}
  .petal-pop{display:none}
}

/* Organizer control for guest-facing occasion motion */
.occasion-effect-toggle{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;margin:17px 0 0;padding:13px 14px;border:1px solid #e7e3d9;background:#fbfaf6;cursor:pointer}
.occasion-effect-toggle[hidden]{display:none}
.occasion-effect-toggle.is-enabled{border-color:#d4dfcb;background:#f7faf4}
.occasion-effect-toggle>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.occasion-effect-switch{position:relative;width:40px;height:23px;border-radius:20px;background:#d6d4ca;transition:background .18s}
.occasion-effect-switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:white;box-shadow:0 1px 4px #25251f30;transition:transform .18s}
.occasion-effect-toggle>input:checked+.occasion-effect-switch{background:#65785a}
.occasion-effect-toggle>input:checked+.occasion-effect-switch:after{transform:translateX(17px)}
.occasion-effect-toggle>input:focus-visible+.occasion-effect-switch{outline:3px solid #b6c5a8;outline-offset:2px}
.occasion-effect-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title state" "description description";align-items:center;gap:3px 8px}
.occasion-effect-copy strong{grid-area:title;font-size:11px;color:#41443b}
.occasion-effect-copy small{grid-area:description;font-size:9px;line-height:1.45;font-weight:400;color:#85867e}
.occasion-effect-state{grid-area:state;padding:3px 6px;border-radius:20px;background:#efeee9;color:#77776f;font-size:8px;font-weight:800;letter-spacing:.08em;line-height:1}
.occasion-effect-toggle.is-enabled .occasion-effect-state{background:#e5eee0;color:#52694a}

@media(max-width:700px){
  .occasion-effect-toggle{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}
}
@media(prefers-reduced-motion:reduce){
  .occasion-effect-switch,.occasion-effect-switch:after{transition:none}
}
