:root,
[data-theme="dark"] {
  color-scheme: dark;
  --bg-dark: #080d0c;
  --bg-surface: #0d1512;
  --bg-card: #15211d;
  --nav-bg: rgba(13, 21, 18, 0.96);
  --border-color: rgba(255, 255, 255, 0.10);
  --border-light: rgba(187, 255, 57, 0.24);
  --text-main: #f8fff9;
  --text-muted: #9bad9f;
  --text-dim: #6f8076;
  --accent-white: #bbff39;
  --accent-brand: #bbff39;
  --success: #68e2b3;
  --danger: #ff5361;
  --radius-lg: 28px;
  --radius-md: 16px;
  --radius-sm: 12px;
}

[data-theme="light"] {
  color-scheme: light;
  --bg-dark: #f2f7f3;
  --bg-surface: #ffffff;
  --bg-card: #e7eee9;
  --nav-bg: rgba(255, 255, 255, 0.96);
  --text-main: #080d0c;
  --text-muted: #526159;
  --text-dim: #7c8a82;
  --accent-white: #7fbd16;
  --accent-brand: #7fbd16;
}

.app-container {
  background:
    radial-gradient(circle at 85% 20%, rgba(187,255,57,.08), transparent 32%),
    var(--bg-dark);
}

.top-bar {
  min-height: 76px;
  background: rgba(13,21,18,.9);
  backdrop-filter: blur(18px);
  padding: 14px 18px;
}

[data-theme="light"] .top-bar { background: rgba(255,255,255,.9); }

.brand-title { font-size: 1.2rem; font-weight: 800; gap: 8px; }
.brand-logo { width: 34px; height: 34px; display: block; }
.hamburger-btn { color: var(--text-muted); }

.btn-auth-pill {
  background: var(--accent-brand);
  color: #080d0c;
  border-color: var(--accent-brand);
  padding: 7px 13px;
  font-weight: 800;
}

.hero-text h2 { font-size: 2rem; letter-spacing: -.05em; }
.hero-text h2::after {
  content: ".";
  color: var(--accent-brand);
}
.pulse-dot { background: var(--accent-brand); box-shadow: 0 0 16px var(--accent-brand); }

*{-webkit-tap-highlight-color:transparent}button,a,label,[role="button"]{outline:none;-webkit-touch-callout:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px}
.talk-now-card{width:100%;min-height:82px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--accent-brand);border-radius:20px;background:var(--accent-brand);color:#080d0c;text-align:left;box-shadow:0 16px 36px rgba(0,0,0,.24);transition:transform .18s ease,box-shadow .18s ease}.talk-now-card:active{transform:scale(.985);box-shadow:0 8px 20px rgba(0,0,0,.2)}.talk-now-card svg{width:30px;height:30px;justify-self:center}.talk-now-card span{display:flex;flex-direction:column;gap:3px}.talk-now-card b{font-size:1.05rem;letter-spacing:-.02em}.talk-now-card small{font-size:.72rem;opacity:.68}.talk-now-card>i{font-size:1.45rem;font-style:normal;font-weight:700}

