/* Public discovery and compact, rounded mobile surfaces. */
body[data-web-page=app]{background:#fff;color:#172824}
.public-home{max-width:960px;margin:auto;padding:0 20px 96px;font-family:inherit}
.public-home .public-header{height:76px;padding:0;position:static;border:0;box-shadow:none;display:flex;align-items:center;justify-content:space-between;background:white}
.public-logo{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-1.1px;font-size:23px;color:#172824;text-decoration:none}
.public-logo img{width:32px;height:32px}.public-login{min-height:40px;border:0;background:#f5f7f4;color:#333945;border-radius:99px;padding:9px 17px;font-size:14px;font-weight:700}
.discovery-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px}.discovery-heading h1{font-size:25px;letter-spacing:-1px;line-height:1.3;margin:0}.beta-pill{font-size:12px;color:#17634b;background:#e9f3ed;border-radius:99px;padding:6px 10px;white-space:nowrap}
.sport-shortcuts{display:flex;gap:9px;overflow:auto;scrollbar-width:none;padding:2px 0 12px;overscroll-behavior-x:contain}.sport-shortcuts::-webkit-scrollbar{display:none}
.sport-shortcuts button{min-height:44px;border:1px solid #dee5df;border-radius:99px;flex-shrink:0;padding:10px 19px;background:#f5f7f4;color:#505764;font-size:15px;line-height:1.4;font-weight:600}
.sport-shortcuts button[aria-pressed=true]{background:#172824;color:white;border-color:#172824}.sport-shortcuts button:focus-visible,.public-home button:focus-visible{outline:3px solid #17634b;outline-offset:3px}
.round-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;min-height:200px;background:#28332f;display:flex;align-items:center;margin:2px 0 17px;padding:26px;color:white}
.round-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}
.round-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,26,24,.94),rgba(16,26,24,.7) 40%,rgba(16,26,24,.08));z-index:-1}
.round-hero-copy{max-width:70%}.round-hero-copy>span{font-size:11px;font-weight:700;letter-spacing:2px;color:#cae2d5}.round-hero h2{margin:8px 0;font-size:30px;letter-spacing:-1.4px;line-height:1.3;color:white}.round-hero p{font-size:14px;line-height:1.6;color:#e3e9e5;margin:0 0 14px}.round-hero button{border:0;border-radius:99px;min-height:44px;background:#e3f2e8;color:#263c2e;padding:8px 15px;font-size:14px;font-weight:700}
.public-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 14px}.public-toolbar>span{background:#f5f7f4;color:#47505b;font-size:14px;border-radius:99px;padding:9px 14px}.public-toolbar button{margin-left:auto;background:white;border:1px solid #dee5df;border-radius:12px;min-height:42px;padding:8px 14px;font-size:14px;font-weight:600;color:#39424f}
.guest-map-panel{padding:20px;border-radius:24px;background:#eef4ef;margin:0 0 16px}.guest-map-panel strong{font-size:18px}.guest-map-panel p{font-size:14px;color:#5c6c62;margin:6px 0 12px}.guest-map-panel button{min-height:44px;padding:10px 16px;background:white;border:0;border-radius:99px;font-weight:700;color:#304338}
.public-section-heading{margin:20px 0 4px}.public-section-heading h2{font-size:20px;letter-spacing:-.6px;margin:0 0 4px}.public-section-heading p{font-size:14px;color:#52635d;margin:0}
.sport-guides{display:grid}.sport-guide{display:flex;gap:14px;align-items:center;border:0;border-bottom:1px solid #dee5df;padding:17px 0;background:transparent;color:#172824;text-align:left;width:100%;cursor:pointer}
.guide-symbol{display:grid;place-items:center;flex:0 0 68px;height:68px;border-radius:20px;background:#fff0f2;color:#bb344d;font-size:21px;font-weight:800;letter-spacing:-1px}.sport-guide[data-sport-guide=MMA] .guide-symbol{background:#f1ecfa;color:#7250a9}.sport-guide[data-sport-guide=주짓수] .guide-symbol{background:#eef5f1;color:#3e785b}.sport-guide[data-sport-guide=킥복싱] .guide-symbol{background:#fff3e6;color:#ad753c}.guide-symbol img{width:34px;height:34px}.sport-guide>span:nth-child(2){flex:1;min-width:0}.sport-guide strong{font-size:18px;display:block;letter-spacing:-.4px}.sport-guide small{font-size:14px;color:#52635d;display:block;line-height:1.5;margin-top:4px}.guide-arrow{font-size:23px;color:#52635d}
.public-connect{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-radius:24px;background:#f5f7f4;margin-top:20px}.public-connect strong{display:block;font-size:16px}.public-connect p{font-size:13px;color:#52635d;margin:4px 0 0}.public-connect button{flex-shrink:0;border:0;border-radius:99px;padding:11px 15px;min-height:44px;background:#17634b;color:#fff;font-weight:700}
.public-footer{font-size:12px;color:#52635d;padding:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 16px}.public-footer a{color:inherit}
.public-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid #dee5df;z-index:40;display:flex;justify-content:center;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:6px}
.public-bottom-nav button{flex:1;max-width:150px;min-height:54px;background:none;border:0;border-radius:20px;color:#52635d;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:600}.public-bottom-nav button[aria-current=page]{color:#172824}.public-bottom-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#public-home-back{display:block;min-height:44px;border:0;background:#f5f7f4;border-radius:99px;color:#39414d;padding:10px 16px;font-size:15px;margin:0 0 16px}
#guest-login-context{margin:0 0 14px;font-size:14px;color:#616d7b}
body[data-web-page=app] .web-auth-layout{min-height:0;margin-top:24px}body[data-web-page=app] .web-intro{display:none}body[data-web-page=app] .web-auth-layout{display:block;max-width:430px;margin:24px auto}body[data-web-page=app] .web-login-card{border-radius:24px}
/* Member role tokens and discovery hierarchy; guest surfaces keep their own rules. */
body[data-web-page=app] {
  --ui-ink:#172824; --ui-muted:#52635d; --ui-canvas:#f5f7f4;
  --ui-surface:#fff; --ui-soft:#e9f3ed; --ui-accent:#17634b;
  --ui-accent-soft:#e9f3ed; --ui-line:#dee5df; --ui-control-line:#7a8981;
  --ui-focus:#17634b; --ui-danger:#a32942; --ui-success:#17634b;
  --ui-transparent:transparent; --ui-on-accent:#fff; --motion-press:120ms; --motion-ease:cubic-bezier(.2,0,0,1);
  --ui-s0:0px; --ui-s1:4px; --ui-s2:8px; --ui-s3:12px; --ui-s4:16px;
  --ui-s5:20px; --ui-s6:24px; --ui-s8:32px;
  --ui-caption:14px; --ui-body:16px; --ui-h4:20px; --ui-h3:25px;
  --ui-h2:32px; --ui-h1:40px; --ui-line-body:1.5; --ui-line-title:1.25;
  --ui-normal:400; --ui-medium:600; --ui-bold:700;
  --ui-radius-input:12px; --ui-radius-panel:20px; --ui-radius-card:24px;
  --ui-pill:999px; --ui-touch:44px; --ui-header:64px; --ui-nav-space:96px;
  --ui-edge:1px; --ui-ring:3px; --ui-content:1000px; --ui-plan-action:112px; --ui-message-min:96px;
  --ui-underline:.2em; --ui-details-max:40dvh;
}
 #spart-app {scrollbar-color:var(--ui-control-line) var(--ui-canvas)}
 #spart-app ::selection {background:var(--ui-accent-soft);color:var(--ui-ink)}
 #spart-app :is(button,a,input,textarea,summary):focus-visible {
  outline:var(--ui-ring) solid var(--ui-focus);outline-offset:var(--ui-s1);
}
 #spart-app :is(input,textarea) {caret-color:var(--ui-accent)}
 #spart-app a {text-underline-offset:var(--ui-underline)}
 #spart-app .brand {min-height:var(--ui-touch)}
#spart-app {color:var(--ui-ink)}
#spart-app>header {
  height:var(--ui-header);padding-inline:var(--ui-s4);
}
body[data-web-page=app] .web-session-bar {
  position:absolute;top:var(--ui-s3);right:var(--ui-s4);
  padding:var(--ui-s0);background:var(--ui-transparent);z-index:1;
}
body[data-web-page=app] .web-session-identity {display:none}
body[data-web-page=app] .web-session-bar button {
  min-height:var(--ui-touch);font-size:var(--ui-caption);color:var(--ui-muted);
}
.header-actions {margin-right:var(--ui-nav-space)}
#home-panel {
  max-width:var(--ui-content);padding:var(--ui-s3) var(--ui-s4) var(--ui-nav-space);
}
#home-panel .intro {margin:var(--ui-s0) var(--ui-s0) var(--ui-s4)}
#home-panel h1 {font-size:var(--ui-h3);line-height:var(--ui-line-title);margin:var(--ui-s0)}
 #home-panel .intro .sub {display:none}
#home-panel #account-banner:not(:has(#join)) {display:none}
.discovery-editorial .round-hero {display:none}
#home-panel[data-activity=sent] .discovery-editorial,
#home-panel[data-activity=chats] .discovery-editorial,
#home-panel[data-view=map] .discovery-editorial {display:none}
#member-sport-chips {padding-bottom:var(--ui-s3)}
#member-sport-chips button {
  min-height:var(--ui-touch);font-size:var(--ui-body);padding:var(--ui-s2) var(--ui-s4);
}
#home-panel .discovery-switch {
  margin-bottom:var(--ui-s3);padding:var(--ui-s1);background:var(--ui-soft)
}
.discovery-switch button {
  font-size:var(--ui-body);min-height:var(--ui-touch);color:var(--ui-accent);
}
#home-panel .mobile-tools {margin-bottom:var(--ui-s2);padding:var(--ui-s0)}
#home-panel .mobile-tools>span {font-size:var(--ui-caption);color:var(--ui-muted)}
#home-panel .mobile-tools button {
  min-height:var(--ui-touch);font-size:var(--ui-body);padding:var(--ui-s2) var(--ui-s4);
}
#home-panel #swipe-hint {
  font-size:var(--ui-caption);color:var(--ui-muted);margin:var(--ui-s0) var(--ui-s0) var(--ui-s2);
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards>.card {
  border:var(--ui-edge) solid var(--ui-line);border-radius:var(--ui-radius-card);
  padding:var(--ui-s4);box-shadow:none;
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .card-top {gap:var(--ui-s3);align-items:flex-start}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .person-heading {display:block}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .person h3 {
  font-size:var(--ui-h4);line-height:var(--ui-line-title);margin:var(--ui-s0);
  overflow-wrap:anywhere;
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .fighter-badges {margin-top:var(--ui-s1)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .location {
  font-size:var(--ui-caption);color:var(--ui-muted);line-height:var(--ui-line-body);
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .sport-badge {font-size:var(--ui-caption)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .stats {
  background:var(--ui-soft);padding:var(--ui-s3);margin:var(--ui-s3) var(--ui-s0);
  border-radius:var(--ui-radius-input);
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .stat small {font-size:var(--ui-caption);color:var(--ui-muted)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .stat strong {
  font-size:var(--ui-h3);color:var(--ui-ink);font-variant-numeric:tabular-nums;
}
 #home-panel:is([data-activity=discover],[data-activity=sent]) #cards .stat strong span {color:var(--ui-muted)}
 #home-panel #filter-count {color:var(--ui-accent);background:var(--ui-accent-soft)}
 #home-panel #reset,#home-panel .filter-note p {color:var(--ui-muted)}
 #home-panel .safety-bottom-note {color:var(--ui-muted)!important;font-size:var(--ui-caption)!important}
 #spart-app .bottom-nav button {color:var(--ui-muted)}
 #spart-app .bottom-nav button[aria-current] {color:var(--ui-ink)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .quote,
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .availability {font-size:var(--ui-body);line-height:var(--ui-line-body)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .availability>span {font-size:var(--ui-body);color:var(--ui-muted);padding:var(--ui-s1) var(--ui-s2)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .quote {display:block;-webkit-line-clamp:unset;overflow:visible;margin:var(--ui-s0) var(--ui-s0) var(--ui-s2)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .dialog-note {font-size:var(--ui-caption);color:var(--ui-muted);margin-block:var(--ui-s2)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .partner-more {margin:var(--ui-s2) var(--ui-s0)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards summary {
  min-height:var(--ui-touch);padding-block:var(--ui-s3);font-size:var(--ui-caption);color:var(--ui-muted);
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards :is(.primary,.follow-button,.text-button) {
  min-height:var(--ui-touch);font-size:var(--ui-body);border-radius:var(--ui-radius-input);
}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .primary {background:var(--ui-accent);color:var(--ui-surface)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .follow-button {color:var(--ui-accent);border-color:var(--ui-control-line)}
@media(min-width:700px){.public-home{padding-top:4px}.round-hero{min-height:240px}.round-hero-copy{max-width:55%}.round-hero h2{font-size:36px}.sport-guides{grid-template-columns:1fr 1fr;column-gap:28px}.public-connect{padding:22px}.public-bottom-nav{left:50%;transform:translateX(-50%);max-width:720px;width:100%;border-radius:24px 24px 0 0}}
@media(max-width:650px){.public-home{padding-left:18px;padding-right:18px}.round-hero{min-height:190px;padding:22px}.round-hero h2{font-size:27px}.round-hero-copy{max-width:77%}.public-header .public-logo{font-size:22px}.public-connect{gap:9px}.public-connect strong{font-size:15px}.public-connect button{font-size:13px}#spart-app .web-session-identity{display:none}#spart-app .web-session-bar{font-size:12px;padding-top:5px;padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){.public-home *{scroll-behavior:auto!important}}

[hidden]{display:none!important}

.guest-discovery-switch{display:flex;padding:4px;border-radius:99px;background:#f5f7f4;gap:4px;margin:0 0 22px}.guest-discovery-switch button{flex:1;min-height:46px;border:0;border-radius:99px;background:transparent;color:#17634b;font-size:15px;font-weight:700}.guest-discovery-switch button[aria-pressed=true]{background:white;color:#172824;box-shadow:0 2px 8px #20232b06}.guest-partners{margin-top:16px;padding:24px 20px;background:#f5f7f4;border-radius:24px}.guest-partners strong{font-size:18px}.guest-partners p{font-size:14px;line-height:1.6;color:#52635d;margin:8px 0 16px}.guest-partners button{border:0;border-radius:99px;min-height:44px;padding:10px 18px;background:#172824;color:white;font-weight:700}
#cards,.map-profile-carousel{overscroll-behavior-x:contain;scroll-behavior:auto}
/* Normal activity empties use the existing discovery navigation action. */
#home-panel .activity-empty {
  text-align:left;padding:var(--ui-s6);background:var(--ui-canvas);
  border-radius:var(--ui-radius-card);margin-top:var(--ui-s3);
}
#home-panel .activity-empty b {font-size:var(--ui-h4);line-height:var(--ui-line-title)}
#home-panel .activity-empty p {font-size:var(--ui-body);color:var(--ui-muted);line-height:var(--ui-line-body);margin:var(--ui-s3) var(--ui-s0) var(--ui-s5)}
#home-panel .activity-empty button {
  min-height:var(--ui-touch);padding:var(--ui-s3) var(--ui-s5);
  border:0;border-radius:var(--ui-pill);background:var(--ui-accent);
  color:var(--ui-surface);font-size:var(--ui-body);
}
/* Chat summary and bounded detail shell preserve stable slot nodes. */
#chat-dialog {
  padding:var(--ui-s0);border:0;background:var(--ui-canvas);
}
.chat-shell {height:100%;display:flex;flex-direction:column;min-height:var(--ui-s0);overflow:hidden}
.chat-header {
  padding:var(--ui-s2) var(--ui-s4);min-height:var(--ui-header);flex-shrink:0;
}
.chat-header h2 {font-size:var(--ui-h4);line-height:var(--ui-line-title)}
.chat-header>div {min-width:var(--ui-s0)}
.chat-header>div>span {font-size:var(--ui-caption);color:var(--ui-muted)}
.chat-header button {min-width:var(--ui-touch);min-height:var(--ui-touch)}
.chat-mark {display:none}
.chat-plan-row {
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-s2);padding:var(--ui-s2) var(--ui-s4);
  background:var(--ui-surface);flex-shrink:1;min-height:var(--ui-touch);overflow:auto;
}
#chat-plan {
  margin:var(--ui-s0);padding:var(--ui-s0);border-radius:var(--ui-s0);flex:1;min-width:var(--ui-s0);
}
#chat-plan>span {
  font-size:var(--ui-caption);color:var(--ui-accent);line-height:var(--ui-line-body);
}
#chat-plan strong {font-size:var(--ui-body);line-height:var(--ui-line-body);overflow-wrap:anywhere}
#chat-plan small {font-size:var(--ui-caption);color:var(--ui-muted);line-height:var(--ui-line-body)}
#chat-terms {
  flex:0 0 var(--ui-plan-action);min-height:var(--ui-touch);padding:var(--ui-s2);
  font-size:var(--ui-caption);background:var(--ui-accent-soft);color:var(--ui-accent);
  border:0;border-radius:var(--ui-radius-input);font-family:inherit;
}
.chat-context {
  margin:var(--ui-s0);padding:var(--ui-s0) var(--ui-s4);flex-shrink:1;min-height:var(--ui-touch);
  max-height:var(--ui-details-max);overflow:auto;background:var(--ui-surface);
}
.chat-context>summary {
  min-height:var(--ui-touch);padding-block:var(--ui-s3);font-size:var(--ui-caption);color:var(--ui-muted);cursor:pointer;
}
 #chat-plan-extra {font-size:var(--ui-body);line-height:var(--ui-line-body);margin:var(--ui-s2) var(--ui-s0)}
 #chat-plan-extra p {margin:var(--ui-s2) var(--ui-s0);color:var(--ui-ink)}
.chat-context .chat-actions {padding:var(--ui-s2) var(--ui-s0);display:flex;flex-wrap:wrap;gap:var(--ui-s2)}
.chat-context :is(button,a,.chat-manage>summary) {min-height:var(--ui-touch);min-width:var(--ui-touch);font-size:var(--ui-body);color:var(--ui-accent)}
.chat-context .chat-manage {margin:var(--ui-s2) var(--ui-s0)}
.chat-notice {font-size:var(--ui-caption);line-height:var(--ui-line-body);margin:var(--ui-s1) var(--ui-s4)}
#chat-status:empty,
#chat-error:empty {display:none}
#messages {
  flex:1;min-height:var(--ui-message-min);overflow:auto;padding:var(--ui-s3) var(--ui-s4);
  scrollbar-color:var(--ui-control-line) var(--ui-canvas);scrollbar-width:thin;
}
.message p {font-size:var(--ui-body);line-height:var(--ui-line-body)}
.message.mine p {background:var(--ui-accent);color:var(--ui-surface)}
.message.theirs p {background:var(--ui-surface);color:var(--ui-ink)}
.message time {font-size:var(--ui-caption);color:var(--ui-muted)}
#chat-form {
  flex-shrink:0;position:static;padding:var(--ui-s3) var(--ui-s4);gap:var(--ui-s2);
  background:var(--ui-surface);
}
#chat-input {
  min-height:var(--ui-touch);font-size:var(--ui-body);line-height:var(--ui-line-body);
  padding:var(--ui-s2) var(--ui-s3);border-radius:var(--ui-radius-input);
  border:var(--ui-edge) solid var(--ui-control-line);
}
#chat-send {
  width:var(--ui-touch);height:var(--ui-touch);min-width:var(--ui-touch);
  min-height:var(--ui-touch);background:var(--ui-accent);color:var(--ui-surface);
}
@media(max-width:650px) {
  #chat-dialog {width:100%;height:100dvh;max-height:100dvh;border-radius:var(--ui-s0)}
}

/* arrivals.js inserts after #chat-plan; keep its panel on a full row before details. */
.chat-plan-row>#chat-plan {order:0}
.chat-plan-row>#chat-terms {order:1}
.chat-plan-row>#arrival-panel {order:2;flex:0 0 100%;min-width:var(--ui-s0);box-sizing:border-box;margin:var(--ui-s0)!important;padding:var(--ui-s3)!important;background:var(--ui-soft)!important;border-radius:var(--ui-radius-input)!important}
 #arrival-confirm {background:var(--ui-accent);color:var(--ui-surface)}
.chat-plan-row:has(>#arrival-panel:not([hidden])) {max-height:var(--ui-details-max);overflow:auto}

/* Brand refresh: one mark, one type system and shared alignment across shells. */
body[data-web-page=app]{background:var(--ui-canvas)}
.public-home,.web-auth{max-width:var(--ui-content);padding-inline:var(--ui-s4)}
.public-home .public-header{background:transparent}
#spart-app>header{padding-inline:max(var(--ui-s4),calc((100% - var(--ui-content))/2 + var(--ui-s4)))}
body[data-web-page=app] .web-session-bar{right:max(var(--ui-s4),calc((100% - var(--ui-content))/2 + var(--ui-s4)))}
.public-logo,.brand,.web-brand strong{font-size:22px;font-weight:800;letter-spacing:-.025em;color:var(--ui-ink)}
.public-logo img,.brand-symbol,.web-brand img{width:32px;height:32px}
.web-eyebrow{letter-spacing:0;font-size:var(--ui-caption)}
.round-hero-copy>span{font-size:var(--ui-caption);font-weight:600;letter-spacing:0}
.round-hero h2,.web-intro h1,#home-panel h1,.page-heading h1{font-weight:800;letter-spacing:-.02em}
.round-hero button{border-radius:var(--ui-radius-input);background:var(--ui-surface);color:var(--ui-accent)}
.public-login,#public-home-back{border-radius:var(--ui-radius-input);background:var(--ui-surface);border:var(--ui-edge) solid var(--ui-line);color:var(--ui-ink)}
.beta-pill{font-size:var(--ui-caption);color:var(--ui-accent);background:var(--ui-soft)}
.sport-shortcuts button{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-muted);font-weight:600}
.sport-shortcuts button[aria-pressed=true]{background:var(--ui-soft);color:var(--ui-accent);border-color:var(--ui-accent);font-weight:700}
.sport-shortcuts button:focus-visible,.public-home button:focus-visible{outline-color:var(--ui-focus)}
.guest-discovery-switch{background:var(--ui-soft)}
.guest-discovery-switch button{color:var(--ui-muted)}
.guest-discovery-switch button[aria-pressed=true]{color:var(--ui-accent);box-shadow:none}
.public-section-heading p{color:var(--ui-muted)}
.guest-partners{background:var(--ui-surface);border:var(--ui-edge) solid var(--ui-line)}
.guest-partners p{color:var(--ui-muted)}
.guest-partners button{border-radius:var(--ui-radius-input);background:var(--ui-accent);color:var(--ui-on-accent)}
.public-footer{font-size:var(--ui-caption);color:var(--ui-muted);padding-block:var(--ui-s6) var(--ui-s8)}
.public-bottom-nav{background:var(--ui-surface);border-top-color:var(--ui-line)}
.public-bottom-nav button{color:var(--ui-muted);font-size:var(--ui-caption);font-weight:600}
.public-bottom-nav button[aria-current=page],#spart-app .bottom-nav button[aria-current]{color:var(--ui-accent);font-weight:700}
#home-panel .activity-empty{background:var(--ui-surface);border:var(--ui-edge) solid var(--ui-line)}
#home-panel .activity-empty button{border-radius:var(--ui-radius-input)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .primary{transition:transform var(--motion-press) var(--motion-ease)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .primary:active{transform:scale(.98)}
#my-page{max-width:var(--ui-content);padding-inline:var(--ui-s4)}
.my-identity{padding:var(--ui-s5);border-radius:var(--ui-radius-card)}
.identity-copy h2{font-weight:800}
.record-heading>span,.page-heading>span{font-size:var(--ui-caption);color:var(--ui-muted)}
.profile-photo{position:relative}
#profile-photo{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;overflow:hidden}
.photo-pick{display:inline-flex;align-items:center;min-height:var(--ui-touch);margin:var(--ui-s1) var(--ui-s2) var(--ui-s1) var(--ui-s0);padding:var(--ui-s2) var(--ui-s4);border:var(--ui-edge) solid var(--ui-control-line);border-radius:var(--ui-radius-input);background:var(--ui-surface);color:var(--ui-accent);font-size:var(--ui-caption);font-weight:600;cursor:pointer}
#profile-photo:focus-visible+.photo-pick{outline:var(--ui-ring) solid var(--ui-focus);outline-offset:var(--ui-s1)}
.photo-name{font-size:var(--ui-caption);color:var(--ui-muted);overflow-wrap:anywhere}
.profile-photo>div>small{display:block;font-size:var(--ui-caption);color:var(--ui-muted)}
@media(prefers-reduced-motion:reduce){#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .primary{transition:none}#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .primary:active{transform:none}}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .person-heading{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-s1) var(--ui-s2)}
#home-panel:is([data-activity=discover],[data-activity=sent]) #cards .fighter-badges{margin-top:var(--ui-s0)}
.discovery-switch button{color:var(--ui-muted)}
.discovery-switch button[aria-pressed=true]{color:var(--ui-accent)}
#my-avatar:not(:has(img)){font-size:var(--ui-caption);color:var(--ui-muted)}
.safety-bottom-note,.safety-bottom-note a{color:var(--ui-muted)!important;font-size:var(--ui-caption)!important}
#chat-input::placeholder{color:var(--ui-muted);opacity:1}
@media(max-width:650px){.round-hero:before{background:linear-gradient(90deg,rgba(16,26,24,.94),rgba(16,26,24,.84) 62%,rgba(16,26,24,.3))}}
