/* Layout rebuild: one header, horizontal navigation, integrated encounter card.
   This replaces interface.css; API routes and action data attributes stay intact. */
body:not(.auth-page) {
  --ink: #2b2530; --muted: #736773; --paper: #f4efeb; --line: #e5dbd5;
  --coral: #b82d49; --green: #f8e5df; --radius: 20px;
  --dock-space: calc(100px + env(safe-area-inset-bottom, 0px));
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: "Segoe UI", Arial, sans-serif; font-size: 15px; line-height: 1.5;
}
body:not(.auth-page) .app-shell { display: flex; flex-direction: column; min-height: 100dvh; }
body:not(.auth-page) .main-shell { margin: 0; min-width: 0; width: 100%; flex: 1; padding-bottom: var(--dock-space); }
body:not(.auth-page) .app-header {
  position: sticky; top: 0; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: 16px; width: 100%; height: 64px; min-height: 64px;
  padding: 0 24px; border-bottom: 1px solid var(--line); background: #fffcfa;
}
body:not(.auth-page) .brand { display: flex; align-items: center; gap: 9px; font-size: 21px; letter-spacing: -.7px; font-weight: 650; width: max-content; }
body:not(.auth-page) .brand img { display: block; width: 34px; height: 34px; border-radius: 10px; }
body:not(.auth-page) .header-actions { display: flex; align-items: center; gap: 12px; }
body:not(.auth-page) .avatar { width: 38px; height: 38px; background: #efe5e1; color: var(--ink); font-weight: 650; }
body:not(.auth-page) .premium-link { color: var(--coral); font-size: 12px; padding: 10px 4px; min-height: 40px; }
body:not(.auth-page) .navigation {
  position: fixed; left: 50%; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%);
  width: calc(100% - 24px); max-width: 620px; height: 72px; padding: 5px; display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; background: #fffcfa;
  border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 8px 32px #3b222218;
}
body:not(.auth-page) .navigation button {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; min-width: 0; padding: 5px 2px; border: 0; border-radius: 16px;
  background: transparent; color: var(--muted); font-size: 10px; font-weight: 500;
}
body:not(.auth-page) .navigation button.active { color: var(--coral); background: var(--green); font-weight: 650; }
body:not(.auth-page) .navigation button:hover { color: var(--coral); background: #faeeea; }
body:not(.auth-page) .navigation button [data-i18n] { width: auto; max-width: 100%; min-width: 0; font-size: inherit; line-height: 1.15; text-align: center; white-space: normal; overflow-wrap: anywhere; }
body:not(.auth-page) .nav-icon { display: block; width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body:not(.auth-page) .navigation .unread-badge { position: absolute; top: 3px; right: 3px; margin: 0; width: 10px; min-width: 10px; height: 10px; padding: 0; border-radius: 50%; background: #b52f4c; }
body:not(.auth-page) [hidden] { display: none !important; }
body:not(.auth-page) :focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
body:not(.auth-page) .preview-strip { padding: 7px 24px; color: #73564d; background: #f8e6d9; font-size: 11px; }
body:not(.auth-page) #content { width: 100%; max-width: 1240px; margin: 0 auto; padding: 28px 28px 24px; min-height: 0; }
body:not(.auth-page) .title-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
body:not(.auth-page) .title-row > div { min-width: 0; }
body:not(.auth-page) .title-row h1 { font-size: 32px; font-weight: 650; line-height: 1.2; letter-spacing: -1px; margin: 0 0 7px; }
body:not(.auth-page) .title-row p { color: var(--muted); font-size: 14px; line-height: 1.5; margin: 0; }
body:not(.auth-page) .small-tag { flex-shrink: 0; background: #fff; border: 1px solid var(--line); padding: 8px 12px; font-size: 12px; color: var(--ink); }
body:not(.auth-page) .eyebrow { font-size: 10px; letter-spacing: 1.5px; color: var(--muted); }
body:not(.auth-page) .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 11px 16px; border-radius: 12px; font-weight: 600; line-height: 1.4; white-space: normal; }
body:not(.auth-page) .coral { color: #fff; background: var(--coral); }
body:not(.auth-page) .dark { color: #fff; background: var(--ink); }
body:not(.auth-page) .outline { background: #fff; color: var(--ink); border: 1px solid var(--line); }
body:not(.auth-page) .profile-card { position: relative; display: block; height: auto; aspect-ratio: auto; border-radius: 14px; background: #fff; box-shadow: none; overflow: hidden; }
body:not(.auth-page) .profile-media { position: relative; width: 100%; aspect-ratio: 4 / 4.4; background: var(--green); overflow: hidden; border-radius: 14px; }
body:not(.auth-page) .profile-media > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
body:not(.auth-page) .profile-media > .no-photo { height: 100%; display: grid; place-items: center; background: #f0dcd6; color: #a27779; font-size: 70px; }
body:not(.auth-page) .photo-tabs { inset: auto 10px 6px; height: 32px; gap: 5px; align-items: center; }
body:not(.auth-page) .photo-tabs button { position: relative; height: 32px; padding: 0; background: transparent; border: 0; }
body:not(.auth-page) .photo-tabs button::after { content: ""; position: absolute; top: 14px; left: 0; right: 0; height: 3px; background: #ffffff85; border-radius: 8px; }
body:not(.auth-page) .photo-tabs button.active::after { background: #fff; }
body:not(.auth-page) .card-summary { padding: 14px 4px 0; color: var(--ink); }
body:not(.auth-page) .card-summary h2 { font-size: 23px; font-weight: 650; letter-spacing: -.5px; line-height: 1.25; margin: 0 0 4px; overflow-wrap: anywhere; }
body:not(.auth-page) .card-summary p { font-size: 12px; line-height: 1.5; color: var(--muted); margin: 0; overflow-wrap: anywhere; }
body:not(.auth-page) .illustration-label { position: static; display: block; width: max-content; max-width: 100%; margin: 0 0 6px; padding: 0; background: transparent; color: var(--muted); font-size: 9px; line-height: 1.3; }
body:not(.auth-page) .view-profile { position: static; inset: auto; display: block; width: 100%; min-height: 40px; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: var(--coral); font-size: 12px; font-weight: 600; text-align: left; }
body:not(.auth-page) .encounter-layout { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 0 34px; max-width: 1000px; margin: 0 auto; padding: 18px; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: 0 12px 40px #3a202006; }
body:not(.auth-page) .encounter-portrait { min-width: 0; grid-column: 1; grid-row: 1 / 3; }
body:not(.auth-page) .encounter-portrait .profile-media { aspect-ratio: 1; }
body:not(.auth-page) .encounter-info { min-width: 0; grid-column: 2; grid-row: 1; display: block; padding: 20px 16px 0 0; }
body:not(.auth-page) .encounter-info .eyebrow { margin: 0 0 10px; }
body:not(.auth-page) .encounter-info h2 { font-size: 26px; font-weight: 600; margin: 0 0 16px; }
body:not(.auth-page) .bio { font-size: 16px; color: var(--ink); line-height: 1.7; overflow-wrap: anywhere; margin-bottom: 18px; }
body:not(.auth-page) .chips { gap: 7px; margin: 12px 0 20px; }
body:not(.auth-page) .chip { max-width: 100%; padding: 7px 11px; border: 0; background: var(--paper); color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
body:not(.auth-page) .tip-box { margin: 22px 0 0; padding: 15px 0; background: transparent; border-top: 1px solid var(--line); border-radius: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
body:not(.auth-page) .tip-box strong { color: var(--ink); font-size: 13px; margin-bottom: 5px; }
body:not(.auth-page) .encounter-actions { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 10px; align-self: end; padding: 22px 16px 4px 0; }
body:not(.auth-page) .encounter-actions .button { min-height: 50px; }
body:not(.auth-page) .encounter-actions .button > [aria-hidden] { font-size: 23px; line-height: 1; }
body:not(.auth-page) .encounter-message { grid-column: 1 / -1; background: #f5f0ed; color: var(--ink); }
body:not(.auth-page) .grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body:not(.auth-page) .grid > article { min-width: 0; padding: 10px 10px 6px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
body:not(.auth-page) .grid .profile-card { aspect-ratio: auto; }
body:not(.auth-page) .grid .card-summary h2 { font-size: 21px; }
body:not(.auth-page) .grid .profile-media { aspect-ratio: 4 / 4.5; }
body:not(.auth-page) .tile-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 10px 0 6px; border-top: 1px solid var(--line); }
body:not(.auth-page) .tile-controls .button { min-width: 0; padding: 10px 8px; font-size: 12px; }
body:not(.auth-page) .grid > article > .quiet { width: 100%; min-height: 40px; padding: 8px 0; text-align: center; color: var(--muted); font-size: 12px; }
body:not(.auth-page) .tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; border-radius: 15px; background: #eae1da; margin: 0 0 24px; }
body:not(.auth-page) .tabs button { min-height: 42px; padding: 10px 18px; border-radius: 11px; background: transparent; color: var(--muted); font-size: 14px; }
body:not(.auth-page) .tabs button.active { background: #fff; color: var(--coral); box-shadow: 0 2px 7px #3928200a; }
body:not(.auth-page) .panel, body:not(.auth-page) .empty { border-color: var(--line); border-radius: 22px; background: #fff; }
body:not(.auth-page) .empty { max-width: 760px; padding: 46px 24px; }
body:not(.auth-page) .empty p { font-size: 15px; }
body:not(.auth-page) .form-grid { gap: 20px; }
body:not(.auth-page) .form-grid label { min-width: 0; font-size: 13px; }
body:not(.auth-page) .form-grid input, body:not(.auth-page) .form-grid select, body:not(.auth-page) .form-grid textarea { min-width: 0; background: #faf7f5; border-color: var(--line); font-size: 16px; }
body:not(.auth-page) .panel input[readonly] { width: 100%; max-width: 100%; border: 1px solid var(--line); padding: 10px; border-radius: 10px; background: var(--paper); color: var(--ink); }
body:not(.auth-page) .photos-edit { gap: 12px; }
body:not(.auth-page) .photos-edit > div { max-width: 145px; }
body:not(.auth-page) .photos-edit p { line-height: 1.5; font-size: 12px; overflow-wrap: anywhere; }
body:not(.auth-page) input[type=file] { max-width: 100%; font-size: 13px; }
body:not(.auth-page) .notice { background: #fff0de; color: #6f4a2f; font-size: 14px; }
body:not(.auth-page) .plans { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
body:not(.auth-page) .premium-hero { background: #f8e5df; }
body:not(.auth-page) .premium-hero .symbol { color: var(--coral); }
body:not(.auth-page) .plan.selected { background: #fff0ec; border-color: var(--coral); box-shadow: 0 0 0 1px var(--coral); }
body:not(.auth-page) .app-footer { width: 100%; max-width: 1240px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 20px; padding: 20px 28px 26px; font-size: 11px; color: var(--muted); }
body:not(.auth-page) #toast { bottom: calc(var(--dock-space) + 8px); padding: 13px 18px; font-size: 14px; }
body:not(.auth-page) #dialog { background: #fff; padding: 30px; }
body:not(.auth-page) .dialog-close { width: 40px; height: 40px; top: 6px; right: 6px; border-radius: 50%; background: #fff; z-index: 4; }
body:not(.auth-page) .person-layout .profile-card { height: auto; aspect-ratio: auto; }
body:not(.auth-page) .person-layout .profile-media { max-height: 380px; aspect-ratio: 4 / 4.4; }
body:not(.auth-page) .person-details h2 { font-size: 27px; }
body:not(.auth-page) .loading { padding: 60px 20px; }
body:not(.auth-page) .dialog-row.active, body:not(.auth-page) .dialogs-heading > span { background: var(--green); }
body:not(.auth-page) .dialog-row:hover { background: #faf2ed; }
body:not(.auth-page) .chat-avatar { background: var(--green); }
body:not(.auth-page) .dialog-search input, body:not(.auth-page) #chat-form.inbox-compose textarea { background: #faf7f5; font-size: 16px; }
body:not(.auth-page) .inbox-log { background: #f7f2ee; }
body:not(.auth-page) .inbox-log .chat-bubble { border-color: var(--line); border-radius: 16px 16px 16px 4px; }
body:not(.auth-page) .inbox-log .chat-bubble.mine { background: var(--green); border-color: #eed6ce; border-radius: 16px 16px 4px 16px; }
body:not(.auth-page) .inbox-log .chat-bubble time { color: var(--muted); }
body:not(.auth-page) .conversation-controls .quiet { min-height: 40px; font-size: 12px; }
body:not(.auth-page):has(#messenger) .app-shell { height: 100dvh; min-height: 0; }
body:not(.auth-page):has(#messenger) .app-header, body:not(.auth-page):has(#messenger) .preview-strip { flex-shrink: 0; }
body:not(.auth-page):has(#messenger) .main-shell { display: flex; flex-direction: column; flex: 1; min-height: 0; }
body:not(.auth-page):has(#messenger) #content { flex: 1; min-height: 0; height: auto; display: flex; flex-direction: column; padding-bottom: 0; }
body:not(.auth-page):has(#messenger) .title-row { flex-shrink: 0; margin-bottom: 16px; }
body:not(.auth-page) .messenger { flex: 1; min-height: 0; height: auto; max-height: none; border: 1px solid var(--line); border-radius: 22px; }
@media (min-width: 1001px) {
  body[data-mini=false]:not(.auth-page) { --dock-space: 0px; }
  body[data-mini=false]:not(.auth-page) .app-header { height: 84px; min-height: 84px; grid-template-columns: minmax(145px, 1fr) minmax(0, 650px) minmax(130px, 1fr); gap: 24px; padding: 0 32px; }
  body[data-mini=false]:not(.auth-page) .header-actions { justify-content: end; }
  body[data-mini=false]:not(.auth-page) .navigation { position: static; left: auto; bottom: auto; transform: none; max-width: none; width: 100%; height: 52px; padding: 4px; border: 0; border-radius: 16px; background: #f2ece8; box-shadow: none; }
  body[data-mini=false]:not(.auth-page) .navigation button { flex-direction: row; gap: 7px; padding: 6px 8px; border-radius: 12px; font-size: 12px; }
  body[data-mini=false]:not(.auth-page) .navigation button [data-i18n] { text-align: left; }
  body[data-mini=false]:not(.auth-page) .nav-icon { width: 20px; height: 20px; }
  body[data-mini=false]:not(.auth-page) .navigation button.active { background: #fff; }
  body[data-mini=false]:not(.auth-page) .navigation .unread-badge { top: 2px; right: 2px; }
  body:not(.auth-page) .profile-layout { grid-template-columns: 320px minmax(0, 1fr); gap: 26px; align-items: start; }
  body:not(.auth-page) .profile-layout > .profile-photos { grid-column: 1; grid-row: 1; }
  body:not(.auth-page) .profile-layout > #profile-form { grid-column: 2; grid-row: 1; }
}
@media (max-width: 1160px) and (min-width: 761px) { body:not(.auth-page) .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) {
  body:not(.auth-page) #content { padding: 24px 22px; }
  body:not(.auth-page) .encounter-layout { gap: 0 24px; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); }
  body:not(.auth-page) .encounter-info { padding-right: 0; }
  body:not(.auth-page) .encounter-actions { padding-right: 0; }
}
@media (max-width: 760px) {
  body:not(.auth-page) .app-header { padding: 0 16px; gap: 10px; }
  body:not(.auth-page) .brand { font-size: 19px; gap: 7px; }
  body:not(.auth-page) .brand img { width: 30px; height: 30px; }
  body:not(.auth-page) .header-actions { gap: 9px; }
  body:not(.auth-page) .premium-link { font-size: 11px; }
  body:not(.auth-page) #content { padding: 18px 16px 20px; }
  body:not(.auth-page) .title-row { align-items: start; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
  body:not(.auth-page) .title-row h1 { font-size: 27px; margin-bottom: 5px; }
  body:not(.auth-page) .title-row p { font-size: 13px; }
  body:not(.auth-page) .title-row .small-tag { padding: 6px 10px; font-size: 11px; }
  body:not(.auth-page) #content:has(.encounter-layout) > .title-row { flex-wrap: nowrap; align-items: center; }
  body:not(.auth-page) #content:has(.encounter-layout) > .title-row p { display: none; }
  body:not(.auth-page) #content:has(.encounter-layout) > .title-row h1 { font-size: 25px; margin: 0; }
  body:not(.auth-page) .encounter-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 12px; border-radius: 22px; max-width: 480px; }
  body:not(.auth-page) .encounter-portrait { grid-column: 1; grid-row: 1; }
  body:not(.auth-page) .encounter-portrait .profile-media { height: clamp(180px, 30dvh, 300px); aspect-ratio: auto; border-radius: 14px; }
  body:not(.auth-page) .encounter-portrait .card-summary { position: relative; padding: 12px 2px 0; }
  body:not(.auth-page) .encounter-portrait .card-summary h2 { padding-right: 100px; font-size: 22px; }
  body:not(.auth-page) .encounter-portrait .view-profile { position: absolute; top: auto; left: auto; right: 0; bottom: 0; width: 96px; max-width: 35%; min-height: 44px; text-align: right; font-size: 11px; }
  body:not(.auth-page) .encounter-actions { grid-column: 1; grid-row: 2; gap: 8px; padding: 14px 0 0; }
  body:not(.auth-page) .encounter-actions .button { min-height: 44px; padding: 10px 12px; font-size: 13px; }
  body:not(.auth-page) .encounter-message { min-height: 40px; }
  body:not(.auth-page) .encounter-info { grid-column: 1; grid-row: 3; border-top: 1px solid var(--line); padding: 18px 2px 0; margin-top: 18px; }
  body:not(.auth-page) .encounter-info .eyebrow, body:not(.auth-page) .encounter-info .tip-box { display: none; }
  body:not(.auth-page) .encounter-info h2 { font-size: 18px; margin-bottom: 8px; }
  body:not(.auth-page) .bio { font-size: 15px; line-height: 1.65; }
  body:not(.auth-page) .chips { margin: 10px 0 4px; }
  body:not(.auth-page) .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  body:not(.auth-page) .grid > article { padding: 7px 7px 4px; border-radius: 17px; }
  body:not(.auth-page) .grid .profile-media { border-radius: 11px; }
  body:not(.auth-page) .grid .card-summary { padding: 10px 2px 0; }
  body:not(.auth-page) .grid .card-summary h2 { font-size: 18px; }
  body:not(.auth-page) .grid .card-summary p { font-size: 11px; }
  body:not(.auth-page) .grid .view-profile { font-size: 10px; min-height: 40px; }
  body:not(.auth-page) .tile-controls { grid-template-columns: 1fr; gap: 6px; padding-top: 8px; }
  body:not(.auth-page) .tile-controls .button { min-height: 40px; padding: 9px 6px; font-size: 11px; }
  body:not(.auth-page) .grid > article > .quiet { font-size: 11px; line-height: 1.4; }
  body:not(.auth-page) .illustration-label { font-size: 8px; }
  body:not(.auth-page) .panel { padding: 20px 16px; }
  body:not(.auth-page) .form-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body:not(.auth-page) .photos-edit > div { max-width: calc(50% - 6px); }
  body:not(.auth-page) .app-footer { padding: 18px 20px; gap: 10px 14px; }
  body:not(.auth-page) #dialog { padding: 28px 18px; }
  body:not(.auth-page):has(#messenger) #content { padding: 14px 12px 0; }
  body:not(.auth-page):has(#messenger) .title-row { margin-bottom: 12px; }
  body:not(.auth-page):has(#messenger) .title-row h1 { font-size: 25px; }
  body:not(.auth-page):has(#messenger) .title-row p { display: none; }
  body:not(.auth-page) .messenger { border-radius: 16px; }
  body:not(.auth-page) #chat-form.inbox-compose { padding: 10px; gap: 8px; }
  body:not(.auth-page) #chat-form.inbox-compose textarea { padding: 10px; font-size: 16px; }
  body:not(.auth-page) #chat-form.inbox-compose .button { min-height: 44px; padding: 10px; font-size: 11px; }
}
@media (max-width: 360px) {
  body:not(.auth-page) .navigation { width: calc(100% - 16px); gap: 1px; padding: 4px; }
  body:not(.auth-page) .navigation button { font-size: 9px; }
  body:not(.auth-page) .navigation button [data-i18n] { overflow-wrap: normal; }
  body:not(.auth-page) .premium-link { font-size: 10px; }
  body:not(.auth-page) .brand { font-size: 18px; }
  body:not(.auth-page) #content { padding-inline: 12px; }
  body:not(.auth-page) .title-row .small-tag { font-size: 9px; padding: 6px 8px; }
  body:not(.auth-page) #content:has(.encounter-layout) > .title-row h1 { font-size: 22px; }
}

/* Profile owns its two-column layout; notices/referrals cannot shift photos below the form. */
body:not(.auth-page) .profile-layout { display: grid; min-width: 0; }
body:not(.auth-page) .profile-layout > * { min-width: 0; }
body:not(.auth-page) .profile-photos .photos-edit > div:first-child { width: 100%; max-width: none; }
body:not(.auth-page) .profile-photos .photos-edit > div:first-child > img { display: block; width: 100%; height: auto; max-height: 320px; object-fit: contain; border-radius: 14px; background: var(--paper); }
body:not(.auth-page) .profile-photos #upload { display: grid; gap: 12px; }
body:not(.auth-page) .profile-photos #upload .button { width: 100%; }
body:not(.auth-page) .header-actions:empty { display: none; }
@media (max-width: 1000px) { body:not(.auth-page) .profile-layout { grid-template-columns: minmax(0, 1fr); } }

/* Web Push opt-in controls */
.push-settings{margin-top:24px;padding:24px}.push-settings h2{margin-top:0}.push-settings p,.push-settings small{line-height:1.6}.push-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.push-actions [hidden]{display:none}

/* Contextual push opt-in invitation; never covers the navigation. */
.push-invitation{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:flex-start;gap:14px;width:min(420px,calc(100vw - 32px));padding:24px;background:#fffaf5;border:1px solid #e6b9a9;border-radius:22px;box-shadow:0 16px 50px #472c2930;animation:push-enter .2s ease-out}
.push-invitation[hidden]{display:none}.push-invitation-icon{font-size:30px;color:#a3435b;line-height:1.2}.push-invitation-copy{min-width:0;flex:1}.push-invitation-copy strong{display:block;padding-right:14px;line-height:1.4;font-size:18px}.push-invitation-copy p{font-size:14px;line-height:1.5;margin:10px 0}.push-invitation .push-actions{gap:8px;margin:12px 0 4px}.push-invitation .button{padding:10px 14px;font-size:13px}.push-invitation-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:24px;color:#766362;cursor:pointer;padding:4px 8px}.push-invitation .push-pause{padding:6px 0;font-size:12px;color:#796664}
@keyframes push-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.push-invitation{right:16px;bottom:calc(104px + env(safe-area-inset-bottom));padding:20px;max-height:calc(100dvh - 190px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.push-invitation{animation:none}}

.push-invitation-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.discovery-modes{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.discovery-controls .form-grid{margin-top:14px}.previous-profile{margin-bottom:16px}.discovery-controls .button{white-space:normal}
