/* ============ ZIPPLEE AGENTS — theme ============ */
:root{
  --lime:#cdff03;
  --lime-2:#b8f818;
  --lime-ink:#1a2002;
  --bg:#f4f5ef;
  --surface:#ffffff;
  --surface-2:#fafbf5;
  --ink:#16181a;
  --ink-2:#5b6066;
  --ink-3:#9aa0a6;
  --line:#e6e8de;
  --line-2:#d8dbcc;
  --amber:#f5a524;
  --gray-line:#c3c7bd;
  --shadow:0 1px 2px rgba(22,24,26,.05),0 8px 28px rgba(22,24,26,.07);
  --shadow-lg:0 4px 12px rgba(22,24,26,.08),0 24px 64px rgba(22,24,26,.14);
  --r-xl:20px;
  --r-md:12px;
  --r-sm:9px;
  --glow:none;
  --map-ring:rgba(22,24,26,.055);
}
[data-theme="dark"]{
  --bg:#0a0c08;
  --surface:#13160f;
  --surface-2:#181c12;
  --ink:#f2f4ea;
  --ink-2:#a8ad9c;
  --ink-3:#6d7263;
  --line:#242a1b;
  --line-2:#2f3722;
  --amber:#ffb838;
  --gray-line:#3c4232;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 28px rgba(0,0,0,.45);
  --shadow-lg:0 4px 12px rgba(0,0,0,.5),0 24px 64px rgba(0,0,0,.6);
  --glow:0 0 18px rgba(205,255,3,.28);
  --map-ring:rgba(205,255,3,.07);
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);color:var(--ink);
  font-size:14.5px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
  transition:background .35s,color .35s;
}
h1,h2,h3,.brand-word,.stat b{font-family:'Manrope',sans-serif}
button{font-family:inherit;cursor:pointer}
input{font-family:inherit;color:inherit}

.app{display:flex;height:100vh;overflow:hidden;--sidebar-w:236px}
.app.sidebar-collapsed{--sidebar-w:66px}

/* ============ SIDEBAR ============ */
.sidebar{
  width:var(--sidebar-w);flex:0 0 var(--sidebar-w);display:flex;flex-direction:column;
  background:var(--surface);border-right:1px solid var(--line);
  padding:22px 14px 16px;transition:width .24s cubic-bezier(.4,0,.2,1),flex-basis .24s cubic-bezier(.4,0,.2,1),background .35s,border-color .35s;
  overflow:hidden;
}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px}

/* sidebar collapse toggle */
.sidebar-collapse{
  margin-left:auto;flex:0 0 auto;width:26px;height:26px;border-radius:7px;
  border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-3);
  display:flex;align-items:center;justify-content:center;padding:0;
  transition:color .15s,border-color .15s,transform .2s;
}
.sidebar-collapse:hover{color:var(--ink);border-color:var(--lime-2)}
[data-theme="dark"] .sidebar-collapse:hover{color:var(--lime);border-color:var(--lime)}
.app.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}

/* collapsed → thin icon rail */
.app.sidebar-collapsed .sidebar{padding-left:9px;padding-right:9px}
.app.sidebar-collapsed .brand{gap:0;padding:0 0 22px;justify-content:center;position:relative}
.app.sidebar-collapsed .brand>img{display:none}
.app.sidebar-collapsed .brand-word{display:none}
.app.sidebar-collapsed .sidebar-collapse{margin:0}
.app.sidebar-collapsed .nav-item{justify-content:center;padding:10px 0;gap:0}
.app.sidebar-collapsed .nav-label{display:none}
.app.sidebar-collapsed .nav-badge{
  position:absolute;top:4px;right:6px;margin:0;padding:0;
  min-width:8px;height:8px;border-radius:50%;font-size:0;line-height:0;
}
.app.sidebar-collapsed .nav-item{position:relative}
.app.sidebar-collapsed .me-meta,
.app.sidebar-collapsed .demo-tag,
.app.sidebar-collapsed .theme-toggle .tt-icon{display:none}
.app.sidebar-collapsed .me-chip{justify-content:center;padding:0}
.app.sidebar-collapsed .theme-toggle{padding:0;justify-content:center}
.brand-mark{
  width:34px;height:34px;border-radius:10px;background:var(--lime);
  color:var(--lime-ink);font-family:'Manrope';font-weight:800;font-size:20px;
  display:grid;place-items:center;box-shadow:var(--glow);
}
.brand-word{font-weight:800;font-size:16.5px;letter-spacing:-.02em}
.brand-word span{color:var(--ink-3);font-weight:600}

.nav{display:flex;flex-direction:column;gap:3px;flex:1}
.nav-item{
  display:flex;align-items:center;gap:11px;
  padding:10px 12px;border:none;background:none;border-radius:var(--r-md);
  color:var(--ink-2);font-size:14px;font-weight:600;text-align:left;
  transition:background .15s,color .15s;
}
.nav-item svg{width:19px;height:19px;stroke:currentColor;fill:currentColor;stroke-width:1.6}
.nav-item svg [fill="none"],.nav-item svg path[fill="none"]{fill:none}
.nav-item:hover{background:var(--surface-2);color:var(--ink)}
.nav-item.active{background:var(--ink);color:var(--bg)}
[data-theme="dark"] .nav-item.active{background:var(--lime);color:var(--lime-ink);box-shadow:var(--glow)}
.nav-badge{
  margin-left:auto;background:var(--lime);color:var(--lime-ink);
  font-size:11px;font-weight:700;padding:1px 7px;border-radius:7px;
}
.nav-item.active .nav-badge{background:var(--bg);color:var(--ink)}
[data-theme="dark"] .nav-item.active .nav-badge{background:var(--lime-ink);color:var(--lime)}

.sidebar-foot{display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.me-chip{display:flex;align-items:center;gap:10px;padding:0 6px}
.me-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex:0 0 36px}
.me-avatar svg{display:block;width:100%;height:100%}
.me-meta{display:flex;flex-direction:column;line-height:1.25}
.me-meta strong{font-size:13.5px}
.me-status{font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:5px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--lime-2);display:inline-block;animation:blink 2.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

.theme-toggle{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  height:34px;border-radius:var(--r-sm);border:1px solid var(--line-2);
  background:var(--surface-2);padding:0 10px;font-size:13px;color:var(--ink-2);
}
.tt-thumb{
  position:absolute;top:3px;left:4px;width:calc(50% - 6px);height:26px;
  background:var(--surface);border:1px solid var(--line-2);border-radius:7px;
  transition:left .25s cubic-bezier(.5,1.4,.5,1);box-shadow:var(--shadow);
}
[data-theme="dark"] .tt-thumb{left:calc(50% + 2px);background:var(--lime);border-color:var(--lime)}
.tt-icon{z-index:1;width:40%;text-align:center}
[data-theme="dark"] .tt-moon{color:var(--lime-ink)}
[data-theme="light"] .tt-sun{color:var(--ink)}

.demo-tag{font-size:10px;letter-spacing:.14em;color:var(--ink-3);text-align:center;font-weight:600}

/* ============ MAIN / VIEWS ============ */
.main{flex:1;overflow-y:auto;overflow-x:hidden;position:relative}
.view{padding:30px 36px 44px;max-width:1240px;margin:0 auto;animation:viewIn .3s ease}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
.view-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap;padding-right:44px}
.view-head h1{font-size:27px;font-weight:800;letter-spacing:-.03em}
.sub{color:var(--ink-2);margin-top:3px;font-size:14px}

/* ---- help (?) affordance — one reusable component per view ---- */
.help-dot{
  position:absolute;top:0;right:0;z-index:8;
  width:28px;height:28px;border-radius:50%;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink-3);
  font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:color .15s,border-color .15s,box-shadow .15s,background .15s;
}
.help-dot:hover,.help-dot.on{color:var(--ink);border-color:var(--lime-2);background:var(--surface)}
.help-dot.on{box-shadow:0 0 0 3px rgba(184,248,24,.20)}
[data-theme="dark"] .help-dot:hover,[data-theme="dark"] .help-dot.on{color:var(--lime);border-color:var(--lime);box-shadow:0 0 0 3px rgba(205,255,3,.14),var(--glow)}
.help-pop{
  position:absolute;top:36px;right:0;z-index:60;
  width:340px;max-width:min(340px,82vw);
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);
  box-shadow:var(--shadow-lg);
  padding:14px 16px 15px;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}
.help-pop.on{opacity:1;transform:none;pointer-events:auto}
.help-pop::before{
  content:"";position:absolute;top:-6px;right:12px;width:11px;height:11px;
  background:var(--surface);border-left:1px solid var(--line-2);border-top:1px solid var(--line-2);
  transform:rotate(45deg);
}
.help-pop h4{
  font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;
  letter-spacing:.02em;color:var(--ink);margin:0 0 7px;
  display:flex;align-items:center;gap:7px;
}
.help-pop h4::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime-2);box-shadow:var(--glow)}
.help-pop p{font-size:12.5px;line-height:1.62;color:var(--ink-2);margin:0}
.help-pop b{color:var(--ink);font-weight:700}
@media(max-width:640px){.help-pop{position:fixed;top:auto;bottom:16px;left:16px;right:16px;width:auto;max-width:none}.help-pop::before{display:none}}

/* buttons — soft rects, never pills */
.btn{
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);
  font-weight:600;font-size:13.5px;padding:9px 16px;border-radius:var(--r-sm);
  transition:transform .12s,background .15s,box-shadow .15s;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--lime);border-color:var(--lime);color:var(--lime-ink);box-shadow:var(--glow)}
.btn-primary:hover{background:var(--lime-2);border-color:var(--lime-2)}
.btn-ghost{background:transparent}
.btn-sm{padding:6px 11px;font-size:12.5px}
.btn-row{display:flex;gap:8px;flex-wrap:wrap}
.link{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--lime-2);font-weight:600;background:none;border:none;font-size:13px}

/* ============ THE FLOOR ============ */
.search-wrap{
  display:flex;align-items:center;gap:9px;background:var(--surface);
  border:1px solid var(--line-2);border-radius:var(--r-md);padding:10px 14px;
  width:340px;max-width:100%;transition:border-color .2s,box-shadow .2s;
}
.search-wrap:focus-within{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.22)}
.search-wrap svg{width:17px;height:17px;stroke:var(--ink-3);stroke-width:1.8;flex:0 0 17px}
.search-wrap input{border:none;outline:none;background:none;width:100%;font-size:14px}
.search-wrap input::placeholder{color:var(--ink-3);font-style:italic}

/* small mono technical labels — matches the app's JetBrains Mono accents */
.mono-label{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* --- SEARCH IS PRIMARY --- */
.floor-hero{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.fsearch{
  flex:1;min-width:260px;display:flex;align-items:center;gap:12px;
  background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);
  padding:15px 18px;transition:border-color .2s,box-shadow .2s;
}
.fsearch:focus-within{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.22)}
.fsearch svg{width:20px;height:20px;stroke:var(--ink-3);stroke-width:1.8;flex:0 0 20px}
.fsearch input{border:none;outline:none;background:none;width:100%;font-size:17px;font-weight:500;letter-spacing:-.01em}
.fsearch input::placeholder{color:var(--ink-3);font-weight:400}
.fsearch-clear{border:none;background:var(--surface-2);color:var(--ink-3);width:26px;height:26px;border-radius:7px;font-size:13px;flex:0 0 26px;transition:color .15s,background .15s}
.fsearch-clear:hover{color:var(--ink);background:var(--line-2)}
/* Save-as-a-watch — live-text action, never a pill */
.watch-save{
  border:none;background:none;color:var(--ink);font-weight:600;font-size:14px;
  padding:6px 2px;position:relative;transition:color .15s;white-space:nowrap;
}
.watch-save:hover{color:var(--lime-2)}
.watch-save::after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:1.5px;background:var(--lime-2);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.watch-save:hover::after{transform:scaleX(1)}

/* --- YOUR WATCHES --- */
.watches{margin-bottom:22px;padding:14px 16px;background:var(--surface-2);border-radius:var(--r-md)}
.watches-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.watches-note{font-size:12px;color:var(--ink-3);font-style:italic}
.watches-list{display:flex;flex-direction:column;gap:2px}
.watch-row{display:flex;align-items:center;gap:10px;padding:5px 2px;font-size:14px;color:var(--ink)}
.watch-row .wr-dot{width:6px;height:6px;border-radius:50%;background:var(--lime-2);flex:0 0 6px;box-shadow:var(--glow)}
.watch-row .wr-name{font-weight:600;background:none;border:none;color:inherit;text-align:left;padding:0;transition:color .15s}
.watch-row .wr-name:hover{color:var(--lime-2)}
.watch-row .wr-meta{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-3);margin-left:auto}
.watch-row .wr-x{border:none;background:none;color:var(--ink-3);font-size:12px;padding:2px 6px;transition:color .15s}
.watch-row .wr-x:hover{color:var(--amber)}

/* --- TRENDING — plain text, cycling, no borders --- */
.trending{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.trending .mono-label{flex:0 0 auto;padding-top:1px}
.trending-strip{display:flex;flex-wrap:wrap;gap:4px 0;font-size:13.5px;line-height:1.9;color:var(--ink-2)}
.trend-item{background:none;border:none;color:var(--ink-2);font-size:13.5px;font-weight:500;padding:0;transition:color .18s,opacity .35s}
.trend-item:hover{color:var(--lime-2)}
.trend-item .ti-ct{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);margin-left:4px}
.trend-sep{color:var(--line-2);padding:0 9px;user-select:none}
.trend-item.fade{opacity:0}

/* --- FACETS — collapsible, plain toggles, no pills --- */
.facets{margin-bottom:22px;border-top:1px solid var(--line);padding-top:14px}
.facets-toggle{display:inline-flex;align-items:center;gap:8px;border:none;background:none;color:var(--ink-2);font-weight:600;font-size:13.5px;padding:0;transition:color .15s}
.facets-toggle:hover{color:var(--ink)}
.ft-chevron{display:inline-block;font-size:11px;color:var(--ink-3);transition:transform .2s}
.facets.open .ft-chevron{transform:rotate(90deg)}
.facets-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--lime-ink);background:var(--lime);border-radius:6px;padding:1px 7px;margin-left:4px}
[data-theme="dark"] .facets-count{color:var(--lime-ink)}
.facets-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:20px 28px;margin-top:16px}
.facet-group{display:flex;flex-direction:column;gap:9px}
.facet-group .mono-label{margin-bottom:2px}
.facet-opt{display:flex;align-items:center;gap:9px;background:none;border:none;color:var(--ink-2);font-size:13.5px;font-weight:500;padding:0;text-align:left;transition:color .15s}
.facet-opt:hover{color:var(--ink)}
.facet-opt .fo-box{width:15px;height:15px;flex:0 0 15px;border:1.5px solid var(--line-2);border-radius:4px;display:grid;place-items:center;transition:border-color .15s,background .15s}
.facet-opt .fo-box svg{width:10px;height:10px;stroke:var(--lime-ink);stroke-width:3;opacity:0;transition:opacity .12s}
.facet-opt.on{color:var(--ink)}
.facet-opt.on .fo-box{background:var(--lime);border-color:var(--lime)}
.facet-opt.on .fo-box svg{opacity:1}

