:root{color-scheme:light;--ink:#1e1f24;--muted:#6d717b;--paper:#fffaf4;--surface:#ffffff;--line:#e8ded2;--rose:#b85f6a;--moss:#596b4f;--gold:#ad8542}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.cover{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;padding:24px;background:linear-gradient(rgba(255,250,244,.76),rgba(255,250,244,.96)),url(https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1600&q=80);background-size:cover;background-position:50%}.cover-birthday,.cover-celebration,.cover-graduation{background:linear-gradient(rgba(255,250,244,.72),rgba(255,250,244,.94)),url(https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1600&q=80);background-position:50%;background-size:cover}.brand{color:var(--moss);font-size:.82rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.cover-main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.names{font-family:Georgia,Times New Roman,serif;font-size:3.2rem;font-weight:400;line-height:.95;margin:0}.cover-birthday .names,.cover-celebration .names,.cover-concert .names,.cover-corporate .names,.cover-graduation .names{font-size:2.8rem}.date{color:var(--moss);font-size:1rem;font-weight:700}.actions{width:min(100%,360px);display:grid;grid-gap:12px;gap:12px}.button{min-height:52px;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;color:#fff;background:var(--rose);font-weight:700;cursor:pointer}.button.secondary{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.button.accent{background:var(--moss)}.panel{padding:24px;background:var(--surface);border-top:1px solid var(--line)}.panel h2{margin:0 0 12px;font-size:1.25rem}.uploader{display:grid;grid-gap:10px;gap:10px}.file-input{min-height:46px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.photo-tile{position:relative;aspect-ratio:1;border-radius:6px;border:1px solid var(--line);background:#f3eadf;display:grid;place-items:center;color:var(--muted);text-decoration:none;font-size:.8rem;overflow:hidden}.photo-tile img{width:100%;height:100%;object-fit:cover}.tile-download{position:absolute;right:8px;bottom:8px;padding:3px;border-radius:6px;color:#fff;background:rgba(0,0,0,.45)}.status{min-height:24px;color:var(--muted);font-size:.92rem}.powered-by{justify-self:center;color:var(--muted);font-size:.78rem;text-decoration:none}.camera-overlay{position:fixed;inset:0;z-index:20;display:grid;grid-template-rows:auto 1fr auto;grid-gap:16px;gap:16px;padding:18px;background:#151515;color:#fff}.camera-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.camera-topbar h2{margin:0;font-size:1rem}.icon-button{width:44px;height:44px;border:1px solid rgba(255,255,255,.22);border-radius:8px;display:inline-grid;place-items:center;color:#fff;background:rgba(255,255,255,.12);cursor:pointer}.camera-stage{min-height:0;display:grid;place-items:center}.camera-preview{width:min(100%,520px);aspect-ratio:1;border-radius:8px;object-fit:cover;background:#050505}.camera-actions{min-height:72px;display:flex;align-items:center;justify-content:center;gap:12px}.shutter{width:72px;height:72px;border:5px solid #fff;border-radius:50%;display:inline-grid;place-items:center;color:var(--ink);background:#fff;cursor:pointer}.admin-shell{min-height:100vh;padding:20px;background:#f7f3ed}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1040px;margin:0 auto 18px}.admin-header h1{margin:4px 0 0;font-size:2rem}.button.compact{min-height:42px;padding:0 14px;font-size:.92rem}.admin-token{max-width:1040px;margin:0 auto 14px;display:grid;grid-gap:6px;gap:6px}.admin-token label{color:var(--muted);font-size:.85rem;font-weight:700}.admin-token input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-authenticated{width:100%;max-width:1040px;color:var(--muted);font-size:.9rem;font-weight:700;margin:0 auto 1rem}.wedding-list{max-width:1040px;margin:0 auto;display:grid;grid-gap:12px;gap:12px}.wedding-card{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.wedding-card-summary{padding:16px;cursor:pointer;list-style:none}.wedding-card-summary::-webkit-details-marker{display:none}.wedding-card-content{padding:0 16px 16px;border-top:1px solid var(--line)}.wedding-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wedding-card h2{margin:0;font-size:1.2rem}.wedding-card p{margin:4px 0 0;color:var(--muted)}.wedding-card-status{display:flex;align-items:center;gap:10px}.wedding-card-chevron{flex:0 0 auto;transition:transform .16s ease}.wedding-card[open] .wedding-card-chevron{transform:rotate(180deg)}.phase{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:#fff;background:var(--gold);font-size:.76rem;font-weight:700}.phase-ready{background:var(--moss)}.phase-error,.phase-suspended{background:var(--rose)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:16px 0}.metrics div{min-width:0}.metrics dt{color:var(--muted);font-size:.78rem}.metrics dd{margin:3px 0 0;font-weight:700}.guest-url{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fbf8f4}.guest-url span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.icon-button.light{color:var(--ink);border-color:var(--line);background:#fff}.qr-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.qr-row img{width:112px;height:112px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.qr-materials{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.qr-materials h3{margin:0 0 12px;font-size:1rem}.qr-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.qr-controls label{min-width:0;display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:.78rem;font-weight:700}.qr-controls input,.qr-controls select{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}.material-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.host-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.host-list span{padding:5px 8px;border-radius:999px;color:var(--moss);background:#edf3e8;font-size:.78rem;font-weight:700}.marketing-shell{min-height:100vh;background:#fbf8f4}.marketing-hero{position:relative;height:100svh;min-height:640px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;padding:16px 16px max(18px,env(safe-area-inset-bottom));background:#f6efe6}.marketing-hero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(255,250,244,.78),rgba(255,250,244,.3) 8%,rgba(255,250,244,0) 18%)}.landing-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center top}.marketing-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1060px;width:100%;margin:0 auto}.marketing-nav.flat{padding:22px}.marketing-nav a,.marketing-nav strong{color:var(--ink);font-weight:700;text-decoration:none}.marketing-nav div{display:flex;gap:14px}.marketing-copy{max-width:900px;align-self:center;margin:0 auto;text-align:center}.marketing-copy h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,11vw,4.9rem);font-weight:400;line-height:1.02}.marketing-copy p,.pricing-lead{max-width:620px;margin:16px auto;color:var(--muted);font-size:1.04rem;line-height:1.5}.marketing-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px}.marketing-actions .button{min-width:min(100%,150px)}.marketing-actions .button.secondary{color:var(--ink);background:rgba(255,255,255,.84);border:1px solid rgba(30,31,36,.12)}.landing-actions{position:relative;z-index:1;grid-row:3;align-self:end;justify-self:center}.landing-actions .button{min-height:46px;padding:0 16px;font-size:.94rem}.hero-accessible-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landing-examples{display:grid;grid-gap:1px;gap:1px;background:var(--line)}.landing-examples-intro{min-height:194px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:28px 20px;background:var(--paper)}.landing-examples-intro h2{max-width:340px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;line-height:1.05}.landing-examples article{min-height:100svh;display:grid;grid-template-rows:1fr auto;background:var(--paper)}.landing-examples img{width:100%;height:100%;min-height:0;object-fit:cover}.landing-examples article>div{padding:22px 20px max(28px,env(safe-area-inset-bottom));background:var(--paper)}.landing-examples h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,9vw,3.4rem);font-weight:400;line-height:1}.landing-examples p{margin:10px 0 0;color:var(--muted);font-size:1rem;line-height:1.45}.pricing-band{max-width:1060px;margin:0 auto;padding:34px 22px 48px}.pricing-band.standalone{padding-top:20px}.pricing-band h1,.pricing-band h2{margin:0 0 18px;font-size:2rem}.pricing-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin-bottom:18px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}.pricing-tabs button{min-height:44px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-weight:800;cursor:pointer}.pricing-tabs button.active{color:#fff;background:var(--moss)}.pricing-plan-panel{padding-bottom:8px}.plan-price{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:6px 0 18px}.plan-price span{font-size:1.1rem;font-weight:800}.plan-price strong{font-size:2.6rem}.pricing-plan-panel dl{margin:0}.pricing-plan-panel dl div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;border-top:1px solid #dfdfdf}.pricing-plan-panel dd,.pricing-plan-panel dt{margin:0;font-size:1.05rem}.pricing-plan-panel dt{color:var(--ink)}.pricing-plan-panel dd{color:var(--ink);font-weight:800;text-align:right}.pricing-table-wrap{display:none}.pricing-table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.pricing-table td,.pricing-table th{border-top:1px solid #dfdfdf;padding:22px 0;color:var(--ink);font-size:1.25rem;line-height:1.2;text-align:center}.pricing-table thead th{padding-top:0;border-top:0;font-size:1.15rem;font-weight:800}.pricing-table tbody th{width:36%;padding-right:22px;font-weight:400;text-align:left}.pricing-table .domain-row th{font-weight:800}.available-icon{color:#10a52a;vertical-align:-4px}.unavailable-icon{color:#e60000;stroke-width:4;vertical-align:-5px}.included-domain{display:table-cell;font-weight:800}.join-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper);color:var(--muted)}@media (min-width:760px){.cover{padding:40px}.names{font-size:6.8rem}.cover-birthday .names,.cover-celebration .names,.cover-concert .names,.cover-corporate .names,.cover-graduation .names{font-size:5.2rem}.panel{padding:32px max(32px,calc((100vw - 760px) / 2))}.admin-shell{padding:32px}.marketing-hero{width:min(100%,66.6667svh);min-height:100svh;margin:0 auto;padding:18px 28px 24px}.landing-poster{object-fit:contain}.landing-examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.landing-examples-intro{grid-column:1/-1;align-items:center;text-align:center}.landing-examples article{min-height:100svh}.landing-examples article>div{min-height:178px;padding:28px}.pricing-plan-panel,.pricing-tabs{display:none}.pricing-table-wrap{display:block;width:100%;overflow-x:auto}.pricing-table td,.pricing-table th{padding:26px 0;font-size:1.4rem}}