.topic-pill { background: rgba(255,255,255,.035); }
.topic-pill.active { background: var(--accent-brand); color: #080d0c; border-color: var(--accent-brand); }

.custom-select,
.form-input {
  background: rgba(255,255,255,.035);
  border-color: var(--border-color);
}

.profile-header-card,
.profile-form-card,
.modal-card {
  background: linear-gradient(155deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border: 1px solid var(--border-color);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.btn-primary { background: var(--accent-brand); color: #080d0c; }
.profile-badge { border-color: rgba(187,255,57,.22); }
.cooldown-badge { color: var(--success); }

.bottom-nav-bar {
  height: 72px;
  background: var(--nav-bg);
  backdrop-filter: blur(18px);
}
.nav-tab-btn.active { color: var(--accent-brand); }
.nav-tab-btn.active svg { stroke: var(--accent-brand); }

.auth-brand-logo { width: 72px; height: 72px; display: block; margin: 0 auto 18px; }
.modal-header h3 { font-size: 1.45rem; letter-spacing: -.035em; }

.radar-wave { border-color: rgba(187,255,57,.36); }
.radar-center-icon { background: var(--accent-brand); color: #080d0c; }
.speaking img { border-color: var(--accent-brand); box-shadow: 0 0 30px rgba(187,255,57,.4); }
.control-btn.btn-next { background: var(--accent-brand); color: #080d0c; border-color: var(--accent-brand); }

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg-dark: #f2f7f3;
    --bg-surface: #ffffff;
    --bg-card: #e7eee9;
    --nav-bg: rgba(255,255,255,.96);
    --text-main: #080d0c;
    --text-muted: #526159;
    --text-dim: #7c8a82;
    --accent-white: #7fbd16;
  }
}

.drawer-theme-box,.setting-row,.gender-filter-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.drawer-theme-box span,.setting-row span,.gender-filter-card>span{display:flex;flex-direction:column;gap:3px}.drawer-theme-box small,.setting-row small,.gender-filter-card small,.thread-header small{color:var(--text-muted);font-size:.7rem}.switch{position:relative;width:46px;height:26px;flex:none}.switch input{opacity:0;width:0;height:0}.switch i{position:absolute;inset:0;border-radius:99px;background:var(--bg-card);border:1px solid var(--border-color);transition:.2s}.switch i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:var(--text-muted);transition:.2s}.switch input:checked+i{background:var(--accent-brand);border-color:var(--accent-brand)}.switch input:checked+i:after{transform:translateX(20px);background:#080d0c}
.gender-filter-card{width:100%;display:block;padding:15px;border:1px solid var(--border-color);border-radius:20px;background:rgba(255,255,255,.025)}.gender-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.gender-option{border:1px solid var(--border-color);background:transparent;color:var(--text-muted);padding:10px 5px;border-radius:12px;font-weight:700;font-size:.75rem}.gender-option.active{background:var(--accent-brand);border-color:var(--accent-brand);color:#080d0c}.gender-option i{font-size:.5rem;font-style:normal;opacity:.65}
.settings-scroll{max-height:62vh;overflow:auto;padding-right:3px}.settings-scroll h4{margin:18px 0 8px;color:var(--accent-brand);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.setting-row{padding:12px 0;border-bottom:1px solid var(--border-color)}.danger-setting{width:100%;margin-top:12px;padding:12px;border-radius:12px;border:1px solid rgba(255,83,97,.3);background:rgba(255,83,97,.08);color:var(--danger);font-weight:700}
.conversation-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}.conversation-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--border-color);border-radius:16px;background:rgba(255,255,255,.025);color:var(--text-main);text-align:left}.conversation-avatar{width:46px;height:46px;border-radius:14px;background:var(--accent-brand);display:grid;place-items:center;color:#080d0c;font-weight:900}.conversation-copy{flex:1;min-width:0}.conversation-copy b,.conversation-copy small{display:block}.conversation-copy small{margin-top:4px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.thread-header button{border:0;background:transparent;color:var(--text-main);font-size:1.3rem}.thread-header div{display:flex;flex-direction:column}.bot-message{align-self:flex-start;background:var(--bg-card);color:var(--text-main);padding:12px 14px;border-radius:6px 16px 16px 16px;max-width:84%;font-size:.82rem;line-height:1.5}.payment-note{text-align:center;color:var(--text-muted);font-size:.68rem;line-height:1.5;margin-top:12px}.checkout-summary{display:grid;grid-template-columns:1fr auto;gap:6px;margin:20px 0;padding:18px;border:1px solid var(--border-light);border-radius:18px;background:rgba(187,255,57,.05)}.checkout-summary b{font-size:1.5rem}.checkout-summary small{grid-column:1/-1;color:var(--text-muted)}
[data-theme="dark"] select,[data-theme="dark"] option{background:#15211d;color:#f8fff9;color-scheme:dark}
.view-viewport{overflow:hidden}.tab-view{height:100%;min-height:0;overflow:hidden}.tab-view.active{position:absolute}.call-view-content{height:100%;padding:clamp(18px,3vh,28px) 0;display:flex;flex-direction:column;gap:clamp(14px,2.4vh,22px)}.hero-text{flex:0 0 auto;padding-top:clamp(4px,1vh,12px)}.call-main-action{width:100%;display:flex;flex-direction:column;gap:clamp(12px,2vh,18px);margin-top:auto}.gender-filter-card{flex:0 0 auto;margin-bottom:auto}.topic-pills-row{max-width:none;width:100%}
#view-chat{padding-bottom:10px}#chat-list-panel,#chat-thread-panel{height:100%;min-height:0;display:flex;flex-direction:column}#chat-list-panel.hidden,#chat-thread-panel.hidden{display:none}.conversation-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-messages-container{min-height:0;height:auto;flex:1;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:14px 0}.chat-input-row{flex:none;padding-top:10px}.chat-view-header{flex:none}.thread-header{flex:none}
.locked-field{display:flex;justify-content:space-between;padding:11px 13px;border:1px solid var(--border-color);border-radius:12px;background:rgba(255,255,255,.025)}.locked-field span:last-child{color:var(--accent-brand);font-size:.7rem}.text-action{border:0;background:none;color:var(--accent-brand);padding:8px 0;font-size:.75rem}.privacy-note{color:var(--text-muted);font-size:.7rem;line-height:1.5;margin:10px 0 16px}.dual-setting{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.dual-setting span{display:flex;flex-direction:column}.dual-setting small{color:var(--text-muted);font-size:.68rem}.dual-setting label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:.62rem;align-items:center}.dual-setting input{accent-color:var(--accent-brand)}
@media(max-height:700px){.talk-now-card{min-height:66px;padding:11px 14px}.gender-filter-card{padding:10px}.gender-segments{margin-top:8px}.topic-pill{padding:7px 11px}}

/* Resilient screen sizing: content remains reachable at every phone height. */
.view-viewport{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.tab-view{height:auto;min-height:100%;overflow:visible}.tab-view.active{position:relative}.call-view-content{height:auto;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(18px,3vh,28px);padding:clamp(18px,3vh,28px) 0}.hero-text{align-self:auto;padding-top:0}.call-main-action{align-self:auto;gap:clamp(15px,2.5vh,22px)}.gender-filter-card{align-self:auto;flex:none}.bottom-nav-bar{flex:none}
#view-chat{height:100%;min-height:100%;overflow:hidden}#chat-list-panel,#chat-thread-panel{height:100%;max-height:100%;min-height:0}.conversation-list,.chat-messages-container{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
@media(max-height:760px){.call-view-content{gap:14px;padding:14px 0}.hero-text h2{font-size:1.65rem}.talk-now-card{min-height:70px}.gender-filter-card{margin-top:0}.topic-pills-row{gap:6px}.topic-pill{padding:7px 10px}}
.drawer-version{margin-top:0;padding:14px 4px 2px;border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.72rem;display:flex;justify-content:space-between}.drawer-version b{color:var(--accent-brand)}.onboarding-gender-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.onboarding-gender-options button{padding:14px 8px;border-radius:14px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);font-weight:700}.onboarding-gender-options button:active{background:var(--accent-brand);color:#080d0c}
/* Screen-specific scrolling contract. */
.view-viewport{overflow:hidden}#view-call{height:100%;min-height:0;overflow:hidden}#view-call .call-view-content{height:100%;min-height:0;overflow:hidden;padding:12px 0;gap:clamp(12px,2.2vh,20px)}#view-chat{height:100%;overflow:hidden}#chat-list-panel{overflow:hidden}.conversation-list{overflow-y:auto}.chat-messages-container{overflow-y:auto}#view-profile{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
@media(max-height:700px){#view-call .call-view-content{gap:8px;padding:8px 0}.hero-text h2{font-size:1.45rem}.hero-text p{font-size:.75rem}.talk-now-card{min-height:62px}.topic-pill{padding:6px 9px}.gender-filter-card{padding:8px}.gender-filter-card small{display:none}.gender-option{padding:8px 4px}}
.ui-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.radar-center-icon .ui-icon { width: 1.75rem; height: 1.75rem; }
.control-btn .ui-icon { width: 1.35rem; height: 1.35rem; }
.avatar-camera-btn .ui-icon { width: 1rem; height: 1rem; }
.inline-icon {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  vertical-align: -0.18em;
  margin-right: 0.4rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}
.profile-badge .inline-icon, .cooldown-badge .inline-icon { width: .85rem; height: .85rem; margin-right: .28rem; }
.icon-only-header,.header-action-icon{width:40px;height:40px;padding:0!important;display:grid!important;place-items:center;position:relative}
.profile-social-stats{display:flex;justify-content:center;gap:38px;margin-top:16px}.profile-social-stats button{border:0;background:transparent;color:var(--text-main);display:flex;flex-direction:column;align-items:center;gap:2px}.profile-social-stats b{font-size:1rem}.profile-social-stats span{font-size:.72rem;color:var(--text-muted)}
.profile-private-email{text-align:center;color:var(--text-muted);font-size:.72rem;margin:12px 0 0;overflow-wrap:anywhere}.chat-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.request-count{position:absolute;right:-3px;top:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:20px;background:var(--danger);color:#fff;font-size:.62rem;display:grid;place-items:center}.people-list{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}.people-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--border-color);border-radius:14px}.people-row img{width:38px;height:38px;border-radius:50%;object-fit:cover}.people-row-copy{min-width:0;flex:1}.people-row-copy b,.people-row-copy small{display:block}.people-row-copy small{color:var(--text-muted);font-size:.7rem}.empty-list{color:var(--text-muted);text-align:center;padding:24px 8px}
.speakers-area{justify-content:center}.call-peer-name{display:block;font-size:1.1rem;font-weight:800;margin-bottom:3px}.call-peer-topic{display:block;color:var(--text-muted);font-size:.75rem;margin-bottom:18px}.ongoing-call-banner{position:fixed;z-index:80;left:14px;right:14px;top:76px;min-height:56px;border:1px solid rgba(187,255,57,.35);border-radius:16px;background:var(--bg-card);color:var(--text-main);display:flex;align-items:center;justify-content:space-between;padding:10px 14px;box-shadow:0 12px 30px #0004}.ongoing-call-banner span{display:flex;flex-direction:column;text-align:left}.ongoing-call-banner small{color:var(--text-muted)}