/* --- RESULTS label --- */
.results-label{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px}

/* keep Floor elements fluid on narrow widths (search must never force overflow) */
@media (max-width:640px){
  .floor-hero{gap:10px}
  .fsearch{min-width:0;padding:13px 15px}
  .fsearch input{font-size:16px}
  .watches .wr-meta{display:none}
  .trending{flex-direction:column;align-items:flex-start;gap:7px}
  .facets-panel{grid-template-columns:1fr 1fr}
}

.floor-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));
  gap:26px 14px;
}
.floor-agent{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;cursor:pointer;background:none;border:none;color:inherit;padding:4px}
.fa-avatar{position:relative;width:76px;height:76px}
.fa-avatar svg{width:100%;height:100%;border-radius:50%;display:block;transition:transform .18s cubic-bezier(.4,1.6,.5,1)}
.floor-agent:hover .fa-avatar svg{transform:scale(1.09)}
.fa-avatar .pulse{
  position:absolute;inset:-5px;border-radius:50%;
  border:2px solid var(--lime-2);opacity:0;
  animation:pulse 2.6s ease-out infinite;pointer-events:none;
}
.fa-avatar .pulse.p2{animation-delay:1.3s}
@keyframes pulse{0%{transform:scale(.86);opacity:.9}70%{transform:scale(1.16);opacity:0}100%{opacity:0}}
[data-theme="dark"] .fa-avatar .pulse{box-shadow:0 0 12px rgba(205,255,3,.35)}
.fa-name{font-weight:700;font-size:13.5px;letter-spacing:-.01em}
.fa-hint{font-size:11.5px;color:var(--ink-3);line-height:1.35;max-width:150px;min-height:2.7em}
.fa-hint b{color:var(--ink-2);font-weight:600}
.fa-intent{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px}
.fa-intent.offering{background:rgba(184,248,24,.25);color:#4b6603}
.fa-intent.seeking{background:rgba(245,165,36,.18);color:#8a5a08}
.fa-intent.open{background:rgba(120,130,140,.14);color:var(--ink-2)}
.fa-intent.collab{background:rgba(20,184,166,.18);color:#0d7d70}
[data-theme="dark"] .fa-intent.collab{background:rgba(45,212,191,.16);color:#5eead4}
.fa-intent.hiring{background:rgba(245,165,36,.18);color:#8a5a08}
.fa-intent.investing{background:rgba(184,248,24,.25);color:#4b6603}
[data-theme="dark"] .fa-intent.offering,[data-theme="dark"] .fa-intent.investing{background:rgba(205,255,3,.14);color:var(--lime)}
[data-theme="dark"] .fa-intent.seeking,[data-theme="dark"] .fa-intent.hiring{background:rgba(255,184,56,.14);color:var(--amber)}

.floor-empty{padding:56px 0;text-align:center;color:var(--ink-2);font-size:15.5px}
.floor-empty p{margin:0 auto}
.floor-empty .fe-sub{margin-top:12px;font-size:14px;color:var(--ink-3)}
.floor-empty .link{font-size:14px}

/* ============ PROFILE DRAWER ============ */
.drawer-scrim{position:fixed;inset:0;background:rgba(10,12,8,.35);backdrop-filter:blur(2px);z-index:40;animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}}
.drawer{
  position:fixed;top:0;right:-420px;width:400px;max-width:92vw;height:100vh;z-index:41;
  background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);
  transition:right .3s cubic-bezier(.3,1,.4,1);overflow-y:auto;
}
.drawer.open{right:0}
.drawer-close{position:absolute;top:16px;right:16px;border:none;background:var(--surface-2);width:32px;height:32px;border-radius:9px;color:var(--ink-2);font-size:14px;z-index:2}
.drawer-body{padding:40px 30px 30px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.drawer-body .big-avatar{width:130px;height:130px;position:relative}
.drawer-body .big-avatar svg{width:100%;height:100%;border-radius:50%}
/* ---- TRUST, kept simple (canon): verification badge + ONE status word.
   Reputation numbers never render — they're agent-internal plumbing. ---- */
.trust-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:-4px}
.verify-badge{
  font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-2);
  border:1px solid var(--line-2);background:var(--surface-2);
  padding:4px 10px;border-radius:8px;
}
.status-chip{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-2);
  border:1px solid var(--line-2);background:var(--surface-2);
  padding:4px 10px;border-radius:8px;
}
.status-chip .status-dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.status-chip.trusted .status-dot{background:#3ddc84;box-shadow:0 0 6px rgba(61,220,132,.55)}
.status-chip.new .status-dot{background:var(--lime-2);box-shadow:0 0 6px rgba(184,248,24,.5)}
.status-chip.limited .status-dot{background:#ff9e2c;box-shadow:0 0 6px rgba(255,158,44,.5)}
.status-chip.restricted .status-dot{background:#ff5a5a;box-shadow:0 0 6px rgba(255,90,90,.5)}
.drawer-body h2{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-top:6px}
.drawer-human{color:var(--ink-2);font-size:13.5px;margin-top:-10px}
.drawer-human b{color:var(--ink)}
.drawer-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.dtag{font-size:11.5px;font-weight:600;border:1px solid var(--line-2);padding:3px 9px;border-radius:7px;color:var(--ink-2)}
.d-intents{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:4px}
.pillow{font-size:12.5px;font-weight:600;padding:9px 13px;border-radius:var(--r-sm);text-align:left;line-height:1.35}
.pillow.off{background:rgba(184,248,24,.2);color:#465f03;border:1px solid rgba(140,190,10,.3)}
.pillow.seek{background:rgba(245,165,36,.14);color:#8a5a08;border:1px solid rgba(245,165,36,.3)}
[data-theme="dark"] .pillow.off{background:rgba(205,255,3,.1);color:var(--lime);border-color:rgba(205,255,3,.25)}
[data-theme="dark"] .pillow.seek{background:rgba(255,184,56,.09);color:var(--amber);border-color:rgba(255,184,56,.25)}
.drawer-cta{width:100%;padding:13px;font-size:14.5px;margin-top:6px}
.drawer-qr{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px;border:1px dashed var(--line-2);border-radius:var(--r-md);width:100%}
.drawer-qr .qr{width:64px;height:64px;flex:0 0 64px}
.drawer-qr span{font-size:12px;color:var(--ink-3);text-align:left;line-height:1.4}

/* ============ MY DEBRIEF ============ */
.replay-ctl{display:flex;align-items:center;gap:12px}
.replay-ctl input[type=range]{width:190px;accent-color:var(--lime-2)}
.replay-time{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-2);width:44px}

.stat-strip{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.stat{
  flex:1;min-width:150px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-xl);padding:14px 20px;display:flex;align-items:baseline;gap:10px;
  box-shadow:var(--shadow);
}
.stat b{font-size:26px;font-weight:800;letter-spacing:-.03em}
.stat span{font-size:12.5px;color:var(--ink-2);line-height:1.3}
.stat-lime{background:var(--lime);border-color:var(--lime);box-shadow:var(--glow)}
.stat-lime b,.stat-lime span{color:var(--lime-ink)}
.stat-dim b{color:var(--ink-3)}

/* The constellation is a window into space — it stays NIGHT SKY in BOTH themes.
   (You can't have a light-mode outer space; light mode themes the chrome, not the cosmos.) */
.map-wrap{
  position:relative;border:1px solid var(--line);
  background:radial-gradient(ellipse 90% 80% at 50% 45%, #10140b 0%, #0a0c08 100%);
  border-radius:var(--r-xl);box-shadow:var(--shadow);overflow:hidden;
}
[data-theme="dark"] .map-wrap{ border-color:var(--line-2); }
#nodeMap{display:block;width:100%;height:auto}
.map-legend{
  position:absolute;left:18px;bottom:14px;display:flex;gap:16px;align-items:center;
  font-size:12px;color:#a8ad9c;flex-wrap:wrap;   /* pinned: sits on the night sky in both themes */
}
.lg{display:inline-block;width:18px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.lg-lime{background:var(--lime-2);box-shadow:var(--glow)}
.lg-amber{background:var(--amber)}
.lg-teal{background:rgba(45,212,191,.65)}
.lg-gray{background:var(--gray-line)}
.lg-note{color:var(--ink-3);font-style:italic}

/* node map SVG — constellation: faint teal threads, selective lime for wins (matches the 3D map) */
/* soft trajectory threads (filled tapered paths, heavier at the hub) */
/* threads sit on the night sky in both themes — one tuned set, no per-theme variants */
.spoke-fill{stroke:none;transition:opacity .3s}
.spoke-fill.pending{fill:rgba(45,212,191,.2);filter:drop-shadow(0 0 4px rgba(45,212,191,.3))}
.spoke-fill.qualified{fill:rgba(205,255,3,.24);filter:drop-shadow(0 0 7px rgba(205,255,3,.55))}
/* pulses travelling toward the hub */
.spoke-flow{fill:none;stroke-linecap:round}
.spoke-flow.pending{stroke:rgba(160,240,225,.5)}
.spoke-flow.qualified{stroke:rgba(224,255,150,.9)}
/* declined = near-invisible dotted trace */
.spoke-dash{fill:none;stroke:rgba(45,212,191,.14);stroke-linecap:round}
.map-node{cursor:pointer}
/* soft under-glow instead of loud outlines; a ring only on a win */
.node-glow{fill:rgba(45,212,191,.12);opacity:.5;transition:opacity .2s;filter:blur(3px)}
.node-glow.win{fill:rgba(205,255,3,.22);opacity:.7}
.map-node:hover .node-glow{opacity:.9}
.node-ring-win{stroke:var(--lime);stroke-width:2;filter:drop-shadow(0 0 6px rgba(205,255,3,.6))}
.node-label{font-family:'Inter';font-size:12px;font-weight:600;fill:#e8ebe0}   /* pinned for night sky */
.node-time{font-family:'JetBrains Mono';font-size:9.5px;fill:#8a9382}          /* pinned for night sky */
.center-glow{fill:rgba(205,255,3,.12);filter:blur(4px)}
.center-ring{fill:none;stroke:var(--lime);stroke-width:3;filter:drop-shadow(0 0 7px rgba(205,255,3,.55))}
.center-label{font-family:'Manrope';font-weight:800;font-size:14px;fill:#f2f4ec} /* pinned for night sky */
.center-sub{font-family:'Inter';font-size:10.5px;fill:#8a9382}                   /* pinned for night sky */
.ring-guide{fill:none;stroke:rgba(140,150,130,.16);stroke-width:1}               /* pinned for night sky */
.map-node.dimmed{opacity:.12}

.node-card{
  position:absolute;width:300px;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:16px;z-index:10;
  animation:cardPop .18s cubic-bezier(.3,1.4,.5,1);
}
@keyframes cardPop{from{opacity:0;transform:scale(.92) translateY(6px)}}
.nc-head{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.nc-head .nc-av{width:40px;height:40px;flex:0 0 40px}
.nc-head .nc-av svg{width:100%;height:100%;border-radius:50%}
.nc-head b{font-size:15px}
.nc-outcome{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:6px;margin-left:auto}
.nc-outcome.qualified{background:rgba(184,248,24,.28);color:#465f03}
.nc-outcome.pending{background:rgba(245,165,36,.18);color:#8a5a08}
.nc-outcome.declined{background:rgba(120,130,140,.15);color:var(--ink-2)}
[data-theme="dark"] .nc-outcome.qualified{background:rgba(205,255,3,.15);color:var(--lime)}
[data-theme="dark"] .nc-outcome.pending{background:rgba(255,184,56,.13);color:var(--amber)}
.nc-sum{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:13px}
.nc-actions{display:flex;gap:7px;flex-wrap:wrap}

/* ============ ROOMS ============ */
.switch-row{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;color:var(--ink-2);cursor:pointer}
.switch{
  width:44px;height:25px;border-radius:8px;background:var(--line-2);
  position:relative;transition:background .2s;flex:0 0 44px;display:inline-block;
}
.switch i{
  position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:6px;
  background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s;
}
.switch[data-on="1"]{background:var(--lime);box-shadow:var(--glow)}
.switch[data-on="1"] i{left:22px}
.sr-block{justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
.sr-block:last-of-type{border-bottom:none}

.rooms-head-ctl{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rooms-search-wrap{margin-bottom:26px}
.rooms-sec{margin-bottom:32px}
.rooms-sec-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.rooms-sec-head h2{font-size:15px;font-weight:800;letter-spacing:-.01em}
.rooms-sec-note{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px}
.live-dot.lnd{position:static;display:inline-block;width:8px;height:8px}

.lounge{
  position:relative;min-height:460px;border-radius:var(--r-xl);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);
  background-image:radial-gradient(var(--line) 1px, transparent 1px);
  background-size:26px 26px;overflow:hidden;
}
[data-theme="dark"] .lounge{background-color:#0e120a;background-image:radial-gradient(rgba(205,255,3,.06) 1px, transparent 1px)}
.table{
  position:absolute;transform:translate(-50%,-50%);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;border:none;background:none;color:inherit;
}
.table-disc{
  position:relative;width:118px;height:118px;border-radius:50%;
  background:var(--surface-2);border:2px solid var(--line-2);
  display:grid;place-items:center;text-align:center;padding:14px;
  transition:transform .18s,border-color .18s,box-shadow .18s;
  box-shadow:var(--shadow);
}
.table:hover .table-disc{transform:scale(1.05);border-color:var(--lime-2)}
.table.selected .table-disc{border-color:var(--lime-2);box-shadow:0 0 0 4px rgba(184,248,24,.25),var(--shadow)}
[data-theme="dark"] .table.selected .table-disc{box-shadow:0 0 0 4px rgba(205,255,3,.18),0 0 24px rgba(205,255,3,.25)}
.table-name{font-family:'Manrope';font-weight:800;font-size:13px;line-height:1.25;letter-spacing:-.01em}
.table-count{font-size:10.5px;color:var(--ink-3);margin-top:2px}
.live-dot{
  position:absolute;top:6px;right:10px;width:10px;height:10px;border-radius:50%;
  background:var(--lime-2);animation:blink 1.6s infinite;
}
[data-theme="dark"] .live-dot{box-shadow:0 0 10px rgba(205,255,3,.8)}
.seat{
  position:absolute;width:34px;height:34px;border-radius:50%;
  border:2px solid var(--surface);box-shadow:var(--shadow);
  transform:translate(-50%,-50%);
}
.seat svg{width:100%;height:100%;border-radius:50%;display:block}
.seat.me-seat{border-color:var(--lime)}
.seat-label{position:absolute;font-size:9px;font-weight:700;color:var(--ink-3);transform:translate(-50%,0);white-space:nowrap}

.tp-scrim{position:fixed;inset:0;background:rgba(22,24,26,.3);backdrop-filter:blur(2px);z-index:44}
[data-theme="dark"] .tp-scrim{background:rgba(4,6,3,.55)}
.transcript-panel{
  position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;z-index:45;
  background:var(--surface);border-left:1px solid var(--line-2);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateX(103%);transition:transform .34s cubic-bezier(.4,1,.35,1);
}
.transcript-panel.open{transform:translateX(0)}
.tp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-3);text-align:center;font-size:13.5px}
.tp-empty-art{font-size:34px;color:var(--lime-2);animation:blink 2s infinite}
.tp-live{display:flex;flex-direction:column;height:100%;min-height:0;flex:1}
.tp-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.tp-head h3{font-size:16px;font-weight:800;letter-spacing:-.01em}
.tp-sub{font-size:11.5px;color:var(--ink-3)}
.tp-feed{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-height:0}
.tp-line{display:flex;gap:9px;animation:lineIn .35s cubic-bezier(.3,1.2,.5,1) both}
@keyframes lineIn{from{opacity:0;transform:translateY(10px)}}
.tp-line .tl-av{width:26px;height:26px;flex:0 0 26px;margin-top:2px}
.tp-line .tl-av svg{width:100%;height:100%;border-radius:50%}
.tl-bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:4px 12px 12px 12px;padding:8px 11px;font-size:12.8px;line-height:1.45}
.tl-bubble b{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}
.tp-typing{display:flex;gap:4px;padding:6px 2px}
.tp-typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:typebounce 1.1s infinite}
.tp-typing i:nth-child(2){animation-delay:.18s}
.tp-typing i:nth-child(3){animation-delay:.36s}
@keyframes typebounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}

/* ============ INBOX ============ */
.inbox-list{display:flex;flex-direction:column;gap:12px;max-width:860px}
.inbox-row{
  display:flex;align-items:center;gap:18px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-xl);padding:18px 22px;
  box-shadow:var(--shadow);transition:transform .3s,opacity .3s,max-height .35s,border-color .18s;
  cursor:pointer;
}
.inbox-row:hover{border-color:var(--lime-2)}
[data-theme="dark"] .inbox-row:hover{border-color:rgba(205,255,3,.4);box-shadow:0 0 18px rgba(205,255,3,.08),var(--shadow)}
.inbox-row.leaving{opacity:0;transform:translateX(30px)}
.ir-avatars{display:flex;align-items:center;flex:0 0 92px}
.ir-avatars .ir-av{width:48px;height:48px;border-radius:50%;border:3px solid var(--surface);box-shadow:var(--shadow)}
.ir-avatars .ir-av svg{width:100%;height:100%;border-radius:50%;display:block}
.ir-avatars .ir-av:last-child{margin-left:-14px}
.ir-body{flex:1;min-width:0}
.ir-match{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.ir-match b{color:var(--ink)}
.ir-pitch{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.ir-pitch::before{content:"“";color:var(--lime-2);font-family:'Manrope';font-weight:800;font-size:17px;margin-right:1px}
.ir-actions{display:flex;gap:8px;flex:0 0 auto}
.inbox-empty{padding:90px 0;text-align:center;animation:viewIn .4s ease}
.inbox-empty h2{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:18px 0 4px}
.inbox-empty p{color:var(--ink-2)}
.ie-ring{width:74px;height:74px;margin:0 auto;border-radius:50%;border:3px solid var(--lime);position:relative;animation:blink 2.5s infinite;box-shadow:var(--glow)}
.ie-ring::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:30px;color:var(--lime-2);font-weight:800}

/* ============ MY AGENT ============ */
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:22px;box-shadow:var(--shadow);
}
.card h3{font-size:15px;font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
.face-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.face-opt{width:56px;height:56px;border-radius:50%;border:3px solid transparent;padding:0;background:none;transition:transform .15s}
.face-opt svg{width:100%;height:100%;border-radius:50%;display:block}
.face-opt:hover{transform:scale(1.08)}
.face-opt.sel{border-color:var(--lime)}
.slider-row{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:10px;font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:12px}
.slider-row span:last-child{text-align:right}
.zslider{width:100%;accent-color:var(--lime-2);height:4px}
.hint{font-size:12.5px;color:var(--ink-3);line-height:1.5;font-style:italic}
.check{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:13.5px;color:var(--ink-2);cursor:pointer;border-bottom:1px solid var(--line)}
.check:last-child{border-bottom:none}
.check input{display:none}
.check i{
  width:19px;height:19px;border-radius:6px;border:1.5px solid var(--line-2);flex:0 0 19px;
  display:grid;place-items:center;transition:all .15s;font-style:normal;
}
.check input:checked + i{background:var(--lime);border-color:var(--lime)}
.check input:checked + i::after{content:"✓";color:var(--lime-ink);font-size:12px;font-weight:800}
.intent-group{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}
.ig-label{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;flex:0 0 auto;margin-top:2px}
.ig-off{background:rgba(184,248,24,.25);color:#465f03}
.ig-seek{background:rgba(245,165,36,.18);color:#8a5a08}
[data-theme="dark"] .ig-off{background:rgba(205,255,3,.13);color:var(--lime)}
[data-theme="dark"] .ig-seek{background:rgba(255,184,56,.12);color:var(--amber)}
.intent-chips{display:flex;gap:6px;flex-wrap:wrap}
.ichip{
  display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;
  border:1px solid var(--line-2);background:var(--surface-2);padding:5px 10px;border-radius:var(--r-sm);
}
.ichip button{border:none;background:none;color:var(--ink-3);font-size:12px;padding:0;line-height:1}
.ichip button:hover{color:var(--ink)}
.intent-add{display:flex;gap:8px;margin-top:6px}
.intent-add input{
  flex:1;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);
  padding:8px 11px;font-size:13px;outline:none;
}
.intent-add input:focus{border-color:var(--lime-2)}
/* name + tagline inputs */
.field-label{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);margin:2px 0 6px}
.text-input{
  width:100%;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);
  padding:10px 12px;font-size:14px;font-weight:600;outline:none;color:var(--ink);margin-bottom:14px;
}
.text-input::placeholder{color:var(--ink-3);font-weight:500}
.text-input:focus{border-color:var(--lime-2)}
/* offering / seeking add toggle — flat lime-on-dark, no pills */
.intent-kind{display:inline-flex;gap:4px;margin:2px 0 8px;background:var(--surface-2);padding:3px;border-radius:var(--r-sm)}
.ik-opt{border:none;background:none;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:700;
  color:var(--ink-3);cursor:pointer;transition:background .12s,color .12s}
.ik-opt.on{background:var(--lime);color:var(--lime-ink)}
.ac-tagline{color:var(--ink-2);font-size:14px;font-style:italic;margin:6px 0 2px}
.hours-row{display:flex;align-items:center;justify-content:space-between;padding-top:12px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.hours-pills{display:flex;align-items:center;gap:6px;font-family:'JetBrains Mono';font-size:12.5px}
.hours-pills b{background:var(--surface-2);border:1px solid var(--line-2);border-radius:7px;padding:4px 10px;color:var(--ink)}
.key-row{display:flex;gap:8px;margin:10px 0}
.key-row input{
  flex:1;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);
  padding:9px 12px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.03em;outline:none;color:var(--ink-2);
}
.key-meta{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-3)}
.key-ok{color:#5d9b06;font-weight:700}
[data-theme="dark"] .key-ok{color:var(--lime)}

/* ============ AGENT CARD ============ */
.card-stage{display:grid;place-items:center;padding:34px 0 10px}
.agent-card{
  width:400px;max-width:94%;background:var(--surface);border:1px solid var(--line-2);
  border-radius:26px;padding:30px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;
}
.agent-card::before{
  content:"";position:absolute;top:-70px;right:-70px;width:210px;height:210px;border-radius:50%;
  background:radial-gradient(circle, rgba(205,255,3,.35), transparent 65%);
}
[data-theme="dark"] .agent-card{border-color:var(--line-2);background:linear-gradient(160deg,#161a10,#0e110a)}
.ac-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative}
.ac-avatar{width:96px;height:96px;position:relative}
.ac-avatar svg{width:100%;height:100%;border-radius:50%}
.ac-rep{text-align:center;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.ac-rep small{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-weight:700}
.ac-name{font-size:30px;font-weight:800;letter-spacing:-.03em;margin-top:14px}
.ac-human{color:var(--ink-2);font-size:13.5px;margin:2px 0 14px}
.ac-human b{color:var(--ink)}
.ac-intents{display:flex;flex-direction:column;gap:7px}
.ac-divider{height:1px;background:var(--line);margin:18px 0}
.ac-bottom{display:flex;gap:16px;align-items:center}
.ac-qr{width:92px;height:92px;flex:0 0 92px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.ac-qr svg{width:100%;height:100%;display:block}
.ac-scan{font-size:12.5px;color:var(--ink-2);line-height:1.5}
.ac-scan b{color:var(--ink);display:block;font-size:13.5px}
.ac-url{display:block;font-family:'JetBrains Mono';font-size:11.5px;color:var(--ink-3);margin-top:6px}

/* ============ MODAL / TOAST ============ */
.modal-scrim{position:fixed;inset:0;background:rgba(10,12,8,.45);backdrop-filter:blur(3px);z-index:50;display:grid;place-items:center;animation:fadeIn .2s}
.modal{
  width:820px;max-width:94vw;max-height:82vh;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;
  animation:cardPop .22s cubic-bezier(.3,1.3,.5,1);
}
.modal header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.modal h3{font-size:16px;font-weight:800}
.tm-body{overflow-y:auto;padding:18px 20px;display:grid;grid-template-columns:1fr 264px;gap:20px;align-items:start}
.tm-chat{display:flex;flex-direction:column;gap:10px;min-width:0}
.tm-line{animation:lineIn .35s cubic-bezier(.3,1.2,.5,1) both}
.deal-sheet{
  position:sticky;top:0;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r-md);padding:14px 16px;
}
[data-theme="dark"] .deal-sheet{background:#10140b;border-color:var(--line-2)}
.ds-title{font-family:'Manrope';font-weight:800;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ds-live{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--lime-ink);background:var(--lime);padding:2px 7px;border-radius:6px;animation:blink 1.8s infinite}
[data-theme="dark"] .ds-live{box-shadow:var(--glow)}
.ds-k{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:11px 0 5px}
.ds-k:first-of-type{margin-top:0}
.ds-item{
  font-size:12px;line-height:1.45;color:var(--ink-2);
  border-left:2.5px solid var(--lime-2);padding:5px 9px;margin-bottom:5px;
  background:var(--surface);border-radius:0 8px 8px 0;
  animation:lineIn .4s cubic-bezier(.3,1.2,.5,1) both;
}
.ds-item i{font-style:normal;color:var(--ink-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.ds-item b{color:var(--ink)}
.ds-score{
  margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-2);
  font-size:12px;color:var(--ink-2);display:flex;align-items:center;justify-content:space-between;
  animation:lineIn .4s both;
}
.ds-score b{font-family:'Manrope';font-size:20px;font-weight:800;color:var(--ink)}
@media (max-width:760px){.tm-body{grid-template-columns:1fr}}
.tm-line{display:flex;gap:9px;max-width:88%}
.tm-line.otto{align-self:flex-end;flex-direction:row-reverse}
.tm-line .tl-av{width:26px;height:26px;flex:0 0 26px}
.tm-line .tl-av svg{width:100%;height:100%;border-radius:50%}
.tm-line .tl-bubble{border-radius:12px}
.tm-line.otto .tl-bubble{background:rgba(184,248,24,.16);border-color:rgba(140,190,10,.3)}
[data-theme="dark"] .tm-line.otto .tl-bubble{background:rgba(205,255,3,.09);border-color:rgba(205,255,3,.2)}

.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%);
  background:var(--ink);color:var(--bg);font-weight:600;font-size:13.5px;
  padding:11px 20px;border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:60;
  animation:toastIn .25s cubic-bezier(.3,1.4,.5,1);
}
[data-theme="dark"] .toast{background:var(--lime);color:var(--lime-ink);box-shadow:0 0 26px rgba(205,255,3,.4)}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(14px)}}

/* ============ THE MAP (3D) ============ */
.view-map3d{display:flex;flex-direction:column;height:100%;max-width:none;padding-bottom:26px}
.map3d-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}
.seg-btn{
  border:none;background:none;color:var(--ink-2);font-weight:600;font-size:13px;
  padding:8px 15px;transition:background .15s,color .15s;
}
.seg-btn + .seg-btn{border-left:1px solid var(--line-2)}
.seg-btn.on{background:var(--ink);color:var(--bg)}
[data-theme="dark"] .seg-btn.on{background:var(--lime);color:var(--lime-ink);box-shadow:var(--glow)}
.map3d-wrap{
  position:relative;flex:1;min-height:520px;border-radius:var(--r-xl);
  overflow:hidden;background:#050708;border:1px solid var(--line);
  box-shadow:var(--shadow);
}
[data-theme="dark"] .map3d-wrap{border-color:var(--line-2)}
.map3d-canvas{position:absolute;inset:0}
.map3d-canvas canvas{display:block}
/* ---- LIVE ECONOMY HUD (upper-left of the universe) ---- */
.econ-hud{
  position:absolute;top:14px;left:16px;z-index:4;pointer-events:none;
  width:236px;padding:12px 13px 10px;border-radius:13px;
  background:rgba(8,11,7,.62);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  border:1px solid rgba(205,255,3,.14);
  box-shadow:0 8px 30px rgba(0,0,0,.4);
  font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;
}
.econ-head{
  display:flex;align-items:center;gap:7px;font-size:9.5px;letter-spacing:.14em;
  color:var(--ink-3);margin-bottom:9px;font-weight:600;
}
.econ-dot{width:6px;height:6px;border-radius:50%;background:#3ddc84;
  box-shadow:0 0 0 0 rgba(61,220,132,.55);animation:econPulse 2.4s ease-out infinite}
@keyframes econPulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.5)}70%{box-shadow:0 0 0 7px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.econ-rows{display:flex;flex-direction:column;gap:5px}
.econ-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.econ-k{font-size:10.5px;color:var(--ink-3);white-space:nowrap;font-family:'Inter',sans-serif;letter-spacing:.01em}
.econ-v{font-size:12.5px;font-weight:600;color:var(--amber);font-variant-numeric:tabular-nums;white-space:nowrap}
.econ-v.lime{color:var(--lime)}
.econ-row.hi .econ-k{color:var(--ink-2)}
.econ-sep{height:1px;background:rgba(255,255,255,.07);margin:3px 0 1px}
.econ-foot{margin-top:9px;font-size:8.5px;letter-spacing:.12em;color:var(--ink-3);opacity:.7;
  font-style:italic;font-family:'Inter',sans-serif;text-transform:uppercase}
@media (max-width:760px){.econ-hud{display:none}}
/* ---- COMMUNITY PULSE HUD — the Community universe's sibling panel.
   Same dark glass + mono chrome; violet hue identity, human metrics, no dollars. */
.comm-hud{border:1px solid rgba(176,106,255,.18)}
.comm-hud .econ-v{color:#c9a4ff}
.comm-hud .econ-v.teal{color:var(--teal,#2dd4bf)}
.comm-hud .econ-dot{background:#b06aff;box-shadow:0 0 0 0 rgba(176,106,255,.55);
  animation:commPulse 2.4s ease-out infinite}
@keyframes commPulse{0%{box-shadow:0 0 0 0 rgba(176,106,255,.5)}70%{box-shadow:0 0 0 7px rgba(176,106,255,0)}100%{box-shadow:0 0 0 0 rgba(176,106,255,0)}}
/* econ HUD sits on the night-sky canvas — stays dark glass in BOTH themes */
.map3d-hud{
  position:absolute;top:14px;right:18px;pointer-events:none;
  font:11px 'JetBrains Mono','IBM Plex Mono',monospace;letter-spacing:.14em;
  color:rgba(205,255,3,.75);text-shadow:0 0 8px rgba(205,255,3,.3);
}
.map3d-legend{
  position:absolute;left:16px;bottom:13px;display:flex;gap:14px;flex-wrap:wrap;
  pointer-events:none;font:11px 'JetBrains Mono','IBM Plex Mono',monospace;
  color:rgba(220,230,214,.72);
}
.m3l{display:inline-flex;align-items:center;gap:6px}
.m3l-dot{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 7px currentColor}
.m3l-line{width:16px;height:2px;border-radius:2px;display:inline-block}
.map3d-wrap .scene-tooltip,
.map3d-wrap .float-tooltip-kap{
  font:12px 'JetBrains Mono','IBM Plex Mono',monospace!important;
  color:#e9f2e6!important;background:rgba(7,11,9,.88);
  border:1px solid rgba(205,255,3,.28);border-radius:8px;padding:7px 10px;
  max-width:280px;line-height:1.45;
}
.m3d-tip b{display:block;color:var(--lime);font-size:12.5px;letter-spacing:.04em}
.m3d-tip-dim b{color:#9aa3b2}
@media (max-width:900px){.map3d-wrap{min-height:420px}}

/* TWO-ROW BREADCRUMBS — an 8-column grid, column-aligned.
   COLUMN 0 = the MULTIVERSE root (always clickable back to the two-door chooser);
   ROW 1 = level types (current lit lime, traversed active, deeper dim).
   ROW 2 = the current path's place names, each directly under its level type.
   Every crumb in BOTH rows is clickable and flies back OUT to that level. */
.map3d-breadcrumbs{
  display:inline-grid;grid-template-columns:repeat(8,auto);
  grid-auto-flow:row;align-items:stretch;column-gap:0;row-gap:1px;
}
.bc-cell{
  display:inline-flex;align-items:center;justify-content:flex-start;
  border:none;background:none;text-align:left;
  font:600 12px 'JetBrains Mono','IBM Plex Mono',monospace;letter-spacing:.05em;
  padding:5px 6px;border-radius:7px;transition:color .15s,background .15s,opacity .2s;
}
.bc-sep{color:var(--ink-3);opacity:.4;font-size:12px;margin:0 5px 0 0}
.bc-ic{margin-right:5px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
/* custom inline level-icon SVGs — inherit currentColor (tint lime when the level is active) */
.lvl-svg{display:inline-block;flex:0 0 auto}
.bc-ic .lvl-svg{width:1.25em;height:1.25em;vertical-align:middle}
/* ROW 1 — level types */
.bc-lvl{text-transform:uppercase;color:var(--ink-3);opacity:.34;cursor:default}
.bc-lvl.past{opacity:.82;color:var(--ink-2);cursor:pointer}
.bc-lvl.past:hover{color:var(--ink);background:var(--surface)}
[data-theme="dark"] .bc-lvl.past:hover{color:var(--lime)}
.bc-lvl.cur{opacity:1;color:var(--lime);cursor:default;text-shadow:0 0 11px rgba(205,255,3,.4)}
.bc-lvl.cur .bc-ic{filter:drop-shadow(0 0 6px rgba(205,255,3,.55))}
[data-theme="light"] .bc-lvl.cur{color:#5d7a02;text-shadow:none}
.bc-lvl.future{opacity:.3}
/* ROW 2 — place names */
.bc-place{color:var(--ink-2);cursor:pointer;font-weight:700;letter-spacing:.01em;text-transform:none}
.bc-place:hover{color:var(--ink);background:var(--surface)}
[data-theme="dark"] .bc-place:hover{color:var(--lime)}
.bc-place.cur{color:var(--lime);cursor:default;text-shadow:0 0 10px rgba(205,255,3,.3)}
[data-theme="light"] .bc-place.cur{color:#5d7a02;text-shadow:none}
.bc-place.empty{cursor:default;pointer-events:none}
@media (max-width:900px){
  .bc-cell{font-size:10px;padding:4px 4px;letter-spacing:.02em}
  .bc-ic{margin-right:3px}.bc-sep{margin-right:3px}
  /* keep the level breadcrumb inside the viewport — scroll it instead of overflowing */
  .map3d-ctl{width:100%}
  .map3d-breadcrumbs{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
}

/* level 3 — the intimate 2D neighborhood layer */
.map3d-hud,.map3d-legend{z-index:6}
.map3d-hood{
  position:absolute;inset:0;z-index:5;opacity:0;pointer-events:none;
  background:radial-gradient(1100px 700px at 50% 46%,#0a120d 0%,#050708 74%);
  transition:opacity .38s ease;
}
.map3d-hood.on{opacity:1;pointer-events:auto}
.map3d-hood svg{width:100%;height:100%;display:block}
.hood-ring{fill:none;stroke:rgba(205,255,3,.05);stroke-width:1}
.hood-name{font:600 11.5px Manrope,sans-serif;fill:#dfe8da;text-anchor:middle}
.hood-sub{font:9.5px 'JetBrains Mono','IBM Plex Mono',monospace;fill:rgba(205,255,3,.6);letter-spacing:.1em;text-anchor:middle}
.hood-cap{font:11px 'JetBrains Mono','IBM Plex Mono',monospace;fill:rgba(220,230,214,.55);letter-spacing:.08em;text-anchor:middle}
.hood-tag{font:700 8.5px 'JetBrains Mono','IBM Plex Mono',monospace;fill:#cdff03;letter-spacing:.06em;text-anchor:middle}
.hood-node{cursor:pointer}
.hood-node:hover .hood-name{fill:#fff}
.hood-node.rec .hood-name{fill:#eafbb0}

/* persistent "you're scouting" banner — visitor constellations only.
   Sits BELOW the top-right HUD line so the two never collide. */
.map3d-scout{
  position:absolute;top:46px;left:50%;transform:translateX(-50%);z-index:7;pointer-events:none;
  font:11px 'JetBrains Mono','IBM Plex Mono',monospace;letter-spacing:.1em;
  color:#dfe8da;background:rgba(9,14,10,.88);border:1px solid rgba(205,255,3,.4);
  border-radius:999px;padding:7px 16px;text-transform:uppercase;
  box-shadow:0 0 20px rgba(205,255,3,.16);backdrop-filter:blur(3px);
  max-width:min(640px,80%);text-align:center;line-height:1.4;
}
.map3d-scout b{color:var(--lime);font-weight:700}
@media (max-width:900px){.map3d-scout{font-size:9.5px;padding:6px 11px;letter-spacing:.06em;top:40px}}

/* ================= AGENT CARD (actionable) =================
   A dark+lime side panel over the map. Opens on an agent click with identity,
   demo reputation, your relationship, BOTH conversation modes, and (secondary)
   their rooms. Always dark — it floats over the #050708 map canvas. */
.ag-host{position:absolute;inset:0;z-index:20;pointer-events:none}
.ag-host.on{pointer-events:auto}
.ag-scrim{position:absolute;inset:0;background:rgba(4,6,7,.5);opacity:0;transition:opacity .22s ease;backdrop-filter:blur(1.5px)}
.ag-host.on .ag-scrim{opacity:1}
.ag-card{
  position:absolute;top:0;right:0;bottom:0;width:min(390px,92%);
  background:linear-gradient(180deg,#0d120c,#0a0c08);
  border-left:1px solid rgba(205,255,3,.22);
  box-shadow:-24px 0 60px rgba(0,0,0,.55);
  transform:translateX(100%);transition:transform .24s cubic-bezier(.3,.7,.3,1);
  display:flex;flex-direction:column;padding:18px 18px 16px;overflow-y:auto;
  color:#eef3e6;font-family:'Manrope',sans-serif;
}
.ag-host.on .ag-card{transform:translateX(0)}
.ag-close{
  position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:8px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  color:#c7cfbe;font-size:17px;line-height:1;cursor:pointer;z-index:2;
}
.ag-close:hover{color:var(--lime);border-color:rgba(205,255,3,.4)}
.ag-demo{font:600 9.5px 'JetBrains Mono',monospace;letter-spacing:.14em;color:#6d7263;margin-bottom:12px}
.ag-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px}
.ag-av{width:56px;height:56px;border-radius:14px;overflow:hidden;flex:0 0 56px;display:block;border:1px solid rgba(205,255,3,.25);box-shadow:0 0 16px rgba(205,255,3,.14)}
.ag-av svg,.ag-av img{width:100%;height:100%;display:block;object-fit:cover}
.ag-av.sm{width:40px;height:40px;flex:0 0 40px;border-radius:11px}
.ag-id{min-width:0;flex:1}
.ag-id h3{margin:2px 0 8px;font-size:19px;font-weight:800;letter-spacing:.01em;color:#f4f8ee}
.ag-chips{display:flex;flex-direction:column;gap:5px}
.ag-chip{font-size:11.5px;font-weight:600;padding:5px 9px;border-radius:8px;line-height:1.3}
.ag-chip.off{background:rgba(205,255,3,.1);color:var(--lime);border:1px solid rgba(205,255,3,.22)}
.ag-chip.seek{background:rgba(255,184,56,.09);color:var(--amber);border:1px solid rgba(255,184,56,.22)}
.ag-worth{font:600 11.5px 'JetBrains Mono',monospace;color:var(--lime);background:rgba(205,255,3,.07);
  border:1px solid rgba(205,255,3,.2);border-radius:9px;padding:8px 10px;margin-bottom:12px;letter-spacing:.03em}
.ag-sec{margin-bottom:13px}
.ag-sec-k,.ag-rel-k,.ag-actions-k,.ag-rooms-k{
  display:block;font:700 10px 'JetBrains Mono',monospace;letter-spacing:.14em;
  text-transform:uppercase;color:#7d8472;margin-bottom:7px}
/* trust row (canon): badge + ONE status word — no reputation numbers, ever */
.ag-trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ag-verify,.ag-status{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;
  letter-spacing:.02em;color:#dbe2d1;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 10px}
.ag-status i{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.ag-status.trusted i{background:#3ddc84;box-shadow:0 0 6px rgba(61,220,132,.55)}
.ag-status.new i{background:var(--lime);box-shadow:0 0 6px rgba(205,255,3,.5)}
.ag-status.limited i{background:#ff9e2c;box-shadow:0 0 6px rgba(255,158,44,.5)}
.ag-status.restricted i{background:#ff5a5a;box-shadow:0 0 6px rgba(255,90,90,.5)}
.ag-rep-new{font-size:12.5px;color:#a8ad9c;background:rgba(255,255,255,.03);
  border:1px dashed rgba(255,255,255,.12);border-radius:10px;padding:11px;text-align:center}
.ag-rel{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:11px 12px;margin-bottom:15px}
.ag-rel-dot{width:11px;height:11px;border-radius:50%;margin-top:4px;flex:0 0 11px;box-shadow:0 0 8px currentColor}
.ag-rel-line{display:block;font-size:13.5px;font-weight:600;color:#eef3e6;line-height:1.4;margin-top:2px}
.ag-actions-k{margin-top:2px}
.ag-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}
.ag-btn{width:100%;border-radius:11px;padding:12px 14px;font-family:'Manrope',sans-serif;
  font-size:14px;font-weight:700;cursor:pointer;border:1px solid transparent;text-align:center;transition:.14s}
.ag-btn-primary{background:var(--lime);color:#1a2002;box-shadow:0 0 18px rgba(205,255,3,.24)}
.ag-btn-primary:hover{background:#d7ff3a}
.ag-btn-ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);color:#dbe2d1}
.ag-btn-ghost:hover{border-color:rgba(205,255,3,.4);color:var(--lime)}
.ag-actions-row{display:flex;gap:8px}
.ag-actions-row .ag-btn{margin:0}
.ag-rooms{border-top:1px solid rgba(255,255,255,.08);padding-top:13px;margin-top:auto}
.ag-rooms-list{display:flex;flex-wrap:wrap;gap:6px}
.ag-room{font-size:12px;font-weight:600;color:#c7cfbe;background:rgba(45,212,191,.08);
  border:1px solid rgba(45,212,191,.22);border-radius:8px;padding:6px 10px;cursor:pointer;transition:.14s}
.ag-room:hover{background:rgba(45,212,191,.16);color:#eef3e6}
/* flow (A2A) + chat (live) sub-views */
.ag-flow-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ag-back{background:none;border:none;color:#a8ad9c;font-size:13px;font-weight:600;cursor:pointer;padding:2px 4px}
.ag-back:hover{color:var(--lime)}
.ag-flow-title{font-size:15px;font-weight:800;color:#f4f8ee;display:flex;align-items:center;gap:7px}
.ag-flow-pair{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 16px}
.ag-flow-arrow{color:var(--lime);font-size:18px}
.ag-flow{display:flex;flex-direction:column;gap:9px}
.ag-flow-row{display:flex;gap:9px;align-items:flex-start;opacity:0;transform:translateY(6px);
  transition:opacity .3s,transform .3s;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:9px 11px}
.ag-flow-row.in{opacity:1;transform:none}
.ag-flow-row.done{border-color:rgba(205,255,3,.3);background:rgba(205,255,3,.06)}
.ag-flow-tag{font:700 8.5px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;
  color:#7d8472;flex:0 0 auto;padding-top:2px;min-width:60px}
.ag-flow-row.done .ag-flow-tag,.ag-flow-row.reply .ag-flow-tag{color:var(--lime)}
.ag-flow-txt{font-size:13px;color:#eef3e6;line-height:1.4}
.ag-live-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84;animation:blink 1.8s infinite}
.ag-chat{flex:1;display:flex;flex-direction:column;gap:9px;overflow-y:auto;padding:4px 2px 10px;min-height:200px}
.ag-msg{display:flex;gap:8px;align-items:flex-end;max-width:88%;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.ag-msg.in{opacity:1;transform:none}
.ag-msg.me{align-self:flex-end;flex-direction:row-reverse}
.ag-msg-av{width:26px;height:26px;border-radius:8px;overflow:hidden;flex:0 0 26px;display:block}
.ag-msg-av svg,.ag-msg-av img{width:100%;height:100%;display:block;object-fit:cover}
.ag-msg-b{font-size:13px;line-height:1.42;padding:8px 11px;border-radius:12px}
.ag-msg.them .ag-msg-b{background:rgba(255,255,255,.06);color:#eef3e6;border-bottom-left-radius:4px}
.ag-msg.me .ag-msg-b{background:var(--lime);color:#1a2002;font-weight:600;border-bottom-right-radius:4px}
.ag-msg.typing .ag-msg-b i{letter-spacing:2px;opacity:.7}
.ag-composer{display:flex;gap:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:11px}
.ag-composer input{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:10px;padding:11px 13px;color:#eef3e6;font-family:'Manrope',sans-serif;font-size:13.5px}
.ag-composer input:focus{outline:none;border-color:rgba(205,255,3,.45);box-shadow:0 0 0 3px rgba(205,255,3,.12)}
.ag-composer input::placeholder{color:#6d7263}
.ag-send{width:44px;flex:0 0 44px;border-radius:10px;border:none;background:var(--lime);color:#1a2002;font-size:15px;cursor:pointer}
.ag-send:hover{background:#d7ff3a}
@media (max-width:900px){.ag-card{width:100%;border-left:none}}

/* breadcrumb icons + plain-text tools (My Network / Fit / 7 levels) — NO pills */
.crumb-ic{margin-right:5px;font-size:12px;filter:saturate(1.15)}
.crumb.cur .crumb-ic{filter:drop-shadow(0 0 6px rgba(205,255,3,.5))}
.map3d-tools{display:inline-flex;align-items:center;gap:2px;margin-left:6px}
.map3d-link{
  border:none;background:none;cursor:pointer;color:var(--ink-3);
  font:600 12px 'JetBrains Mono','IBM Plex Mono',monospace;letter-spacing:.06em;
  padding:7px 9px;border-radius:8px;transition:color .15s,background .15s;
}
.map3d-link:hover{color:var(--ink);background:var(--surface)}
[data-theme="dark"] .map3d-link:hover{color:var(--lime)}
#map3dExplain{color:var(--lime-2)}
[data-theme="dark"] #map3dExplain{color:var(--lime)}
#map3dExplain:hover{text-shadow:0 0 12px rgba(205,255,3,.4)}

/* ===== The 7-levels explainer modal ===== */
.xp-overlay{position:absolute;inset:0;z-index:40;display:grid;place-items:center;opacity:0;transition:opacity .2s ease}
.xp-overlay.on{opacity:1}
.xp-scrim{position:absolute;inset:0;background:rgba(3,5,6,.74);backdrop-filter:blur(4px);cursor:pointer}
.xp-modal{
  position:relative;z-index:1;width:min(560px,92%);max-height:88%;overflow:auto;
  background:linear-gradient(180deg,#0b120d,#070a08);
  border:1px solid rgba(205,255,3,.28);border-radius:18px;
  padding:26px 26px 22px;box-shadow:0 24px 70px rgba(0,0,0,.6),0 0 40px rgba(205,255,3,.08);
  transform:translateY(10px) scale(.985);transition:transform .22s cubic-bezier(.3,1.2,.5,1)}
.xp-overlay.on .xp-modal{transform:none}
.xp-close{
  position:absolute;top:14px;right:16px;border:none;background:none;cursor:pointer;
  color:var(--ink-3);font-size:22px;line-height:1;padding:2px 6px;transition:color .15s}
.xp-close:hover{color:var(--lime)}
.xp-modal h3{margin:0 0 8px;font:800 19px Manrope,sans-serif;color:#f2f7ee;letter-spacing:-.01em}
.xp-lead{margin:0 0 18px;font-size:13px;line-height:1.6;color:var(--ink-2);max-width:46ch}
.xp-levels{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}
.xp-row{display:flex;align-items:flex-start;gap:12px;padding:9px 10px;border-radius:10px;transition:background .15s}
.xp-row:hover{background:rgba(205,255,3,.05)}
.xp-ic{font-size:19px;flex:0 0 26px;display:flex;align-items:center;justify-content:center;line-height:1.3;color:var(--lime)}
.xp-ic .lvl-svg{width:22px;height:22px}
.xp-txt{display:flex;flex-direction:column;gap:1px}
.xp-txt b{font:700 13.5px Manrope,sans-serif;color:#eafbb0;letter-spacing:.01em}
.xp-txt span{font-size:12px;color:var(--ink-2);line-height:1.45}
.xp-example{border-top:1px solid rgba(205,255,3,.14);padding-top:16px}
.xp-exlabel{font:600 10.5px 'JetBrains Mono','IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--lime-2);margin-bottom:10px}
[data-theme="dark"] .xp-exlabel{color:var(--lime)}
.xp-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.xp-crumb{display:inline-flex;align-items:center;gap:5px;font:600 11.5px Manrope,sans-serif;color:#dfe8da;background:rgba(205,255,3,.06);border:1px solid rgba(205,255,3,.16);border-radius:9px;padding:4px 9px}
.xp-cic{font-size:12px}
.xp-arrow{color:var(--ink-3);opacity:.6;font-size:12px}
@media (max-width:560px){.xp-modal{padding:22px 18px 18px}.xp-modal h3{font-size:17px}}

/* scrollbars */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px}
::-webkit-scrollbar-track{background:transparent}

/* ============ ROOMS — directory ============ */
/* your rooms */
.yourrooms-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px}
.yr-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;display:flex;flex-direction:column;gap:9px;color:inherit;transition:border-color .15s,transform .12s,box-shadow .15s}
.yr-card:hover{border-color:var(--lime-2);transform:translateY(-2px)}
.yr-card.on{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.18)}
[data-theme="dark"] .yr-card.on{box-shadow:0 0 0 3px rgba(205,255,3,.16),var(--glow)}
.yr-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.yr-name{font-family:'Manrope';font-weight:800;font-size:13.5px;letter-spacing:-.01em;line-height:1.2}
.yr-dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);flex:0 0 8px}
.yr-dot.on{background:var(--lime-2);animation:blink 1.8s infinite}
[data-theme="dark"] .yr-dot.on{box-shadow:0 0 8px rgba(205,255,3,.7)}
.yr-avs{display:flex}
.yr-av{width:24px;height:24px;border-radius:50%;overflow:hidden;border:2px solid var(--surface);margin-right:-7px}
.yr-av svg{width:100%;height:100%;display:block}
.yr-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ink-3);gap:8px}
.yr-live{display:flex;align-items:center;gap:5px}
.yr-unread{color:#5d7a02;font-weight:700;white-space:nowrap}
[data-theme="dark"] .yr-unread{color:var(--lime-2)}

.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--line-2);display:inline-block;flex:0 0 6px}
.pulse-dot.on{background:var(--lime-2);animation:blink 1.6s infinite}
[data-theme="dark"] .pulse-dot.on{box-shadow:0 0 6px rgba(205,255,3,.7)}

/* categories */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.cat-tile{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 13px;display:flex;flex-direction:column;gap:3px;color:inherit;transition:border-color .15s,transform .12s,background .15s}
.cat-tile:hover{border-color:var(--ink-3);transform:translateY(-2px)}
.cat-tile.on{background:var(--ink);border-color:var(--ink)}
.cat-tile.on .cat-name{color:var(--bg)}
.cat-tile.on .cat-count{color:var(--bg);opacity:.7}
[data-theme="dark"] .cat-tile.on{background:var(--lime);border-color:var(--lime);box-shadow:var(--glow)}
[data-theme="dark"] .cat-tile.on .cat-name{color:var(--lime-ink)}
[data-theme="dark"] .cat-tile.on .cat-count{color:var(--lime-ink);opacity:.75}
.cat-name{font-family:'Manrope';font-weight:800;font-size:13.5px}
.cat-count{font-size:11px;color:var(--ink-3);font-family:'JetBrains Mono',monospace}

/* directory toolbar */
.dir-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:13px}
.dir-count{font-size:12px;color:var(--ink-2)}
.dir-count b{color:var(--ink);font-weight:700}
.dc-univ{color:var(--ink-3)}
.dir-sort{flex:0 0 auto}

/* directory list */
.dir-list{display:flex;flex-direction:column;gap:8px}
.dir-row{display:grid;grid-template-columns:14px 1fr auto auto auto;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;cursor:pointer;transition:border-color .14s,transform .1s,box-shadow .14s}
.dir-row:hover{border-color:var(--lime-2);transform:translateX(2px)}
.dir-row.on{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.16)}
[data-theme="dark"] .dir-row.on{box-shadow:0 0 0 3px rgba(205,255,3,.15)}
.dir-live{width:14px;display:flex;justify-content:center}
.dir-live i{width:8px;height:8px;border-radius:50%;background:var(--line-2);display:block}
.dir-live.on i{background:var(--lime-2);animation:blink 1.6s infinite}
[data-theme="dark"] .dir-live.on i{box-shadow:0 0 8px rgba(205,255,3,.75)}
.dir-main{min-width:0}
.dir-name-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dir-name{font-family:'Manrope';font-weight:800;font-size:14px;letter-spacing:-.01em}
.dir-cat{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:6px;padding:2px 6px}
.dir-flag{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--lime-ink);background:var(--lime);border-radius:5px;padding:2px 6px}
[data-theme="dark"] .dir-flag{box-shadow:var(--glow)}
.dir-flag.mine{background:var(--amber);color:#221600}
.dir-topic{font-size:12px;color:var(--ink-2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dir-avs{display:flex}
.dir-av{width:26px;height:26px;border-radius:50%;overflow:hidden;border:2px solid var(--surface);margin-right:-8px}
.dir-av svg{width:100%;height:100%;display:block}
.dir-count-m{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:6px;min-width:54px;justify-content:flex-end}
/* flat lime text control — no pill, no border (Todd's standing rule) */
.dir-act{font-size:12.5px;font-weight:700;color:var(--ink-3);background:none;border:0;padding:6px 4px;white-space:nowrap;letter-spacing:.01em;transition:color .14s}
.dir-act::after{content:" →";opacity:.6}
[data-theme="dark"] .dir-row:hover .dir-act{color:var(--lime)}
.dir-row:hover .dir-act{color:var(--lime-2)}
.dir-more-wrap{display:flex;justify-content:center;margin-top:16px}
.dir-empty{padding:44px 0;text-align:center;color:var(--ink-3);font-size:14px}

/* create-room modal */
.room-modal{width:460px}
.rm-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.rm-body label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.rm-body input,.rm-body select{border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--r-sm);padding:10px 12px;font-size:14px;color:var(--ink);text-transform:none;font-weight:500;letter-spacing:0}
.rm-body input::placeholder{color:var(--ink-3)}
.rm-body input:focus,.rm-body select:focus{outline:none;border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.2)}
.rm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}

@media (max-width:1080px){
  .transcript-panel{width:400px}
}
@media (max-width:640px){
  .dir-row{grid-template-columns:12px 1fr auto;gap:11px;padding:11px 13px}
  .dir-avs,.dir-act{display:none}
  .dir-topic{white-space:normal}
  .transcript-panel{width:100%;max-width:100%}
  .room-modal{width:94vw}
  .rooms-head-ctl{width:100%;justify-content:space-between}
}

/* ============================================================
   REAL-BACKEND ADDITIONS — auth gate, avatar library, share
============================================================ */
body.gated{overflow:hidden}

/* ---- sign out ---- */
.signout-btn{margin-left:auto;border:none;background:none;color:var(--ink-3);width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;transition:color .15s,background .15s}
.signout-btn:hover{color:var(--ink);background:var(--surface-2)}

/* ---- auth gate ---- */
.auth-gate{position:fixed;inset:0;z-index:200;background:#050708;display:grid;place-items:center;padding:24px;overflow:auto}
/* the spinning constellation universe — full-screen ambient background */
.auth-universe{position:fixed;inset:0;z-index:0;pointer-events:none;background:#050708}
.auth-universe canvas{pointer-events:none}
/* dark vignette scrim so the login card stays fully legible over the galaxy */
.auth-universe-scrim{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 46%,rgba(5,7,8,.30) 0%,rgba(5,7,8,.52) 42%,rgba(5,7,8,.80) 100%)}
.auth-bg-glow{position:fixed;top:-14%;left:50%;transform:translateX(-50%);width:680px;height:520px;pointer-events:none;z-index:1;
  background:radial-gradient(circle at 50% 40%,rgba(205,255,3,.12),transparent 62%);filter:blur(24px)}
.auth-card{position:relative;z-index:2;width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r-md);padding:30px 28px 24px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
[data-theme="dark"] .auth-card{background:linear-gradient(165deg,#161a10,#0e110a)}
.auth-brand{display:flex;flex-direction:column;align-items:center;gap:10px;justify-content:center}
.auth-mark{width:104px;height:104px;object-fit:contain;display:block;filter:drop-shadow(0 0 24px rgba(184,248,24,.45))}
.auth-word{font-family:'Manrope',sans-serif;font-weight:800;font-size:23px;letter-spacing:-.02em}
.auth-word span{color:var(--ink-3);font-weight:600}
.auth-tag{text-align:center;color:var(--ink-2);font-size:13.5px;margin:10px 0 20px;line-height:1.5}
.auth-seg{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:4px;margin-bottom:18px}
.auth-seg-btn{flex:1;border:none;background:none;color:var(--ink-2);font-weight:600;font-size:13.5px;padding:8px;border-radius:7px;transition:background .15s,color .15s}
.auth-seg-btn.on{background:var(--ink);color:var(--bg)}
[data-theme="dark"] .auth-seg-btn.on{background:var(--lime);color:var(--lime-ink)}
.auth-form{display:flex;flex-direction:column;gap:13px}
.auth-field{display:flex;flex-direction:column;gap:6px}
.auth-field span{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.auth-field input{height:42px;border:1px solid var(--line-2);background:var(--surface-2);border-radius:var(--r-sm);
  padding:0 13px;font-size:14px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.auth-field input:focus{outline:none;border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.2)}
.auth-err{color:#c2410c;font-size:12.5px;font-weight:600;line-height:1.4}
[data-theme="dark"] .auth-err{color:#ffb27a}
.auth-submit{width:100%;justify-content:center;height:44px;margin-top:4px;font-size:14.5px}
.auth-fine{text-align:center;font-size:11.5px;color:var(--ink-3);margin-top:16px;line-height:1.5;font-style:italic}

/* ---- graceful email-confirmation state ---- */
.auth-confirm{text-align:center;padding:6px 2px 2px}
.auth-confirm-icon{font-size:34px;line-height:1;margin-bottom:10px}
.auth-confirm-title{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--ink-1)}
.auth-confirm-msg{font-size:13px;color:var(--ink-2);line-height:1.55;margin:0 auto 16px;max-width:300px}
.auth-confirm-msg strong{color:var(--ink-1);word-break:break-word}
.auth-resend{width:100%;justify-content:center;height:42px;font-size:13.5px}
.auth-confirm-note{font-size:12px;font-weight:600;line-height:1.4;margin-top:10px;color:var(--ink-2)}
.auth-confirm-note.ok{color:#15803d}
[data-theme="dark"] .auth-confirm-note.ok{color:#86efac}
.auth-confirm-note.bad{color:#c2410c}
[data-theme="dark"] .auth-confirm-note.bad{color:#ffb27a}
.auth-back{display:block;width:100%;margin-top:14px;background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:12.5px;color:var(--ink-3);letter-spacing:.01em}
.auth-back:hover{color:var(--ink-1)}

/* ---- avatar library ---- */
.face-current{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.face-current-av{width:58px;height:58px;border-radius:50%;overflow:hidden;flex:0 0 58px;border:2px solid var(--line-2)}
.face-current-av svg,.face-current-av img{width:100%;height:100%;display:block;border-radius:50%}
.face-current-meta{display:flex;flex-direction:column;gap:4px}
/* fixed 48px square cells (matches the avatar 0 0 48 48 viewBox exactly) so a
   face can never be clipped at the top/chin by a short grid row. */
.face-grid{display:grid;grid-template-columns:repeat(auto-fill,48px);grid-auto-rows:48px;justify-content:center;
  gap:10px;max-height:250px;overflow-y:auto;
  padding:10px;margin-bottom:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}
.face-cell{width:48px;height:48px;border:2px solid transparent;border-radius:50%;padding:0;background:none;
  transition:transform .12s;box-sizing:border-box;overflow:visible}
.face-cell svg{width:100%;height:100%;display:block;border-radius:50%}
.face-cell:hover{transform:scale(1.12)}
.face-cell.sel{border-color:var(--lime);box-shadow:var(--glow)}

/* ---- intent chips extras ---- */
.ichip-empty{font-size:12px;color:var(--ink-3);font-style:italic}
.ichip-pending{color:var(--amber);font-style:normal;margin-right:5px;font-size:15px;line-height:0}

/* ---- QR empty + phone modal ---- */
.qr-empty{width:100%;height:100%;display:grid;place-items:center;text-align:center;font-size:10.5px;color:var(--ink-3);padding:6px;line-height:1.4}
.phone-modal{width:380px;max-width:94vw}
.phone-body{padding:22px 24px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.phone-qr{width:220px;height:220px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.phone-qr svg{width:100%;height:100%;display:block}
.phone-url{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-2);word-break:break-all}

/* ============================================================
   FULL-WIDTH IN-ROOM VIEW — nav layer + transcript
============================================================ */
body.rv-open{overflow:hidden}
/* opens over the MAIN area only — the persistent sidebar stays visible & usable */
.room-view{position:fixed;top:0;right:0;bottom:0;left:var(--sidebar-w);z-index:70;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;transition:left .24s cubic-bezier(.4,0,.2,1)}
.rv-topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surface);flex:0 0 auto}
.rv-back{background:none;border:0;color:var(--lime-2);font-weight:800;font-size:14px;letter-spacing:.01em;cursor:pointer;padding:6px 8px 6px 0;transition:opacity .14s}
[data-theme="dark"] .rv-back{color:var(--lime)}
.rv-back:hover{opacity:.72}
.rv-title{min-width:0}
.rv-title h2{font-family:'Manrope';font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.1}
.rv-title-sub{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);margin-top:2px}
.rv-live{width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.rv-live.on{background:var(--lime-2);animation:blink 1.6s infinite}
[data-theme="dark"] .rv-live.on{box-shadow:0 0 7px rgba(205,255,3,.7)}
.rv-demo{margin-left:auto;font-size:10px;letter-spacing:.14em;color:var(--ink-3);font-weight:600;white-space:nowrap}
.rv-scroll{flex:1;overflow-y:auto;padding:22px 24px 60px;scroll-behavior:smooth}

/* TL;DR card */
.rv-tldr{max-width:1080px;margin:0 auto 22px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--shadow-sm)}
.rv-tldr-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.rv-tldr-tag{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime-2);font-weight:600}
[data-theme="dark"] .rv-tldr-tag{color:var(--lime)}
.rv-expand{background:none;border:0;color:var(--ink-3);font-size:12px;font-weight:700;cursor:pointer;transition:color .14s}
.rv-expand:hover{color:var(--ink)}
.rv-tldr-topic{font-family:'Manrope';font-weight:800;font-size:16.5px;line-height:1.35;letter-spacing:-.01em;margin-bottom:12px}
.rv-stances{display:flex;flex-direction:column;gap:7px;max-height:120px;overflow:hidden;transition:max-height .3s ease;position:relative}
.rv-stances:not(.expanded){-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent)}
.rv-stances.expanded{max-height:600px;-webkit-mask-image:none;mask-image:none}
.rv-stance{font-size:13.2px;line-height:1.5;color:var(--ink-2)}
.rv-stance b{color:var(--ink);font-weight:700}
.rv-tldr-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.rv-more{font-size:11.5px;color:var(--ink-3);font-family:'JetBrains Mono',monospace}
.rv-outcome{font-size:12.5px;font-weight:700;color:var(--lime-ink);background:var(--lime);border-radius:6px;padding:4px 10px}
[data-theme="dark"] .rv-outcome{background:rgba(205,255,3,.14);color:var(--lime);box-shadow:inset 0 0 0 1px rgba(205,255,3,.3)}

/* ============================================================
   FLIGHT PATH — the density flight-recorder of the conversation.
   Lives ABOVE the scroll region as a fixed bar (NOT sticky-inside),
   so scrubbing the playhead scrolls only the transcript beneath and
   the graph never shifts out from under the cursor.
============================================================ */
.rv-timeline{flex:none;z-index:25;max-width:1080px;width:calc(100% - 48px);margin:14px auto 12px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);padding:13px 18px 10px;box-shadow:var(--shadow-sm)}
.rv-tl-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:9px}
.rv-tl-title{font-family:'Manrope';font-weight:800;font-size:14px;letter-spacing:-.01em;display:flex;align-items:center;gap:7px}
.rv-tl-title::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime-2);box-shadow:var(--glow)}
[data-theme="dark"] .rv-tl-title::before{background:var(--lime)}
.rv-tl-hint{font-size:11.5px;color:var(--ink-3)}
.rv-tl-zoom{margin-left:auto;display:flex;align-items:center;gap:5px}
.rv-zbtn{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);font-weight:800;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:color .13s,border-color .13s}
.rv-zbtn.wide{width:auto;padding:0 10px;font-size:11px;font-weight:700;letter-spacing:.02em}
.rv-zbtn:hover{color:var(--ink);border-color:var(--lime-2)}
[data-theme="dark"] .rv-zbtn:hover{color:var(--lime);border-color:var(--lime)}
.rv-zlevel{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-3);min-width:64px;text-align:right}

.rv-legend{display:flex;flex-wrap:wrap;gap:5px 14px;margin-bottom:10px}
.rv-leg{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-2)}
.rv-leg i{width:9px;height:9px;border-radius:2px;display:inline-block}

/* the waveform stage — a top label-lane (30px) + the wave below.
   wheel to zoom, drag to pan, click to jump. */
.rv-wave-outer{position:relative;padding-top:30px;touch-action:none;user-select:none}
.rv-wave{position:relative;height:112px;border-radius:9px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 80%,var(--bg)));overflow:hidden;cursor:ew-resize}
[data-theme="dark"] .rv-wave{background:linear-gradient(180deg,#12160d,#0d100a)}
.rv-wave svg{display:block;width:100%;height:100%}
.rv-wave-center{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line-2);opacity:.5;pointer-events:none}

/* chapter markers ride ON the waveform — pin in the top lane, stem into the wave */
.rv-chap{position:absolute;top:0;bottom:0;transform:translateX(-50%);z-index:4;pointer-events:none}
.rv-chap-stem{position:absolute;top:30px;bottom:0;left:50%;width:2px;transform:translateX(-1px);border-radius:1px;opacity:.5}
.rv-chap-pin{position:absolute;top:2px;left:50%;transform:translateX(-50%);pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:5px;max-width:160px;white-space:nowrap;font-size:10px;font-weight:800;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:20px;padding:2px 9px 2px 6px;box-shadow:0 1px 5px rgba(0,0,0,.16);transition:transform .12s,color .12s,border-color .12s}
[data-theme="dark"] .rv-chap-pin{background:#171c10}
.rv-chap-pin:hover{transform:translateX(-50%) translateY(-2px);border-color:var(--lime-2);color:var(--lime-2);z-index:5}
[data-theme="dark"] .rv-chap-pin:hover{border-color:var(--lime);color:var(--lime)}
.rv-chap-pin i{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.rv-chap-pin.own{box-shadow:0 0 0 1.5px var(--lime-2),0 1px 5px rgba(0,0,0,.16)}
[data-theme="dark"] .rv-chap-pin.own{box-shadow:0 0 0 1.5px var(--lime),0 0 9px rgba(205,255,3,.22)}
.rv-chap-pin .chap-name{overflow:hidden;text-overflow:ellipsis;max-width:130px}

/* playhead — draggable; scrolls the transcript, and follows it back */
.rv-playhead{position:absolute;top:16px;bottom:0;width:2px;transform:translateX(-1px);background:var(--lime-2);z-index:6;pointer-events:none;box-shadow:0 0 8px rgba(184,248,24,.5)}
[data-theme="dark"] .rv-playhead{background:var(--lime);box-shadow:0 0 10px rgba(205,255,3,.6)}
.rv-playhead.out{opacity:.35}
.rv-playhead-grab{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:5px;background:var(--lime-2);border:2px solid var(--surface);cursor:grab;pointer-events:auto;box-shadow:0 1px 4px rgba(0,0,0,.3)}
[data-theme="dark"] .rv-playhead-grab{background:var(--lime);border-color:#0d100a}
.rv-playhead-grab:active{cursor:grabbing}
.rv-playhead-time{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;color:var(--lime-ink);background:var(--lime-2);border-radius:4px;padding:1px 5px;white-space:nowrap;pointer-events:none}
[data-theme="dark"] .rv-playhead-time{background:var(--lime);color:var(--lime-ink)}

.rv-axis{position:relative;height:18px;margin-top:6px}
.rv-axis-t{position:absolute;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--ink-3);white-space:nowrap}

/* hover tooltip */
.rv-tip{position:fixed;z-index:120;pointer-events:none;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;box-shadow:var(--shadow-lg);padding:9px 11px;min-width:170px;max-width:230px;font-size:11.5px;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.rv-tip.on{opacity:1;transform:none}
.rv-tip-h{font-family:'Manrope';font-weight:800;font-size:12px;margin-bottom:5px;display:flex;align-items:center;gap:6px;line-height:1.25}
.rv-tip-h i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.rv-tip-row{display:flex;justify-content:space-between;gap:14px;color:var(--ink-2);line-height:1.7}
.rv-tip-row b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.rv-tip-jump{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--lime-2);font-weight:700;font-size:10.5px}
[data-theme="dark"] .rv-tip-jump{color:var(--lime)}
.rv-tip-peak{margin-top:6px;font-weight:800;font-size:10.5px;color:#2dd4bf;letter-spacing:.02em}

/* Flight Path ⇄ Thread segmented toggle */
.fp-seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:2px;gap:2px}
.fp-seg-btn{border:0;background:none;font-family:'Manrope';font-weight:800;font-size:11px;color:var(--ink-3);padding:3px 11px;border-radius:6px;cursor:pointer;transition:color .13s,background .13s}
.fp-seg-btn:hover{color:var(--ink)}
.fp-seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
[data-theme="dark"] .fp-seg-btn.on{background:#0d100a;color:var(--lime)}

/* velocity-curve overlays inside the wave */
.fp-peak{position:absolute;right:9px;top:7px;font-family:'JetBrains Mono',monospace;font-size:9.5px;color:#2dd4bf;white-space:nowrap;pointer-events:none;z-index:2}
.fp-guide{position:absolute;top:0;bottom:0;width:1px;background:rgba(45,212,191,.55);transform:translateX(-.5px);pointer-events:none;opacity:0;transition:opacity .1s;z-index:2}
.fp-guide.on{opacity:1}
.fp-chap-dot{position:absolute;left:50%;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--surface);z-index:5;pointer-events:none}
[data-theme="dark"] .fp-chap-dot{border-color:#0d100a}

/* Vertical Thread view (Option 5 aesthetic) */
#fpThreadView{margin-top:2px}
.fp-thread{position:relative;max-height:344px;overflow-y:auto;padding:6px 4px 8px 92px}
.fp-thread::before{content:"";position:absolute;left:78px;top:8px;bottom:8px;width:1px;background:var(--line-2)}
.fp-tev{position:relative;padding:6px 0;cursor:pointer}
.fp-tev .fp-tt{position:absolute;left:-92px;width:64px;text-align:right;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-3);top:9px}
.fp-tev .fp-tdot{position:absolute;left:-18px;top:11px;width:10px;height:10px;border-radius:50%;border:2px solid var(--surface)}
[data-theme="dark"] .fp-tev .fp-tdot{border-color:#0d100a}
.fp-tev .fp-tbody{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px 11px;transition:border-color .13s,background .3s,box-shadow .3s}
.fp-tev:hover .fp-tbody{border-color:var(--lime-2)}
[data-theme="dark"] .fp-tev:hover .fp-tbody{border-color:var(--lime)}
.fp-tev .fp-who{font-family:'Manrope';font-weight:800;font-size:12.5px}
.fp-tev .fp-cat{font-family:'JetBrains Mono',monospace;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-left:8px}
.fp-tev .fp-line{color:var(--ink-2);font-size:12.5px;line-height:1.45;margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fp-tev.own .fp-tbody{background:rgba(184,248,24,.07)}
[data-theme="dark"] .fp-tev.own .fp-tbody{background:rgba(205,255,3,.06)}
.fp-tev.own .fp-who{color:var(--lime-ink)}
[data-theme="dark"] .fp-tev.own .fp-who{color:var(--lime)}
.fp-tev.mile .fp-tdot{display:none}
.fp-tev.mile .fp-tbody{background:transparent;border:none;padding:5px 0;box-shadow:none}
.fp-tev.mile .fp-who{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--lime-2)}
[data-theme="dark"] .fp-tev.mile .fp-who{color:var(--lime)}
.fp-tev.flash .fp-tbody{background:rgba(184,248,24,.2);box-shadow:0 0 0 2px var(--lime-2)}
[data-theme="dark"] .fp-tev.flash .fp-tbody{background:rgba(205,255,3,.14);box-shadow:0 0 0 2px var(--lime)}

/* BODY: transcript (chapters box removed — the waveform IS the navigator) */
.rv-body{max-width:1080px;margin:0 auto}
.rv-main{min-width:0}

/* filters — flat chips, no pill/border */
.rv-filters{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rv-chip{background:none;border:0;padding:4px 2px;font-size:13px;font-weight:700;color:var(--ink-3);cursor:pointer;position:relative;transition:color .14s}
.rv-chip:hover{color:var(--ink)}
.rv-chip.on{color:var(--ink)}
.rv-chip.on::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:2px;background:var(--lime-2);border-radius:2px}
[data-theme="dark"] .rv-chip.on::after{background:var(--lime);box-shadow:0 0 8px rgba(205,255,3,.6)}

/* transcript */
.rv-transcript{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}
.rv-msg{display:flex;gap:11px;scroll-margin-top:20px;border-radius:10px;transition:background .3s,box-shadow .3s;padding:4px}
.rv-msg-av{width:34px;height:34px;flex:0 0 34px;margin-top:2px;border-radius:50%;overflow:hidden}
.rv-msg-av svg{width:100%;height:100%;display:block}
.rv-msg-main{min-width:0;flex:1}
.rv-msg-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.rv-msg-name{font-family:'Manrope';font-weight:800;font-size:13.5px;letter-spacing:-.01em}
.rv-msg-t{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3)}
.rv-you{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#8b7be8;border-radius:4px;padding:1px 5px}
.rv-badge{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--bc,var(--ink-2));border-radius:4px;padding:1px 6px;background:color-mix(in srgb,var(--bc,#888) 15%,transparent)}
.rv-msg-text{font-size:14px;line-height:1.56;color:var(--ink);max-width:64ch}
/* your agent's own messages — visually distinct */
.rv-msg.otto{background:rgba(184,248,24,.07)}
[data-theme="dark"] .rv-msg.otto{background:rgba(205,255,3,.055)}
.rv-msg.otto .rv-msg-name{color:var(--lime-ink)}
[data-theme="dark"] .rv-msg.otto .rv-msg-name{color:var(--lime)}
.rv-msg.otto .rv-msg-av{box-shadow:0 0 0 2px var(--lime-2)}
/* Todd (human) messages */
.rv-msg.human{background:rgba(139,123,232,.09)}
.rv-msg.human .rv-msg-av{box-shadow:0 0 0 2px #8b7be8}
.rv-msg.flash{background:rgba(184,248,24,.22);box-shadow:0 0 0 2px var(--lime-2)}
[data-theme="dark"] .rv-msg.flash{background:rgba(205,255,3,.14);box-shadow:0 0 0 2px var(--lime)}

/* collapsible reply threads (GitHub-style) */
.rv-reply-toggle{margin-top:7px;background:none;border:0;color:var(--ink-3);font-size:12px;font-weight:700;cursor:pointer;padding:2px 0;transition:color .14s}
.rv-reply-toggle:hover,.rv-reply-toggle.open{color:var(--lime-2)}
[data-theme="dark"] .rv-reply-toggle:hover,[data-theme="dark"] .rv-reply-toggle.open{color:var(--lime)}
.rv-replies{display:none;flex-direction:column;gap:9px;margin-top:9px;padding-left:14px;border-left:2px solid var(--line-2)}
.rv-replies.open{display:flex}
.rv-reply{display:flex;gap:8px}
.rv-reply-av{width:24px;height:24px;flex:0 0 24px;border-radius:50%;overflow:hidden;margin-top:1px}
.rv-reply-av svg{width:100%;height:100%;display:block}
.rv-reply-body{font-size:12.8px;line-height:1.5;color:var(--ink-2)}
.rv-reply-body b{color:var(--ink);font-weight:700;margin-right:2px}
.rv-reply-t{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--ink-3);margin-left:5px}
.rv-reply.otto .rv-reply-body b{color:var(--lime-ink)}
[data-theme="dark"] .rv-reply.otto .rv-reply-body b{color:var(--lime)}

@media (max-width:640px){
  .rv-topbar{padding:12px 16px}
  .rv-scroll{padding:16px 14px 50px}
  .rv-chap-pin{font-size:9px;max-width:96px}
  .rv-wave{height:92px}
  .rv-msg-text{font-size:13.5px}
}
.phone-note{font-size:12.5px;color:var(--ink-3);line-height:1.5}
.phone-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.phone-actions .btn{text-decoration:none}

/* ============ OPPORTUNITY DETAIL PANEL ============ */
.opp-scrim{position:fixed;inset:0;background:rgba(10,12,8,.42);backdrop-filter:blur(3px);z-index:46;animation:fadeIn .2s}
.opp-panel{
  position:fixed;top:0;right:0;height:100%;width:560px;max-width:96vw;z-index:47;
  background:var(--surface);border-left:1px solid var(--line-2);box-shadow:var(--shadow-lg);
  transform:translateX(103%);transition:transform .32s cubic-bezier(.4,1,.35,1);
  overflow-y:auto;overscroll-behavior:contain;
}
[data-theme="dark"] .opp-panel{background:linear-gradient(168deg,#151910 0%,#0d100a 70%)}
.opp-panel.open{transform:translateX(0)}
.opp-body{padding:30px 28px 36px;display:flex;flex-direction:column;gap:18px}

.opp-head{display:flex;gap:14px;align-items:flex-start;padding-right:34px}
.opp-avs{display:flex;flex:0 0 auto;margin-top:2px}
.opp-av{width:52px;height:52px;border-radius:50%;border:3px solid var(--surface);box-shadow:var(--shadow);overflow:hidden;display:block;background:var(--surface-2)}
.opp-av svg,.opp-av img{width:100%;height:100%;border-radius:50%;display:block}
.opp-av + .opp-av{margin-left:-16px}
.opp-head-meta{min-width:0}
.opp-head-meta h2{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin:4px 0 5px}
.opp-who{font-size:12.5px;color:var(--ink-2)}
.opp-who b{color:var(--ink)}

.opp-score{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  font-family:'Manrope',sans-serif;font-size:12.5px;font-weight:800;letter-spacing:-.01em;
  color:var(--lime-ink);background:var(--lime);border-radius:7px;padding:5px 11px;box-shadow:var(--glow);
}
.opp-score i{width:6px;height:6px;border-radius:50%;background:var(--lime-ink);opacity:.7}

.opp-sec{display:flex;flex-direction:column;gap:7px}
.opp-sec>p{font-size:13.5px;line-height:1.62;color:var(--ink-2)}

.opp-rec-bubble{
  display:flex;gap:11px;align-items:flex-start;
  background:rgba(184,248,24,.1);border:1px solid rgba(140,190,10,.35);
  border-radius:4px 14px 14px 14px;padding:12px 14px;
}
[data-theme="dark"] .opp-rec-bubble{background:rgba(205,255,3,.06);border-color:rgba(205,255,3,.22)}
.opp-rec-av{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;margin-top:1px}
.opp-rec-av svg,.opp-rec-av img{width:100%;height:100%;border-radius:50%;display:block}
.opp-rec-bubble p{font-size:13.5px;line-height:1.58;color:var(--ink)}

.opp-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:2px}
.opp-gap{flex:1;min-width:4px}
.opp-actions .btn:disabled{opacity:.55;cursor:default;transform:none}

.opp-confirm{
  font-size:13px;font-weight:600;line-height:1.55;color:#465f03;
  background:rgba(184,248,24,.18);border:1px solid rgba(140,190,10,.35);
  border-radius:var(--r-sm);padding:11px 14px;animation:viewIn .3s ease;
}
[data-theme="dark"] .opp-confirm{color:var(--lime);background:rgba(205,255,3,.08);border-color:rgba(205,255,3,.25)}

.opp-cmd{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:16px}
.opp-thread{display:flex;flex-direction:column;gap:9px}
.opp-thread:empty{display:none}
.opp-line{
  font-size:13px;line-height:1.55;max-width:92%;
  border:1px solid var(--line);background:var(--surface-2);color:var(--ink);
  border-radius:4px 12px 12px 12px;padding:9px 12px;animation:lineIn .3s cubic-bezier(.3,1.2,.5,1) both;
}
.opp-line b{font-weight:800;margin-right:3px}
.opp-line.you{align-self:flex-end;border-radius:12px 4px 12px 12px;background:rgba(139,123,232,.1);border-color:rgba(139,123,232,.32)}
.opp-line.agent{border-color:rgba(140,190,10,.35);background:rgba(184,248,24,.08)}
[data-theme="dark"] .opp-line.agent{border-color:rgba(205,255,3,.22);background:rgba(205,255,3,.05)}
.opp-line.status{
  align-self:flex-start;max-width:100%;border:none;background:none;padding:2px 0;
  font-size:12.5px;color:var(--ink-3);font-style:italic;display:flex;align-items:center;gap:8px;
}
.opp-line.status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);flex:0 0 6px}
.opp-line.status.typing::before{background:var(--lime-2);animation:blink 1.2s infinite}
/* counterpart agent's real reply — distinct from your own agent's lime */
.opp-line.them{border-color:rgba(139,123,232,.35);background:rgba(139,123,232,.07)}
[data-theme="dark"] .opp-line.them{border-color:rgba(139,123,232,.28);background:rgba(139,123,232,.06)}
/* live/demo indicator in the opportunity header */
.opp-live-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;font-size:9.5px;letter-spacing:.08em;font-weight:800;color:var(--muted);vertical-align:middle}
.opp-live-badge i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.6}
.opp-live-badge.live{color:#7ba505}
.opp-live-badge.live i{background:var(--lime-2);opacity:1;box-shadow:0 0 6px rgba(184,248,24,.7)}
[data-theme="dark"] .opp-live-badge.live{color:var(--lime-2)}

.opp-cmd-row{display:flex;gap:8px;align-items:flex-end}
.opp-cmd-row textarea{
  flex:1;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);
  padding:10px 12px;font-size:13.5px;line-height:1.5;min-height:46px;resize:vertical;
  outline:none;color:var(--ink);font-family:inherit;
}
.opp-cmd-row textarea::placeholder{color:var(--ink-3)}
.opp-cmd-row textarea:focus{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.18)}

.opp-dealroom{
  display:flex;align-items:center;gap:13px;border:1px dashed var(--line-2);
  border-radius:var(--r-md);padding:13px 16px;color:var(--ink-2);
  opacity:.55;cursor:not-allowed;user-select:none;transition:opacity .3s,border-color .3s;
}
.opp-dealroom .od-icon{flex:0 0 auto;display:flex;color:var(--ink-3)}
.opp-dealroom .od-txt b{display:block;font-size:13.5px;color:var(--ink)}
.opp-dealroom .od-sub{display:block;font-size:12px;color:var(--ink-3);line-height:1.45;margin-top:1px}
.opp-dealroom.waiting{opacity:1;cursor:default;border-style:solid;border-color:rgba(140,190,10,.5)}
[data-theme="dark"] .opp-dealroom.waiting{border-color:rgba(205,255,3,.35);box-shadow:0 0 16px rgba(205,255,3,.07)}
.opp-dealroom.waiting .od-icon{color:var(--lime-2)}

@media (max-width:640px){
  .opp-panel{width:100%;max-width:100%}
  .opp-body{padding:22px 16px 30px}
}

/* ============ HOW IT WORKS — one calm plain-English page ============ */
.how-body{max-width:640px;padding-bottom:56px}
.how-hero{margin:10px 0 38px}
.how-hero h2{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.15}
.how-hero p{margin-top:12px;font-size:16px;color:var(--ink-2);line-height:1.6;max-width:52ch}
.how-sec{margin-bottom:38px}
.how-sec .mono-label{display:block;margin-bottom:14px}
.how-p{font-size:14.5px;color:var(--ink-2);line-height:1.7;max-width:58ch;margin-bottom:10px}
.how-p:last-child{margin-bottom:0}
.how-levels{display:flex;flex-direction:column;gap:10px}
.how-level{
  display:flex;gap:14px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow);
}
.hl-num{
  flex:0 0 28px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  font-family:'Manrope';font-weight:800;font-size:13.5px;
  background:var(--lime);color:var(--lime-ink);box-shadow:var(--glow);
}
.how-level b{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em}
.how-level p{font-size:13px;color:var(--ink-2);line-height:1.55;margin-top:2px}
.how-status-row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.how-foot{
  margin-top:6px;padding-top:26px;border-top:1px solid var(--line);
  font-family:'Manrope';font-size:16.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink);
  max-width:58ch;
}
/* legal first + last name side-by-side on signup */
.auth-name-row{display:flex;gap:10px}
.auth-name-row[hidden]{display:none}

/* ============================================================
   EXECUTION WORKSPACE / DEAL ROOM (V1 — SERVICE)
============================================================ */
.ws-view{position:fixed;top:0;right:0;bottom:0;left:var(--sidebar-w);z-index:72;background:var(--bg);color:var(--ink);display:flex;flex-direction:column}
.ws-topbar{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surface);flex:0 0 auto}
.ws-title{min-width:0;flex:1}
.ws-title h2{font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.ws-title-sub{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.35}
.ws-pm-dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px;background:var(--lime-2);box-shadow:0 0 6px rgba(184,248,24,.7)}
[data-theme="dark"] .ws-pm-dot{background:var(--lime)}
.ws-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px}
.ws-inner{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:16px}

.ws-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 18px;box-shadow:var(--shadow)}
.ws-onboard{border-color:rgba(140,190,10,.5)}
.ws-onboard p{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin:0 0 12px}
[data-theme="dark"] .ws-onboard{border-color:rgba(205,255,3,.3)}
.ws-card>.mono-label{display:block;margin-bottom:12px}
.ws-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.ws-card-note{font-size:11.5px;color:var(--ink-3)}

.ws-terms{display:flex;flex-direction:column;gap:9px}
.ws-term{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;align-items:center}
.ws-term>span{color:var(--ink-3)}
.ws-term>b{color:var(--ink);font-weight:700;text-align:right}
.ws-status-pill{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:2px 8px;text-transform:uppercase}

/* protected payment */
.ws-pay{border-width:1px}
.ws-pay.held{border-color:rgba(140,190,10,.5);background:rgba(184,248,24,.07)}
[data-theme="dark"] .ws-pay.held{border-color:rgba(205,255,3,.3);background:rgba(205,255,3,.05)}
.ws-pay.settled{border-color:rgba(140,190,10,.5)}
.ws-pay.refunded{border-color:var(--line-2)}
.ws-pay.await{border-color:var(--line-2)}
.ws-pay-top{display:flex;align-items:center;gap:12px}
.ws-pay-shield{flex:0 0 auto;display:flex;color:var(--lime-2)}
[data-theme="dark"] .ws-pay-shield{color:var(--lime)}
.ws-pay-top>div{flex:1;min-width:0}
.ws-pay-head{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em;margin-top:2px}
.ws-amt{font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;letter-spacing:-.02em;white-space:nowrap}
.ws-pay-sub{font-size:12.5px;line-height:1.55;color:var(--ink-2);margin:11px 0 0}
.ws-pay-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ws-pay-note{font-size:12.5px;color:var(--ink-3);line-height:1.5}

/* milestones */
.ws-ms-list{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.ws-ms{display:flex;align-items:center;gap:11px;padding:9px 4px;border-bottom:1px solid var(--line)}
.ws-ms:last-child{border-bottom:0}
.ws-ms-check{flex:0 0 auto;background:none;border:0;padding:0;cursor:pointer;display:flex}
.ws-ms-box{width:21px;height:21px;border-radius:6px;border:1.8px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--lime-ink);background:var(--surface-2);transition:.15s}
.ws-ms.done .ws-ms-box{background:var(--lime);border-color:var(--lime)}
.ws-ms-check:hover .ws-ms-box{border-color:var(--lime-2)}
.ws-ms-title{flex:1;font-size:13.5px;color:var(--ink)}
.ws-ms.done .ws-ms-title{color:var(--ink-3);text-decoration:line-through}
.ws-ms-amt{font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.ws-ms-add{display:flex;gap:8px}
.ws-ms-add input{flex:1;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);padding:9px 11px;font-size:13px;color:var(--ink);font-family:inherit;outline:none}
.ws-ms-add input:focus{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.16)}

/* gated chat */
.ws-unlock{font-family:'Manrope',sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.04em;color:#5f7d03;background:rgba(184,248,24,.2);border-radius:5px;padding:2px 6px;margin-left:6px}
[data-theme="dark"] .ws-unlock{color:var(--lime);background:rgba(205,255,3,.1)}
.ws-chat{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:340px;overflow-y:auto}
.ws-line{font-size:13px;line-height:1.5;max-width:88%;border:1px solid var(--line);background:var(--surface-2);border-radius:4px 12px 12px 12px;padding:8px 12px}
.ws-line b{font-weight:800;margin-right:3px}
.ws-line.you{align-self:flex-end;border-radius:12px 4px 12px 12px;background:rgba(184,248,24,.1);border-color:rgba(140,190,10,.35)}
[data-theme="dark"] .ws-line.you{background:rgba(205,255,3,.06);border-color:rgba(205,255,3,.22)}
.ws-line.them{border-color:rgba(139,123,232,.32);background:rgba(139,123,232,.07)}
.ws-line.agent{align-self:center;max-width:100%;font-size:12px;font-style:italic;color:var(--ink-3);background:none;border:none;padding:2px 0}
.ws-chat-row{display:flex;gap:8px;align-items:flex-end}
.ws-chat-row textarea{flex:1;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);padding:9px 12px;font-size:13.5px;line-height:1.5;min-height:44px;resize:vertical;outline:none;color:var(--ink);font-family:inherit}
.ws-chat-row textarea:focus{border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.16)}

.ws-empty{font-size:13px;color:var(--ink-3);line-height:1.5;padding:6px 0}
.ws-soon{text-align:center;padding:34px 20px}
.ws-soon-icon{font-size:34px;display:block;margin-bottom:10px}
.ws-soon h3{font-size:17px;font-weight:800;margin-bottom:8px}
.ws-soon p{font-size:13.5px;color:var(--ink-2);line-height:1.6;max-width:44ch;margin:0 auto}

/* opp deal-room becomes an actionable button once approved */
.opp-dealroom.ready{cursor:pointer}
.opp-dealroom.ready:hover{border-color:var(--lime-2);box-shadow:0 0 16px rgba(184,248,24,.12)}
.opp-dealroom.ready .od-icon{color:var(--lime-2)}

@media (max-width:900px){
  .ws-view{left:0}
}
@media (max-width:640px){
  .ws-topbar{padding:12px 15px}
  .ws-scroll{padding:16px 14px 40px}
  .ws-card{padding:15px 14px}
}

/* ============ OPPORTUNITY — honest publish prompt link ============ */
.opp-publish-link{color:var(--lime-2,#8cbe0a);font-weight:700;text-decoration:underline;cursor:pointer}
[data-theme="dark"] .opp-publish-link{color:var(--lime,#cdff03)}

/* ============ INBOX — Leads (card lead-capture) ============ */
.inbox-leads{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;margin-bottom:14px}
.il-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.il-soon{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.05em;color:var(--ink-3);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px}
.il-body{font-size:13px;line-height:1.55;color:var(--ink-2)}
.il-empty{color:var(--ink-3)}
.il-row{padding:9px 0;border-top:1px solid var(--line)}
.il-row:first-child{border-top:none}
.il-who{font-size:13.5px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.il-msg{font-size:13px;color:var(--ink-2);margin-top:2px;line-height:1.5}
.il-t{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-3);margin-left:auto}

/* ============ PHONE NAV — off-canvas drawer (≤640px) ============
   The desktop icon rail cramped a 390px phone. On phones the sidebar becomes a
   real full-label drawer that slides in over a scrim; a floating hamburger opens
   it, and the main content gets the whole width. Injected chrome (.mnav-*) is
   hidden everywhere except phones. */
.mnav-btn,.mnav-scrim{display:none}
@media (max-width:640px){
  /* sidebar → off-canvas drawer (full labels, not the icon rail) */
  .app.phone{--sidebar-w:236px}
  .app.phone .sidebar{
    position:fixed;top:0;left:0;height:100%;width:236px;flex:0 0 236px;
    z-index:130;transform:translateX(-100%);
    transition:transform .26s cubic-bezier(.4,0,.2,1);
    box-shadow:6px 0 34px rgba(4,8,18,.42);padding:22px 16px 16px;
  }
  .app.phone.nav-open .sidebar{transform:translateX(0)}
  /* the in-drawer collapse chevron is redundant on a phone */
  .app.phone .sidebar-collapse{display:none}

  /* floating hamburger */
  .mnav-btn{
    display:flex;align-items:center;justify-content:center;
    position:fixed;top:10px;left:12px;z-index:120;
    width:40px;height:40px;border-radius:11px;
    background:var(--surface);border:1px solid var(--line-2);color:var(--ink);
    box-shadow:0 2px 12px rgba(4,8,18,.16);cursor:pointer;padding:0;
  }
  .mnav-btn svg{width:20px;height:20px}
  .app.phone.nav-open .mnav-btn{opacity:0;pointer-events:none}

  /* scrim behind the open drawer */
  .mnav-scrim{
    display:block;position:fixed;inset:0;z-index:125;
    background:rgba(6,10,20,.5);opacity:0;pointer-events:none;transition:opacity .24s;
  }
  .app.phone.nav-open .mnav-scrim{opacity:1;pointer-events:auto}

  /* content takes the full width + clears the floating button */
  .app.phone .view{padding:56px 16px 40px}
  .app.phone .view-head{padding-right:0}
}

/* ============ HISTORY — all-time conversation archive ============ */
.hist-count{white-space:nowrap;align-self:flex-end;padding-bottom:2px}
.hist-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.hist-search{width:360px}
.hist-search svg{width:17px;height:17px;stroke:var(--ink-3);stroke-width:1.8;flex:0 0 17px}
.hist-chips{display:flex;gap:7px;flex-wrap:wrap}
.hist-chip{
  display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600;
  padding:8px 13px;border-radius:999px;line-height:1;transition:color .15s,border-color .15s,background .15s;
}
.hist-chip:hover{color:var(--ink);border-color:var(--gray-line)}
.hist-chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
[data-theme="dark"] .hist-chip.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime);box-shadow:var(--glow)}
.hc-dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.dot-lime{background:var(--lime-2);box-shadow:0 0 6px rgba(184,248,24,.5)}
.dot-teal{background:#2dd4bf;box-shadow:0 0 6px rgba(45,212,191,.5)}
.dot-dim{background:var(--ink-3)}
.hist-chip.on .hc-dot{box-shadow:none}

.hist-list{display:flex;flex-direction:column;gap:24px}
.hist-day-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.hist-day-label{font-family:'Manrope',sans-serif;font-weight:800;font-size:14px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.hist-day-rule{flex:1;height:1px;background:var(--line)}
.hist-day-n{white-space:nowrap}
.hist-day-rows{display:flex;flex-direction:column;gap:8px}

.hist-row{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  padding:12px 14px;transition:border-color .15s,box-shadow .15s,transform .12s;
}
.hist-row:hover{border-color:var(--lime-2);box-shadow:var(--shadow);transform:translateY(-1px)}
[data-theme="dark"] .hist-row:hover{border-color:var(--line-2);box-shadow:var(--glow)}
.hist-av{width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;background:var(--surface-2)}
.hist-av svg,.hist-av img{width:100%;height:100%;display:block;object-fit:cover}
.hist-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hist-l1{display:flex;align-items:baseline;gap:9px}
.hist-name{font-weight:700;font-size:14px;color:var(--ink)}
.hist-time{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-3)}
.hist-sum{font-size:13px;color:var(--ink-2);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist-pill{
  flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.01em;
  padding:5px 11px;border-radius:999px;line-height:1;white-space:nowrap;
}
.pill-qualified{background:var(--lime);color:var(--lime-ink);box-shadow:var(--glow)}
.pill-pending{background:rgba(45,212,191,.16);color:#0c8578;border:1px solid rgba(45,212,191,.34)}
[data-theme="dark"] .pill-pending{background:rgba(45,212,191,.12);color:#2dd4bf;border-color:rgba(45,212,191,.3)}
.pill-declined{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line-2)}
.hist-empty{text-align:center;color:var(--ink-3);font-size:14px;font-style:italic;padding:48px 0}

@media (max-width:560px){
  .hist-search{width:100%}
  .hist-controls{gap:12px}
  .hist-sum{white-space:normal}
  .hist-pill{align-self:flex-start}
}

/* ---- owner set / change password (sidebar-foot) ---- */
.pw-toggle{
  width:100%;text-align:left;border:1px solid var(--line);background:var(--surface-2);
  color:var(--ink-2);font-family:inherit;font-weight:600;font-size:12px;
  padding:8px 12px;border-radius:var(--r-sm);cursor:pointer;
  transition:color .15s,border-color .15s;
}
.pw-toggle:hover{color:var(--ink);border-color:var(--line-2)}
[data-theme="dark"] .pw-toggle:hover{border-color:var(--lime-2);color:var(--lime)}
.pw-panel{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line-2);
  background:var(--surface-2);border-radius:var(--r-md)}
.pw-input{height:38px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);
  border-radius:var(--r-sm);padding:0 12px;font-family:inherit;font-size:13px;width:100%}
.pw-input:focus{outline:none;border-color:var(--lime-2);box-shadow:0 0 0 3px rgba(184,248,24,.18)}
.pw-row{display:flex;align-items:center;gap:12px}
.pw-save{padding:7px 16px;font-size:13px}
.pw-cancel{font-size:12.5px}
.pw-note{font-size:12px;font-weight:600;line-height:1.4;color:var(--ink-2)}
.pw-note.ok{color:#15803d}
[data-theme="dark"] .pw-note.ok{color:#86efac}
.pw-note.bad{color:#c2410c}
[data-theme="dark"] .pw-note.bad{color:#ffb27a}
