/* LustWire 1.22 — a composed browse workspace on charcoal and warm paper. */
:root {
  --bg:#f3f1ed;
  --panel:#fff;
  --panel2:#ebe8e3;
  --text:#242128;
  --muted:#67616b;
  --line:#ddd9d5;
  --rose:#75405b;
  --rose-dark:#512b40;
  --ink:#1d2026;
  --ink-soft:#282b33;
  --paper:#f3f1ed;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --surface-shadow:0 1px 3px #24212807,0 8px 24px #24212804;
}
html { scroll-padding-top:100px; }
body { background:var(--bg); font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased; }
main { margin-left:236px; }
.container { width:min(1320px,calc(100% - 64px)); }
.section { padding-block:40px; scroll-margin-top:0; }
.eyebrow { color:#775166; font-size:10px; letter-spacing:1.65px; }
.button { min-height:46px; padding:12px 20px; border-radius:var(--radius-sm); font-size:13px; font-weight:600; box-shadow:none; }
.button-primary { background:var(--rose); color:#fff; border:1px solid var(--rose); box-shadow:0 2px 3px #331e2a0b; }
.button-primary:hover { background:#5c3046; border-color:#5c3046; box-shadow:none; transform:none; }
.button-secondary { color:#3a303b; background:#fff; border-color:#d6d0d4; }
.button-secondary:hover { background:#f5f2f3; border-color:#a58d9c; }
.button-quiet,.text-link { color:#623e53; font-size:13px; min-height:44px; }
.text-link:hover { color:#45263a; }
.icon-button { min-width:44px; min-height:44px; border-color:#dad5d9; color:#5d4c5c; background:#fff; }
.icon-button:hover { background:#efe9ed; border-color:#b09aa7; }
.round-button { background:var(--rose); color:#fff; }
.round-button:hover { background:#5c3046; }
:focus-visible { outline:2px solid #75405b; outline-offset:4px; }
input::placeholder,textarea::placeholder { color:#79727c; opacity:1; }
.small-note,.platform-dialog .small-note { color:#675e69; font-size:13px; line-height:1.8; }
::selection { color:#fff; background:#75405b; }

/* A single dark navigation frame keeps the page canvas quiet. */
.app-sidebar { width:236px; background:#1d2026; padding:25px 18px 18px; border-right:1px solid #ffffff0a; color:#f4f0ed; }
.sidebar-brand { margin:0 8px 29px; font-size:28px; color:#f4f0ed; }
.brand .brand-accent { color:#dfb7ca; }
.brand small { color:#b6b1b8; font-size:7px; letter-spacing:1.1px; }
.brand img { width:33px; height:33px; border-radius:8px; }
.sidebar-label { font-size:10px; color:#9e9aa5; letter-spacing:1.25px; padding-inline:14px; margin-bottom:11px; }
.side-nav { gap:4px; margin-bottom:22px; }
.side-nav a,.side-nav button { font-size:13px; font-weight:500; min-height:46px; padding:11px 14px; color:#c4c0ca; border-radius:var(--radius-sm); gap:13px; }
.side-nav .icon { width:19px; height:19px; }
.side-nav a.active { color:#fff; background:#ffffff0c; box-shadow:inset 3px 0 #dfb7ca; }
.side-nav a.active .icon { color:#dfb7ca; }
.side-nav a:hover,.side-nav button:hover { background:#ffffff0b; color:#fff; }
.app-sidebar :focus-visible,.topbar :focus-visible,.creator-invite :focus-visible,.live-empty :focus-visible,.video-stage :focus-visible { outline-color:#e5bed0; }
.sidebar-promo { padding:18px 16px; background:#292c34; border:1px solid #41404a; border-radius:var(--radius-md); }
.sidebar-promo>.icon { color:#dfb7ca; }
.sidebar-promo h3 { color:#f7f2ef; font-size:25px; margin:12px 0; line-height:1.1; }
.sidebar-promo p { color:#c5bfca; font-size:12px; line-height:1.75; }
.sidebar-promo>.button { background:#ead9e0; border-color:#ead9e0; color:#412d39; font-size:12px; min-height:44px; margin-top:14px; padding:10px; }
.sidebar-install { color:#c5c0cb; font-size:12px; min-height:48px; border-color:#ffffff15; }
.sidebar-legal { color:#b1aab8; font-size:10px; line-height:1.7; }
.topbar { margin-left:236px; height:76px; padding:0 32px; gap:22px; background:#22252bf5; border-color:#3b3b43; color:#f4f0ed; box-shadow:0 2px 12px #14151c10; backdrop-filter:blur(16px); }
.page-breadcrumb { font-size:12px; color:#b3aebb; gap:12px; }
.page-breadcrumb>strong { color:#f4f0ed; font-weight:500; }
.page-breadcrumb>span { color:#77717d; }
#headerSearchHost { min-width:0; flex:1; max-width:460px; }
.topbar .search-field { width:100%; min-height:44px; border-color:#4c4a54; border-radius:7px; box-shadow:none; background:#2c2f37; }
.topbar .search-field:focus-within { border-color:#dfb7ca; box-shadow:0 0 0 2px #dfb7ca1c; }
.search-field input { font-size:13px; color:#332d37; }
.topbar .search-field input { color:#f5f0f2; }
.topbar .search-field input::placeholder { color:#b7b0be; }
.search-field .icon { color:#79717d; width:18px; height:18px; }
.topbar .search-field .icon { color:#c3bac9; }
.search-hint { display:none; }
.header-actions { gap:10px; }
.header-actions .button { min-height:44px; font-size:12px; padding:10px 16px; }
.header-actions .button-quiet { color:#eee7ed; }
.header-actions .join-button { background:#e8d4de; border-color:#e8d4de; color:#3c2935; }
.header-actions .join-button:hover { background:#f8edf2; border-color:#f8edf2; }
.account-button { width:44px; height:44px; color:#f5eaf0; background:#46404d; border-color:#6a5e70; }
.account-button:hover { background:#5b4d60; }
.account-button .icon { width:19px; height:19px; }
.connection { color:#f0d4b7; border-color:#85745f; background:#3c342c; }

/* A dark editorial opening gives the brand a distinct point of view. */
.hero { min-height:440px; padding:44px; margin-top:28px; margin-bottom:8px; border:1px solid #2e3037; border-radius:var(--radius-lg); color:#f8f4ee; background:#22242b; box-shadow:0 15px 45px #24212b10; }
.hero-copy { max-width:54%; }
.hero .eyebrow { color:#d5b1c3; font-size:10px; letter-spacing:1.8px; }
.hero .tiny-star { display:none; }
.hero h1 { color:#f8f4ee; font-size:clamp(50px,4.8vw,78px); line-height:1.02; letter-spacing:-1.7px; margin:25px 0; }
.hero h1 em { color:#e7bdd0; }
.hero-copy>p { color:#cdc6d1; font-size:14px; line-height:1.85; max-width:340px; }
.hero-art { left:48%; width:52%; background:#302b30; }
.hero-art img { object-position:75% 35%; }
.hero-art:before { background:linear-gradient(90deg,#22242b 0,#22242be6 7%,#22242b22 45%,#18172010); }
.hero-actions { margin-top:26px; gap:24px; }
.hero-actions>.button { background:#ead7e0; border-color:#ead7e0; color:#3f2b37; min-height:48px; padding:13px 20px; font-size:13px; }
.hero-actions>.button:hover { background:#fff4f8; border-color:#fff4f8; }
.hero-actions>.text-link { font-size:12px; color:#e7dfe8; }
.hero-actions>.text-link span { color:#e7bdd0; }
.hero :focus-visible { outline-color:#edc9da; }
.hero-edition { font-size:9px; letter-spacing:1.5px; color:#f5e7ee; top:26px; right:26px; text-shadow:0 1px 4px #18141d; }
.hero-creator { border-radius:8px; padding:12px 15px; right:24px; bottom:24px; border-color:#ffffff35; background:#222029d9; }
.hero-creator>img { width:40px; height:40px; }
.hero-creator strong { font-size:13px; }
.hero-creator small { font-size:11px; color:#d7cad7; margin-top:2px; }

.section-heading { margin-bottom:24px; align-items:flex-end; gap:24px; }
.section-heading h2 { font:600 clamp(26px,2.2vw,33px)/1.23 var(--sans); color:#25232b; margin:9px 0; letter-spacing:-1px; }
.section-heading p { font-size:14px; color:#6b636e; line-height:1.7; margin:0; }
.section-heading>.text-link { font-size:13px; }
.section-heading .eyebrow { font-size:10px; }
.discovery-console { margin-bottom:26px; border:1px solid #dcd4db; border-radius:var(--radius-md); background:#fff; box-shadow:var(--surface-shadow); }
.discovery-console:focus-within { border-color:#bda3b4; }
.discovery-tools { border:0; border-bottom:1px solid #e9e1e7; border-radius:0; background:transparent; padding:17px 20px; margin-bottom:0; gap:16px; }
.pills { flex:0 1 auto; max-width:100%; gap:3px; min-width:0; padding:4px; margin:0; border:1px solid #e7dfe5; border-radius:8px; background:#f6f2f5; }
.pill { flex-shrink:0; min-height:44px; padding:10px 17px; border-radius:5px; font-size:13px; border-color:transparent; color:#655369; background:transparent; }
.pill.active { background:#292a32; border-color:#292a32; color:#fff; }
.pill.active:hover { background:#39323c; border-color:#39323c; color:#fff; }
.pill:focus-visible { outline-offset:1px; }
.pill .icon { width:15px; height:15px; }
.curated-label { font-size:10px; color:#756775; letter-spacing:1px; white-space:nowrap; }
.discovery-refine { margin:0; padding:13px 20px; gap:18px; border:0; border-radius:0; background:transparent; }
#creatorResults { font-size:13px; color:#655a67; }
.member-filter,.creator-sort { font-size:12px; color:#5e5362; }
.creator-sort select { font-size:13px; background:#fff; border-color:#d5ced6; color:#443549; min-height:44px; border-radius:6px; }
.creator-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.creator-card { border:1px solid #dcd3db; border-radius:var(--radius-md); box-shadow:var(--surface-shadow); background:#fff; }
.creator-card:hover { transform:translateY(-2px); box-shadow:0 12px 28px #28212e10; border-color:#b29ba9; }
.creator-card:focus-within { border-color:#75405b; box-shadow:0 0 0 2px #75405b20,var(--surface-shadow); }
.creator-cover { height:auto; aspect-ratio:4/4.5; }
.creator-cover:before { background:linear-gradient(0deg,#1f1a251f,transparent 40%); }
.room-status { font-size:10px; line-height:1.5; left:14px; top:14px; padding:6px 8px; letter-spacing:.45px; border-radius:4px; background:#222029d9; max-width:calc(100% - 76px); }
.follow-button { width:44px; height:44px; top:10px; right:10px; background:#24212c99; border-color:#ffffff70; }
.follow-button:hover { background:#382d3abf; }
.creator-body { padding:20px; gap:0; }
.creator-name-row h3 { font-size:17px; color:#28212d; line-height:1.4; letter-spacing:-.35px; }
.sample-star { display:none; }
.creator-handle { color:#796a7b; font-size:12px; margin:5px 0 10px; }
.creator-meta { font-size:11px; line-height:1.7; color:#66596d; margin-top:0; padding-top:10px; border-top:1px solid #eee7ed; flex-wrap:wrap; }
.creator-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; overflow:hidden; min-height:44px; font-size:13px; line-height:1.7; color:#655a67; margin:12px 0 18px; }
.creator-body>.button { width:100%; padding:11px 13px; background:#f7f3f6; border:1px solid #ded1db; color:#60374f; min-height:46px; font-size:12px; font-weight:600; gap:12px; justify-content:space-between; margin-top:auto; border-radius:var(--radius-sm); }
.creator-body>.button:hover { background:#eee5eb; border-color:#cbb5c2; color:#452439; }
.preview-caption { font-size:12px; color:#716574; margin-top:20px; line-height:1.7; }
.empty-state p { color:#726372; font-size:14px; }
.empty-state h3 { color:#49364a; }

/* Feed and creator tools share one surface and spacing system. */
.feed-section { border-color:var(--line); margin-top:12px; }
.feed-layout { grid-template-columns:minmax(0,1fr) 290px; gap:28px; align-items:start; }
.community-toolbar { padding:0 0 20px; gap:10px; background:transparent; border:0; border-radius:0; margin-bottom:0; }
.community-shortcut { min-height:42px; padding:10px 16px; font-size:12px; border-color:#dbd1db; color:#5b4055; border-radius:7px; }
.community-count { background:#efe4eb; color:#713b53; }
/* 1.23 feed browsing: existing views and access filters, with local refinements. */
.feed-console { margin-bottom:24px; min-width:0; border:1px solid #dcd3db; border-radius:var(--radius-md); background:#fff; box-shadow:var(--surface-shadow); }
.feed-console:focus-within { border-color:#bba1b3; }
.feed-console .feed-toolbar { gap:14px; padding:15px 18px; margin:0; border-bottom:1px solid #e9e1e7; }
.feed-console .feed-tabs { display:flex; flex:0 1 auto; min-width:0; max-width:100%; gap:3px; padding:3px; border:1px solid #e7dce5; border-radius:7px; overflow:auto; background:#f6f1f5; scrollbar-width:thin; }
.feed-console .feed-tabs button { flex-shrink:0; min-height:44px; padding:9px 14px; border:1px solid transparent; border-radius:5px; font-size:13px; font-weight:500; color:#70596d; white-space:nowrap; }
.feed-console .feed-tabs button.active { color:#fff; background:#2e2934; border-color:#2e2934; }
.feed-console .feed-tabs button.active:after { display:none; }
.feed-console .filter-unlocks { flex-shrink:0; width:44px; height:44px; min-width:44px; min-height:44px; margin:0; border-radius:var(--radius-sm); border-color:#d4c5d0; background:#fff; color:#75405b; }
.feed-console .filter-unlocks[aria-pressed=true] { background:#75405b; border-color:#75405b; color:#fff; }
.feed-console .filter-unlocks .icon { width:18px; height:18px; }
.feed-console .feed-refine-controls { display:grid; grid-template-columns:minmax(0,1fr) 166px; gap:17px; padding:18px 18px 16px; align-items:start; }
.feed-console .feed-search-group { min-width:0; }
.feed-console .feed-search-group>label,.feed-console .feed-sort { display:grid; gap:8px; font-size:12px; line-height:1.6; color:#67495f; font-weight:500; min-width:0; }
.feed-console .feed-search-group>label { margin-bottom:8px; }
.feed-console .feed-search-field { display:flex; align-items:center; gap:9px; width:100%; min-height:46px; border:1px solid #d2bfcd; border-radius:var(--radius-sm); background:#fcfafb; padding:0 12px; }
.feed-console .feed-search-field:focus-within { border-color:#8a5d77; outline:2px solid #75405b; outline-offset:2px; }
.feed-console .feed-search-field>.icon { flex-shrink:0; width:17px; height:17px; color:#8a6a80; }
.feed-console .feed-search-field>input { width:100%; min-width:0; min-height:44px; border:0; padding:10px 0; background:transparent; color:#4e3047; font:14px/1.6 var(--sans); outline:none; }
.feed-console .feed-search-field>input::placeholder { color:#806779; }
.feed-console #feedSearchHelp { font-size:12px; line-height:1.7; margin:7px 0 0; color:#826879; }
.feed-console .feed-sort select { width:100%; max-width:100%; min-width:0; min-height:46px; padding:10px 11px; border:1px solid #d2bfcd; border-radius:var(--radius-sm); background:#fff; color:#59384f; font:14px/1.6 var(--sans); }
.feed-console .feed-results-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:7px 14px; min-height:59px; padding:8px 18px; border-top:1px solid #ede4eb; background:#faf7f9; border-radius:0 0 var(--radius-md) var(--radius-md); }
.feed-console #feedResults { margin:0; min-width:0; color:#75546b; font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.feed-console #resetFeed { min-height:44px; font-size:12px; padding:8px 0; flex-shrink:0; text-align:left; }
.feed-console [hidden],#feedEmpty [data-action=reset-feed][hidden] { display:none!important; }
#feedEmpty [data-action=reset-feed] { min-height:44px; margin:6px; }
.feed-console :is(button,select):focus-visible { outline:2px solid #75405b; outline-offset:3px; }
.feed-console .feed-tabs button:focus-visible { outline-offset:0; }
.post-card { border:1px solid #ddd6dc; background:#fff; border-radius:10px; box-shadow:var(--surface-shadow); margin-bottom:28px; overflow:hidden; }
.post-header { padding:22px; gap:12px; }
.avatar { width:44px; height:44px; font-size:13px; background:#efe4eb; color:#713b53; }
.post-identity strong { font-size:14px; line-height:1.5; color:#382c3b; }
.post-identity small { font-size:12px; color:#716373; line-height:1.6; margin-top:3px; }
.post-creator-link { display:block; padding:0; min-height:28px; text-align:left; background:none; max-width:100%; color:inherit; }
.post-creator-link:hover strong { color:#793c58; text-decoration:underline; text-underline-offset:3px; }
.post-header>button.avatar { border:0; padding:0; flex-shrink:0; }
.post-header>button.avatar:hover { outline:2px solid #c9b1c2; outline-offset:2px; }
.post-header .icon-button { border:0; background:transparent; color:#7e6c7e; }
.post-media { min-height:0; height:auto; aspect-ratio:4/3; background:#e9e2e8; }
.post-media.local-media>img,.post-media.local-media>video { width:100%; height:100%; object-fit:contain; background:#211b25; }
.post-media.photo-post { min-height:0; }
.post-copy { padding:22px 22px 14px; }
.post-copy>p { color:#4e4654; font-size:14px; line-height:1.85; margin:0 0 16px; }
.post-actions { gap:14px; padding-top:10px; border-top:1px solid #ece4eb; }
.post-action { min-height:44px; font-size:12px; color:#6f556a; }
.post-action-end { font-size:12px; }
.post-action[aria-pressed=true] { color:#8c335c; }
.post-comments { padding:20px 22px; border-color:#e3dbe2; background:#f8f6f7; }
.comment-item { color:#655168; font-size:13px; }
.comment-form input { font-size:14px; background:#fff; color:#49384b; border-color:#dcd1db; }
.locked-overlay strong { font-size:29px; }
.locked-overlay small { font-size:12px; }
.post-art-caption { font-size:10px; }
.creator-invite { padding:30px 26px; border-radius:10px; background:#262831; border:1px solid #35333d; }
.creator-invite h3 { font-size:36px; line-height:1.08; margin:18px 0; }
.creator-invite p { font-size:13px; color:#ddcbdc; line-height:1.8; }
.creator-invite .eyebrow { font-size:9px; color:#dfb9ce; }
.creator-invite .button { font-size:12px; background:#ecd9e4; color:#45283b; }
.creator-invite small { font-size:12px; color:#d0c2d0; line-height:1.75; }
.sidebar-note { padding:25px 22px; border:1px solid #e0d6e0; border-radius:12px; background:#fff; margin-top:20px; }
.sidebar-note h3 { font-size:15px; color:#473347; line-height:1.5; }
.sidebar-note p { font-size:13px; color:#6e5e6d; line-height:1.8; }
.sidebar-note .text-link { font-size:12px; }
.install-card { background:#fff; border-color:#dcd3db; border-radius:8px; color:#553e50; padding:20px; }
.install-card strong { font-size:13px; }
.install-card small { font-size:12px; color:#756473; }

/* Matching uses the same quiet palette; the people remain the focal point. */
.meet-section { border-color:var(--line); }
.meet-layout { gap:28px; grid-template-columns:minmax(0,1fr) 290px; }
.meet-deck-panel { border:1px solid #ddd6dc; background:#fff; border-radius:10px; padding:26px; box-shadow:var(--surface-shadow); }
.meet-label { color:#39303e; font-size:14px; font-weight:600; }
.meet-settings-button,.meet-matches-button { min-height:44px; border-radius:6px; background:#fff; color:#604457; border-color:#d8cbd5; font-size:12px; }
.meet-settings-summary,.meet-state { font-size:13px; color:#6c5c6d; line-height:1.75; }
.meet-filters>label { border-color:#ddd2dc; background:#fbf9fa; border-radius:7px; }
.meet-filters input,.meet-filters select { font-size:13px; color:#60495a; }
.meet-stack { max-width:430px; }
.meet-stack:has(.meet-swipe-card):before { display:none; }
.meet-swipe-card { border-color:#d7cbd5; border-radius:10px; box-shadow:0 10px 25px #34203610; }
.meet-card-photo { height:365px; }
.meet-card-name h3 { font-size:38px; }
.meet-card-body { padding:20px 22px; }
.meet-card-meta { font-size:12px; color:#76536b; }
.meet-card-body>p { font-size:13px; color:#705a6c; line-height:1.8; }
.meet-tags>span { background:#f5f1f4; color:#644c60; border-color:#e0d4dd; font-size:12px; padding:5px 10px; border-radius:4px; }
.meet-swipe-actions>.meet-like { background:#793c58; border-color:#793c58; box-shadow:0 5px 15px #713b5318; }
.meet-swipe-actions>.meet-like:hover { background:#5e2c44; }
.meet-swipe-actions>.meet-pass { background:#fff; color:#74546c; border-color:#d8c8d4; }
.meet-swipe-actions>.meet-rewind { background:#f7f1e8; color:#8c642e; border-color:#e6d7bd; }
.meet-swipe-actions>button>span { font-size:10px; }
.meet-rewind-hint,.meet-privacy { font-size:12px; color:#715c6c; line-height:1.8; }
.meet-match-rail { border-radius:10px; border-color:#ddd6dc; background:#fff; }
.meet-rail-heading { padding:25px 22px; }
.meet-rail-heading h3 { font:600 22px/1.3 var(--sans); color:#312836; letter-spacing:-.6px; margin-top:9px; }
.meet-rail-heading>.eyebrow { font-size:9px; }
.meet-no-matches { padding:30px 24px; color:#765d73; }
.meet-no-matches>strong { font-size:13px; }
.meet-no-matches>p,.meet-rail-note>p { font-size:13px; color:#6e5c6b; }
.meet-rail-note { background:#f6f3f5; padding:24px; }
.meet-rail-note>h4 { font-size:14px; color:#62465e; }
.meet-rail-note>.text-link { font-size:12px; }
.meet-empty { background:#f6f3f5; border-color:#ded3dc; min-height:340px; border-radius:8px; }
.meet-empty>h3 { font:600 25px/1.3 var(--sans); letter-spacing:-.7px; color:#483544; }
.meet-empty>p { font-size:13px; color:#715a6a; }

.live-status,.schedule-status { color:#796375; font-size:13px; }
.live-empty { background:#272932; border:1px solid #383440; border-radius:10px; padding:32px; }
.live-empty h3 { font:600 27px/1.3 var(--sans); letter-spacing:-.6px; }
.live-empty p { font-size:13px; color:#ddcbdc; }
.live-empty .eyebrow { color:#dfb9ce; font-size:9px; }
.live-empty>.button { background:#eddbe5; color:#492c40; }
.broadcast-card,.schedule-card { border-color:#ddd6dc; border-radius:10px; box-shadow:var(--surface-shadow); }
.broadcast-card h3,.schedule-card h4 { font-size:16px; color:#483146; }
.broadcast-card p,.schedule-date { font-size:13px; }
.broadcast-card small,.schedule-creator { font-size:12px; color:#7e6578; }
.schedule-heading h3 { font:600 24px/1.3 var(--sans); letter-spacing:-.6px; color:#352a39; }
.schedule-tools .text-link,.schedule-actions .button,.schedule-actions .text-link { font-size:12px; }
.private-layout { border-radius:12px; border-color:#dcd1dc; }
.video-stage { background:#252730; min-height:420px; }
.room-label { font-size:10px; }
.video-center h3 { font-size:44px; }
.video-center p { font-size:13px; color:#d1bdce; }
.video-controls>span { font-size:11px; color:#cab4c6; }
.chat-panel { background:#fdfbfc; border-color:#e1d6df; }
.chat-header { padding:24px; border-color:#e9dfe6; }
.chat-header strong { color:#4d3449; font-size:15px; }
.chat-header small { color:#81687c; font-size:12px; }
.chat-messages { padding:24px; }
.chat-panel .small-note { color:#7d6478; font-size:13px; }
.chat-form { border-color:#e1d5df; padding:18px 24px; }
.chat-form .button { font-size:13px; }
.preview-tag { color:#80596f; font-size:10px; }
.support-banner { border:1px solid #dcd2db; background:#eae4e8; border-radius:10px; padding:42px; gap:40px; }
.support-banner h2 { color:#45313e; font-size:48px; line-height:1.05; }
.support-banner p { color:#695464; font-size:14px; line-height:1.8; }
.support-options button { border-color:#d2c4ce; padding-block:22px; }
.support-options strong { color:#583b50; font-size:15px; }
.support-options small { color:#7c6575; font-size:12px; }
.footer { border-color:#e1d7df; padding-bottom:34px; }
.footer-main>span { color:#7d6678; font-size:12px; }
.footer-main button { color:#6f5066; font-size:12px; }
.footer-bottom { font-size:11px; color:#887381; }

/* Account, review and call dialogs keep their existing workflows. */
.app-dialog { background:#fcfbf9; color:#3e323e; border:1px solid #d8cfd7; border-radius:12px; box-shadow:0 26px 95px #14141f45; }
.app-dialog::backdrop { background:#171820a3; backdrop-filter:blur(7px); }
.app-dialog:not(.profile-dialog) h2 { color:#302733; }
.app-dialog .dialog-copy { color:#685466; font-size:14px; line-height:1.85; }
.platform-form label { color:#5f4559; font-size:13px; }
.platform-form input:not([type=checkbox]),.platform-form textarea,.platform-form select { border-color:#cec3cd; color:#413043; background:#fff; border-radius:6px; }
.platform-form input:focus-visible,.platform-form textarea:focus-visible,.platform-form select:focus-visible { outline:2px solid #75405b; outline-offset:3px; }
.platform-form input[type=checkbox] { accent-color:#75405b; }
.check-row { color:#634b5e; font-size:13px!important; line-height:1.8; }
.age-content h2 { font-size:48px; }
.age-content p { color:#6b5264; font-size:14px; }
.age-content .eyebrow { font-size:10px; }
.platform-dialog .platform-error,.form-error { font-size:13px; }
.messages-dialog .thread-messages { background:#f5f2ef; }
.messages-dialog .thread-main { background:#f5f2ef; border-color:#ddd3dc; }
.messages-dialog .thread-sidebar { background:#252730; border-color:#3b3844; }
.messages-dialog .thread-heading { background:#fff; border-color:#ded4dd; }
.messages-dialog .messenger-status,.messages-dialog .conversation-welcome p { color:#695668; font-size:13px; line-height:1.8; }
.messages-dialog .thread-search { background:#fcfafb; border-color:#dfd3dc; }
.messages-dialog .direct-form { background:#fff; border-color:#ddd3dc; }

@media(min-width:1800px) {
  .creator-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:1200px) and (min-width:901px) {
  .app-sidebar { width:210px; padding-inline:14px; }
  main,.topbar { margin-left:210px; }
  .topbar { padding-inline:28px; gap:16px; }
  .container { width:calc(100% - 56px); }
  .page-breadcrumb { display:none; }
  .hero { padding:36px; min-height:410px; }
  .hero h1 { font-size:58px; }
  .hero-copy { max-width:56%; }
  .hero-art { left:48%; width:52%; }
  .hero-actions { gap:16px; }
  .hero-actions>.text-link { display:none; }
  .creator-grid { gap:18px; }
  .creator-body { padding:16px; }
  .creator-name-row h3 { font-size:15px; }
  .feed-layout,.meet-layout { grid-template-columns:minmax(0,1fr) 250px; gap:20px; }
  .meet-deck-panel { padding:22px 20px; }
  .meet-toolbar { flex-wrap:wrap; }
  .meet-toolbar-actions { width:100%; justify-content:space-between; }
}
@media(max-width:900px) {
  #mobileSearchHost input { font-size:16px; }
  .feed-console .feed-search-field>input,.feed-console .feed-sort select { font-size:16px; }
  #mobileSearchHost { flex:1 1 100%; }
  #mobileSearchHost .search-field { min-width:0; border-radius:var(--radius-sm); border-color:#d6c8d3; }
  .app-sidebar { display:none; }
  main,.topbar { margin-left:0; }
  .topbar { height:74px; padding-inline:24px; gap:20px; }
  .mobile-brand { display:flex; font-size:26px; color:#f4f0ed; }
  .mobile-brand .brand-accent { color:#dfb7ca; font-size:31px; }
  .brand small { display:none; }
  .page-breadcrumb { display:none; }
  .container { width:calc(100% - 48px); }
  .hero { min-height:400px; padding:34px; margin-top:24px; }
  .hero h1 { font-size:60px; }
  .hero-copy { max-width:55%; }
  .hero-actions { gap:16px; }
  .hero-actions>.text-link { display:none; }
  .hero-creator small { display:none; }
  .creator-grid { gap:18px; }
  .creator-body { padding:16px; }
  .creator-name-row h3 { font-size:16px; }
  .feed-layout { display:block; }
  .feed-sidebar { display:none; }
  .meet-layout { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }
  .meet-toolbar { flex-wrap:wrap; }
  .meet-toolbar-actions { width:100%; justify-content:space-between; }
  .meet-deck-panel { padding:22px; }
  .mobile-nav { background:#22252bf7; border-color:#4c414e; box-shadow:0 -4px 20px #19152014; backdrop-filter:blur(16px); }
  .mobile-nav>a,.mobile-nav>button { color:#c2bac9; font-size:11px; font-weight:500; min-height:56px; }
  .mobile-nav .mobile-meet:not(.active) { color:#c2bac9!important; }
  .mobile-nav>a.active,.mobile-nav .mobile-meet.active { color:#f2ccde!important; }
  .mobile-nav>a.active { background:#ffffff06; }
  .mobile-nav .mobile-meet>.meet-nav-icon { background:transparent; color:inherit; border:0; box-shadow:none; width:24px; height:24px; margin:0; }
  .mobile-nav .mobile-meet.active>.meet-nav-icon { background:transparent; color:#f2ccde; }
  .mobile-nav :focus-visible { outline-color:#e8c2d4; outline-offset:-4px; }
}
@media(max-width:680px) {
  html { scroll-padding-top:88px; }
  body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .container { width:calc(100% - 36px); }
  .section { padding-block:32px; scroll-margin-top:0; }
  .topbar { height:70px; padding-inline:18px; gap:12px; }
  .mobile-brand { font-size:25px; }
  .mobile-brand .brand-accent { font-size:29px; }
  .mobile-brand img { width:29px; height:29px; }
  #headerSearchHost { display:none; }
  .header-actions { gap:7px; }
  .header-actions .join-button { min-height:44px; font-size:12px; padding:9px 13px; }
  .header-actions .join-button>.icon { display:none; }
  .account-button { width:44px; height:44px; }
  #mobileSearchHost { display:block; }
  #mobileSearchHost .search-field { width:100%; min-height:46px; background:#fff; border:1px solid #dcd1dc; border-radius:8px; }
  .hero { display:block; min-height:540px; margin-top:18px; padding:30px 26px 260px; border-radius:var(--radius-md); }
  .hero-copy { max-width:100%; }
  .hero h1 { font-size:54px; line-height:1; margin:18px 0; letter-spacing:-1.2px; }
  .hero .eyebrow { font-size:9px; letter-spacing:1.1px; }
  .hero-copy>p { font-size:13px; line-height:1.75; max-width:280px; }
  .hero-art { left:0; top:auto; bottom:0; width:100%; height:255px; }
  .hero-art img { object-position:70% 34%; }
  .hero-art:before { background:linear-gradient(180deg,#22242b,transparent 30%); }
  .hero-actions { margin-top:22px; }
  .hero-actions>.button { min-height:46px; font-size:13px; }
  .hero-edition { display:none; }
  .hero-creator { right:16px; bottom:16px; padding:9px 12px; }
  .hero-creator>img { width:32px; height:32px; }
  .hero-creator strong { font-size:11px; }
  .hero-creator>.icon { width:16px; height:16px; }
  .section-heading { gap:18px; margin-bottom:22px; }
  .section-heading h2 { font-size:27px; line-height:1.2; margin:9px 0; letter-spacing:-.75px; }
  .section-heading p { font-size:13px; line-height:1.75; }
  .section-heading .eyebrow { font-size:9px; letter-spacing:1.1px; }
  .section-heading>.text-link { font-size:12px; white-space:normal; }
  .discovery-tools { flex-direction:column; align-items:stretch; padding:14px; gap:14px; }
  .pills { flex:none; gap:3px; }
  .pill { min-height:44px; padding:9px 14px; font-size:12px; }
  .curated-label { display:none; }
  .discovery-console { margin-bottom:20px; }
  .discovery-refine { margin-bottom:0; padding:13px 14px; }
  .discovery-options { display:flex; flex-wrap:wrap; gap:8px 12px; }
  .member-filter { font-size:12px; flex:1 1 100%; }
  .creator-sort { flex:1 1 185px; min-width:0; }
  .creator-sort select { font-size:16px; max-width:100%; min-width:0; width:0; flex:1; }
  .creator-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .creator-cover { height:auto; aspect-ratio:3/4; }
  .room-status { top:8px; left:8px; font-size:9px; padding:5px 6px; max-width:calc(100% - 62px); line-height:1.5; }
  .follow-button { width:44px; height:44px; top:6px; right:6px; }
  .follow-button .icon { width:17px; height:17px; }
  .creator-body { padding:15px 12px; }
  .creator-name-row h3 { font-size:14px; overflow-wrap:anywhere; }
  .creator-handle { font-size:12px; overflow-wrap:anywhere; }
  .creator-meta { font-size:11px; gap:6px; margin-top:0; padding-top:8px; flex-wrap:wrap; }
  .creator-meta span+span { display:inline; }
  .creator-description { font-size:12px; min-height:40px; margin:10px 0 14px; line-height:1.65; }
  .creator-body>.button { font-size:12px; min-height:44px; padding-inline:8px; }
  .preview-caption { font-size:12px; margin-top:16px; }
  .feed-section { margin-top:8px; }
  .feed-tabs { gap:22px; }
  .feed-tabs button { font-size:13px; }
  .feed-console { margin-bottom:22px; }
  .feed-console .feed-toolbar { padding:12px 14px; gap:10px; }
  .feed-console .feed-tabs { flex:1; }
  .feed-console .feed-tabs button { padding-inline:11px; font-size:12px; }
  .feed-console .feed-refine-controls { grid-template-columns:1fr; gap:15px; padding:16px 14px; }
  .feed-console .feed-sort { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; }
  .feed-console .feed-results-row { padding:8px 14px; }
  .community-toolbar { padding-bottom:12px; gap:9px; }
  .community-shortcut { font-size:12px; padding:10px 14px; min-height:44px; }
  .post-card { margin-bottom:22px; border-radius:10px; }
  .post-header { padding:16px; gap:10px; }
  .post-header>.avatar { width:38px; height:38px; }
  .post-identity strong { font-size:13px; }
  .post-identity small { font-size:10px; }
  .post-copy { padding:17px 16px 10px; }
  .post-copy>p { font-size:13px; line-height:1.8; }
  .post-actions { gap:10px; }
  .post-action { font-size:11px; }
  .post-action-end { font-size:11px; }
  .post-comments { padding:16px; }
  .comment-form input { font-size:16px; }
  .meet-layout { display:block; }
  .meet-match-rail { margin-top:24px; }
  .meet-deck-panel { padding:20px 16px; }
  .meet-toolbar>.meet-label { font-size:14px; }
  .meet-settings-button { font-size:12px; }
  .meet-matches-button { font-size:12px; }
  .meet-settings-summary,.meet-state { font-size:12px; }
  .meet-card-photo { height:340px; }
  .meet-card-name { left:19px; bottom:20px; }
  .meet-card-name h3 { font-size:34px; }
  .meet-card-name>span { font-size:24px; }
  .meet-card-body { padding:18px; }
  .meet-card-meta { font-size:11px; }
  .meet-card-body>p { font-size:13px; }
  .meet-rewind-hint { font-size:11px; }
  .meet-privacy { font-size:12px; }
  .meet-rail-heading,.meet-rail-note { padding:22px; }
  .meet-rail-note>p { font-size:12px; }
  .meet-filters input,.meet-filters select { font-size:16px; }
  .live-heading-actions { gap:10px; }
  .live-heading-actions .button { font-size:12px; padding:10px 15px; }
  .live-empty { padding:26px 22px; }
  .live-empty h3 { font-size:25px; }
  .live-empty p { font-size:13px; }
  .schedule-heading h3 { font-size:24px; }
  .schedule-card { padding:22px; }
  .private-layout { grid-template-columns:1fr; }
  .video-stage { min-height:360px; padding:24px; }
  .video-center h3 { font-size:40px; }
  .chat-panel { min-height:285px; border-left:0; border-top:1px solid #e4d6e0; }
  .chat-messages { min-height:145px; }
  .support-banner { padding:30px 24px; grid-template-columns:1fr; gap:24px; }
  .support-banner h2 { font-size:42px; margin:16px 0; }
  .support-banner p { font-size:13px; }
  .support-options strong { font-size:14px; }
  .support-options small { font-size:12px; }
  .footer-main>div { gap:20px; }
  .footer-main button { font-size:12px; }
  .footer-bottom { font-size:10px; }
  .app-dialog:not(.profile-dialog) { border-radius:12px; }
  .platform-form input:not([type=checkbox]),.platform-form textarea,.platform-form select { font-size:16px; }
  .age-content h2 { font-size:42px; }
}
@media(max-width:380px) {
  .container { width:calc(100% - 28px); }
  .topbar { padding-inline:14px; }
  .mobile-brand { font-size:22px; }
  .mobile-brand .brand-accent { font-size:27px; }
  .mobile-brand img { width:25px; height:25px; }
  .hero { padding-inline:23px; }
  .hero h1 { font-size:48px; }
  .creator-grid { gap:10px; }
  .creator-body { padding:13px 10px; }
  .creator-description { font-size:12px; }
  .pill { padding-inline:12px; }
}
@media(max-width:350px) {
  .creator-grid { grid-template-columns:1fr; }
  .creator-cover { aspect-ratio:4/4.2; }
  .creator-body { padding:18px; }
  .creator-name-row h3 { font-size:17px; }
  .creator-meta { font-size:12px; }
  .creator-description { font-size:13px; }
  .room-status { font-size:10px; }
  .discovery-options { display:flex; flex-wrap:wrap; }
  .creator-sort { white-space:normal; }
  .hero { padding-inline:20px; }
  .hero h1 { font-size:44px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .creator-card,.creator-photo,.button,.side-nav a,.side-nav button { transition:none; }
  .creator-card:hover { transform:none; }
  .creator-card:hover .creator-photo { transform:none; }
}

/* 1.25 — each route owns one visible page; modal tools remain explicit. */
[data-page][hidden]{display:none!important}
.section[data-page]{padding-top:32px;padding-bottom:42px;min-height:calc(100dvh - 240px);scroll-margin-top:0}
.page-view[data-page=home]{padding-bottom:28px;min-height:calc(100dvh - 240px)}
.page-tools-page[hidden],.page-tools-page [hidden]{display:none!important}
.page-tools-page .page-intro{max-width:760px;margin-bottom:28px}
.page-tools-page .page-intro>h2{font:600 clamp(29px,3vw,38px)/1.22 var(--sans);letter-spacing:-1px;color:#302632;margin:11px 0 14px;overflow-wrap:anywhere}
.page-tools-page .page-intro>p{font-size:14px;line-height:1.9;color:#6f586a;margin:0;overflow-wrap:anywhere}
.page-tools-page .page-login-action{min-height:44px;margin-top:20px}
.signed-in .page-tools-page [data-page-login]{display:none!important}
.page-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.page-tool-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;border:1px solid #dccfda;border-radius:var(--radius-md);background:#fff;color:#3e2e3d;box-shadow:var(--surface-shadow)}
.page-tool-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid #e2d0dc;border-radius:9px;background:#f2e9ef;color:#82536f;margin-bottom:19px}
.page-tool-icon>.icon{width:21px;height:21px}
.page-tool-card>h3{font:600 19px/1.4 var(--sans);letter-spacing:-.35px;color:#493043;margin:0 0 12px;overflow-wrap:anywhere}
.page-tool-card>p{font-size:13px;line-height:1.9;color:#75576b;margin:0 0 23px;overflow-wrap:anywhere}
.page-tool-card>.button,.page-tool-card>.text-link{min-height:44px;max-width:100%;margin-top:auto;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:13px}
.page-tool-card>.text-link{text-decoration:underline;text-underline-offset:4px}
.page-tool-emphasis{background:#292a33;border-color:#413547;color:#f4e9f2}
.page-tool-emphasis .page-tool-icon{background:#ffffff08;border-color:#71596f;color:#e6c5d9}
.page-tool-emphasis>h3{color:#f7eaf4}
.page-tool-emphasis>p{color:#d8c6d5}
.page-tool-emphasis>.button-primary{background:#ecd8e3;border-color:#ecd8e3;color:#492d40}
.page-tool-emphasis>.button-primary:hover{background:#fff1f9;border-color:#fff1f9}
.page-tool-emphasis :focus-visible{outline-color:#efcce1}
.app-sidebar{scrollbar-width:thin;scrollbar-color:#5b4b61 #1d2026}
@media(max-width:900px){.section[data-page]{padding-top:28px}.page-tool-card{padding:25px}.page-service-grid{gap:17px}}
@media(max-width:680px){.section[data-page]{padding-top:24px;padding-bottom:34px;min-height:calc(100dvh - 220px)}.page-view[data-page=home]{padding-bottom:24px;min-height:calc(100dvh - 220px)}.page-tools-page .page-intro{margin-bottom:22px}.page-tools-page .page-intro>h2{font-size:29px;letter-spacing:-.8px}.page-tools-page .page-intro>p{font-size:13px}.page-service-grid{grid-template-columns:1fr;gap:16px}.page-tool-card{padding:23px 21px}.page-tool-card>h3{font-size:18px}.page-tool-card>p{margin-bottom:20px}.page-tool-icon{margin-bottom:16px}}

/* 1.26 — reconnect in place without covering pages, forms or conversations. */
.connection-banner[hidden],.connection-banner [hidden]{display:none!important}
.connection-banner{margin-left:236px;padding:18px 32px 0;min-width:0}
.connection-banner-inner{display:flex;align-items:center;gap:18px;max-width:1320px;margin-inline:auto;padding:15px 18px;border:1px solid #cfbcb1;border-radius:var(--radius-md);background:#faf3eb;box-shadow:0 1px 3px #422c2005}
.connection-banner-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.connection-banner-copy>strong{display:block;font:600 14px/1.5 var(--sans);color:#503c36}
.connection-banner-copy>p{margin:3px 0 0;font-size:13px;line-height:1.65;color:#69534b}
.connection-banner-retry{flex:none;min-width:44px;min-height:44px;max-width:100%;padding:10px 15px;border-color:#aa8f82;background:#fffdf9;color:#624534;font-size:13px;white-space:normal;overflow-wrap:anywhere;text-align:center}
.connection-banner-retry:hover:not(:disabled){background:#f0e5d9;border-color:#856756;color:#4a3226}
.connection-banner-retry:disabled{opacity:.68;cursor:not-allowed}
.connection-banner-retry:focus-visible{outline:2px solid #75405b;outline-offset:3px}
@media(min-width:901px) and (max-width:1200px){.connection-banner{margin-left:210px}}
@media(max-width:900px){.connection-banner{margin-left:0;padding-inline:24px}}
@media(max-width:680px){.connection-banner{padding:14px 18px 0}.connection-banner-inner{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:15px}.connection-banner-copy{flex-basis:100%}.connection-banner-retry{min-height:44px}.connection-banner-copy>strong{font-size:14px}.connection-banner-copy>p{font-size:13px}}
@media(max-width:380px){.connection-banner{padding-inline:14px}}

/* 1.28 — signed-in Activity remains one tap away on every page. */
.topbar .global-activity{position:relative;display:inline-grid;place-items:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border-color:#62535e;background:#30303a;color:#ead4e2}
.topbar .global-activity:hover{background:#41313e;border-color:#aa879b;color:#fff}
.global-activity[hidden],.global-activity [hidden]{display:none!important}
.global-activity>.icon{width:20px;height:20px}
.global-activity>.activity-badge{position:absolute;top:-4px;right:-5px;display:inline-grid;place-items:center;min-width:19px;height:19px;padding-inline:4px;border:2px solid #22252b;border-radius:9px;background:#e7bdd2;color:#46293b;font-size:10px;line-height:1;font-weight:700}
@media(max-width:900px){.signed-in .topbar .install-short{display:none}.signed-in .topbar .header-actions{flex-shrink:0}.signed-in .topbar .mobile-brand{min-width:0}}
@media(max-width:380px){.signed-in .topbar .mobile-brand>img{display:none}.signed-in .topbar .header-actions{gap:7px}}
