/*
 * Matchportalen site themes
 * The classic theme intentionally inherits app.css unchanged. Harbour and Profile
 * override shared design tokens first, then the few components that define their
 * visual identity. Functionality and page markup remain shared between all themes.
 */

/* New shared landing and admin controls */
.landing-member-status {
  max-width: 610px;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 12px;
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

/* Theme 4: Harbour's warm Danish palette with Profile's member-page composition. */
body.theme-hybrid {
  --wine: #1f675e;
  --wine-dark: #172622;
  --wine-soft: #4f8a80;
  --rose: #dda17e;
  --rose-pale: #f1dfd1;
  --cream: #f1eee8;
  --paper: #fffdf8;
  --ink: #27312e;
  --muted: #6a746f;
  --line: #d9d8cf;
  --green: #1f675e;
  --green-pale: #dcebe6;
  --sand: #d8b58d;
  --shadow: 0 22px 60px rgba(25,43,38,.14);
  --shadow-soft: 0 12px 34px rgba(25,43,38,.09);
  --theme-page: #e9ede9;
  --theme-surface: #fffdf8;
  --theme-surface-soft: #f3f5f1;
  --theme-strong: #17312b;
  --theme-strong-alt: #21483f;
  --theme-text: #26332f;
  --theme-muted: #66756f;
  --theme-border: #cbd6d0;
  --theme-accent: #1f675e;
  --theme-accent-soft: #dcebe6;
  --theme-highlight: #efb48c;
  --theme-highlight-soft: #f6e3d5;
  --theme-work-shadow: 7px 7px 0 rgba(23,49,43,.065);
  background: #f1eee8;
  overflow-x: clip;
}
.theme-hybrid .site-header { border-color: rgba(255,255,255,.1); background: #172622; }
.theme-hybrid .brand { color: #fff; }
.theme-hybrid .brand-mark { color: #172622; background: #f3e2d2; }
.theme-hybrid .main-nav { color: #e7e4dd; }
.theme-hybrid .main-nav > a:not(.button):hover,
.theme-hybrid .main-nav > a:not(.button):focus-visible { color: #f2bd95; }
.theme-hybrid .main-nav .button-primary { color: #172622; background: #f2bd95; }
.theme-hybrid .nav-toggle { border-color: #527067; color: #fff; background: #21352f; }
.theme-hybrid .button-primary { background: #1f675e; box-shadow: 0 10px 24px rgba(31,103,94,.2); }
.theme-hybrid .site-footer { border-top-color: #d99c78; background: #111c19; }
.theme-hybrid .footer-free-promise { border-color: #3c5d54; background: #172622; }
.theme-hybrid .footer-bottom { border-color: #31443e; }
.theme-hybrid .admin-bar { background: #172622; }
.theme-hybrid .admin-sidebar { border-color: #ccd5d0; background: #f8f6f1; }
.theme-hybrid .admin-sidebar nav a[aria-current="page"] { border-color: #1f675e; color: #174d47; background: #dfece8; }
.theme-hybrid .auth-aside { background: linear-gradient(145deg,#172622,#244a41); }
.theme-hybrid .auth-aside .eyebrow { color: #efb48c; }
.theme-hybrid .conversation-message.is-own .conversation-bubble { border-color: #1f675e; background: #1f675e; }
.theme-hybrid .dashboard-card,
.theme-hybrid .admin-panel { box-shadow: 7px 7px 0 rgba(23,49,43,.055); }
.theme-hybrid .sidebar-avatar { color: #17312b; background: #efb48c; }
.theme-hybrid .dashboard-nav a:hover,
.theme-hybrid .dashboard-nav a.active { border-left-color: #efb48c; background: #21483f; }
.theme-hybrid .dashboard-nav i { color: #17312b; background: #efb48c; }
.theme-hybrid .profile-guidance li span { color: #efb48c; }
.theme-hybrid .legal-hero { background: linear-gradient(135deg,#eef3ef,#f8eee6); }
.theme-hybrid .board-hero { border-color: #385b52; background: linear-gradient(135deg,#17312b,#285248); }
.theme-hybrid .board-hero .kicker { color: #efb48c; }
.theme-hybrid :focus-visible { outline-color: rgba(31,103,94,.42); }

body.theme-hybrid.theme-profile:not(.landing-page) { background: #e9ede9; }
body.theme-hybrid.theme-profile .main-nav a[aria-current="page"] { box-shadow: inset 0 -3px #efb48c; }

body.theme-hybrid.theme-profile.discovery-page .discovery-header { background: linear-gradient(120deg,#17312b,#21483f); }
body.theme-hybrid.theme-profile.discovery-page .discovery-header p { color: #c9d7d2; }
body.theme-hybrid.theme-profile.discovery-page .discovery-header .kicker { color: #efb48c; }
body.theme-hybrid.theme-profile.discovery-page .discovery-principle { border-color: #52746a; border-left-color: #efb48c; background: #214038; }
body.theme-hybrid.theme-profile.discovery-page .discovery-principle > span { color: #17312b; background: #efb48c; }
body.theme-hybrid.theme-profile.discovery-page .discovery-filter { border-top-color: #efb48c; box-shadow: 9px 9px 0 rgba(23,49,43,.08); }
body.theme-hybrid.theme-profile.discovery-page .discovery-card { border-top-color: #efb48c; box-shadow: 9px 9px 0 rgba(23,49,43,.09); }
body.theme-hybrid.theme-profile.discovery-page .discovery-card:nth-child(2n) { border-top-color: #1f675e; }

body.theme-hybrid.theme-profile.interest-page .interest-header { border-left-color: #efb48c; background: #17312b; }
body.theme-hybrid.theme-profile.interest-page .interest-header p { color: #cad7d2; }
body.theme-hybrid.theme-profile.interest-page .interest-header .kicker { color: #efb48c; }
body.theme-hybrid.theme-profile.interest-page .interest-principle { border-color: #52746a; background: #214038; }
body.theme-hybrid.theme-profile.interest-page .interest-principle > span { color: #17312b; background: #efb48c; }
body.theme-hybrid.theme-profile.interest-page .interest-tabs a { border-color: #cbd6d0; background: #fffdf8; box-shadow: 5px 5px 0 rgba(23,49,43,.05); }
body.theme-hybrid.theme-profile.interest-page .interest-tabs a.active { border-color: #1f675e; color: #fff; background: #1f675e; box-shadow: 5px 5px 0 rgba(31,103,94,.16); }
body.theme-hybrid.theme-profile.interest-page .interest-card { border-left-color: #efb48c; box-shadow: 8px 8px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.interest-page .interest-empty { border-left-color: #efb48c; box-shadow: 9px 9px 0 rgba(23,49,43,.07); }

body.theme-hybrid.theme-profile.stickers-page .stickers-header { border-left-color: #efb48c; background: #17312b; }
body.theme-hybrid.theme-profile.stickers-page .stickers-header p { color: #c9d7d2; }
body.theme-hybrid.theme-profile.stickers-page .stickers-header .kicker { color: #efb48c; }
body.theme-hybrid.theme-profile.stickers-page .stickers-total { color: #17312b; background: #efb48c; box-shadow: 7px 7px 0 rgba(239,180,140,.2); }
body.theme-hybrid.theme-profile.stickers-page .sticker-access-banner { border-left-color: #1f675e; box-shadow: 6px 6px 0 rgba(23,49,43,.05); }
body.theme-hybrid.theme-profile.stickers-page .sticker-collection-card { border-top-color: #efb48c; box-shadow: 9px 9px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.stickers-page .sticker-catalog-grid article { background: #f4f6f2; }
body.theme-hybrid.theme-profile.stickers-page .sticker-catalog-grid article:nth-child(2n) { background: #f6e3d5; }
body.theme-hybrid.theme-profile.stickers-page .sticker-catalog-grid article:nth-child(3n) { background: #dcebe6; }
body.theme-hybrid.theme-profile.stickers-page .sticker-archive-panel { border-left-color: #efb48c; box-shadow: 8px 8px 0 rgba(23,49,43,.06); }

body.theme-hybrid.theme-profile.messages-page .messages-page-header { border-left-color: #efb48c; background: #17312b; }
body.theme-hybrid.theme-profile.messages-page .messages-page-header p { color: #c9d7d2; }
body.theme-hybrid.theme-profile.messages-page .messages-page-header .kicker { color: #efb48c; }
body.theme-hybrid.theme-profile.messages-page .messages-page-header .button { border-color: #efb48c; color: #17312b; background: #efb48c; }
body.theme-hybrid.theme-profile.messages-page :is(.messages-incoming-panel,.messages-pending-panel) { border-left-color: #efb48c; background: #fffdf8; box-shadow: 7px 7px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.messages-page .message-inbox-item { border-top-color: #1f675e; background: #fffdf8; box-shadow: 7px 7px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.messages-page .message-inbox-item.is-unread { border-top-color: #efb48c; background: #fffdf8; }
body.theme-hybrid.theme-profile.messages-page .messages-empty { border-left-color: #efb48c; box-shadow: 9px 9px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.messages-page .messages-requests-empty { border-left-color: #1f675e; background: #fffdf8; box-shadow: 7px 7px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.messages-page .messages-requests-empty > span { background: #1f675e; }
body.theme-hybrid.theme-profile.messages-page .messages-privacy-note { border-left-color: #1f675e; background: #dcebe6; }

body.theme-hybrid.theme-profile.profile-view-page .profile-gallery { background: #17312b; box-shadow: 12px 12px 0 rgba(23,49,43,.12); }
body.theme-hybrid.theme-profile.profile-view-page .profile-gallery-thumbs { background: #17312b; }
body.theme-hybrid.theme-profile.profile-view-page .profile-view-intro { border-top-color: #efb48c; background: #fffdf8; box-shadow: 12px 12px 0 rgba(23,49,43,.13); }
body.theme-hybrid.theme-profile.profile-view-page .profile-intent-panel { border-left-color: #1f675e; background: #dcebe6; }
body.theme-hybrid.theme-profile.profile-view-page .profile-quick-traits span { background: #f6e3d5; }
body.theme-hybrid.theme-profile.profile-view-page .profile-quick-traits span:nth-child(2n) { background: #dcebe6; }
body.theme-hybrid.theme-profile.profile-view-page .profile-content-card { border-left-color: #1f675e; box-shadow: 8px 8px 0 rgba(23,49,43,.06); }
body.theme-hybrid.theme-profile.profile-view-page .profile-story-aside .profile-content-card { border-left-color: #efb48c; }

body.theme-hybrid.theme-profile.notifications-page .notifications-header { border-left-color: #efb48c; background: #17312b; }
body.theme-hybrid.theme-profile.notifications-page .notifications-header p { color: #c9d7d2; }
body.theme-hybrid.theme-profile.notifications-page .notifications-header .kicker { color: #efb48c; }
body.theme-hybrid.theme-profile.notifications-page .notification-item { border-left-color: #1f675e; background: #fffdf8; box-shadow: 7px 7px 0 rgba(23,49,43,.07); }
body.theme-hybrid.theme-profile.notifications-page .notification-item.is-unread { border-left-color: #efb48c; background: #fffdf8; }
.landing-member-status > span {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border: 2px solid var(--paper);
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px var(--green-pale);
}
.landing-member-status strong,
.landing-member-status small { display: block; }
.landing-member-status strong { color: var(--green); font-size: 12px; }
.landing-member-status small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.55; }

.landing-login-card {
  position: relative;
  z-index: 3;
  width: min(100%, 430px);
  justify-self: end;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 2px;
  background: rgba(255,253,248,.96);
  color: #292322;
  box-shadow: 0 30px 85px rgba(0,0,0,.3);
  backdrop-filter: blur(8px);
}
.landing-login-card h2 { margin: 6px 0 7px; font: 600 43px/1 Georgia, serif; letter-spacing: -.035em; }
.landing-login-card > p { margin: 0 0 21px; color: #776c68; font-size: 11px; }
.landing-login-card .kicker { color: #6b2940; font-size: 9px; }
.landing-login-card .field > span { color: #544b48; }
.landing-login-card .button { border-radius: 2px; }
.landing-login-links { display: flex; justify-content: space-between; gap: 18px; margin-top: 17px; padding-top: 15px; border-top: 1px solid #e0d7d0; }
.landing-login-links a { color: #6b2940; font-size: 10px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

.landing-login-strip { color: #fff; background: #172438; }
.landing-login-strip-inner { min-height: 150px; display: grid; grid-template-columns: .65fr 1.35fr; align-items: center; gap: 60px; padding-block: 28px; }
.landing-login-strip .kicker { color: #f29aaa; font-size: 9px; }
.landing-login-strip h2 { margin: 6px 0 0; font: 600 34px/1 Georgia, serif; }
.landing-login-strip form { display: grid; grid-template-columns: minmax(150px,1fr) minmax(150px,1fr) 130px; gap: 10px; align-items: end; }
.landing-login-strip label { display: grid; gap: 6px; color: #c6cdd2; font-size: 8px; font-weight: 800; }
.landing-login-strip input { height: 45px; border-color: #536170; border-radius: 2px; color: #fff; background: #223147; }
.landing-login-strip input::placeholder { color: #aeb8c0; }
.landing-login-strip .password-field button { color: #f4b0b9; }
.landing-login-strip .button { min-height: 45px; border-radius: 2px; background: #e55066; box-shadow: none; }

.admin-theme-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-theme-option { position: relative; cursor: pointer; }
.admin-theme-option > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.admin-theme-option > span { height: 100%; display: grid; align-content: start; gap: 6px; padding: 13px; border: 1px solid var(--line); border-radius: 3px; background: var(--paper); transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
.admin-theme-option:hover > span { transform: translateY(-2px); box-shadow: var(--shadow-soft); }
.admin-theme-option > input:focus-visible + span { outline: 3px solid rgba(47,104,97,.28); outline-offset: 3px; }
.admin-theme-option > input:checked + span { border-color: var(--wine); box-shadow: inset 0 0 0 2px var(--wine); }
.admin-theme-option strong { font: 700 17px/1.2 Georgia, serif; }
.admin-theme-option small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.admin-theme-option em { width: max-content; margin-top: 3px; padding: 5px 7px; color: var(--wine); background: var(--rose-pale); font-size: 8px; font-style: normal; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.admin-theme-preview { position: relative; height: 105px; overflow: hidden; display: block; border: 1px solid rgba(0,0,0,.08); background: #f8f3ef; }
.admin-theme-preview::before { content: ""; position: absolute; inset: 0 62% 0 0; background: #fffdfa; }
.admin-theme-preview i { position: absolute; left: 44%; right: 8%; height: 10px; border: 1px solid #ddd; background: #fff; }
.admin-theme-preview i:first-child { top: 20px; height: 45px; }
.admin-theme-preview i:nth-child(2) { top: 72px; right: 32%; }
.admin-theme-preview i:nth-child(3) { top: 72px; left: 71%; }
.admin-theme-preview b { position: absolute; left: 12px; top: 13px; width: 24px; height: 24px; display: grid; place-items: center; color: white; background: #7b3145; font-size: 8px; }
.admin-theme-option-harbour .admin-theme-preview { background: linear-gradient(135deg,#324b42,#121e1a); }
.admin-theme-option-harbour .admin-theme-preview::before { background: linear-gradient(135deg,rgba(15,31,27,.35),rgba(15,31,27,.8)); }
.admin-theme-option-harbour .admin-theme-preview b { color: #172622; background: #f4e2d2; }
.admin-theme-option-harbour .admin-theme-preview i { border-color: #d9cec3; background: #fffaf4; }
.admin-theme-option-profile .admin-theme-preview { background: #eef3f5; }
.admin-theme-option-profile .admin-theme-preview::before { background: #172438; }
.admin-theme-option-profile .admin-theme-preview b { background: #e55066; }
.admin-theme-option-profile .admin-theme-preview i { border-color: #cad4d8; box-shadow: 3px 3px 0 rgba(23,36,56,.12); }
.admin-theme-option-hybrid .admin-theme-preview { background: #e9ede9; }
.admin-theme-option-hybrid .admin-theme-preview::before { width: 42%; background: linear-gradient(155deg,#172622 0 54%,#efb48c 54% 58%,#fffdf8 58%); }
.admin-theme-option-hybrid .admin-theme-preview b { color: #17312b; background: #efb48c; }
.admin-theme-option-hybrid .admin-theme-preview i { border: 0; border-top: 4px solid #efb48c; background: #fffdf8; box-shadow: 4px 4px 0 rgba(23,49,43,.1); }

/* Harbour: design proposal 2 */
body.theme-harbour {
  --wine: #1f675e;
  --wine-dark: #172622;
  --wine-soft: #4f8a80;
  --rose: #dda17e;
  --rose-pale: #f1dfd1;
  --cream: #f1eee8;
  --paper: #fffdf8;
  --ink: #27312e;
  --muted: #6a746f;
  --line: #d9d8cf;
  --green: #1f675e;
  --green-pale: #dcebe6;
  --sand: #d8b58d;
  --shadow: 0 22px 60px rgba(25,43,38,.14);
  --shadow-soft: 0 12px 34px rgba(25,43,38,.09);
  --theme-page: #e9ede9;
  --theme-surface: #fffdf8;
  --theme-surface-soft: #f3f5f1;
  --theme-strong: #17312b;
  --theme-strong-alt: #21483f;
  --theme-text: #26332f;
  --theme-muted: #66756f;
  --theme-border: #cbd6d0;
  --theme-accent: #1f675e;
  --theme-accent-soft: #dcebe6;
  --theme-highlight: #efb48c;
  --theme-highlight-soft: #f6e3d5;
  --theme-work-shadow: 0 15px 38px rgba(23,49,43,.08);
  background: #f1eee8;
  overflow-x: clip;
}
.theme-harbour .site-header { border-color: rgba(255,255,255,.1); background: #172622; }
.theme-harbour .brand { color: #fff; }
.theme-harbour .brand-mark { border-radius: 2px; color: #172622; background: #f3e2d2; }
.theme-harbour .main-nav { color: #e7e4dd; }
.theme-harbour .main-nav > a:not(.button):hover,
.theme-harbour .main-nav > a:not(.button):focus-visible { color: #f2bd95; }
.theme-harbour .main-nav .button-primary { color: #172622; background: #f2bd95; box-shadow: none; }
.theme-harbour .nav-toggle { border-color: #527067; color: #fff; background: #21352f; }
.theme-harbour .button { border-radius: 2px; }
.theme-harbour .button-primary { box-shadow: 0 10px 24px rgba(31,103,94,.2); }
.theme-harbour .site-footer { border-top-color: #d99c78; background: #111c19; }
.theme-harbour .footer-free-promise { border-color: #3c5d54; background: #172622; }
.theme-harbour .footer-bottom { border-color: #31443e; }
.theme-harbour .admin-bar { background: #172622; }
.theme-harbour .admin-sidebar { border-color: #ccd5d0; background: #f8f6f1; }
.theme-harbour .admin-sidebar nav a[aria-current="page"] { border-color: #1f675e; color: #174d47; background: #dfece8; }
.theme-harbour .auth-aside { background: linear-gradient(145deg,#172622,#244a41); }
.theme-harbour .auth-aside h2 { color: #fffdf8; }
.theme-harbour .profile-main,
.theme-harbour .profile-back,
.theme-harbour .privacy-note,
.theme-harbour .step-card,
.theme-harbour .free-card,
.theme-harbour .discovery-card,
.theme-harbour .conversation-shell,
.theme-harbour .messages-inbox,
.theme-harbour .simple-card,
.theme-harbour .admin-panel { border-radius: 2px; }
.theme-harbour .round-action,
.theme-harbour .match-score,
.theme-harbour .preview-label { border-radius: 2px; }
body.theme-harbour.profile-view-page,
body.theme-harbour.dashboard-page,
body.theme-harbour.board-page,
body.theme-harbour.admin-page { background: #efede7; }

.theme-harbour.landing-page .hero {
  position: relative;
  isolation: isolate;
  min-height: 720px;
  display: grid;
  align-items: center;
  padding: 66px 0 78px;
  color: white;
  background: #172622 url('/assets/images/harbour-date.jpg') center/cover no-repeat;
}
.theme-harbour.landing-page .hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(14,29,25,.94) 0%,rgba(17,34,29,.73) 53%,rgba(16,26,23,.78) 100%); }
.theme-harbour.landing-page .hero-grid { grid-template-columns: minmax(0,1fr) minmax(360px,430px); gap: 90px; }
.theme-harbour.landing-page .hero .eyebrow { color: #efbc91; }
.theme-harbour.landing-page .hero h1 { max-width: 760px; color: #fff; font-size: clamp(55px,6.7vw,94px); line-height: .96; }
.theme-harbour.landing-page .hero h1 em { color: #f3c19b; }
.theme-harbour.landing-page .hero-lead { max-width: 620px; color: #e5e4dd; }
.theme-harbour.landing-page .hero-copy > .hero-actions { display: none; }
.theme-harbour.landing-page .landing-member-status { border-color: rgba(255,255,255,.25); }
.theme-harbour.landing-page .landing-member-status > span { border-color: #172622; background: #e9ae86; box-shadow: 0 0 0 4px rgba(233,174,134,.2); }
.theme-harbour.landing-page .landing-member-status strong { color: #fff; font: 600 17px/1.2 Georgia,serif; }
.theme-harbour.landing-page .landing-member-status small { color: #c9d1cd; }
.theme-harbour.landing-page .trust-row { color: #e2e3dd; }
.theme-harbour.landing-page .trust-row b { color: #efbc91; }
.theme-harbour.landing-page .landing-login-card .button-primary { color: #172622; background: #efb48c; }
.theme-harbour.landing-page .principles-strip { color: white; border: 0; background: #172622; }
.theme-harbour.landing-page .principle-grid > div { border-color: rgba(255,255,255,.12); }
.theme-harbour.landing-page .principle-grid strong { color: #fff; }
.theme-harbour.landing-page .principle-grid span { color: #b9c8c3; }
.theme-harbour.landing-page .section-intro { background: #fffdf8; }
.theme-harbour.landing-page .preference-section { background: #e8eee9; }
.theme-harbour.landing-page .free-section { background: #163c37; }
.theme-harbour.landing-page .final-cta { background: linear-gradient(120deg,#172622,#24554d); }
.theme-harbour.landing-page .free-card h2,
.theme-harbour.landing-page .final-cta h2 { color: #fffdf8; }

/* Profile first: design proposal 3 */
body.theme-profile {
  --wine: #e55066;
  --wine-dark: #172438;
  --wine-soft: #f07889;
  --rose: #ef9aa7;
  --rose-pale: #fae8eb;
  --cream: #f2f5f6;
  --paper: #ffffff;
  --ink: #172438;
  --muted: #687580;
  --line: #d7dfe2;
  --green: #226963;
  --green-pale: #dceeea;
  --sand: #d5bd9b;
  --shadow: 0 22px 60px rgba(23,36,56,.14);
  --shadow-soft: 0 12px 34px rgba(23,36,56,.08);
  --theme-page: #edf2f5;
  --theme-surface: #ffffff;
  --theme-surface-soft: #f5f8fa;
  --theme-strong: #172438;
  --theme-strong-alt: #253b59;
  --theme-text: #172438;
  --theme-muted: #667581;
  --theme-border: #ccd8de;
  --theme-accent: #e55066;
  --theme-accent-soft: #fae8eb;
  --theme-highlight: #2f746d;
  --theme-highlight-soft: #dceeea;
  --theme-work-shadow: 7px 7px 0 rgba(23,36,56,.06);
  background: #f2f5f6;
  overflow-x: clip;
}
.theme-profile .site-header { border-color: rgba(255,255,255,.09); background: #172438; }
.theme-profile .brand { color: #fff; }
.theme-profile .brand-mark { border-radius: 2px; background: #e55066; }
.theme-profile .main-nav { color: #ecf0f2; }
.theme-profile .main-nav > a:not(.button):hover,
.theme-profile .main-nav > a:not(.button):focus-visible { color: #f29aaa; }
.theme-profile .main-nav .button-primary { background: #e55066; box-shadow: none; }
.theme-profile .nav-toggle { border-color: #516073; color: #fff; background: #223147; }
.theme-profile .button { border-radius: 2px; }
.theme-profile .site-footer { border-top-color: #e55066; background: #111c2c; }
.theme-profile .footer-free-promise { border-color: #4b6270; background: #19283c; }
.theme-profile .footer-bottom { border-color: #334257; }
.theme-profile .admin-bar { background: #172438; }
.theme-profile .admin-sidebar { border-color: #d2dce0; background: #fff; }
.theme-profile .admin-sidebar nav a[aria-current="page"] { border-color: #e55066; color: #b72f49; background: #fae8eb; }
.theme-profile .auth-aside { background: linear-gradient(145deg,#172438,#273c58); }
.theme-profile .auth-aside .eyebrow { color: #f29aaa; }
body.theme-profile.profile-view-page,
body.theme-profile.dashboard-page,
body.theme-profile.board-page,
body.theme-profile.admin-page { background: #edf2f4; }
.theme-profile .profile-main,
.theme-profile .profile-back,
.theme-profile .privacy-note,
.theme-profile .step-card,
.theme-profile .free-card,
.theme-profile .discovery-card,
.theme-profile .conversation-shell,
.theme-profile .messages-inbox,
.theme-profile .simple-card,
.theme-profile .admin-panel { border-radius: 2px; }
.theme-profile .discovery-card,
.theme-profile .dashboard-card,
.theme-profile .admin-panel { box-shadow: 7px 7px 0 rgba(23,36,56,.055); }
.theme-profile .round-action,
.theme-profile .match-score,
.theme-profile .preview-label { border-radius: 2px; }
.theme-profile .conversation-message.is-own .conversation-bubble { border-color: #e55066; background: #e55066; }

.theme-profile.landing-page .hero { padding: 68px 0 78px; background: #f2f5f6; }
.theme-profile.landing-page .hero-grid { gap: 55px; }
.theme-profile.landing-page .hero h1 { color: #172438; font-size: clamp(52px,5.7vw,78px); font-weight: 650; line-height: .98; }
.theme-profile.landing-page .hero h1 em { color: #e55066; }
.theme-profile.landing-page .hero-lead { color: #5e6a74; }
.theme-profile.landing-page .button-primary { background: #e55066; box-shadow: 0 10px 24px rgba(229,80,102,.2); }
.theme-profile.landing-page .button-quiet { border-color: #172438; color: #172438; background: transparent; }
.theme-profile.landing-page .profile-main { border-radius: 2px; transform: none; box-shadow: 12px 12px 0 rgba(23,36,56,.1), var(--shadow); }
.theme-profile.landing-page .profile-main > .portrait { border-radius: 0; }
.theme-profile.landing-page .profile-back { right: -10px; border-radius: 2px; transform: rotate(5deg); }
.theme-profile.landing-page .privacy-note { left: -22px; border-radius: 2px; }
.theme-profile.landing-page .preview-label { top: 12px; left: 12px; color: #fff; background: #226963; }
.theme-profile.landing-page .compatibility-list { border-radius: 2px; background: #f4f7f8; }
.theme-profile.landing-page .principles-strip { border: 0; color: #fff; background: #172438; }
.theme-profile.landing-page .principle-grid > div { border-color: rgba(255,255,255,.11); }
.theme-profile.landing-page .principle-grid strong { color: #fff; }
.theme-profile.landing-page .principle-grid span { color: #bfc8ce; }
.theme-profile.landing-page .section-intro { background: #fff; }
.theme-profile.landing-page .preference-section { background: #edf2f4; }
.theme-profile.landing-page .free-section { background: #172438; }
.theme-profile.landing-page .final-cta { background: linear-gradient(120deg,#172438,#293f5c); }

/* Complete member experience: the selected theme follows every normal user route. */
body.theme-harbour:not(.landing-page),
body.theme-profile:not(.landing-page) { background: var(--theme-page); color: var(--theme-text); }

.theme-harbour main :is(h1,h2,h3),
.theme-profile main :is(h1,h2,h3) { color: var(--theme-text); }

.theme-harbour :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea),
.theme-profile :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  border-color: var(--theme-border);
  border-radius: 2px;
  background-color: var(--theme-surface);
  color: var(--theme-text);
}

.theme-harbour :is(
  .status-card,.dashboard-section,.onboarding-list,.profile-form-card,.profile-setup-panel,
  .profile-content-card,.profile-facts-card,.profile-view-hero,.discovery-filter,.discovery-card,
  .discovery-empty,.discovery-gate,.interest-tabs,.interest-card,.interest-empty,.messages-inbox,
  .messages-pending-panel,.conversation-shell,.conversation-unavailable,.notification-list,
  .sticker-collection-card,.sticker-archive-panel,.simple-card,.support-case-heading,
  .support-member-panel,.support-member-reply,.support-verify-card,.support-ticket-list,
  .board-composer,.board-post,.board-sidebar > section,.gaming-editor-card,.account-security-section,
  .account-security-card,.account-consent-panel,.legal-content article,.legal-content aside
) {
  border-color: var(--theme-border);
  border-radius: 2px;
  background: var(--theme-surface);
  box-shadow: var(--theme-work-shadow);
}

.theme-profile :is(
  .status-card,.dashboard-section,.onboarding-list,.profile-form-card,.profile-setup-panel,
  .profile-content-card,.profile-facts-card,.profile-view-hero,.discovery-filter,.discovery-card,
  .discovery-empty,.discovery-gate,.interest-tabs,.interest-card,.interest-empty,.messages-inbox,
  .messages-pending-panel,.conversation-shell,.conversation-unavailable,.notification-list,
  .sticker-collection-card,.sticker-archive-panel,.simple-card,.support-case-heading,
  .support-member-panel,.support-member-reply,.support-verify-card,.support-ticket-list,
  .board-composer,.board-post,.board-sidebar > section,.gaming-editor-card,.account-security-section,
  .account-security-card,.account-consent-panel,.legal-content article,.legal-content aside
) {
  border-color: var(--theme-border);
  border-radius: 2px;
  background: var(--theme-surface);
  box-shadow: var(--theme-work-shadow);
}

.theme-harbour :is(.dashboard-section,.profile-form-card,.profile-view-hero,.discovery-filter,.interest-tabs,.messages-inbox,.conversation-shell,.notification-list,.sticker-collection-card,.simple-card,.support-case-heading,.board-composer,.board-post,.gaming-editor-card),
.theme-profile :is(.dashboard-section,.profile-form-card,.profile-view-hero,.discovery-filter,.interest-tabs,.messages-inbox,.conversation-shell,.notification-list,.sticker-collection-card,.simple-card,.support-case-heading,.board-composer,.board-post,.gaming-editor-card) {
  border-top: 4px solid var(--theme-accent);
}

.theme-harbour :is(.dashboard-welcome,.profile-step-header,.discovery-header,.interest-header,.messages-page-header,.sticker-section-head,.gaming-editor-header),
.theme-profile :is(.dashboard-welcome,.profile-step-header,.discovery-header,.interest-header,.messages-page-header,.sticker-section-head,.gaming-editor-header) {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--theme-border);
}

/* Dashboard workspace */
.theme-harbour .dashboard-sidebar,
.theme-profile .dashboard-sidebar {
  overflow: hidden;
  border: 0;
  border-radius: 2px;
  color: #fff;
  box-shadow: var(--theme-work-shadow);
}
.theme-harbour .dashboard-sidebar,
.theme-profile .dashboard-sidebar { background: var(--theme-strong); }
.theme-harbour .sidebar-profile,
.theme-profile .sidebar-profile { border-color: rgba(255,255,255,.14); }
.theme-harbour .sidebar-profile strong,
.theme-profile .sidebar-profile strong { color: #fff; }
.theme-harbour .sidebar-profile span,
.theme-profile .sidebar-profile span { color: rgba(255,255,255,.67); }
.theme-harbour .sidebar-avatar { border-radius: 2px; color: var(--theme-strong); background: var(--theme-highlight); }
.theme-profile .sidebar-avatar { border-radius: 2px; background: var(--theme-accent); }
.theme-harbour .dashboard-nav a,
.theme-profile .dashboard-nav a { border-left: 3px solid transparent; border-radius: 2px; color: rgba(255,255,255,.76); }
.theme-harbour .dashboard-nav a > span,
.theme-profile .dashboard-nav a > span { color: rgba(255,255,255,.7); }
.theme-harbour .dashboard-nav a:hover,
.theme-harbour .dashboard-nav a.active { border-left-color: var(--theme-highlight); color: #fff; background: var(--theme-strong-alt); }
.theme-profile .dashboard-nav a:hover,
.theme-profile .dashboard-nav a.active { border-left-color: var(--theme-accent); color: #fff; background: var(--theme-strong-alt); }
.theme-harbour .dashboard-nav i { color: var(--theme-strong); background: var(--theme-highlight); }
.theme-profile .dashboard-nav i { color: #fff; background: var(--theme-accent); }
.theme-harbour .sidebar-help,
.theme-profile .sidebar-help { border-radius: 2px; background: rgba(255,255,255,.09); }
.theme-harbour .sidebar-help :is(strong,a),
.theme-profile .sidebar-help :is(strong,a) { color: #fff; }
.theme-harbour .sidebar-help p,
.theme-profile .sidebar-help p { color: rgba(255,255,255,.68); }
.theme-harbour :is(.status-card-primary,.match-empty-state.has-suggestions) { background: linear-gradient(135deg,#fffdf8,#eef4ef); }
.theme-profile :is(.status-card-primary,.match-empty-state.has-suggestions) { background: linear-gradient(135deg,#fff,#f2f6f8); }
.theme-harbour :is(.status-icon,.compact-empty > span,.dashboard-person-avatar),
.theme-profile :is(.status-icon,.compact-empty > span,.dashboard-person-avatar) { border-radius: 2px; color: var(--theme-accent); background: var(--theme-accent-soft); }
.theme-harbour :is(.dashboard-contact-choice,.dashboard-person-row,.dashboard-like-summary span,.blocked-profile-list > div),
.theme-profile :is(.dashboard-contact-choice,.dashboard-person-row,.dashboard-like-summary span,.blocked-profile-list > div) { border-color: var(--theme-border); border-radius: 2px; background: var(--theme-surface-soft); }
.theme-harbour .dashboard-contact-choice:has(input:checked),
.theme-profile .dashboard-contact-choice:has(input:checked) { background: var(--theme-accent-soft); }

/* Profile setup and edit flows */
.theme-harbour .profile-guidance { background: var(--theme-strong); }
.theme-profile .profile-guidance { background: linear-gradient(145deg,var(--theme-strong),var(--theme-strong-alt)); }
.theme-harbour .profile-guidance :is(h2,p,li),
.theme-profile .profile-guidance :is(h2,p,li) { color: #fff; }
.theme-harbour .profile-guidance li span { color: var(--theme-highlight); }
.theme-profile .profile-guidance li span { color: #f49aaa; }
.theme-harbour :is(.profile-form-section,.profile-form-actions,.gaming-editor-actions),
.theme-profile :is(.profile-form-section,.profile-form-actions,.gaming-editor-actions) { background: var(--theme-surface); border-color: var(--theme-border); }
.theme-harbour :is(.trait-choice label,.identity-panel,.identity-choice,.interest-group,.preference-block,.compact-range-grid,.contact-mode-card,.switch-row,.gaming-game-columns fieldset,.gaming-category-columns fieldset),
.theme-profile :is(.trait-choice label,.identity-panel,.identity-choice,.interest-group,.preference-block,.compact-range-grid,.contact-mode-card,.switch-row,.gaming-game-columns fieldset,.gaming-category-columns fieldset) { border-color: var(--theme-border); background: var(--theme-surface-soft); }
.theme-harbour :is(.trait-choice input:checked + label,.identity-choice:has(input:checked),.contact-mode-card:has(input:checked),.gaming-radio-grid input:checked + span,.gaming-choice-grid input:checked + span,.gaming-radio-list input:checked + span) { background: var(--theme-highlight-soft); }
.theme-profile :is(.trait-choice input:checked + label,.identity-choice:has(input:checked),.contact-mode-card:has(input:checked),.gaming-radio-grid input:checked + span,.gaming-choice-grid input:checked + span,.gaming-radio-list input:checked + span) { background: var(--theme-accent-soft); }
.theme-harbour .profile-step-progress span { background: #cdd7d1; }
.theme-profile .profile-step-progress span { background: #ccd8de; }

/* Search and profile viewing */
.theme-harbour :is(.discovery-principle,.interest-principle) { border-color: #b8d2c9; background: var(--theme-accent-soft); }
.theme-profile :is(.discovery-principle,.interest-principle) { border-color: #bfd6d2; background: var(--theme-highlight-soft); }
.theme-harbour :is(.discovery-filter-foot,.discovery-purpose,.interest-status,.support-member-panel),
.theme-profile :is(.discovery-filter-foot,.discovery-purpose,.interest-status,.support-member-panel) { background: var(--theme-surface-soft); }
.theme-harbour :is(.discovery-interests label span,.discovery-sort,.interest-tabs b,.interest-remove),
.theme-profile :is(.discovery-interests label span,.discovery-sort,.interest-tabs b,.interest-remove) { border-color: var(--theme-border); background: var(--theme-surface); }
.theme-harbour :is(.discovery-interests input:checked + span,.discovery-sort a.active,.interest-tabs a.active) { color: var(--theme-strong); background: var(--theme-highlight-soft); }
.theme-profile :is(.discovery-interests input:checked + span,.discovery-sort a.active,.interest-tabs a.active) { color: var(--theme-strong); background: var(--theme-accent-soft); }
.theme-harbour .discovery-card:hover { border-color: var(--theme-accent); box-shadow: 0 20px 42px rgba(23,49,43,.15); }
.theme-profile .discovery-card:hover { border-color: var(--theme-accent); box-shadow: 9px 9px 0 rgba(23,36,56,.09); }
.theme-harbour .profile-gallery,
.theme-profile .profile-gallery { background: var(--theme-strong); }
.theme-harbour :is(.profile-intent-panel,.profile-answer-card,.profile-privacy-card,.profile-message-ideas,.profile-interaction-panel),
.theme-profile :is(.profile-intent-panel,.profile-answer-card,.profile-privacy-card,.profile-message-ideas,.profile-interaction-panel) { border-color: var(--theme-border); background: var(--theme-surface-soft); }
.theme-harbour .profile-intent-mark { color: var(--theme-strong); background: var(--theme-highlight); }
.theme-profile .profile-intent-mark { color: #fff; background: var(--theme-accent); }
.theme-harbour :is(.profile-purpose-pill,.profile-owner-pill,.profile-demo-pill) { border-color: var(--theme-border); background: var(--theme-highlight-soft); }
.theme-profile :is(.profile-purpose-pill,.profile-owner-pill,.profile-demo-pill) { border-color: var(--theme-border); background: var(--theme-accent-soft); }

/* Likes, messages, notifications, stickers and support */
.theme-harbour :is(.messages-request-summary,.messages-privacy-note,.conversation-trust-note,.interest-context,.interest-note,.sticker-access-banner,.support-case-status,.support-guest-access,.support-verify-note,.support-recovery-guidance) { border-color: #b8d2c9; background: var(--theme-accent-soft); }
.theme-profile :is(.messages-request-summary,.messages-privacy-note,.conversation-trust-note,.interest-context,.interest-note,.sticker-access-banner,.support-case-status,.support-guest-access,.support-verify-note,.support-recovery-guidance) { border-color: #bad6d1; background: var(--theme-highlight-soft); }
.theme-harbour :is(.notification-item,.messages-request-list > *,.messages-pending-list > *,.sticker-archive-list article,.support-ticket-list > a),
.theme-profile :is(.notification-item,.messages-request-list > *,.messages-pending-list > *,.sticker-archive-list article,.support-ticket-list > a) { border-color: var(--theme-border); }
.theme-harbour :is(.notification-item:hover,.support-ticket-list > a:hover) { background: var(--theme-accent-soft); }
.theme-profile :is(.notification-item:hover,.support-ticket-list > a:hover) { background: var(--theme-accent-soft); }
.theme-harbour .conversation-header,
.theme-profile .conversation-header { color: #fff; background: var(--theme-strong); }
.theme-harbour .conversation-header :is(strong,small,a),
.theme-profile .conversation-header :is(strong,small,a) { color: inherit; }
.theme-harbour .conversation-message.is-own .conversation-bubble,
.theme-profile .conversation-message.is-own .conversation-bubble { border-color: var(--theme-accent); background: var(--theme-accent); }
.theme-harbour .support-message-admin { border-left-color: var(--theme-accent); background: var(--theme-highlight-soft); }
.theme-profile .support-message-admin { border-left-color: var(--theme-accent); background: var(--theme-accent-soft); }
.theme-harbour .sticker-catalog-grid article,
.theme-profile .sticker-catalog-grid article { background: var(--theme-surface); border-color: var(--theme-border); }

/* Tavlen */
.theme-harbour .board-hero { border-color: #385b52; background: linear-gradient(135deg,#17312b,#285248); }
.theme-profile .board-hero { border-color: #33465f; background: linear-gradient(135deg,#172438,#2b4261); }
.theme-harbour .board-hero :is(h1,p),
.theme-profile .board-hero :is(h1,p) { color: #fff; }
.theme-harbour .board-hero .kicker { color: var(--theme-highlight); }
.theme-profile .board-hero .kicker { color: #f49aaa; }
.theme-harbour :is(.board-compose-form textarea,.board-comment-form textarea,.board-report textarea,.board-report select),
.theme-profile :is(.board-compose-form textarea,.board-comment-form textarea,.board-report textarea,.board-report select) { border-color: var(--theme-border); background: var(--theme-surface); }
.theme-harbour :is(.board-comment,.board-participation-note),
.theme-profile :is(.board-comment,.board-participation-note) { border-color: var(--theme-border); background: var(--theme-surface-soft); }

/* Account, help, login and public information pages */
.theme-harbour .auth-panel-wrap,
.theme-profile .auth-panel-wrap { background: var(--theme-surface); }
.theme-harbour .legal-hero { background: linear-gradient(135deg,#eef3ef,#f8eee6); }
.theme-profile .legal-hero { background: linear-gradient(135deg,#edf2f5,#fae8eb); }
.theme-harbour :is(.account-security-card,.help-topic-grid > *,.support-verify-steps form),
.theme-profile :is(.account-security-card,.help-topic-grid > *,.support-verify-steps form) { border-color: var(--theme-border); background: var(--theme-surface-soft); }
.theme-harbour .account-delete-panel,
.theme-profile .account-delete-panel { border-radius: 2px; box-shadow: none; }

/* Every theme keeps keyboard focus easy to see on its own palette. */
.theme-harbour :focus-visible { outline-color: rgba(31,103,94,.42); }
.theme-profile :focus-visible { outline-color: rgba(229,80,102,.42); }

/* Member layouts v3: composition, density and silhouettes differ per theme. */
body.theme-harbour:not(.landing-page):not(.admin-page),
body.theme-profile:not(.landing-page):not(.admin-page) { --shell: 1320px; }
.theme-harbour:not(.landing-page) main,
.theme-profile:not(.landing-page) main { min-height: 66vh; }
.theme-harbour:not(.landing-page) .kicker,
.theme-profile:not(.landing-page) .kicker { font-size: 11px; letter-spacing: .14em; }
.theme-harbour:not(.landing-page) :is(.button,.discovery-card-actions button,.interest-remove),
.theme-profile:not(.landing-page) :is(.button,.discovery-card-actions button,.interest-remove) { min-height: 42px; padding: 9px 15px; font-size: 12px; }

body.theme-harbour .main-nav a[aria-current="page"],
body.theme-profile .main-nav a[aria-current="page"] { color: #fff; box-shadow: inset 0 -3px var(--theme-highlight); }
body.theme-profile .main-nav a[aria-current="page"] { box-shadow: inset 0 -3px var(--theme-accent); }

/* Search: Harbour is an editorial two-column people catalogue. */
body.theme-harbour.discovery-page .discovery-section { padding-top: 34px; }
body.theme-harbour.discovery-page .discovery-header { position: relative; grid-template-columns: minmax(0,1fr) 285px; overflow: hidden; margin: 0; padding: 40px 42px; border: 0; color: #fff; background: linear-gradient(120deg,#17312b 0%,#1d433a 68%,#28564b 100%); }
body.theme-harbour.discovery-page .discovery-header::after { content: ""; position: absolute; width: 230px; height: 230px; right: 23%; bottom: -170px; border: 1px solid rgba(239,180,140,.28); border-radius: 50%; box-shadow: 0 0 0 38px rgba(239,180,140,.05),0 0 0 78px rgba(239,180,140,.035); pointer-events: none; }
body.theme-harbour.discovery-page .discovery-header :is(h1,p) { color: #fff; }
body.theme-harbour.discovery-page .discovery-header h1 { max-width: 820px; font-size: clamp(44px,5vw,68px); }
body.theme-harbour.discovery-page .discovery-header p { max-width: 760px; color: #c9d7d2; font-size: 15px; }
body.theme-harbour.discovery-page .discovery-header .kicker { color: #f2bd95; }
body.theme-harbour.discovery-page .discovery-principle { position: relative; z-index: 1; border-color: rgba(255,255,255,.22); border-left-color: #efb48c; background: rgba(255,255,255,.08); backdrop-filter: blur(5px); }
body.theme-harbour.discovery-page .discovery-principle > span { color: #17312b; background: #efb48c; }
body.theme-harbour.discovery-page .discovery-principle :is(strong,small) { color: #fff; }
body.theme-harbour.discovery-page .discovery-filter { margin-top: 0; border-top: 0; box-shadow: 0 22px 52px rgba(23,49,43,.12); }
body.theme-harbour.discovery-page .discovery-filter-top { padding: 25px 28px; }
body.theme-harbour.discovery-page .discovery-results-head { margin-top: 48px; }
body.theme-harbour.discovery-page .discovery-results-head h2 { font-size: 38px; }
body.theme-harbour.discovery-page .discovery-results-head p { font-size: 13px; }
body.theme-harbour.discovery-page .discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
body.theme-harbour.discovery-page .discovery-card { display: grid; grid-template-columns: minmax(230px,.88fr) minmax(0,1.12fr); min-height: 445px; border: 0; border-bottom: 5px solid #efb48c; box-shadow: 0 20px 50px rgba(23,49,43,.13); }
body.theme-harbour.discovery-page .discovery-card:hover { transform: translateY(-5px); }
body.theme-harbour.discovery-page .discovery-card-photo { height: 100%; min-height: 445px; aspect-ratio: auto; }
body.theme-harbour.discovery-page .discovery-card-body { display: flex; flex-direction: column; padding: 25px 24px 22px; }
body.theme-harbour.discovery-page .discovery-card-title h3 { font-size: 31px; }
body.theme-harbour.discovery-page .discovery-card-title p,
body.theme-harbour.discovery-page .discovery-reasons li,
body.theme-harbour.discovery-page .discovery-card-actions > a:last-child { font-size: 12px; }
body.theme-harbour.discovery-page .discovery-purpose { padding: 13px; }
body.theme-harbour.discovery-page .discovery-purpose strong { font-size: 13px; }
body.theme-harbour.discovery-page .discovery-common-traits span { font-size: 11px; }
body.theme-harbour.discovery-page .discovery-card-actions { margin-top: auto; }

/* Search: Profile uses a persistent filter rail and focused result workspace. */
body.theme-profile.discovery-page .discovery-section { padding-top: 32px; }
body.theme-profile.discovery-page .discovery-section > .shell { display: grid; grid-template-columns: 330px minmax(0,1fr); align-items: start; gap: 0 30px; }
body.theme-profile.discovery-page .discovery-header { grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) 290px; margin-bottom: 28px; padding: 33px 36px; border: 0; background: linear-gradient(120deg,#172438,#253b59); }
body.theme-profile.discovery-page .discovery-header :is(h1,p) { color: #fff; }
body.theme-profile.discovery-page .discovery-header h1 { font-size: clamp(43px,4.6vw,64px); }
body.theme-profile.discovery-page .discovery-header p { color: #c6d0d7; font-size: 14px; }
body.theme-profile.discovery-page .discovery-header .kicker { color: #f49aaa; }
body.theme-profile.discovery-page .discovery-principle { border-color: #4e647c; border-left-color: #e55066; background: #21324a; }
body.theme-profile.discovery-page .discovery-principle > span { color: #fff; background: #e55066; }
body.theme-profile.discovery-page .discovery-principle :is(strong,small) { color: #fff; }
body.theme-profile.discovery-page .discovery-filter { grid-column: 1; grid-row: 2 / span 20; position: sticky; top: 18px; border: 0; border-top: 7px solid #e55066; box-shadow: 9px 9px 0 rgba(23,36,56,.08); }
body.theme-profile.discovery-page .discovery-filter-top { grid-template-columns: 1fr; gap: 16px; padding: 25px; }
body.theme-profile.discovery-page .discovery-age-fields { gap: 10px; }
body.theme-profile.discovery-page .discovery-relation,
body.theme-profile.discovery-page .discovery-submit { grid-column: auto; }
body.theme-profile.discovery-page .discovery-submit { width: 100%; }
body.theme-profile.discovery-page .discovery-advanced-content { grid-template-columns: 1fr; gap: 18px; padding-inline: 20px; }
body.theme-profile.discovery-page .discovery-advanced-selects { grid-template-columns: 1fr; }
body.theme-profile.discovery-page .discovery-filter-foot { align-items: flex-start; flex-direction: column; padding: 15px 20px; font-size: 11px; }
body.theme-profile.discovery-page :is(.active-filter-row,.discovery-results-head,.discovery-grid,.discovery-empty,.discovery-pagination,.discovery-pool-note) { grid-column: 2; }
body.theme-profile.discovery-page .active-filter-row { margin: 0 0 18px; }
body.theme-profile.discovery-page .discovery-results-head { margin: 0 0 18px; }
body.theme-profile.discovery-page .discovery-results-head h2 { font-size: 39px; }
body.theme-profile.discovery-page .discovery-results-head p { max-width: 620px; font-size: 12px; }
body.theme-profile.discovery-page .discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
body.theme-profile.discovery-page .discovery-card { border: 0; border-top: 6px solid #e55066; box-shadow: 9px 9px 0 rgba(23,36,56,.09); }
body.theme-profile.discovery-page .discovery-card:nth-child(2n) { border-top-color: #2f746d; }
body.theme-profile.discovery-page .discovery-card-photo { aspect-ratio: 4 / 4.15; }
body.theme-profile.discovery-page .discovery-card-body { padding: 20px; }
body.theme-profile.discovery-page .discovery-card-title h3 { font-size: 30px; }
body.theme-profile.discovery-page .discovery-card-title p,
body.theme-profile.discovery-page .discovery-reasons li,
body.theme-profile.discovery-page .discovery-card-actions > a:last-child { font-size: 12px; }
body.theme-profile.discovery-page .discovery-common-traits span { font-size: 11px; }

/* Likes: Harbour uses a vertical workspace; Profile uses horizontal people cards. */
body.theme-harbour.interest-page .interest-section { display: grid; grid-template-columns: 270px minmax(0,1fr); align-items: start; gap: 0 28px; padding-top: 34px; }
body.theme-harbour.interest-page .interest-header { grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) 300px; margin: 0 0 28px; padding: 36px 40px; border: 0; color: #fff; background: linear-gradient(120deg,#17312b,#245046); }
body.theme-harbour.interest-page .interest-header :is(h1,p) { color: #fff; }
body.theme-harbour.interest-page .interest-header p { color: #cad7d2; font-size: 14px; }
body.theme-harbour.interest-page .interest-header .kicker { color: #efb48c; }
body.theme-harbour.interest-page .interest-principle { border-color: rgba(255,255,255,.2); border-left-color: #efb48c; background: rgba(255,255,255,.08); }
body.theme-harbour.interest-page .interest-principle > span { color: #17312b; background: #efb48c; }
body.theme-harbour.interest-page .interest-principle :is(strong,small) { color: #fff; }
body.theme-harbour.interest-page .interest-tabs { grid-column: 1; grid-row: 2 / span 2; position: sticky; top: 18px; display: grid; grid-template-columns: 1fr; border: 0; border-left: 6px solid #efb48c; box-shadow: 0 18px 40px rgba(23,49,43,.1); }
body.theme-harbour.interest-page .interest-tabs a { justify-content: space-between; min-height: 72px; padding: 16px 18px; border: 0; border-bottom: 1px solid var(--theme-border); text-align: left; }
body.theme-harbour.interest-page .interest-tabs a.active { color: #fff; background: #1f675e; box-shadow: none; }
body.theme-harbour.interest-page .interest-context { grid-column: 2; margin: 0 0 20px; padding: 17px 19px; }
body.theme-harbour.interest-page .interest-context p { font-size: 12px; }
body.theme-harbour.interest-page :is(.interest-grid,.interest-empty,.interest-pagination) { grid-column: 2; }
body.theme-harbour.interest-page .interest-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
body.theme-harbour.interest-page .interest-card { border: 0; border-bottom: 5px solid #efb48c; box-shadow: 0 18px 42px rgba(23,49,43,.1); }
body.theme-harbour.interest-page .interest-card-title h2 { font-size: 29px; }
body.theme-harbour.interest-page .interest-card-title p,
body.theme-harbour.interest-page .interest-status strong,
body.theme-harbour.interest-page .interest-profile-link { font-size: 12px; }
body.theme-harbour.interest-page .interest-status small { font-size: 11px; }
body.theme-harbour.interest-page .interest-note { grid-column: 1 / -1; margin-top: 28px; }

body.theme-profile.interest-page .interest-section { --shell: 1240px; padding-top: 34px; }
body.theme-profile.interest-page .interest-header { grid-template-columns: minmax(0,1fr) 300px; margin: 0; padding: 34px 38px; border: 0; border-left: 9px solid #e55066; background: #172438; }
body.theme-profile.interest-page .interest-header :is(h1,p) { color: #fff; }
body.theme-profile.interest-page .interest-header p { color: #c7d0d7; font-size: 14px; }
body.theme-profile.interest-page .interest-header .kicker { color: #f49aaa; }
body.theme-profile.interest-page .interest-principle { border-color: #486078; background: #21324a; }
body.theme-profile.interest-page .interest-principle > span { color: #fff; background: #e55066; }
body.theme-profile.interest-page .interest-principle :is(strong,small) { color: #fff; }
body.theme-profile.interest-page .interest-tabs { margin-top: 18px; border: 0; gap: 10px; overflow: visible; background: transparent; box-shadow: none; }
body.theme-profile.interest-page .interest-tabs a { border: 1px solid #ccd8de; background: #fff; box-shadow: 5px 5px 0 rgba(23,36,56,.05); }
body.theme-profile.interest-page .interest-tabs a.active { border-color: #e55066; color: #fff; background: #e55066; box-shadow: 5px 5px 0 rgba(229,80,102,.16); }
body.theme-profile.interest-page .interest-context { margin-block: 20px; }
body.theme-profile.interest-page .interest-context p { font-size: 12px; }
body.theme-profile.interest-page .interest-grid { grid-template-columns: 1fr; gap: 18px; }
body.theme-profile.interest-page .interest-card { display: grid; grid-template-columns: 260px minmax(0,1fr); border: 0; border-left: 7px solid #e55066; box-shadow: 8px 8px 0 rgba(23,36,56,.07); }
body.theme-profile.interest-page .interest-photo { height: 100%; min-height: 250px; aspect-ratio: auto; }
body.theme-profile.interest-page .interest-card-body { display: flex; flex-direction: column; justify-content: center; padding: 28px 30px; }
body.theme-profile.interest-page .interest-card-title h2 { font-size: 34px; }
body.theme-profile.interest-page .interest-card-title p,
body.theme-profile.interest-page .interest-status strong,
body.theme-profile.interest-page .interest-profile-link { font-size: 13px; }
body.theme-profile.interest-page .interest-status small { font-size: 11px; }
body.theme-profile.interest-page .interest-empty { min-height: 360px; border: 0; border-left: 9px solid #e55066; box-shadow: 9px 9px 0 rgba(23,36,56,.07); }

/* Gifts: Harbour is a warm cabinet; Profile is a graphic collection. */
body.theme-harbour.stickers-page .stickers-section,
body.theme-profile.stickers-page .stickers-section { padding-top: 34px; }
body.theme-harbour.stickers-page .stickers-header { margin: 0; padding: 37px 40px; border: 0; color: #fff; background: linear-gradient(120deg,#17312b,#285248); }
body.theme-harbour.stickers-page .stickers-header :is(h1,p) { color: #fff; }
body.theme-harbour.stickers-page .stickers-header p { color: #c9d7d2; font-size: 14px; }
body.theme-harbour.stickers-page .stickers-header .kicker { color: #efb48c; }
body.theme-harbour.stickers-page .stickers-total { min-width: 126px; min-height: 126px; border: 1px solid rgba(255,255,255,.28); color: #17312b; background: #efb48c; box-shadow: 0 0 0 10px rgba(239,180,140,.08); }
body.theme-harbour.stickers-page .sticker-access-banner { margin: 0; padding: 17px 24px; border: 0; border-left: 6px solid #efb48c; background: #fffdf8; }
body.theme-harbour.stickers-page .sticker-collection-card { padding: 30px; border: 0; border-top: 0; background: #17312b; box-shadow: 0 22px 50px rgba(23,49,43,.15); }
body.theme-harbour.stickers-page .sticker-collection-card .sticker-section-head { border-color: rgba(255,255,255,.15); }
body.theme-harbour.stickers-page .sticker-collection-card .sticker-section-head :is(h2,p,.kicker) { color: #fff; }
body.theme-harbour.stickers-page .sticker-collection-card .sticker-section-head .kicker { color: #efb48c; }
body.theme-harbour.stickers-page .sticker-catalog-grid { gap: 12px; }
body.theme-harbour.stickers-page .sticker-catalog-grid article { margin: 0; padding: 20px 12px; border: 0; background: #fffaf3; box-shadow: 0 10px 28px rgba(0,0,0,.16); transition: transform 180ms ease; }
body.theme-harbour.stickers-page .sticker-catalog-grid article:nth-child(even) { transform: translateY(12px); }
body.theme-harbour.stickers-page .sticker-catalog-grid article:hover { transform: translateY(-5px) rotate(-1deg); }
body.theme-harbour.stickers-page .sticker-archive-grid { gap: 24px; margin-top: 34px; }
body.theme-harbour.stickers-page .sticker-archive-panel { border: 0; border-top: 6px solid #efb48c; box-shadow: 0 18px 42px rgba(23,49,43,.1); }

body.theme-profile.stickers-page .stickers-header { margin: 0 0 20px; padding: 35px 38px; border: 0; border-left: 9px solid #e55066; background: #172438; }
body.theme-profile.stickers-page .stickers-header :is(h1,p) { color: #fff; }
body.theme-profile.stickers-page .stickers-header p { color: #c5ced5; font-size: 14px; }
body.theme-profile.stickers-page .stickers-header .kicker { color: #f49aaa; }
body.theme-profile.stickers-page .stickers-total { border: 0; color: #fff; background: #e55066; box-shadow: 7px 7px 0 rgba(229,80,102,.2); }
body.theme-profile.stickers-page .sticker-access-banner { margin-bottom: 20px; border: 0; border-left: 7px solid #2f746d; box-shadow: 6px 6px 0 rgba(23,36,56,.05); }
body.theme-profile.stickers-page .sticker-collection-card { padding: 28px; border: 0; border-top: 7px solid #e55066; box-shadow: 9px 9px 0 rgba(23,36,56,.07); }
body.theme-profile.stickers-page .sticker-catalog-grid { gap: 12px; }
body.theme-profile.stickers-page .sticker-catalog-grid article { padding: 22px 12px; border: 0; background: #f6f8fa; }
body.theme-profile.stickers-page .sticker-catalog-grid article:nth-child(2n) { background: #fae8eb; }
body.theme-profile.stickers-page .sticker-catalog-grid article:nth-child(3n) { background: #dceeea; }
body.theme-profile.stickers-page .sticker-catalog-grid article > div { transform: scale(1.08); }
body.theme-profile.stickers-page .sticker-archive-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 26px; }
body.theme-profile.stickers-page .sticker-archive-panel { border: 0; border-left: 7px solid #e55066; box-shadow: 8px 8px 0 rgba(23,36,56,.06); }
body.theme-profile.stickers-page .sticker-archive-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Messages: the markup keeps Classic linear, while each modern theme gets a real workspace. */
.messages-workspace,
.messages-requests-column,
.messages-conversations-column { display: contents; }
.messages-requests-empty { display: none; }

body.theme-harbour.messages-page .messages-section,
body.theme-profile.messages-page .messages-section { padding-top: 34px; }
body.theme-harbour.messages-page .messages-page-header { margin: 0 0 24px; padding: 36px 40px; border: 0; background: linear-gradient(120deg,#17312b,#285248); }
body.theme-harbour.messages-page .messages-page-header :is(h1,p) { color: #fff; }
body.theme-harbour.messages-page .messages-page-header p { color: #c9d7d2; font-size: 14px; }
body.theme-harbour.messages-page .messages-page-header .kicker { color: #efb48c; }
body.theme-harbour.messages-page .messages-page-header .button { border-color: #efb48c; color: #17312b; background: #efb48c; }
body.theme-harbour.messages-page .messages-workspace { display: grid; grid-template-columns: minmax(310px,.78fr) minmax(0,1.55fr); align-items: start; gap: 26px; }
body.theme-harbour.messages-page .messages-requests-column { display: grid; gap: 18px; }
body.theme-harbour.messages-page .messages-conversations-column { min-width: 0; display: grid; gap: 12px; }
body.theme-harbour.messages-page :is(.messages-incoming-panel,.messages-pending-panel) { margin: 0; padding: 20px; border: 0; border-top: 5px solid #efb48c; background: #fffdf8; box-shadow: 0 16px 38px rgba(23,49,43,.1); }
body.theme-harbour.messages-page .messages-list-heading { align-items: flex-start; }
body.theme-harbour.messages-page .messages-list-heading h2 { font-size: 24px; }
body.theme-harbour.messages-page .messages-list-heading p { font-size: 10px; line-height: 1.5; }
body.theme-harbour.messages-page .messages-request-list,
body.theme-harbour.messages-page .messages-pending-list { gap: 10px; overflow: visible; border: 0; background: transparent; box-shadow: none; }
body.theme-harbour.messages-page :is(.message-request-item,.message-pending-item) { grid-template-columns: 48px minmax(0,1fr); gap: 11px; min-height: 0; padding: 13px; border: 1px solid #d9e2dd; background: #fff; box-shadow: 0 7px 18px rgba(23,49,43,.05); }
body.theme-harbour.messages-page :is(.message-request-item,.message-pending-item) .message-person-avatar { width: 46px; height: 46px; }
body.theme-harbour.messages-page .message-request-actions { grid-column: 2; flex-wrap: wrap; }
body.theme-harbour.messages-page .message-pending-status { grid-column: 2; min-width: 0; justify-content: flex-start; }
body.theme-harbour.messages-page .messages-conversations-heading { margin: 0 0 4px; padding: 0 4px; }
body.theme-harbour.messages-page .messages-inbox { border: 0; border-top: 6px solid #1f675e; box-shadow: 0 20px 45px rgba(23,49,43,.11); }
body.theme-harbour.messages-page .message-inbox-item { min-height: 104px; padding: 18px 20px; }
body.theme-harbour.messages-page .message-inbox-title strong { font-size: 21px; }
body.theme-harbour.messages-page .message-inbox-preview { font-size: 11px; }
body.theme-harbour.messages-page .messages-empty { min-height: 330px; border: 0; border-top: 6px solid #1f675e; box-shadow: 0 20px 45px rgba(23,49,43,.1); }
body.theme-harbour.messages-page .messages-requests-empty { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 13px; padding: 22px; border-top: 5px solid #efb48c; background: #fffdf8; box-shadow: 0 16px 38px rgba(23,49,43,.09); }
body.theme-harbour.messages-page .messages-requests-empty > span { width: 46px; height: 46px; display: grid; place-items: center; color: #17312b; background: #efb48c; font-size: 19px; }
body.theme-harbour.messages-page .messages-requests-empty :is(strong,small) { display: block; }
body.theme-harbour.messages-page .messages-requests-empty small { margin-top: 4px; color: var(--theme-muted); line-height: 1.45; }
body.theme-harbour.messages-page .messages-privacy-note { padding: 11px 14px; border: 0; background: #dcece7; }

body.theme-profile.messages-page .messages-page-header { margin: 0 0 24px; padding: 34px 38px; border: 0; border-left: 9px solid #e55066; background: #172438; }
body.theme-profile.messages-page .messages-page-header :is(h1,p) { color: #fff; }
body.theme-profile.messages-page .messages-page-header p { color: #c6d0d7; font-size: 14px; }
body.theme-profile.messages-page .messages-page-header .kicker { color: #f49aaa; }
body.theme-profile.messages-page .messages-page-header .button { border-color: #e55066; color: #fff; background: #e55066; }
body.theme-profile.messages-page .messages-workspace { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.78fr); align-items: start; gap: 26px; }
body.theme-profile.messages-page .messages-requests-column { grid-column: 2; display: grid; gap: 18px; }
body.theme-profile.messages-page .messages-conversations-column { grid-column: 1; grid-row: 1; min-width: 0; display: grid; gap: 12px; }
body.theme-profile.messages-page :is(.messages-incoming-panel,.messages-pending-panel) { margin: 0; padding: 20px; border-left: 6px solid #e55066; background: #fff; box-shadow: 7px 7px 0 rgba(23,36,56,.07); }
body.theme-profile.messages-page .messages-list-heading { align-items: flex-start; }
body.theme-profile.messages-page .messages-list-heading h2 { font-size: 23px; }
body.theme-profile.messages-page .messages-list-heading p { font-size: 10px; line-height: 1.5; }
body.theme-profile.messages-page .messages-request-list,
body.theme-profile.messages-page .messages-pending-list { gap: 10px; overflow: visible; border: 0; background: transparent; box-shadow: none; }
body.theme-profile.messages-page :is(.message-request-item,.message-pending-item) { grid-template-columns: 47px minmax(0,1fr); gap: 10px; min-height: 0; padding: 12px 0; border: 0; border-top: 1px solid #dce3e8; background: transparent; }
body.theme-profile.messages-page :is(.message-request-item,.message-pending-item) .message-person-avatar { width: 45px; height: 45px; }
body.theme-profile.messages-page .message-request-actions { grid-column: 2; flex-wrap: wrap; }
body.theme-profile.messages-page .message-pending-status { grid-column: 2; min-width: 0; justify-content: flex-start; }
body.theme-profile.messages-page .messages-conversations-heading { margin: 0; padding: 0 3px; }
body.theme-profile.messages-page .messages-inbox { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; overflow: visible; border: 0; background: transparent; box-shadow: none; }
body.theme-profile.messages-page .message-inbox-item { grid-template-columns: 58px minmax(0,1fr) 26px; min-height: 126px; padding: 18px; border: 0; border-top: 6px solid #2f746d; background: #fff; box-shadow: 7px 7px 0 rgba(23,36,56,.07); }
body.theme-profile.messages-page .message-inbox-item.is-unread { border-left: 0; border-top-color: #e55066; background: #fff; }
body.theme-profile.messages-page .message-inbox-title { align-items: flex-start; flex-direction: column; gap: 2px; }
body.theme-profile.messages-page .message-inbox-title strong { font-size: 21px; }
body.theme-profile.messages-page .message-inbox-preview { max-width: 100%; font-size: 11px; }
body.theme-profile.messages-page .messages-empty { min-height: 350px; border: 0; border-left: 9px solid #e55066; box-shadow: 9px 9px 0 rgba(23,36,56,.07); }
body.theme-profile.messages-page .messages-requests-empty { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 12px; padding: 20px; border-left: 6px solid #2f746d; background: #fff; box-shadow: 7px 7px 0 rgba(23,36,56,.07); }
body.theme-profile.messages-page .messages-requests-empty > span { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; background: #2f746d; font-size: 18px; }
body.theme-profile.messages-page .messages-requests-empty :is(strong,small) { display: block; }
body.theme-profile.messages-page .messages-requests-empty small { margin-top: 4px; color: var(--theme-muted); line-height: 1.45; }
body.theme-profile.messages-page .messages-privacy-note { padding: 11px 14px; border: 0; border-left: 5px solid #2f746d; background: #dceeea; }

/* Profiles: Harbour is an editorial split; Profile layers the identity card over the portrait. */
body.theme-harbour.profile-view-page .profile-view-section,
body.theme-profile.profile-view-page .profile-view-section { padding-top: 34px; }
body.theme-harbour.profile-view-page .profile-preview-notice { margin-bottom: 18px; }
body.theme-harbour.profile-view-page .profile-view-hero { grid-template-columns: minmax(360px,.84fr) minmax(0,1.16fr); border: 0; border-bottom: 7px solid #efb48c; background: #17312b; box-shadow: 0 24px 58px rgba(23,49,43,.18); }
body.theme-harbour.profile-view-page .profile-gallery { padding: 18px; background: #10251f; }
body.theme-harbour.profile-view-page .profile-gallery-main { min-height: 570px; }
body.theme-harbour.profile-view-page .profile-gallery-main img { height: 100%; min-height: 570px; object-fit: cover; }
body.theme-harbour.profile-view-page .profile-gallery-thumbs { gap: 9px; margin-top: 10px; }
body.theme-harbour.profile-view-page .profile-view-intro { padding: 52px 54px; color: #fff; background: radial-gradient(circle at 100% 0,rgba(239,180,140,.13),transparent 34%),#17312b; }
body.theme-harbour.profile-view-page .profile-view-intro h1 { color: #fff; font-size: clamp(48px,5vw,72px); }
body.theme-harbour.profile-view-page .profile-location { color: #c9d7d2; font-size: 13px; }
body.theme-harbour.profile-view-page .profile-intent-panel { border: 0; border-left: 6px solid #efb48c; background: rgba(255,255,255,.07); }
body.theme-harbour.profile-view-page .profile-intent-panel :is(small,strong,p) { color: #fff; }
body.theme-harbour.profile-view-page .profile-intent-panel p { color: #c9d7d2; }
body.theme-harbour.profile-view-page .profile-quick-traits span { border-color: rgba(255,255,255,.23); color: #fff; background: rgba(255,255,255,.06); }
body.theme-harbour.profile-view-page .profile-owner-actions .button-quiet { border-color: rgba(255,255,255,.28); color: #fff; background: transparent; }
body.theme-harbour.profile-view-page .profile-story-grid { grid-template-columns: minmax(0,1.38fr) minmax(340px,.62fr); gap: 28px; }
body.theme-harbour.profile-view-page .profile-content-card { border: 0; border-top: 5px solid #1f675e; box-shadow: 0 17px 42px rgba(23,49,43,.09); }
body.theme-harbour.profile-view-page .profile-story-aside .profile-content-card { border-top-color: #efb48c; }

body.theme-profile.profile-view-page .profile-preview-notice { margin-bottom: 20px; }
body.theme-profile.profile-view-page .profile-view-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(410px,.8fr); align-items: center; min-height: 0; overflow: visible; margin-bottom: 48px; border: 0; background: transparent; box-shadow: none; }
body.theme-profile.profile-view-page .profile-gallery { width: 100%; min-width: 0; padding: 0; border: 0; background: #172438; box-shadow: 12px 12px 0 rgba(23,36,56,.12); }
body.theme-profile.profile-view-page .profile-gallery-main { aspect-ratio: 1.28 / 1; min-height: 590px; }
body.theme-profile.profile-view-page .profile-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
body.theme-profile.profile-view-page .profile-photo-count { left: 12px; right: auto; }
body.theme-profile.profile-view-page .profile-gallery-thumbs { gap: 9px; padding: 10px; background: #172438; }
body.theme-profile.profile-view-page .profile-view-intro { position: relative; z-index: 2; top: auto; right: auto; width: calc(100% + 46px); min-height: 555px; justify-content: center; padding: 46px 44px; border-top: 9px solid #e55066; background: #fff; box-shadow: 12px 12px 0 rgba(23,36,56,.13); transform: translateX(-46px); }
body.theme-profile.profile-view-page .profile-view-intro h1 { font-size: clamp(48px,5vw,70px); }
body.theme-profile.profile-view-page .profile-intent-panel { border: 0; border-left: 6px solid #e55066; background: #fae8eb; }
body.theme-profile.profile-view-page .profile-quick-traits span { border: 0; background: #e9eff3; }
body.theme-profile.profile-view-page .profile-quick-traits span:nth-child(2n) { background: #dceeea; }
body.theme-profile.profile-view-page .profile-story-grid { grid-template-columns: minmax(0,1.18fr) minmax(350px,.82fr); gap: 26px; }
body.theme-profile.profile-view-page .profile-content-card { border: 0; border-left: 7px solid #2f746d; box-shadow: 8px 8px 0 rgba(23,36,56,.06); }
body.theme-profile.profile-view-page .profile-story-aside .profile-content-card { border-left-color: #e55066; }

/* Notifications follow the same visual language as their related inbox. */
body.theme-harbour.notifications-page .notifications-header,
body.theme-profile.notifications-page .notifications-header { margin: 0 0 24px; padding: 34px 38px; border: 0; background: #17312b; }
body.theme-profile.notifications-page .notifications-header { border-left: 9px solid #e55066; background: #172438; }
body.theme-harbour.notifications-page .notifications-header :is(h1,p),
body.theme-profile.notifications-page .notifications-header :is(h1,p) { color: #fff; }
body.theme-harbour.notifications-page .notifications-header p,
body.theme-profile.notifications-page .notifications-header p { color: #c8d2d2; font-size: 14px; }
body.theme-harbour.notifications-page .notifications-header .kicker { color: #efb48c; }
body.theme-profile.notifications-page .notifications-header .kicker { color: #f49aaa; }
body.theme-harbour.notifications-page .notification-list { border: 0; border-top: 6px solid #1f675e; box-shadow: 0 20px 45px rgba(23,49,43,.1); }
body.theme-profile.notifications-page .notification-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; border: 0; background: transparent; box-shadow: none; }
body.theme-profile.notifications-page .notification-item { min-height: 126px; border: 0; border-left: 6px solid #2f746d; background: #fff; box-shadow: 7px 7px 0 rgba(23,36,56,.07); }
body.theme-profile.notifications-page .notification-item.is-unread { border-left-color: #e55066; background: #fff; }

@media (max-width: 1180px) {
  body.theme-harbour.discovery-page .discovery-grid { grid-template-columns: 1fr; }
  body.theme-harbour.discovery-page .discovery-card { grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); }
  body.theme-profile.discovery-page .discovery-section > .shell { grid-template-columns: 1fr; }
  body.theme-profile.discovery-page .discovery-filter { grid-column: 1; grid-row: auto; position: static; margin-bottom: 28px; }
  body.theme-profile.discovery-page .discovery-filter-top { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.theme-profile.discovery-page .discovery-age-fields { grid-column: span 2; }
  body.theme-profile.discovery-page .discovery-relation { grid-column: span 2; }
  body.theme-profile.discovery-page :is(.active-filter-row,.discovery-results-head,.discovery-grid,.discovery-empty,.discovery-pagination,.discovery-pool-note) { grid-column: 1; }
  body.theme-harbour.interest-page .interest-grid { grid-template-columns: 1fr; }
  body.theme-profile.profile-view-page .profile-view-hero { min-height: 0; }
  body.theme-profile.profile-view-page .profile-gallery-main { min-height: 520px; }
  body.theme-profile.profile-view-page .profile-view-intro { top: auto; min-height: 500px; }
}

@media (max-width: 900px) {
  body.theme-harbour.discovery-page .discovery-header,
  body.theme-profile.discovery-page .discovery-header,
  body.theme-harbour.interest-page .interest-header,
  body.theme-profile.interest-page .interest-header { grid-template-columns: 1fr; }
  body.theme-harbour.discovery-page .discovery-principle,
  body.theme-profile.discovery-page .discovery-principle,
  body.theme-harbour.interest-page .interest-principle,
  body.theme-profile.interest-page .interest-principle { margin-top: 22px; }
  body.theme-profile.discovery-page .discovery-filter-top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.theme-profile.discovery-page .discovery-age-fields,
  body.theme-profile.discovery-page .discovery-relation { grid-column: auto; }
  body.theme-profile.discovery-page .discovery-submit { grid-column: 1 / -1; }
  body.theme-harbour.interest-page .interest-section { display: block; }
  body.theme-harbour.interest-page .interest-tabs { position: static; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 18px; border: 0; border-top: 5px solid #efb48c; }
  body.theme-harbour.interest-page .interest-tabs a { min-height: 58px; text-align: center; }
  body.theme-harbour.messages-page .messages-workspace,
  body.theme-profile.messages-page .messages-workspace { grid-template-columns: 1fr; }
  body.theme-harbour.messages-page .messages-requests-column,
  body.theme-profile.messages-page .messages-requests-column { grid-column: 1; grid-row: auto; }
  body.theme-harbour.messages-page .messages-conversations-column,
  body.theme-profile.messages-page .messages-conversations-column { grid-column: 1; grid-row: auto; }
  body.theme-profile.messages-page .messages-inbox { grid-template-columns: 1fr; }
  body.theme-harbour.profile-view-page .profile-view-hero { grid-template-columns: 1fr; }
  body.theme-harbour.profile-view-page .profile-gallery-main,
  body.theme-harbour.profile-view-page .profile-gallery-main img { min-height: 0; }
  body.theme-harbour.profile-view-page .profile-view-intro { padding: 38px 34px; }
  body.theme-profile.profile-view-page .profile-view-hero { display: grid; grid-template-columns: 1fr; min-height: 0; margin-bottom: 26px; }
  body.theme-profile.profile-view-page .profile-gallery { width: 100%; box-shadow: none; }
  body.theme-profile.profile-view-page .profile-gallery-main { min-height: 0; }
  body.theme-profile.profile-view-page .profile-view-intro { position: static; width: 100%; min-height: 0; box-shadow: 9px 9px 0 rgba(23,36,56,.1); transform: none; }
  body.theme-harbour.profile-view-page .profile-story-grid,
  body.theme-profile.profile-view-page .profile-story-grid { grid-template-columns: 1fr; }
  body.theme-profile.notifications-page .notification-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  body.theme-harbour.discovery-page .discovery-header,
  body.theme-profile.discovery-page .discovery-header,
  body.theme-harbour.interest-page .interest-header,
  body.theme-profile.interest-page .interest-header,
  body.theme-harbour.messages-page .messages-page-header,
  body.theme-profile.messages-page .messages-page-header,
  body.theme-harbour.notifications-page .notifications-header,
  body.theme-profile.notifications-page .notifications-header { padding: 26px 21px; }
  body.theme-harbour.discovery-page .discovery-header h1,
  body.theme-profile.discovery-page .discovery-header h1 { font-size: clamp(38px,11vw,48px); }
  body.theme-harbour.discovery-page .discovery-card { display: block; min-height: 0; }
  body.theme-harbour.discovery-page .discovery-card-photo { min-height: 0; aspect-ratio: 4 / 4.2; }
  body.theme-profile.discovery-page .discovery-filter-top { grid-template-columns: 1fr; }
  body.theme-profile.discovery-page .discovery-submit { grid-column: auto; }
  body.theme-harbour.interest-page .interest-tabs { grid-template-columns: 1fr; }
  body.theme-profile.interest-page .interest-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
  body.theme-profile.interest-page .interest-tabs a { min-width: 0; gap: 4px; padding: 9px 4px; font-size: 9px; }
  body.theme-profile.interest-page .interest-tabs b { min-width: 21px; height: 21px; padding-inline: 4px; }
  body.theme-profile.interest-page .interest-card { display: block; }
  body.theme-profile.interest-page .interest-photo { min-height: 0; aspect-ratio: 4 / 3.8; }
  body.theme-profile.interest-page .interest-card-body { padding: 22px 20px; }
  body.theme-profile.stickers-page .sticker-archive-list { grid-template-columns: 1fr; }
  body.theme-harbour.stickers-page .stickers-header,
  body.theme-profile.stickers-page .stickers-header { align-items: flex-start; flex-direction: column; gap: 20px; padding: 27px 22px; }
  body.theme-harbour.stickers-page .stickers-total { min-width: 92px; min-height: 92px; }
  body.theme-harbour.stickers-page .sticker-collection-card,
  body.theme-profile.stickers-page .sticker-collection-card { padding: 20px 14px; }
  body.theme-harbour.stickers-page .sticker-catalog-grid article:nth-child(even) { transform: none; }
  body.theme-harbour.messages-page .messages-workspace,
  body.theme-profile.messages-page .messages-workspace { gap: 20px; }
  body.theme-harbour.messages-page :is(.messages-incoming-panel,.messages-pending-panel),
  body.theme-profile.messages-page :is(.messages-incoming-panel,.messages-pending-panel) { padding: 15px; }
  body.theme-profile.messages-page .message-inbox-item { min-height: 108px; }
  body.theme-harbour.profile-view-page .profile-view-intro,
  body.theme-profile.profile-view-page .profile-view-intro { padding: 30px 22px; }
  body.theme-harbour.profile-view-page .profile-view-intro h1,
  body.theme-profile.profile-view-page .profile-view-intro h1 { font-size: clamp(42px,12vw,56px); }
}

@media (max-width: 900px) {
  .admin-theme-options { grid-template-columns: 1fr; }
  .admin-theme-option > span { grid-template-columns: 150px 1fr; align-items: start; }
  .admin-theme-preview { grid-row: 1 / 5; }
  .theme-harbour.landing-page .hero-grid { grid-template-columns: 1fr; gap: 38px; }
  .theme-harbour.landing-page .hero-grid > *,
  .theme-profile.landing-page .hero-grid > *,
  .landing-login-strip-inner > * { min-width: 0; }
  .landing-login-card { justify-self: start; }
  .landing-login-strip-inner { grid-template-columns: 1fr; gap: 24px; }
  .theme-harbour .main-nav,
  .theme-profile .main-nav { background: inherit; }
}

@media (max-width: 700px) {
  .landing-login-card { padding: 25px 20px; }
  .landing-login-strip form { grid-template-columns: 1fr; }
  .theme-harbour.landing-page .hero { min-height: 0; padding: 46px 0 58px; background-position: 58% center; }
  .theme-harbour.landing-page .hero::before { background: linear-gradient(180deg,rgba(14,29,25,.94),rgba(17,34,29,.82)); }
  .theme-harbour.landing-page .hero h1 { font-size: clamp(40px,11.5vw,50px); overflow-wrap: break-word; }
  .theme-harbour.landing-page .landing-login-card { width: 100%; }
  .theme-profile.landing-page .hero h1 { font-size: clamp(40px,11.5vw,50px); overflow-wrap: break-word; }
  .theme-harbour.landing-page .hero-copy,
  .theme-profile.landing-page .hero-copy,
  .theme-harbour.landing-page .landing-member-status,
  .theme-profile.landing-page .landing-member-status { min-width: 0; }
  .theme-harbour.landing-page .trust-row,
  .theme-profile.landing-page .trust-row { grid-template-columns: 1fr; }
  .theme-harbour.landing-page .trust-row > *,
  .theme-profile.landing-page .trust-row > * { min-width: 0; overflow-wrap: anywhere; }
  .admin-theme-option > span { grid-template-columns: 115px 1fr; }
  .admin-theme-preview { height: 90px; }
}

@media (prefers-reduced-motion: reduce) {
  .admin-theme-option > span { transition: none; }
}

/* Keep the hybrid palette last in the cascade; member pages also carry the
 * Profile layout class, while the landing page carries the Harbour class. */
body.theme-hybrid {
  --wine: #1f675e;
  --wine-dark: #172622;
  --wine-soft: #4f8a80;
  --rose: #dda17e;
  --rose-pale: #f1dfd1;
  --cream: #f1eee8;
  --paper: #fffdf8;
  --ink: #27312e;
  --muted: #6a746f;
  --line: #d9d8cf;
  --green: #1f675e;
  --green-pale: #dcebe6;
  --sand: #d8b58d;
  --shadow: 0 22px 60px rgba(25,43,38,.14);
  --shadow-soft: 0 12px 34px rgba(25,43,38,.09);
  --theme-page: #e9ede9;
  --theme-surface: #fffdf8;
  --theme-surface-soft: #f3f5f1;
  --theme-strong: #17312b;
  --theme-strong-alt: #21483f;
  --theme-text: #26332f;
  --theme-muted: #66756f;
  --theme-border: #cbd6d0;
  --theme-accent: #1f675e;
  --theme-accent-soft: #dcebe6;
  --theme-highlight: #efb48c;
  --theme-highlight-soft: #f6e3d5;
  --theme-work-shadow: 7px 7px 0 rgba(23,49,43,.065);
  background: #f1eee8;
}
.theme-hybrid .site-header { border-color: rgba(255,255,255,.1); background: #172622; }
.theme-hybrid .brand { color: #fff; }
.theme-hybrid .brand-mark { color: #172622; background: #f3e2d2; }
.theme-hybrid .main-nav { color: #e7e4dd; }
.theme-hybrid .main-nav > a:not(.button):hover,
.theme-hybrid .main-nav > a:not(.button):focus-visible { color: #f2bd95; }
.theme-hybrid .main-nav .button-primary { color: #172622; background: #f2bd95; }
.theme-hybrid .nav-toggle { border-color: #527067; color: #fff; background: #21352f; }
.theme-hybrid .button-primary { background: #1f675e; box-shadow: 0 10px 24px rgba(31,103,94,.2); }
.theme-hybrid .site-footer { border-top-color: #d99c78; background: #111c19; }
.theme-hybrid .footer-free-promise { border-color: #3c5d54; background: #172622; }
.theme-hybrid .footer-bottom { border-color: #31443e; }
.theme-hybrid .admin-bar { background: #172622; }
.theme-hybrid .admin-sidebar { border-color: #ccd5d0; background: #f8f6f1; }
.theme-hybrid .admin-sidebar nav a[aria-current="page"] { border-color: #1f675e; color: #174d47; background: #dfece8; }
.theme-hybrid .auth-aside { background: linear-gradient(145deg,#172622,#244a41); }
.theme-hybrid .auth-aside .eyebrow { color: #efb48c; }
.theme-hybrid .conversation-message.is-own .conversation-bubble { border-color: #1f675e; background: #1f675e; }
.theme-hybrid .dashboard-card,
.theme-hybrid .admin-panel { box-shadow: 7px 7px 0 rgba(23,49,43,.055); }
.theme-hybrid .sidebar-avatar { color: #17312b; background: #efb48c; }
.theme-hybrid .dashboard-nav a:hover,
.theme-hybrid .dashboard-nav a.active { border-left-color: #efb48c; background: #21483f; }
.theme-hybrid .dashboard-nav i { color: #17312b; background: #efb48c; }
.theme-hybrid .profile-guidance li span { color: #efb48c; }
.theme-hybrid .legal-hero { background: linear-gradient(135deg,#eef3ef,#f8eee6); }
.theme-hybrid .board-hero { border-color: #385b52; background: linear-gradient(135deg,#17312b,#285248); }
.theme-hybrid .board-hero .kicker { color: #efb48c; }
.theme-hybrid :focus-visible { outline-color: rgba(31,103,94,.42); }
