/* Anchor keeps ▾ centered above the ask card without living inside it (no focus-within). */
.ws-ask-anchor {
  position: relative;
  width: 100%;
}
/* GATE1-ASK1: .ws-ask is layout only. One ring = .ws-field--float:focus-within ember outline; float input :focus-visible halo is killed. */
.ws-ask {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  width: 100%;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.ws-ask-command{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--s-3);
  width:100%;
  padding:var(--s-2) var(--s-3);
  border:0;
  border-radius: var(--r-card);
  background:transparent;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.ws-ask-command:hover,.ws-ask-command:focus-visible{background:var(--bg)}
.ws-ask-command:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.ws-ask-command-lead{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--t-md)}
.ws-ask-pal[hidden]{display:none}
.ws-ask-pal:not([hidden]){
  position:absolute;
  inset:var(--s-3) var(--s-3) auto;
  z-index:8;
  max-width:640px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius: var(--r-card);
  overflow:hidden;
}
.ws-ask-pal-head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}
.ws-ask-pal-head .ws-chip{background:var(--ink);color:var(--card)}
.ws-ask-pal-q{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:var(--t-lg);color:var(--ink)}
.ws-ask-pal-body{padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}
.ws-ask-pal-body .ws-menu-row[disabled]{opacity:1;cursor:default}
.ws-ask-pal-foot{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-top:1px solid var(--line)}
#wsAskRecent .ws-menu-row{width:100%}
@media (max-width: 560px) {
  .ws-hdr-sub { display: none; }
}

.ws-ask-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 36px;
}
.ws-ask-tools {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
}
.ws-plib-btn {
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  color: var(--ink2);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.ws-plib-btn:hover { color: var(--ink); }
.ws-plib-btn[aria-expanded="true"] {
  color: var(--ember);
  border-color: color-mix(in srgb, var(--ember) 40%, var(--line));
}
.ws-plib { display: none; }
.ws-plib.is-open {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  right: auto;
  width: min(560px, 100%);
  bottom: 100%;
  margin: 0 0 8px;
  height: min(340px, 48vh);
  overflow: hidden;
  padding: 16px 18px 14px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  z-index: 7;
  box-shadow: var(--shadow-overlay);
}
.ws-plib-title {
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 1.3;
  margin-bottom: 10px;
  flex: none;
}
.ws-plib-areas {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  flex: none;
  margin-bottom: 8px;
}
.ws-plib-area {
  height: 24px;
  padding: 0 12px;
  border-radius: var(--r-chip);
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: var(--t-micro);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
.ws-plib-area.on {
  background: color-mix(in srgb,var(--ember) 8%,transparent);
  border-color: color-mix(in srgb, var(--ember) 40%, transparent);
  color: var(--ember);
}
.ws-plib-area:focus-visible,
.ws-plib-entry:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}
.ws-plib-filter { display: block; margin: 0 0 8px; flex: none; }
.ws-plib-filter input {
  width: 100%;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
  font: inherit;
  font-size: var(--t-sm);
  color: var(--ink);
  outline: none;
}
.ws-plib-filter input:focus {
  border-color: color-mix(in srgb, var(--ember) 45%, var(--line));
}
.ws-plib-scroller { flex: 1; min-height: 0; position: relative; }
.ws-plib-list {
  height: 100%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  scrollbar-width: none;
}
.ws-plib-list::-webkit-scrollbar { display: none; }
.ws-plib-scroller.has-more::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 36px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, var(--card));
}
.ws-plib-entry {
  display: flex;
  align-items: baseline;
  gap: 12px;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}
.ws-plib-entry:hover {
  background: var(--card);
  border-color: var(--line);
}
.ws-plib-entry.is-kbd {
  background: color-mix(in srgb,var(--ember) 8%,transparent);
  border-color: transparent;
  box-shadow: var(--focus-ring);
}
.ws-plib-tag {
  flex: none;
  margin-left: auto;
  font-size: var(--t-micro);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
}
.ws-plib-slot {
  display: inline-block;
  padding: 0 6px;
  border-radius: 6px;
  background: color-mix(in srgb,var(--ember) 8%,transparent);
  color: var(--ember);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.ws-plib-empty {
  display: none;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 4px;
  font-size: var(--t-sm);
  color: var(--muted);
}
.ws-plib-empty.is-shown { display: flex; }
.ws-plib-empty button {
  height: 26px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-size: var(--t-sm);
  font-weight: 600;
  cursor: pointer;
}
.ws-plib-empty button:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ws-plib-sec {
  flex: none;
  padding: 4px 12px 2px;
  font-size: var(--t-micro);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
}
.ws-plib-sec:not(:first-child) { padding-top: 14px; }
mark.plib-hit {
  background: color-mix(in srgb,var(--ember) 8%,transparent);
  color: var(--ink);
  font: inherit;
  padding: 0 1px;
  border-radius: 2px;
}

#wsChatCol[aria-busy="true"] .ask-status {
  position: static;
  width: auto;
  height: auto;
  clip: auto;
  margin: 0 0 8px;
  overflow: visible;
  white-space: normal;
  font-size: var(--t-sm);
  color: var(--ink2);
}