#snack-pair { width: min(100% - 80px, 900px); margin: 45px auto 70px; }
.pair-shell > .text-button { margin-bottom: 16px; }
.pair-page { background: var(--paper-light); }
.pair-scene { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; background: #eeded2; }
.pair-copy { padding: 34px clamp(22px, 6vw, 65px) 48px; }
.pair-copy > .eyebrow { color: var(--accent); font-size: 11px; }
.pair-copy h1 { font: 400 clamp(27px, 4vw, 40px)/1.65 var(--serif); margin: 20px 0; word-break: keep-all; overflow-wrap: anywhere; }
.pair-intro { font: 400 clamp(17px, 2vw, 22px)/1.95 var(--serif); word-break: keep-all; overflow-wrap: anywhere; }
.pair-host-type { padding: 18px 0; margin: 24px 0; border-block: 1px solid var(--line); font-size: 12px; color: var(--muted); line-height: 1.8; }
.pair-form { margin-top: 22px; }
.pair-methods { display: grid; gap: 24px; margin-top: 30px; }
.pair-methods button { width: 100%; }
.pair-methods .field-note { margin-top: 10px; }
.pair-form label { display: block; font-size: 13px; line-height: 1.8; margin-bottom: 22px; }
.pair-form label small { font-size: 10px; color: var(--muted); }
.pair-form input:not([type=checkbox]),.pair-form select { display: block; width: 100%; min-width: 0; min-height: 48px; margin-top: 9px; border: 1px solid var(--line); background: var(--paper-light); color: var(--ink); padding: 10px; border-radius: 2px; }
.pair-fields { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; }
.pair-form .pair-leap { display: flex; align-items: center; gap: 8px; }
.pair-form > .primary-button { width: 100%; margin-top: 22px; }
.pair-form[aria-busy=true] > .primary-button::before { content: ''; width: 13px; height: 13px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pair-wait 1s linear infinite; }
@keyframes pair-wait { to { transform: rotate(360deg); } }
.pair-invite-box { text-align: center; border-block: 1px solid var(--line); padding: 26px 8px; margin: 26px 0; }
.pair-invite-box > .eyebrow { font-size: 10px; color: var(--accent); margin-bottom: 10px; }
.pair-invite-box h3 { font: 400 21px/1.7 var(--serif); word-break: keep-all; margin-bottom: 10px; }
.pair-invite-box > p:not(.eyebrow) { font-size: 12px; line-height: 1.9; color: var(--muted); word-break: keep-all; }
.pair-invite-box > button { margin-top: 20px; }
.pair-url { display: block; width: 100%; min-width: 0; border: 1px solid var(--line); background: var(--paper-light); color: var(--ink); padding: 12px; margin-top: 20px; font-size: 12px; }
.pair-link-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 14px 0; }
.pair-type-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 30px 0; }
.pair-type-card { min-width: 0; border: 1px solid var(--line); padding: 23px 18px; background: #faf2e6; text-align: center; }
.pair-type-card .eyebrow { font-size: 11px; color: var(--muted); margin-bottom: 18px; overflow-wrap: anywhere; }
.pair-type-code { font-size: 24px; color: var(--accent); letter-spacing: .1em; }
.pair-type-card h2 { font: 400 20px/1.8 var(--serif); margin-top: 12px; word-break: keep-all; overflow-wrap: anywhere; }
.pair-grounds summary { color: var(--muted); font-size: 12px; cursor: pointer; padding: 14px 0; }
.pair-grounds p { font-size: 12px; line-height: 1.9; margin-block: 9px; }
.pair-guest-card { margin: 32px 0; padding: 28px 0; border-block: 1px solid var(--line); }
.pair-guest-card > .eyebrow { font-size: 11px; color: var(--accent); }
.pair-guest-card h2 { font: 400 24px/1.7 var(--serif); margin: 13px 0 21px; word-break: keep-all; overflow-wrap: anywhere; }
.pair-guest-card p:not(.eyebrow) { font-size: 15px; line-height: 1.95; margin-bottom: 17px; word-break: keep-all; }
.pair-guest-card .pair-guest-sting { background: var(--accent-soft); padding: 15px; }
.pair-copy .continue-link { display: block; text-align: center; margin-top: 30px; line-height: 1.8; color: var(--accent); }
@media(max-width:600px) {
  #snack-pair { width: calc(100% - 24px); margin-top: 25px; }
  .pair-copy { padding: 27px 20px 35px; }
  .pair-type-cards { gap: 10px; }
  .pair-type-card { padding: 18px 10px; }
  .pair-type-card h2 { font-size: 17px; }
  .pair-fields { gap: 10px; }
}
