:root{color:#152238;font-synthesis:none;background:#f3f5f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}body{background:#f3f5f8;min-width:320px;overflow:hidden}button,input,textarea{font:inherit}.app-shell{flex-direction:column;height:100vh;min-height:0;padding:24px;display:flex;overflow:hidden}.app-header{flex:none;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;max-width:1500px;margin:0 auto 22px;display:flex}.app-kicker{letter-spacing:.14em;text-transform:uppercase;opacity:.62;margin:0 0 6px;font-size:11px;font-weight:800}.app-header h1{letter-spacing:-.03em;margin:0;font-size:clamp(28px,4vw,42px)}.app-description{color:#697586;max-width:650px;margin:8px 0 0;line-height:1.5}.header-actions{align-items:center;gap:10px;display:flex}.header-badge{color:#5d6878;background:#fff;border:1px solid #e3e6eb;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.status-dot{background:#3b82f6;border-radius:50%;width:8px;height:8px}.reset-button{color:#fff;cursor:pointer;background:#152238;border:0;border-radius:9px;min-height:40px;padding:0 15px;font-weight:700}.workspace{flex:1;width:100%;max-width:1500px;min-height:0;margin:0 auto;overflow:hidden}.creator-editor{grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);align-items:stretch;gap:20px;height:100%;min-height:0;display:grid}.creator-panel,.creator-preview{background:#fff;border:1px solid #e1e5ea;border-radius:20px;min-width:0;min-height:0;overflow:hidden;box-shadow:0 12px 40px #0f172a0f}.creator-panel{height:100%}.creator-preview{background:#f8f9fb;flex-direction:column;height:100%;display:flex}.editor-layout{grid-template-columns:210px minmax(0,1fr);height:100%;min-height:0;display:grid}.editor-sidebar{background:#fafbfc;border-right:1px solid #e6e8ec;min-height:0;padding:18px 12px;overflow:auto}.editor-sidebar-title{color:#202938;padding:2px 10px 12px;font-size:13px;font-weight:800}.editor-nav{gap:6px;display:grid}.editor-nav-group{border:1px solid #0000;border-radius:11px;transition:border-color .2s,background .2s;overflow:hidden}.editor-nav-group.has-active{background:#f7f8fa;border-color:#e3e7ed}.editor-nav-heading-button{color:#303948;text-align:left;cursor:pointer;letter-spacing:.02em;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 10px;font-size:12px;font-weight:800;display:flex}.editor-nav-heading-button:hover{background:#eef1f5}.editor-nav-group.has-active .editor-nav-heading-button{color:#111827}.editor-nav-chevron{color:#7b8492;justify-content:center;align-items:center;width:20px;height:20px;font-size:15px;line-height:1;transition:transform .2s;display:inline-flex;transform:rotate(0)}.editor-nav-group.open .editor-nav-chevron{transform:rotate(180deg)}.editor-nav-items{opacity:0;max-height:0;transition:max-height .22s,opacity .18s;overflow:hidden}.editor-nav-group.open .editor-nav-items{opacity:1;max-height:500px;padding:0 5px 6px}.editor-nav-group:not(.open) .editor-nav-items{visibility:hidden}.editor-nav-group.open .editor-nav-items{visibility:visible}.editor-nav-item{color:#5a6473;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;margin:2px 0;padding:9px 10px;font-size:12px;font-weight:650;display:block}.editor-nav-item:hover{color:#252d39;background:#eef1f5}.editor-content{min-width:0;min-height:0;padding:28px;overflow:auto}.editor-content-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.editor-content-head h2{color:#111827;margin:0;font-size:25px}.editor-status{color:#697586;white-space:nowrap;background:#fbfcfd;border:1px solid #e6e9ee;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:22px;display:grid}.editor-field,.field{gap:7px;display:grid}.editor-field>span,.field>span,.toggle-field>span{color:#313a49;font-size:13px;font-weight:750}.editor-field input,.editor-field textarea,.field input,.field textarea{color:#182132;background:#fff;border:1px solid #d9dee6;border-radius:10px;outline:none;width:100%;padding:12px 13px}.editor-field textarea,.field textarea{resize:vertical}.editor-field input:focus,.editor-field textarea:focus,.field input:focus,.field textarea:focus{border-color:#9ca9bb;box-shadow:0 0 0 3px #94a3b81f}.toggle-field{background:#fbfcfd;border:1px solid #dfe4ea;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;min-height:47px;padding:11px 13px;display:flex}.toggle-field input{accent-color:#111827;width:18px;height:18px;margin:0}.preview-toolbar{background:#fff;border-bottom:1px solid #e7eaf0;flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:12px 18px;display:flex}.preview-toolbar .app-kicker{margin-bottom:2px}.preview-device-label{color:#667085;background:#f1f3f6;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:800}.coming-section{max-width:560px;padding-top:28px}.coming-badge{color:#5f6b7d;text-transform:uppercase;letter-spacing:.08em;background:#eef1f5;border-radius:999px;margin:0 0 12px;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.coming-section h3{margin:0 0 9px;font-size:23px}.muted{color:#697586;line-height:1.65}@media (width<=1080px){.creator-editor{grid-template-columns:minmax(0,1fr) minmax(320px,.62fr)}.editor-layout{grid-template-columns:180px minmax(0,1fr)}}@media (width<=860px){.app-shell{padding:16px}.app-header{flex-direction:column;align-items:flex-start}.workspace{min-height:0}.creator-editor{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;gap:16px}.creator-panel,.creator-preview{height:100%;min-height:0}.editor-layout{height:100%}.preview-stage{padding:20px 12px}}@media (width<=640px){.header-actions{width:100%}.header-badge,.reset-button{flex:1}.creator-panel,.creator-preview{border-radius:16px}.editor-layout{grid-template-columns:1fr}.editor-sidebar{border-bottom:1px solid #e6e8ec;border-right:0}.editor-content{padding:20px}.editor-grid{grid-template-columns:1fr}.editor-nav{gap:5px}.editor-sidebar{padding:14px 10px}.editor-sidebar-title{padding-bottom:8px}}.editor-layout{background:#fff;border:1px solid #e1e4e9;border-radius:22px;grid-template-columns:230px minmax(0,1fr);min-height:650px;display:grid;overflow:hidden;box-shadow:0 18px 55px #0f172a14}.editor-sidebar{background:#f8f9fb;border-right:1px solid #e6e9ee;padding:20px 12px}.editor-sidebar-title{letter-spacing:.12em;text-transform:uppercase;color:#657184;padding:0 10px 14px;font-size:12px;font-weight:800}.editor-nav-group{margin-top:12px}.editor-nav-heading{text-transform:uppercase;letter-spacing:.08em;color:#8a95a5;padding:7px 10px;font-size:11px;font-weight:800}.editor-nav-item{text-align:left;color:#4d596b;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:9px;padding:9px 10px;font-size:13px}.editor-nav-item:hover{background:#eef1f5}.editor-nav-item.active{color:#fff;background:#152238;font-weight:700}.editor-content{min-width:0;padding:28px}.editor-content-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.editor-content-head h2{margin:0}.editor-status{color:#6c7787;white-space:nowrap;background:#f1f3f6;border-radius:999px;padding:7px 10px;font-size:11px}.editor-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.editor-field{gap:7px;display:grid}.editor-field span,.toggle-field span{color:#293548;font-size:12px;font-weight:750}.editor-field input,.editor-field textarea{box-sizing:border-box;color:#172033;width:100%;font:inherit;background:#fff;border:1px solid #d8dee7;border-radius:10px;outline:none;padding:11px 12px}.editor-field textarea{resize:vertical;line-height:1.5}.editor-field input:focus,.editor-field textarea:focus{border-color:#9ca9ba;box-shadow:0 0 0 3px #15223812}.toggle-field{border:1px solid #e0e4ea;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;min-height:22px;padding:12px;display:flex}.toggle-field input{accent-color:#152238;width:18px;height:18px}.preview-stage{overscroll-behavior:contain;background:linear-gradient(135deg,#eef1f5,#e4e7ec);flex:1;place-items:center;min-height:0;padding:20px;display:grid;overflow:hidden}.wedding-phone{aspect-ratio:9/16;background:var(--wedding-bg);width:auto;max-width:100%;height:min(100%,720px);color:var(--wedding-text);font-family:var(--wedding-font,serif);overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-gutter:stable;touch-action:pan-y;border:8px solid #111827;border-radius:34px;flex:0 auto;overflow:hidden auto;box-shadow:0 22px 60px #00000038}.wedding-phone::-webkit-scrollbar{width:8px}.wedding-phone::-webkit-scrollbar-track{background:#0000001a}.wedding-phone::-webkit-scrollbar-thumb{background:#00000047;border-radius:999px}.wedding-cover{box-sizing:border-box;text-align:center;background:linear-gradient(180deg,#050c1c14,#050c1cb8),var(--wedding-bg);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;min-height:680px;padding:70px 30px 40px;display:flex;position:relative}.cover-ornament{color:var(--wedding-accent);margin:0 0 18px;font-size:30px}.cover-eyebrow,.section-eyebrow{letter-spacing:.16em;text-transform:uppercase;opacity:.82;margin:0 0 14px;font-family:Georgia,serif;font-size:11px;line-height:1.6}.wedding-cover h2{max-width:320px;margin:0;font-size:42px;font-weight:500;line-height:1.05}.cover-subtitle,.cover-date,.cover-venue{margin:13px 0 0;line-height:1.5}.cover-line{background:var(--wedding-accent);width:65px;height:1px;margin:25px 0 5px}.cover-date{font-weight:700}.cover-venue{opacity:.8;font-size:13px}.cover-button,.gold-button{border:1px solid var(--wedding-accent);color:var(--wedding-text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:11px 18px;font-size:12px;text-decoration:none;display:inline-flex}.cover-button{background:var(--wedding-accent);color:#101828;border-color:var(--wedding-accent);margin-top:30px}.wedding-section{background:var(--wedding-bg);text-align:center;border-top:1px solid #ffffff12;padding:58px 27px}.wedding-section h3{margin:0 0 20px;font-size:28px;font-weight:500;line-height:1.15}.wedding-section h3 span{color:var(--wedding-accent)}.section-text{opacity:.84;margin:0;font-family:Georgia,serif;font-size:14px;line-height:1.8}.quote{font-style:italic}.couple-photo,.story-image{aspect-ratio:4/5;object-fit:cover;border-radius:90px 90px 12px 12px;width:100%;margin:0 auto 28px;display:block}.photo-placeholder{aspect-ratio:4/5;color:#ffffff80;background:#ffffff14;border-radius:90px 90px 12px 12px;place-items:center;width:100%;margin-bottom:28px;font-size:12px;display:grid}.music-section audio{width:100%;margin-top:8px}.event-time{color:var(--wedding-accent);margin:-5px 0 22px;font-size:18px}.event-card{text-align:left;border:1px solid #c9a86a59;border-radius:14px;gap:7px;margin-top:12px;padding:18px;display:grid}.event-card strong{font-size:16px}.event-card span{font-size:14px}.event-card small{opacity:.65;line-height:1.5}.event-card a{color:var(--wedding-accent);margin-top:3px;font-size:12px}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.countdown-grid div{border:1px solid #c9a86a4d;border-radius:10px;padding:13px 4px}.countdown-grid strong,.countdown-grid span{display:block}.countdown-grid strong{font-size:22px;font-weight:500}.countdown-grid span{text-transform:uppercase;opacity:.65;margin-top:4px;font-size:9px}.dress-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dress-grid div{border:1px solid #ffffff1f;border-radius:12px;padding:18px 10px}.dress-grid span,.dress-grid strong{display:block}.dress-grid span{text-transform:uppercase;letter-spacing:.12em;opacity:.6;margin-bottom:7px;font-size:10px}.dress-grid strong{font-size:14px;font-weight:500}.gold-button{background:var(--wedding-accent);color:#111827;margin-top:18px}.wedding-closing{text-align:center;background:var(--wedding-bg);place-items:center;min-height:430px;display:grid;position:relative;overflow:hidden}.wedding-closing img{object-fit:cover;opacity:.48;width:100%;height:100%;position:absolute;inset:0}.wedding-closing div{padding:30px;font-size:18px;line-height:1.7;position:relative}.wedding-closing .cover-ornament{margin-bottom:4px}@media (width<=800px){.editor-layout{border-radius:16px;grid-template-columns:1fr}.editor-sidebar{border-bottom:1px solid #e6e9ee;border-right:0;gap:8px;padding:12px;display:flex;overflow:auto}.editor-sidebar-title,.editor-nav-heading{display:none}.editor-nav-group{gap:5px;margin:0;display:flex}.editor-nav-item{white-space:nowrap;padding:9px 11px}.editor-content{padding:20px}.editor-grid{grid-template-columns:1fr}.preview-stage{padding:12px}.wedding-phone{border-width:6px;border-radius:28px;height:min(100%,680px)}.wedding-cover{min-height:620px}}.projects-page{background:#f3f5f8;height:100vh;padding:42px 48px 60px;overflow:auto}.projects-header{justify-content:space-between;align-items:flex-end;gap:24px;width:100%;max-width:1320px;margin:0 auto 26px;display:flex}.projects-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,4vw,48px)}.primary-action{color:#fff;cursor:pointer;background:#152238;border:0;border-radius:10px;min-height:44px;padding:0 18px;font-weight:800;box-shadow:0 8px 22px #15223826}.primary-action:hover{transform:translateY(-1px)}.projects-toolbar{color:#697586;background:#fff;border:1px solid #e1e5ea;border-radius:12px;justify-content:space-between;align-items:center;width:100%;max-width:1320px;margin:0 auto 16px;padding:13px 16px;font-size:13px;display:flex}.projects-toolbar strong{color:#152238}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;max-width:1320px;margin:0 auto;display:grid}.project-card{background:#fff;border:1px solid #e1e5ea;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px #0f172a0f}.project-cover{color:#fff;background:linear-gradient(145deg,#152238,#52637c) 50%/cover;flex-direction:column;justify-content:space-between;height:210px;padding:16px;display:flex}.project-template{letter-spacing:.08em;text-transform:uppercase;background:#ffffff24;border-radius:999px;align-self:flex-start;padding:6px 9px;font:800 10px system-ui,sans-serif}.project-cover p{opacity:.78;margin:0 0 5px;font:700 11px system-ui,sans-serif}.project-cover h2{margin:0;font-size:25px;font-weight:500;line-height:1.1}.project-card-body{padding:16px}.project-card-meta{gap:4px;margin-bottom:14px;display:grid}.project-card-meta strong{font-size:15px}.project-card-meta span{color:#7a8492;font-size:12px}.project-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-action{color:#354052;cursor:pointer;background:#fff;border:1px solid #dfe4ea;border-radius:8px;min-height:36px;padding:0 10px;font-size:12px;font-weight:750}.project-action:hover:not(:disabled){background:#f4f6f8}.project-action.primary{color:#fff;background:#152238;border-color:#152238}.project-action.danger{color:#b42318}.project-action:disabled{cursor:not-allowed;opacity:.42;background:#f4f5f7}.projects-empty{text-align:center;background:#fff;border:1px dashed #cfd6df;border-radius:20px;width:100%;max-width:600px;margin:70px auto;padding:48px 30px}.projects-empty-icon{color:#c9a86a;font-size:34px}.projects-empty h2{margin:12px 0 8px}.projects-empty p{color:#697586;margin:0 auto 20px;line-height:1.6}.back-to-projects{color:#697586;cursor:pointer;background:0 0;border:0;margin:0 0 12px;padding:0;font-size:12px;font-weight:800;display:block}.back-to-projects:hover{color:#152238}.editor-info-box{color:#536071;background:#f8fafc;border:1px solid #dfe4ea;border-radius:10px;gap:6px;padding:14px;font-size:12px;line-height:1.5;display:grid}.editor-info-box strong{color:#1f2937}.editor-info-box span{color:#697586}.rsvp-form{gap:12px;width:100%;margin-top:16px;display:grid}.rsvp-form label{text-align:left;gap:6px;display:grid}.rsvp-form label span{color:var(--wedding-text);font-size:11px;font-weight:800}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;color:var(--wedding-text);background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;outline:none;padding:11px 12px}.rsvp-form select option{color:#111827}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--wedding-accent)}.rsvp-success{border:1px solid var(--wedding-accent);border-radius:12px;width:100%;margin-top:16px;padding:15px;line-height:1.5}.rsvp-form .gold-button{border:1px solid var(--wedding-accent);cursor:pointer}@media (width<=1080px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.projects-page{padding:28px 18px 40px}.projects-header{flex-direction:column;align-items:flex-start}.projects-grid{grid-template-columns:1fr}}@media (width<=640px){.projects-toolbar{flex-direction:column;align-items:flex-start;gap:8px}.projects-page{padding:22px 12px 30px}}*{box-sizing:border-box}:root{color:#142033;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,textarea,select{font:inherit}
