/* var.33 — Modern UI Phase 17: Search & Quick Navigation */
.quick-nav-trigger {
  position: fixed;
  left: max(14px, env(safe-area-inset-left));
  bottom: calc(86px + env(safe-area-inset-bottom));
  z-index: 998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid color-mix(in srgb, var(--accent, #2f7d32) 45%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, transparent);
  color: var(--accent, #2f7d32);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.quick-nav-trigger:hover { transform: translateY(-2px); }
.quick-nav-trigger:active { transform: translateY(0); }
.quick-nav-trigger svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; }

.quick-nav-dialog {
  width: min(680px, calc(100vw - 28px));
  max-height: min(76vh, 720px);
  padding: 0;
  border: 1px solid rgba(127,127,127,.28);
  border-radius: 18px;
  background: var(--surface, #fff);
  color: var(--text, #202124);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  overflow: hidden;
}
.quick-nav-dialog::backdrop { background: rgba(0,0,0,.42); backdrop-filter: blur(3px); }
.quick-nav-head { display:flex; align-items:center; gap:10px; padding:14px; border-bottom:1px solid rgba(127,127,127,.2); }
.quick-nav-input {
  flex:1; min-width:0; height:44px; padding:0 14px; border:1px solid rgba(127,127,127,.35); border-radius:12px;
  background: var(--surface, #fff); color:inherit; font:inherit; outline:none;
}
.quick-nav-input:focus { border-color: var(--accent, #2f7d32); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent, #2f7d32) 18%, transparent); }
.quick-nav-close { width:40px; height:40px; border:0; border-radius:10px; background:transparent; color:inherit; font-size:24px; cursor:pointer; }
.quick-nav-close:hover { background:rgba(127,127,127,.12); }
.quick-nav-results { margin:0; padding:8px; list-style:none; overflow:auto; max-height:calc(min(76vh, 720px) - 74px); overscroll-behavior:contain; }
.quick-nav-results button { width:100%; display:block; text-align:left; padding:11px 12px; border:0; border-radius:10px; background:transparent; color:inherit; cursor:pointer; font:inherit; }
.quick-nav-results button:hover,
.quick-nav-results button[aria-selected="true"] { background:color-mix(in srgb, var(--accent, #2f7d32) 12%, transparent); }
.quick-nav-title { display:block; font-weight:700; line-height:1.3; }
.quick-nav-snippet { display:block; margin-top:3px; opacity:.7; font-size:.9em; line-height:1.35; }
.quick-nav-empty { padding:22px 14px; text-align:center; opacity:.68; }
.quick-nav-hint { padding:0 14px 12px; font-size:.82em; opacity:.62; }

@media (max-width: 640px) {
  .quick-nav-trigger { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .quick-nav-dialog { width:calc(100vw - 16px); max-height:82dvh; border-radius:16px; }
  .quick-nav-results { max-height:calc(82dvh - 74px); }
}
@media (prefers-reduced-motion: reduce) { .quick-nav-trigger { transition:none !important; } }
@media print { .quick-nav-trigger, .quick-nav-dialog { display:none !important; } }
