[hidden] { display: none !important; }
:root { --header-height: 44px; }
header { flex-wrap: wrap; height: auto; min-height: 44px; padding: 6px 12px; gap: 10px; background: #08090b; }
header #lens-q { min-width: 0; flex: 1 1 120px; }
main { top: var(--header-height); }
#list, #focus, .tab-edge, #layer-back { top: calc(var(--header-height) + 8px); }
.site-back { color: var(--dim); font: 12px var(--mono); text-decoration: none; white-space: nowrap; }
.site-back:hover, .site-back:focus-visible { color: var(--ink); }
#connection-state { color: #76c59b; font: 10px var(--mono); white-space: nowrap; }
#connection-panel {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #0a0b0d;
  overflow: auto;
}
.connection-card { width: min(100%, 520px); color: #eee; font: 15px/1.65 system-ui, sans-serif; }
.connection-card h1 { margin: 30px 0 4px; font-size: clamp(28px, 7vw, 38px); letter-spacing: -.035em; }
.connection-card h2 { margin: 24px 0 8px; font-size: 18px; font-weight: 500; }
.connection-card p { color: #a5a5a5; margin: 8px 0; }
.connection-card a { color: #ffd27a; }
.connection-card .connection-subtitle { font: 12px/1.6 var(--mono); }
.connection-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 24px; }
#connection-retry { min-height: 42px; padding: 9px 15px; border: 1px solid #ffd27a; color: #ffd27a; background: transparent; border-radius: 4px; cursor: pointer; }
#connection-retry:disabled { cursor: wait; opacity: .5; }
.connection-card .connection-credit { margin-top: 40px; font-size: 12px; }
@media (max-width: 760px) {
  header { flex-wrap: wrap; height: auto; min-height: 44px; padding: 8px; gap: 8px; background: #08090b; }
  #connection-state { display: none; }
  #lens-q { min-width: 0; flex: 1 1 100px; }
  #jump { width: 105px; }
  #list { bottom: 12px; max-height: none; }
}
