/* VEXO calm desktop look (visual only). Scoped to html:not(.vexo-ios-app) so the iPhone app keeps vexo-ios.css.
   Loaded after the other stylesheets and before vexo-themes.css. Remove the <link> to roll back. */
html:not(.vexo-ios-app){
 --bg:#0b0b0d;--panel:#141417;--raised:#1b1b1f;--border:#26262b;--border-strong:#323238;
 --blue:#3d7bf5;--blue-hi:#5a8ff7;--cyan:#8e8e93;--text:#f2f2f4;--muted:#8e8e93;--radius:12px;
 --glow:none;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,system-ui,Roboto,sans-serif}
html:not(.vexo-ios-app):not([data-accent]){--vx-accent:#3d7bf5}
html:not(.vexo-ios-app),html:not(.vexo-ios-app) body{background:#0b0b0d!important;font-family:var(--font)!important;letter-spacing:0!important}
/* No decorative effects */
html:not(.vexo-ios-app) body *{text-shadow:none!important}
html:not(.vexo-ios-app) .button,html:not(.vexo-ios-app) .panel,html:not(.vexo-ios-app) article,html:not(.vexo-ios-app) [class*="card"],html:not(.vexo-ios-app) .vh-section,html:not(.vexo-ios-app) .vh-hero,html:not(.vexo-ios-app) .vh-quick a,html:not(.vexo-ios-app) .session-avatar,html:not(.vexo-ios-app) .nav-item,html:not(.vexo-ios-app) .icon-button,html:not(.vexo-ios-app) .header-action{box-shadow:none!important}
html:not(.vexo-ios-app) h1 span,html:not(.vexo-ios-app) h2 span:not([class*="badge"]):not(.pill),html:not(.vexo-ios-app) .serif{background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}
html:not(.vexo-ios-app) .status-dot,html:not(.vexo-ios-app) .blue-dot{box-shadow:none!important;animation:none!important}
html:not(.vexo-ios-app) .eyebrow{color:var(--muted)!important;letter-spacing:.06em!important;font-weight:600!important;font-size:11px!important}
html:not(.vexo-ios-app) .hero-kicker{border:1px solid var(--border)!important;background:var(--raised)!important;color:var(--muted)!important;border-radius:8px!important}
/* Surfaces */
html:not(.vexo-ios-app) .panel{border-radius:14px!important;background:var(--panel)!important;border:1px solid var(--border)!important;background-image:none!important}
html:not(.vexo-ios-app) .button{border-radius:10px!important;background-image:none!important;font-weight:600}
html:not(.vexo-ios-app) .button:not(.primary){background:var(--raised)!important;border:1px solid var(--border)!important;color:var(--text)!important}
html:not(.vexo-ios-app) .button.primary{background:var(--vx-accent)!important;border-color:transparent!important;color:hsl(0 0% 100%)!important}
html:not(.vexo-ios-app) input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]),html:not(.vexo-ios-app) select,html:not(.vexo-ios-app) textarea{background:var(--raised)!important;border-color:var(--border)!important;border-radius:10px!important;box-shadow:none!important}
html:not(.vexo-ios-app) input:focus,html:not(.vexo-ios-app) select:focus,html:not(.vexo-ios-app) textarea:focus{border-color:var(--vx-accent)!important;box-shadow:none!important;outline:0}
/* Topbar + sidebar */
html:not(.vexo-ios-app) .topbar{background:rgba(11,11,13,.96)!important;border-bottom:1px solid var(--border)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html:not(.vexo-ios-app) .vexo-brand svg{color:var(--text)!important;filter:none!important}
html:not(.vexo-ios-app) .top-search input{background:var(--raised)!important;border:1px solid transparent!important}
html:not(.vexo-ios-app) .top-search kbd{background:var(--bg)!important;border-color:var(--border)!important;color:var(--muted)!important}
html:not(.vexo-ios-app) .session-avatar{background:var(--raised)!important}
html:not(.vexo-ios-app) .sidebar{background:#0e0e10!important;border-right:1px solid var(--border)!important;background-image:none!important}
html:not(.vexo-ios-app) .nav-label{color:var(--muted)!important;font-weight:600!important;letter-spacing:.06em!important}
html:not(.vexo-ios-app) .nav-item{color:#c7c7cc!important;border-radius:8px!important;min-height:34px!important;padding:6px 10px!important}
html:not(.vexo-ios-app) .nav-item:hover{background:var(--raised)!important}
html:not(.vexo-ios-app) .nav-item.active,html:not(.vexo-ios-app) .nav-item[aria-current]{background:var(--raised)!important;color:var(--text)!important;border:0!important;background-image:none!important}
html:not(.vexo-ios-app) .nav-item.active svg{color:var(--vx-accent)!important}
html:not(.vexo-ios-app) .community-note,html:not(.vexo-ios-app) .vx-hub{background:none!important;border-color:var(--border)!important}
/* Home */
html:not(.vexo-ios-app) .vh-hero{border-radius:14px!important;border:1px solid var(--border)!important;background:var(--panel)!important}
html:not(.vexo-ios-app) .vh-hero::before,html:not(.vexo-ios-app) .vh-hero::after{display:none!important}
html:not(.vexo-ios-app) .vh-hero img{opacity:.4!important;filter:none!important}
html:not(.vexo-ios-app) .vh-hero h1{font-size:34px!important;font-weight:700!important;letter-spacing:-.01em!important}
html:not(.vexo-ios-app) .vh-hero .hero-kicker{display:none!important}
html:not(.vexo-ios-app) .vh-section{background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:14px!important}
html:not(.vexo-ios-app) .vh-head h2{font-size:18px!important;font-weight:600!important}
html:not(.vexo-ios-app) .vh-head a{color:var(--vx-accent)!important}
html:not(.vexo-ios-app) .vh-quick a{background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:12px!important}
html:not(.vexo-ios-app) .vh-quick a:hover{transform:none!important;border-color:var(--border-strong)!important}
html:not(.vexo-ios-app) .vh-qi{background:var(--raised)!important;color:var(--text)!important;border:0!important;border-radius:10px!important}
/* list rows with dividers */
html:not(.vexo-ios-app) .vh-list{gap:0!important;border:1px solid var(--border);border-radius:12px;overflow:hidden}
html:not(.vexo-ios-app) .vh-list a{border:0!important;border-radius:0!important;background:none!important}
html:not(.vexo-ios-app) .vh-list li+li a{border-top:1px solid var(--border)!important}
html:not(.vexo-ios-app) .vh-tag{background:var(--raised)!important;color:var(--muted)!important;border:0!important;border-radius:6px!important}
html:not(.vexo-ios-app) .vh-creator,html:not(.vexo-ios-app) .vh-hub,html:not(.vexo-ios-app) .vh-stats a{background:var(--raised)!important;border:1px solid var(--border)!important;border-radius:12px!important}
html:not(.vexo-ios-app) .vh-av,html:not(.vexo-ios-app) .vh-hi{background:var(--bg)!important;box-shadow:none!important}
html:not(.vexo-ios-app) .vh-cta{background:var(--panel)!important;border:1px solid var(--border)!important;background-image:none!important}
/* Generic pills/tabs quieter */
html:not(.vexo-ios-app) .pill{background:var(--raised)!important;border:1px solid var(--border)!important;color:var(--muted)!important}
/* Friends relationship control */
.vx-rel{display:inline-flex;align-items:center;gap:8px;position:relative;vertical-align:middle}
.vx-rel .button{display:inline-flex;align-items:center;gap:6px}
.vx-rel .vx-rel-on[disabled]{opacity:1;cursor:default}
.vx-rel .vx-rel-on svg{color:#30d158}
.vx-rel-more{position:relative;display:inline-flex}
.vx-rel-dots{padding-left:10px!important;padding-right:10px!important;min-width:0}
.vx-rel-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:200px;display:flex;flex-direction:column;padding:4px;border-radius:12px;background:var(--panel,#141417);border:1px solid var(--border,#26262b);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.vx-rel-menu[hidden]{display:none}
.vx-rel-menu button{all:unset;box-sizing:border-box;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--text,#f2f2f4);cursor:pointer;min-height:40px;display:flex;align-items:center}
.vx-rel-menu button:hover,.vx-rel-menu button:focus-visible{background:var(--raised,#1b1b1f)}
.vx-rel-menu .vx-rel-warn{color:#ff453a}
.vx-rel-dialog{border:1px solid var(--border,#26262b);border-radius:14px;background:var(--panel,#141417);color:var(--text,#f2f2f4);padding:20px;max-width:min(92vw,400px)}
.vx-rel-dialog::backdrop{background:rgba(0,0,0,.55)}
.vx-rel-dialog h2{margin:0 0 8px;font-size:17px}
.vx-rel-dialog p{margin:0 0 18px;color:var(--muted,#8e8e93);font-size:14px;line-height:1.45}
.vx-rel-dactions{display:flex;justify-content:flex-end;gap:8px}
.vx-rel-dialog .vx-rel-danger{background:#ff453a!important;border-color:transparent!important;color:hsl(0 0% 100%)!important}
/* Job-linked conversations */
.chat-job-tag{display:inline-block;vertical-align:middle;font-size:10.5px;font-weight:600;line-height:1;padding:3px 6px;border-radius:6px;background:var(--raised,#1b1b1f);color:var(--muted,#8e8e93);border:1px solid var(--border,#26262b);margin-right:4px;letter-spacing:.02em}
.chat-job-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.job-threads{margin-top:20px}
.job-threads h2{font-size:17px;margin:0 0 12px}
.job-thread-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border,#26262b);border-radius:12px;overflow:hidden}
.job-thread-list .chat-thread{border-radius:0!important;border:0!important}
.job-thread-list .chat-thread+.chat-thread{border-top:1px solid var(--border,#26262b)!important}
#job-chat{width:100%;justify-content:center}
/* Staff tools: hub ⋯ menu + hub badges */
.vx-hub-dots{padding-left:10px!important;padding-right:10px!important;min-width:0}
.hb-hero-body{position:relative}
.vx-hub-more{margin-left:auto;align-self:flex-start}
.vx-hub-badges{margin-left:6px;vertical-align:middle}
.vx-hub-tbadges{margin-top:8px}
.vx-rel-own{margin-left:8px}
.vx-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.vx-staff-row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.vx-staff-row label{flex:1;min-width:160px}
.vx-staff-hit{border:1px solid var(--border,#26262b);border-radius:12px;padding:12px;margin-top:10px}
.vx-staff-hit code{font-size:12px;opacity:.8;word-break:break-all}
.vx-staff-chip{display:inline-flex;align-items:center;gap:6px;margin:4px 6px 0 0;padding:4px 8px;border-radius:999px;border:1px solid var(--border,#26262b);font-size:13px}
.vx-staff-chip button{all:unset;cursor:pointer;opacity:.7;padding:0 2px}
.vx-staff-chip button:hover{opacity:1;color:#ff453a}
.vx-hub-more .vx-rel-menu{top:auto;bottom:calc(100% + 6px)}
/* Avatar / hub icon hover tooltip */
.vx-tip{position:fixed;z-index:2147483200;pointer-events:none;max-width:240px;padding:7px 10px;border-radius:8px;background:#111214;color:#f2f2f4;border:1px solid rgba(255,255,255,.06);box-shadow:0 6px 18px rgba(0,0,0,.4);font:600 13px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,system-ui,sans-serif;opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease;display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.vx-tip.on{opacity:1;transform:none}
.vx-tip strong{overflow:hidden;text-overflow:ellipsis;font-weight:600}
.vx-tip small{font-weight:500;font-size:12px;color:#9a9aa2;overflow:hidden;text-overflow:ellipsis}
.vx-tip-arrow{position:absolute;top:100%;width:10px;height:10px;margin-left:-5px;margin-top:-5px;background:#111214;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);transform:rotate(45deg)}
.vx-tip.below .vx-tip-arrow{top:-5px;margin-top:0;transform:rotate(225deg)}
html[data-theme="light"] .vx-tip,html[data-theme="light"] .vx-tip-arrow{background:#1d1e22}
@media (prefers-reduced-motion:reduce){.vx-tip{transition:none}}
