*,:before,:after{box-sizing:border-box}:root{--ink:#000;--paper:#fff;--accent:#000;--accent-dark:#38444d;--gold:#c7ba95;--soft:#eef4f9;--muted:#6b7a85;--line:#bcd2e0;--line-soft:#dce8f0;--radius:10px}body{background:var(--paper);color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;line-height:1.6}h1,h2{font-weight:600;line-height:1.2}h1{margin:0 0 .75rem;font-size:1.9rem}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}.page{max-width:34rem;margin:0 auto;padding:2rem 1.25rem 4rem}.page-wide{max-width:60rem}input[type=text],input[type=email],input[type=password],textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:.65rem .75rem;font-size:1rem}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}label{margin:.75rem 0;font-size:.95rem;display:block}button{font:inherit;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;border:none;padding:.7rem 1.4rem;font-size:1rem;transition:background .15s}button:hover:not(:disabled){background:var(--accent-dark)}button:disabled{opacity:.55;cursor:default}.link-button{color:var(--accent);background:0 0;margin-top:.5rem;padding:.5rem 0;text-decoration:underline;display:block}.link-button:hover:not(:disabled){color:var(--accent-dark);background:0 0}.search-form{flex-direction:column;gap:.75rem;margin:1.25rem 0;display:flex}.matches{margin-top:1rem}.matches button{background:var(--soft);width:100%;color:var(--ink);border:1px solid var(--line);text-align:left;margin:.5rem 0;display:block}.matches button:hover{background:var(--gold)}.guest-list{margin:0;padding:0;list-style:none}.guest-row{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;margin:.9rem 0;padding:1rem 1.1rem}.guest-row h2{margin:0 0 .5rem}.attending-choice{flex-direction:column;gap:.25rem;display:flex}.attending-choice label{align-items:center;gap:.5rem;margin:.15rem 0;display:flex}.attending-choice input{accent-color:var(--accent);width:1.1rem;height:1.1rem}.dietary{margin-top:.6rem}.rsvp-form>button[type=submit]{width:100%;margin-top:1rem;padding:.9rem;font-size:1.05rem}.notice{background:var(--soft);border-radius:var(--radius);padding:.75rem 1rem}.error{color:#7c2f2f;border-radius:var(--radius);background:#fbeaea;padding:.75rem 1rem}.summary{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;margin:1.25rem 0;padding:1rem 1.25rem}.summary ul{margin:.25rem 0 .75rem;padding-left:1.25rem}.landing{background:linear-gradient(160deg,#44505a 0%,#1a2026 60%,#000 100%);justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.landing-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.landing-overlay{z-index:1;text-align:center;color:#fff;text-shadow:0 2px 12px #0000008c;padding:1.5rem;position:relative}.landing-overlay h1{margin-bottom:.5rem;font-size:2.6rem}.landing-overlay p{margin:0 0 1.75rem;font-size:1.1rem}.cta{background:var(--gold);color:#000;border-radius:999px;padding:.85rem 2.75rem;font-size:1.15rem;text-decoration:none;transition:background .15s,transform .15s;display:inline-block;box-shadow:0 4px 18px #00000059}.cta:hover{background:#fff;transform:translateY(-1px)}.landing-actions{flex-direction:column;align-items:center;gap:.9rem;display:flex}.cta-secondary{color:#fff;background:#ffffff24;border:1px solid #ffffffa6;padding:.85rem 2.25rem;font-size:1.15rem}.cta-secondary:hover:not(:disabled){background:#ffffff42;transform:translateY(-1px)}.page-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.button-link{background:var(--accent);color:#fff;border-radius:var(--radius);padding:.7rem 1.4rem;text-decoration:none;transition:background .15s;display:inline-block}.button-link:hover{background:var(--accent-dark)}.registry-list{padding-left:1.25rem}.registry-list li{margin:.5rem 0}.details-dialog{border-radius:var(--radius);width:100%;max-width:min(26rem,100vw - 2rem);color:var(--ink);text-shadow:none;border:none;padding:0;box-shadow:0 12px 40px #00000059}.details-dialog::backdrop{background:#0000008c}.details-body{text-align:left;padding:1.5rem 1.5rem 1.25rem}.details-body h2{margin:0 0 .75rem}.details-body dl{margin:0 0 1rem}.details-body dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:.75rem;font-size:.8rem}.details-body dd{margin:.1rem 0 0}.details-body>button{width:100%;margin-top:.5rem}.mute-toggle{bottom:max(1rem, env(safe-area-inset-bottom));z-index:2;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:999px;padding:.5rem .9rem;font-size:.85rem;position:absolute;right:1rem}.mute-toggle:hover:not(:disabled){background:#000000bf}.stats{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.25rem 0;display:grid}.stat{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;padding:.75rem 1rem;font-size:.9rem}.stat strong{font-size:1.5rem;display:block}.admin-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.dietary-summary{padding-left:1.25rem}.table-wrap{border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:.55rem .75rem}th{background:var(--soft);white-space:nowrap}.party-cell{white-space:nowrap;font-weight:600}.muted{color:var(--muted);font-size:.85rem}.admin-login{max-width:20rem}@media (width>=640px){h1{font-size:2.3rem}.search-form{flex-direction:row}.search-form input{flex:1}.search-form button{white-space:nowrap}.stats{grid-template-columns:repeat(4,1fr)}.landing-overlay h1{font-size:3.5rem}}
