:root{--cream: #f7f3ec;--paper: #fffdf9;--ink: #241d14;--muted: #6f6656;--line: #e7ddcb;--gold: #a3823a;--gold-dark: #85682b;--gold-soft: #f0e6cf;--dark: #161209;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.6}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.25}h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 .5rem}h2{font-size:1.5rem;margin:0 0 .75rem}a{color:var(--gold-dark)}code{background:var(--gold-soft);padding:1px 6px;border-radius:6px;font-size:.85em}.app-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav-inner{max-width:1080px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-family:var(--serif);font-size:1.35rem;color:var(--ink);text-decoration:none;letter-spacing:.5px}.brand span{color:var(--gold)}.nav-links{display:flex;align-items:center;gap:14px}.nav-links a:not(.btn){color:var(--muted);text-decoration:none;font-size:.95rem}.nav-links a:not(.btn):hover{color:var(--ink)}.nav-user{font-size:.9rem;color:var(--gold-dark);font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.nav-inner{padding:10px 12px}.nav-links{gap:8px}.nav-links a:not(.btn){font-size:.82rem}.hide-sm{display:none}.btn-sm{padding:5px 11px;font-size:.78rem}}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#fff;border:1px solid var(--gold);padding:10px 20px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background .15s}.btn:hover{background:var(--gold-dark)}.btn-outline{background:transparent;color:var(--gold-dark);border-color:var(--gold)}.btn-outline:hover{background:var(--gold-soft)}.btn-sm{padding:6px 14px;font-size:.85rem}.btn-lg{padding:13px 28px;font-size:1.05rem}.btn-google{background:#fff;color:#3c4043;border:1px solid #dadce0}.btn-google:hover{background:#f6f8fe}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}.chip{border:1px solid var(--line);background:var(--paper);color:var(--muted);padding:7px 16px;border-radius:999px;cursor:pointer;font:inherit;font-size:.9rem}.chip.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.badge{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.badge.premium{background:var(--gold);color:#fff}.badge.free{background:#fff;color:var(--gold-dark);border:1px solid var(--gold)}.status{display:inline-block;padding:3px 12px;border-radius:999px;font-size:.78rem;font-weight:600}.status-live{background:#e5f2e2;color:#2f6b2f}.status-draft{background:var(--gold-soft);color:var(--gold-dark)}.status-pending{background:#fdf0d5;color:#8a6d1a}.status-expired{background:#f3e3e0;color:#8a4b3f}.section{max-width:1080px;margin:0 auto;padding:48px 20px 64px}.section.narrow{max-width:720px}.section.center{text-align:center}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.section-head h2{margin:0}.section-head p{margin:0;color:var(--muted);font-size:.92rem}.muted{color:var(--muted)}.small{font-size:.85rem}.notice{background:var(--gold-soft);border:1px solid var(--gold);border-radius:10px;padding:10px 14px;font-size:.9rem}.hero{text-align:center;padding:72px 20px 48px;background:radial-gradient(60% 80% at 50% 0%,var(--gold-soft) 0%,transparent 70%)}.hero-kicker{letter-spacing:.28em;text-transform:uppercase;font-size:.78rem;color:var(--gold-dark);font-weight:700;margin-bottom:12px}.hero h1 em{font-style:italic;color:var(--gold-dark)}.hero-sub{max-width:620px;margin:10px auto 26px;color:var(--muted);font-size:1.05rem}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-steps{list-style:none;display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin:42px 0 0;padding:0;color:var(--muted);font-size:.92rem}.hero-steps strong{display:block;color:var(--gold-dark);font-family:var(--serif)}.grid-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.template-card{display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.template-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #241d141a}.thumb{aspect-ratio:4 / 5;position:relative}.thumb .badge{position:absolute;top:12px;left:12px}.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.card-cat{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:700}.card-body h3{margin:0;font-size:1.2rem}.card-desc{margin:0;color:var(--muted);font-size:.88rem;flex:1}.card-actions{display:flex;gap:10px;margin-top:10px}.detail-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:40px;align-items:start}@media (max-width: 760px){.detail-grid{grid-template-columns:1fr}}.detail-preview{aspect-ratio:3 / 4;border-radius:18px;background-size:cover;background-position:center}.preview-script{font-family:var(--serif);font-style:italic;font-size:1.1rem;margin:0}.preview-title{font-family:var(--serif);font-size:2rem;margin:4px 0 0}.feature-list{padding-left:20px;color:var(--muted)}.feature-list li{margin:4px 0}.editor-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}@media (max-width: 860px){.editor-grid{grid-template-columns:1fr}}.editor-form{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px}.q{margin-bottom:14px}.q label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}.q input,.q select,.q textarea,.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;padding:9px 12px;border:1px solid #d8cdb8;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}.q textarea,.rsvp-form textarea{resize:vertical}.hint{margin:4px 0 0;color:var(--muted);font-size:.82rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}@media (max-width: 560px){.grid-2{grid-template-columns:1fr}}.editor-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.editor-preview{position:sticky;top:84px}.phone{background:var(--dark);border-radius:34px;padding:12px;max-width:330px;margin:0 auto;box-shadow:0 18px 40px #16120947}.phone-screen{border-radius:24px;min-height:480px;overflow:hidden;display:flex;flex-direction:column;background:var(--dark)}.phone-banner{height:170px;background-size:cover;background-position:center;border-bottom:1px solid rgba(217,196,138,.3)}.phone-data{flex:1;padding:26px 20px 30px;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:2px;background:radial-gradient(70% 60% at 50% 0%,rgba(163,130,58,.28) 0%,transparent 70%),#1b1610}.preview-date{margin:14px 0 2px;font-size:.95rem}.preview-venue{margin:0;font-size:.85rem;opacity:.9}.preview-hr{border:0;border-top:1px solid rgba(255,255,255,.5);width:60px;margin:18px auto}.preview-msg{font-size:.8rem;opacity:.92}.preview-music{font-size:.75rem;opacity:.8;margin-top:14px}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0}.plan-card{position:relative;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:24px;cursor:pointer;font:inherit;color:var(--ink)}.plan-card.active{border-color:var(--gold);box-shadow:0 10px 30px #a3823a2e}.plan-card h3{margin:0 0 4px}.plan-price{font-family:var(--serif);font-size:1.8rem;margin:0 0 12px;color:var(--gold-dark)}.plan-card ul{margin:0;padding-left:20px;color:var(--muted);font-size:.92rem}.plan-picked{position:absolute;top:16px;right:16px;background:var(--gold);color:#fff;border-radius:999px;padding:2px 12px;font-size:.8rem;font-weight:700}.checkout-box{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;text-align:center}.auth-card{padding:40px 32px;max-width:440px;margin:0 auto}.auth-card h2{margin-bottom:6px}.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.table td{padding:12px 16px;border-bottom:1px solid #f0e9db;vertical-align:middle}.table tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.footer{border-top:1px solid var(--line);padding:26px 20px;text-align:center;color:var(--muted);font-size:.88rem;background:var(--paper)}.inv{background:var(--dark);color:#f4eddc;min-height:100vh;font-family:var(--serif)}.inv-cover{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;gap:8px;background:radial-gradient(50% 45% at 50% 30%,rgba(163,130,58,.35) 0%,transparent 70%),var(--dark)}.inv-script{font-style:italic;color:#d9c48a;letter-spacing:.04em;margin:0}.inv-names{font-size:clamp(2.1rem,6vw,3.4rem);margin:8px 0}.inv-date{color:#cbbf9e;margin:0}.inv-guest{margin-top:26px;color:#e8dfc6}.inv-guest strong{color:#fff}.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff;margin-top:28px;font-family:var(--serif);letter-spacing:.04em}.btn-gold:hover{background:var(--gold-dark)}.btn-outline-gold{background:transparent;border:1px solid var(--gold);color:#d9c48a}.btn-outline-gold:hover{background:#a3823a2e}.inv-open{max-width:720px;margin:0 auto;padding:0 20px 60px;text-align:center}.inv-hero{padding:72px 0 40px}.inv-block{padding:38px 0;border-top:1px solid rgba(217,196,138,.22)}.inv-block h2{color:#d9c48a;letter-spacing:.06em}.inv-person{font-size:1.35rem;margin:10px 0}.inv-parents{display:block;font-size:.85rem;color:#cbbf9e;font-style:italic}.inv-amp{font-size:1.6rem;color:#d9c48a;margin:2px 0}.countdown{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cd-box{background:#d9c48a1a;border:1px solid rgba(217,196,138,.3);border-radius:14px;min-width:74px;padding:12px 8px}.cd-box strong{display:block;font-size:1.7rem;color:#fff}.cd-box span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#cbbf9e}.event-cards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:18px 0}.event-card{border:1px solid rgba(217,196,138,.35);border-radius:16px;padding:20px 30px;min-width:220px}.event-card h3{margin:0 0 6px;color:#fff}.event-card p{margin:2px 0;color:#cbbf9e;font-size:.92rem}.inv-venue{color:#e8dfc6;margin:10px 0 18px}.story{list-style:none;margin:0;padding:0;text-align:left}.story li{position:relative;padding:0 0 18px 26px;border-left:1px solid rgba(217,196,138,.35);margin-left:34px;color:#e8dfc6;font-size:.95rem}.story li:before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.story strong{color:#d9c48a;margin-right:6px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.gallery-tile{aspect-ratio:1;border-radius:12px;background:linear-gradient(150deg,#d9c48a80,#3c2e16e6);border:1px solid rgba(217,196,138,.25)}.gallery-empty{border:1px dashed rgba(217,196,138,.45);border-radius:16px;padding:26px 18px;margin-top:14px;color:#cbbf9e}.gallery-empty p{margin:4px 0}.gallery-empty-icon{color:#d9c48a;font-size:1.3rem}.inv-note{font-size:.82rem;color:#a99e83;margin-top:12px;font-family:system-ui,sans-serif}.rsvp-form{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto 26px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{background:#ffffff0f;border:1px solid rgba(217,196,138,.4);color:#f4eddc;border-radius:10px;padding:10px 12px;font:inherit}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#a99e83}.rsvp-form select option{color:var(--ink)}.inv-thanks{color:#d9c48a;font-size:1.05rem}.wishes{list-style:none;margin:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:12px}.wishes li{background:#d9c48a14;border:1px solid rgba(217,196,138,.2);border-radius:12px;padding:12px 16px}.wishes strong{color:#d9c48a}.wishes p{margin:4px 0 0;font-size:.92rem;color:#e8dfc6;font-family:system-ui,sans-serif}.gift{background:#d9c48a1a;border:1px dashed rgba(217,196,138,.4);border-radius:12px;padding:14px;font-size:1.05rem;color:#fff}.inv-footer{padding:30px 0 0;border-top:1px solid rgba(217,196,138,.22);color:#a99e83;font-size:.88rem}.inv-footer strong{color:#d9c48a}
