/* YNY MEMORY NAVIGATOR / compact right-rail buttons + overlay page */
.memory-rail-tools {
  display:flex;flex-direction:column;align-items:center;gap:9px;
  width:100%;pointer-events:auto;
}
.yny-memory-tool {
  width:36px;height:36px;padding:0;border:0;border-radius:50%;
  display:inline-flex;justify-content:center;align-items:center;
  color:var(--text,#eee);background:transparent;font:600 19px/1 system-ui,sans-serif;
  opacity:.73;cursor:pointer;
}
.yny-memory-tool:hover,.yny-memory-tool:focus-visible {
  opacity:1;background:color-mix(in srgb,var(--text,#ddd) 10%,transparent);
  outline-offset:2px;
}
.yny-memory-tool[aria-expanded="true"] {
  opacity:1;background:color-mix(in srgb,var(--bubble-user,#988bff) 27%,transparent);
}
.yny-nav-scrim {
  position:fixed;inset:0;z-index:1600;background:rgba(9,9,19,.42);
  backdrop-filter:blur(3px);
  display:none;
}
.yny-nav-scrim[aria-hidden="false"] {display:block;}
.yny-nav-page {
  position:fixed;inset:0 0 0 auto;z-index:1601;
  display:none;flex-direction:column;
  width:min(510px,100vw);height:100dvh;
  border-left:1px solid color-mix(in srgb,var(--text,#aaa) 17%,transparent);
  background:var(--bg,#14141d);color:var(--text,#f4f4fb);
  box-shadow:-10px 0 50px #0004;font-family:inherit;
}
.yny-nav-page[data-open="true"]{display:flex;}
.yny-nav-header{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:16px 17px;border-bottom:1px solid var(--border,#363643)}
.yny-nav-heading{display:flex;flex-direction:column;gap:3px}
.yny-nav-heading strong{font:800 16px/1.2 system-ui,sans-serif;letter-spacing:.075em}
.yny-nav-heading span{font-size:11px;opacity:.63}
.yny-nav-close{
  flex-shrink:0;width:36px;height:36px;border:1px solid var(--border,#555);
  border-radius:12px;background:transparent;color:inherit;font-size:20px;cursor:pointer
}
.yny-nav-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:16px;display:grid;
  align-content:start;gap:12px}
.yny-nav-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.yny-nav-chip{border:1px solid var(--border,#555);border-radius:999px;
  background:transparent;color:inherit;font:650 12px system-ui,sans-serif;
  padding:8px 12px;cursor:pointer}
.yny-nav-chip[aria-pressed="true"]{background:color-mix(in srgb,var(--text,#aaa) 14%,transparent)}
.yny-nav-card {
  min-width:0;border-radius:16px;overflow:hidden;
  border:1px solid var(--border,#414150);
  background:color-mix(in srgb,var(--panel,#242432) 92%,transparent);
}
.yny-nav-card-title{padding:11px 13px 3px;font:750 14px/1.35 system-ui,sans-serif;
  word-break:break-word}
.yny-nav-card-meta{padding:0 13px 10px;font-size:11px;opacity:.66;line-height:1.45}
.yny-nav-preview{width:100%;max-height:230px;object-fit:contain;background:#151420;display:block}
.yny-nav-vision-thumb{
  display:grid;gap:9px;align-content:center;justify-items:center;text-align:center;
  padding:23px 16px;min-height:145px;
  background:radial-gradient(circle at 82% 25%,#bca2ee49,transparent 44%),
             linear-gradient(140deg,#111121,#352e52);color:#fff
}
.yny-nav-vision-thumb .glyph{font-size:34px}
.yny-nav-card-actions{display:flex;gap:8px;padding:0 13px 12px;flex-wrap:wrap}
.yny-nav-action{border:1px solid var(--border,#56566c);border-radius:10px;
  color:inherit;background:transparent;padding:8px 10px;font:600 12px system-ui,sans-serif;
  cursor:pointer}
.yny-nav-state{font-size:13px;line-height:1.65;opacity:.76;padding:22px 10px;text-align:center}
.yny-nav-source{padding:14px;border:1px solid var(--border,#555);border-radius:15px;
  font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;
  background:color-mix(in srgb,var(--panel,#242430) 95%,transparent)}
.yny-nav-source strong{display:block;margin-bottom:8px}
.yny-nav-more{justify-self:center;align-self:center;margin:10px 0 20px}
@media (max-width:520px){
  .yny-memory-tool{width:34px;height:34px}
  .yny-nav-page{width:100vw}
  .yny-nav-body{padding:12px}
}

.yny-nav-audio{display:block;width:calc(100% - 26px);margin:13px;min-height:43px;}


/* Personal + curated SYSTEM visual-memory search; mobile-first and accessible. */
.yny-nav-search-form{
  display:flex;align-items:stretch;gap:7px;flex-wrap:wrap;
  width:100%;margin:10px 0 12px;
}
.yny-nav-search-input{
  flex:1 1 170px;min-width:0;background:var(--background,#111);
  border:1px solid color-mix(in srgb,currentColor 23%,transparent);
  border-radius:11px;padding:10px 12px;color:inherit;font:inherit;
  font-size:14px;
}
.yny-nav-search-input:focus-visible{
  outline:2px solid #9874ff;outline-offset:2px;
}
.yny-nav-search-summary{
  padding:6px 0 10px;opacity:.75;font-size:12px;line-height:1.45;
}
