/* Site-wide search UI (yp-search.js). On-brand, uses yp.css vars with fallbacks. */
.yps-fab{
  position:fixed; right:18px; bottom:18px; z-index:9000;
  width:48px; height:48px; border-radius:50%; border:1px solid rgba(0,0,0,.12);
  background:var(--bg,#FAF8F5); color:var(--ink,#1a1a1a); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 22px rgba(0,0,0,.14); transition:transform .12s ease, box-shadow .12s ease;
}
.yps-fab:hover{ transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.20); }

html.yps-lock{ overflow:hidden; }

.yps-overlay{
  position:fixed; inset:0; z-index:9001; display:none;
  background:rgba(20,18,16,.42); backdrop-filter:blur(3px);
  padding:12vh 16px 16px; overflow:auto;
}
.yps-overlay.open{ display:block; }

.yps-box{
  max-width:620px; margin:0 auto; background:var(--bg,#FAF8F5);
  border:1px solid rgba(0,0,0,.12); border-radius:14px; overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.yps-inputwrap{
  display:flex; align-items:center; gap:10px; padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.08); color:var(--faint,#8a8378);
}
.yps-input{
  flex:1; border:0; outline:0; background:transparent;
  font-family:var(--serif,Georgia,serif); font-size:20px; color:var(--ink,#1a1a1a);
}
.yps-input::placeholder{ color:var(--faint,#a49c8f); }
.yps-esc{
  font-family:var(--mono,ui-monospace,monospace); font-size:11px; color:var(--faint,#8a8378);
  border:1px solid rgba(0,0,0,.14); border-radius:5px; padding:2px 6px;
}
.yps-results{ max-height:56vh; overflow:auto; }
.yps-hint,.yps-thanks{ padding:20px 18px; color:var(--faint,#8a8378); font-family:var(--serif,Georgia,serif); }
.yps-row{
  display:flex; align-items:center; gap:12px; padding:12px 16px; text-decoration:none;
  color:var(--ink,#1a1a1a); border-bottom:1px solid rgba(0,0,0,.05);
}
.yps-row:hover,.yps-row:focus{ background:rgba(0,0,0,.04); }
.yps-badge{
  flex:none; font-family:var(--mono,ui-monospace,monospace); font-size:9px; letter-spacing:.6px;
  text-transform:uppercase; padding:3px 7px; border-radius:5px;
  background:rgba(0,0,0,.06); color:var(--mid,#5a5348);
}
.yps-protocol{ background:rgba(70,120,90,.14); color:#2f6b46; }
.yps-expert{ background:rgba(100,120,200,.14); color:#3a4a9c; }
.yps-goal{ background:rgba(200,140,60,.16); color:#9c5a1a; }
.yps-persona{ background:rgba(150,90,160,.16); color:#7a3a86; }
.yps-topic{ background:rgba(60,150,150,.16); color:#1f6e6e; }
.yps-text{ display:flex; flex-direction:column; min-width:0; }
.yps-label{ font-family:var(--serif,Georgia,serif); font-size:16px; line-height:1.25; }
.yps-sub{ font-size:12px; color:var(--faint,#8a8378); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.yps-none{ padding:24px 18px; text-align:center; }
.yps-none-t{ font-family:var(--serif,Georgia,serif); font-size:18px; color:var(--mid,#5a5348); margin-bottom:12px; }
.yps-request{
  border:1px solid rgba(0,0,0,.16); background:transparent; border-radius:8px;
  padding:9px 16px; cursor:pointer; font-size:14px; color:var(--ink,#1a1a1a);
}
.yps-request:hover{ background:rgba(0,0,0,.05); }
@media (max-width:600px){
  .yps-input{ font-size:17px; } .yps-overlay{ padding-top:8vh; } .yps-fab{ right:14px; bottom:14px; }
}
.yps-reqexp{padding:14px 16px;border-top:1px solid rgba(0,0,0,.06);font-size:13px;color:var(--faint,#8a8378);font-family:var(--serif,Georgia,serif)}
.yps-reqexp .yps-request{margin-left:6px;font-size:13px}

.yps-row.sel{ background:rgba(212,121,106,.10); box-shadow:inset 2px 0 0 #D4796A; }

.yps-seeall{
  display:block; padding:12px 16px; text-align:center; text-decoration:none;
  font-family:var(--mono,ui-monospace,monospace); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--terra,#D4796A); border-top:1px solid rgba(0,0,0,.06);
}
.yps-seeall:hover{ background:rgba(0,0,0,.03); }
