/* Page search (press F or Cmd/Ctrl+K): a compact dark card that matches the sidebar. */
.fp-overlay { position: fixed; inset: 0; z-index: 100001; background: rgba(12, 8, 6, .55); backdrop-filter: blur(2px); display: flex; justify-content: center; align-items: flex-start; padding-top: 13vh; }
.fp-card {
  width: min(460px, calc(100vw - 32px)); background: var(--surface-dark, #1d1815); color: #F4EEE7;
  border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
  padding: 12px; display: flex; flex-direction: column; gap: 8px; font-family: var(--font-body, system-ui);
  box-sizing: border-box; min-height: 327px; max-height: 381px; /* min = empty box (Recent + Suggested), max = a full set of results */
  animation: fpPop .16s ease-out;
}
@keyframes fpPop { from { opacity: 0; transform: translateY(6px) scale(.985); } to { opacity: 1; transform: none; } }
.fp-input {
  height: 38px; padding: 0 12px; border: 0; border-radius: 10px; outline: none;
  background: rgba(255,255,255,.07); color: #F4EEE7; font: 400 14px var(--font-body, system-ui);
}
.fp-input::placeholder { color: rgba(255,255,255,.45); }
.fp-input:focus { background: rgba(255,255,255,.10); box-shadow: none; outline: none; }
.fp-list { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.fp-head { padding: 8px 10px 4px; font-size: 11px; font-weight: 600; letter-spacing: .02em; color: rgba(255,255,255,.42); }
.fp-item { display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 0 10px; border-radius: 9px; color: rgba(255,255,255,.86); text-decoration: none; font: 500 13px var(--font-body, system-ui); cursor: pointer; }
.fp-item svg { width: 15px; height: 15px; flex: none; color: rgba(255,255,255,.55); }
.fp-item .fp-label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fp-item .fp-label mark { background: none; color: #FF955C; font-weight: 700; }
.fp-item .fp-where { font-size: 11px; font-weight: 500; color: rgba(255,255,255,.4); flex: none; }
.fp-item.is-on { background: rgba(255,255,255,.09); color: #fff; }
.fp-item.is-on svg { color: #FF955C; }
.fp-empty { padding: 18px 10px; text-align: center; color: rgba(255,255,255,.5); font-size: 13px; }
.fp-foot { display: flex; gap: 14px; justify-content: center; padding: 4px 6px 0; font-size: 11px; color: rgba(255,255,255,.38); }
.fp-foot kbd { font: 600 10px var(--font-body, system-ui); padding: 1px 5px; border-radius: 4px; background: rgba(255,255,255,.09); color: rgba(255,255,255,.7); }
