*{box-sizing:border-box}:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a,input[type=file]{cursor:pointer}.app-shell{background:linear-gradient(120deg,#eef2f5eb,#ffffffd6),radial-gradient(circle at 18% 20%,#0f8ab333,#0000 28%),radial-gradient(circle at 86% 8%,#d83b3b24,#0000 26%),#eef2f5;min-height:100vh;padding:28px}.workspace{grid-template-columns:minmax(340px,480px) minmax(360px,1fr);align-items:start;gap:28px;width:min(1440px,100%);margin:0 auto;display:grid}.editor-panel,.preview-panel{background:#ffffffeb;border:1px solid #16202a1a;border-radius:8px;box-shadow:0 18px 48px #2734431f}.editor-panel{padding:24px}.brand-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px;display:flex}.eyebrow{color:#5a6876;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{color:#17202a;margin-bottom:0;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.05}.status-pill{color:#fff;background:#17202a;border-radius:999px;flex:none;padding:7px 10px;font-size:.78rem;font-weight:700}.control-group{margin-bottom:22px}.layout-control{margin-top:18px;margin-bottom:0}.control-group h2{margin-bottom:12px;font-size:.95rem}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.template-button{color:#263441;text-align:left;background:#fff;border:1px solid #d4dbe3;border-radius:8px;align-items:center;gap:9px;min-height:46px;padding:10px 12px;font-weight:700;display:flex}.template-button.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.segmented-control{background:#f7f9fb;border:1px solid #d4dbe3;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.segmented-control button{color:#334454;background:0 0;border:0;border-radius:6px;min-height:38px;font-weight:800}.segmented-control button.is-active{color:#fff;background:#17202a}.template-swatch{background:var(--accent);border-radius:50%;flex:none;width:18px;height:18px}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:#334454;gap:7px;font-size:.86rem;font-weight:800;display:grid}.wide-field{grid-column:1/-1}input,select,textarea{color:#17202a;background:#fbfcfd;border:1px solid #cfd8e2;border-radius:8px;outline:none;width:100%}input,select{min-height:44px;padding:0 12px}textarea{resize:vertical;min-height:104px;padding:12px}input:focus,select:focus,textarea:focus{border-color:#0f8ab3;box-shadow:0 0 0 3px #0f8ab329}.upload-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.file-control{background:#f7f9fb;border:1px dashed #aeb9c5;border-radius:8px;padding:12px}.file-control input{background:0 0;border:0;min-height:auto;padding:0;font-size:.82rem}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.primary-action,.secondary-action,.share-links button{border:0;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.primary-action{color:#fff;background:#17202a}.secondary-action{color:#fff;background:#0f8ab3}.share-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.share-links button{color:#263441;background:#fff;border:1px solid #d4dbe3;min-height:40px;font-size:.88rem}.share-status{color:#5a6876;margin:14px 0 0;font-size:.9rem}.share-hint{color:#6b7785;margin:10px 0 0;font-size:.82rem;line-height:1.35}.preview-panel{padding:clamp(16px,3vw,28px);position:sticky;top:28px}.invitation-card{aspect-ratio:4/5;color:#fff;background:#263441;border-radius:8px;width:min(760px,100%);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 24px 55px #131f2b47}.card-background,.card-overlay{position:absolute;inset:0}.card-background{z-index:0;object-fit:cover;width:100%;height:100%}.card-overlay{z-index:1;background:linear-gradient(90deg,#091720b3,#0917201f)}.invitation-card:before{content:"";z-index:4;pointer-events:none;border:2px solid #ffffffc7;border-radius:8px;position:absolute;inset:20px}.card-content{z-index:3;gap:clamp(8px,1.5vw,13px);display:grid;position:absolute;left:clamp(28px,7%,56px);right:clamp(28px,34%,280px)}.content-upper .card-content{top:clamp(62px,12%,96px)}.content-middle .card-content{top:clamp(250px,42%,350px);transform:translateY(-50%)}.content-lower .card-content{bottom:clamp(34px,8%,72px)}.card-kicker{color:#e8f5fb;text-transform:uppercase;margin-bottom:-4px;font-size:clamp(.8rem,2vw,1rem);font-weight:900}.card-content h2{color:#fff;text-wrap:balance;text-shadow:0 4px 22px #00000070;margin:0;font-size:clamp(2rem,5.2vw,4.15rem);line-height:1}.guest-line,.invite-copy,.note,.rsvp{text-shadow:0 2px 12px #0000007a;margin:0}.guest-line{color:#fff;font-size:clamp(1.05rem,2.3vw,1.35rem);font-weight:900}.invite-copy,.note{max-width:45ch;font-size:clamp(.92rem,2vw,1.12rem)}.event-details{flex-wrap:wrap;gap:10px;display:flex}.event-details span,.rsvp{background:var(--accent);color:#fff;border-radius:999px;width:fit-content;padding:8px 12px;font-weight:900}.photo-frame{z-index:3;aspect-ratio:1;background:#ffffffe6;border-radius:50%;width:clamp(120px,24%,190px);padding:7px;position:absolute;top:clamp(28px,7%,62px);right:clamp(24px,6%,54px);box-shadow:0 16px 35px #00000047}.photo-frame img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}@media (width<=980px){.app-shell{padding:18px}.workspace{grid-template-columns:1fr}.preview-panel{position:static}}@media (width<=620px){.editor-panel{padding:18px}.brand-row,.upload-row,.actions,.share-links,.control-grid,.template-grid,.segmented-control{grid-template-columns:1fr}.brand-row{display:grid}.status-pill{width:fit-content}.card-content{right:clamp(28px,7%,56px)}.content-middle .card-content{top:48%}.photo-frame{width:104px;top:28px;right:28px}}
