:root{--ink:#292a2d;--muted:#696b70;--paper:#fbfbf9;--line:#d7d4cd;--brand:#618ea0;--success:#18633c;--danger:#9b2d30}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 85% 10%,rgba(97,142,160,.18),transparent 35%),var(--paper);font-family:Inter,system-ui,sans-serif}.shell{width:min(1080px,calc(100% - 32px));margin:auto;padding:64px 0 96px}.hero{max-width:760px;margin-bottom:34px}.eyebrow{margin:0 0 12px;color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:.17em}h1{margin:0 0 14px;font-family:Georgia,serif;font-size:clamp(2.3rem,7vw,5.5rem);font-weight:400;line-height:.96;letter-spacing:-.04em}.hero>p:last-child{color:var(--muted);line-height:1.65}.panel,.guest-card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.84);box-shadow:0 18px 60px rgba(41,42,45,.07)}.panel{padding:24px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:8px;font-size:.78rem;font-weight:750}input,select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font:inherit}.notice{margin-top:18px;border-left:4px solid var(--brand);padding:13px 15px;background:rgba(97,142,160,.09);color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.guest-card{position:relative;overflow:hidden;padding:26px}.guest-card label+label,.guest-card .grid+label,.guest-card>.grid{margin-top:16px}.card-number{position:absolute;right:18px;top:8px;color:rgba(97,142,160,.13);font:5rem/1 Georgia}.status{margin-top:20px;min-height:42px;border-radius:12px;padding:12px 14px;background:#f1f0ec;color:var(--muted);overflow-wrap:anywhere}.status.loading{color:var(--brand)}.status.success{color:var(--success);background:#edf8f1}.status.error{color:var(--danger);background:#fff0f0}.actions{display:flex;align-items:center;gap:20px;margin:26px 0}button{min-height:54px;border:0;border-radius:999px;padding:0 28px;background:var(--ink);color:#fff;font:inherit;font-weight:800;cursor:pointer}button:disabled{opacity:.55}.preview pre{margin:0;white-space:pre-wrap;font:500 .95rem/1.65 ui-monospace,monospace}@media(max-width:720px){.shell{padding-top:36px}.grid.two,.cards{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}button{width:100%}}
