.bib-main{ max-width:1240px; }
.bib-hero{ align-items:start; }
@media (min-width: 900px){ .bib-hero{ grid-template-columns:minmax(0, 1fr) minmax(300px, 420px); gap:40px; } }
.bib-h1-n{ display:block; font-family:var(--font-mono); font-weight:500; font-size:clamp(14px, 1.6vw, 18px); letter-spacing:.18em; text-transform:uppercase; color:var(--aurum); margin-bottom:10px; }
.bib-subtitle{ font-family:var(--font-display); font-weight:500; font-size:clamp(17px, 1.9vw, 21px); color:var(--aurum-soft); margin:-8px 0 18px; }
.bib-dot{ opacity:.45; margin:0 4px; }
.bib-nav-stage{ position:relative; display:grid; place-items:center; }
.bib-nav-stage::before{ content:''; position:absolute; inset:4% 6%; border-radius:50%; background:radial-gradient(circle, rgba(var(--accent-rgb), .20) 0%, rgba(var(--accent-rgb), .07) 40%, transparent 70%); pointer-events:none; }
.bib-navigator-wrap{ position:relative; margin:0; text-align:center; }
.bib-navigator-scroll{ display:inline-block; }
.bib-navigator{ max-width:100%; height:auto; filter:drop-shadow(0 0 26px rgba(var(--accent-rgb), .16)); }
.bib-navigator-wrap figcaption, .bib-lens-wrap figcaption{ font-size:12.5px; color:var(--ink-3); margin-top:10px; line-height:1.5; }
.bib-navigator a, .bib-lens a{ cursor:pointer; outline:none; }
.bib-navigator a:hover circle, .bib-lens a:hover circle{ stroke:#F0D07A; stroke-width:3; }
.bib-navigator a:focus-visible circle, .bib-lens a:focus-visible circle{ stroke:#fff; stroke-width:4; }
.bib-navigator .nv-gate.is-pending, .bib-lens .ln-gate.is-pending{ opacity:.8; }
.bib-navigator .nv-gate.is-current circle, .bib-lens .ln-gate.is-current circle{ animation:bibPulse 2.8s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes bibPulse{ 0%,100%{ filter:drop-shadow(0 0 0 rgba(232,196,106,0)); } 50%{ filter:drop-shadow(0 0 10px rgba(232,196,106,.9)); } }
.bib-navigator .nv-center.is-on{ animation:geoGemPulse 6s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.bib-side{ top:92px; }
.bib-lens-wrap{ margin:0 0 22px; padding:16px; border-radius:18px; background:var(--glass-soft); border:1px solid rgba(var(--accent-rgb), .3); text-align:center; box-shadow:0 0 40px rgba(var(--accent-rgb), .1); }
.bib-lens{ width:100%; max-width:260px; height:auto; }
.bib-strip{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:12px; margin:26px 0 34px; padding:10px 12px; border-radius:999px; background:var(--glass-soft); border:1px solid var(--rule-gold); }
.bib-strip-link{ overflow:hidden; max-width:100%; font-size:13.5px; color:var(--ink-2); text-decoration:none; display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; min-width:0; }
.bib-strip-link span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bib-strip-next{ justify-self:end; }
a.bib-strip-link:hover{ color:var(--aurum-bright); background:rgba(212,168,75,.08); }
.bib-strip-link.is-pending{ opacity:.45; }
.bib-popover{ position:relative; }
.bib-popover summary{ list-style:none; cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#1A0F08; background:linear-gradient(135deg, var(--aurum-vivid), var(--aurum) 60%, var(--copper)); padding:10px 18px; border-radius:999px; white-space:nowrap; box-shadow:0 0 24px rgba(212,168,75,.3); }
.bib-popover summary::-webkit-details-marker{ display:none; }
.bib-popover-panel{ position:absolute; left:50%; top:calc(100% + 10px); transform:translateX(-50%); width:min(640px, calc(100vw - 32px)); z-index:30; padding:16px; border-radius:20px; background:rgba(12,10,16,.97); border:1px solid var(--rule-gold); box-shadow:var(--shadow-glass); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.bib-popover-panel input[type="search"]{ width:100%; box-sizing:border-box; padding:10px 14px; border-radius:10px; border:1px solid var(--rule); background:rgba(255,255,255,.04); color:var(--ink); font:inherit; margin-bottom:12px; }
.bib-popover-panel input[type="search"]:focus{ outline:none; border-color:var(--aurum); box-shadow:0 0 0 3px rgba(212,168,75,.18); }
.bib-grid{ display:grid; gap:10px; max-height:min(60vh, 520px); overflow:auto; }
.bib-grid-center{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.bib-grid-center b{ width:100%; font-family:var(--font-mono); font-weight:500; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); margin:4px 0 2px; }
.bib-grid a, .bib-grid span{ display:inline-grid; place-items:center; min-width:36px; height:36px; padding:0 8px; border-radius:10px; font-family:var(--font-mono); font-size:13px; text-decoration:none; color:var(--ink); background:rgba(255,255,255,.04); border:1px solid var(--rule); }
.bib-grid .is-wide{ font-family:var(--font-body); font-size:13.5px; }
.bib-grid a[data-hue="yellow"]{ border-color:rgba(232,196,106,.4); } .bib-grid a[data-hue="green"]{ border-color:rgba(125,216,125,.4); } .bib-grid a[data-hue="blue"]{ border-color:rgba(125,184,232,.4); } .bib-grid a[data-hue="orange"]{ border-color:rgba(255,171,118,.4); }
.bib-grid a:hover{ background:rgba(212,168,75,.14); color:var(--aurum-bright); }
.bib-grid .is-current{ background:linear-gradient(135deg, var(--aurum-vivid), var(--aurum)); color:#1A0F08; font-weight:600; }
.bib-grid .is-pending{ opacity:.45; }
.bib-hook{ font-family:var(--font-display); font-weight:500; font-size:clamp(18px, 2vw, 22px); line-height:1.5; color:var(--ink); margin:0 0 22px; }
.bib-freq{ padding:20px 22px; border-radius:18px; border:1px solid var(--rule); background:var(--glass-soft); }
.bib-freq--shadow{ border-color:rgba(139,92,246,.35); background:linear-gradient(160deg, rgba(139,92,246,.10), rgba(255,255,255,.015)); }
.bib-freq--high{ border-color:rgba(232,196,106,.4); background:linear-gradient(160deg, rgba(212,168,75,.10), rgba(255,255,255,.015)); box-shadow:0 0 40px rgba(212,168,75,.08); }
.bib-freq-tag{ display:inline-block; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:10px; color:#C4B5FD; }
.bib-freq--high .bib-freq-tag{ color:var(--aurum-bright); }
.bib-freq-ex{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3); margin:14px 0 6px !important; }
.bib-freq ul{ margin:0; padding-left:20px; }
.bib-freq li{ margin:0 0 .6em; }
.bib-recog-hint{ font-size:14.5px; color:var(--ink-3); }
.bib-recog{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.bib-recog label{ display:grid; grid-template-columns:22px minmax(0, 1fr); gap:14px; align-items:start; padding:14px 16px; border-radius:14px; border:1px solid var(--rule); background:var(--glass-soft); cursor:pointer; transition:border-color .2s, background .2s; }
.bib-recog label:hover{ border-color:var(--rule-gold); }
.bib-recog label:has(input:checked){ border-color:rgba(232,196,106,.5); background:linear-gradient(160deg, rgba(212,168,75,.12), rgba(255,255,255,.015)); }
.bib-recog input{ appearance:none; -webkit-appearance:none; width:22px; height:22px; margin:1px 0 0; border-radius:50%; border:1.5px solid rgba(212,168,75,.6); display:grid; place-items:center; cursor:pointer; }
.bib-recog input:checked{ background:linear-gradient(135deg, var(--aurum-vivid), var(--aurum)); box-shadow:0 0 12px rgba(212,168,75,.4); }
.bib-recog input:checked::after{ content:'✓'; font-size:13px; font-weight:700; color:#1A0F08; }
.bib-pair{ display:grid; gap:14px; }
@media (min-width: 820px){ .bib-pair{ grid-template-columns:1fr 1fr; } }
.bib-pair-col{ padding:20px 22px; border-radius:18px; border:1px solid var(--rule); background:var(--glass-soft); }
.bib-pair-col--def{ border-color:rgba(232,196,106,.4); } .bib-pair-col--open{ border-color:rgba(125,184,232,.35); }
.bib-pair-col h3{ margin:0 0 10px; font-family:var(--font-display); font-weight:600; font-size:17px; color:var(--aurum-bright); }
.bib-pair-col--open h3{ color:#93C5FD; }
.bib-interrupt{ display:grid; gap:22px; margin:0 0 56px; padding:26px 24px; border-radius:22px; background:var(--glass); border:1px solid var(--rule-gold); box-shadow:var(--shadow-glass); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); position:relative; overflow:hidden; }
.bib-interrupt::before{ content:''; position:absolute; inset:-40% -20% auto auto; width:60%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(var(--accent-rgb), .22), transparent 70%); pointer-events:none; }
@media (min-width: 860px){ .bib-interrupt{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); padding:32px 34px; } }
.bib-interrupt-h{ font-family:var(--font-display); font-weight:600; font-size:clamp(22px, 2.6vw, 30px); line-height:1.15; color:var(--ink); margin:0 0 12px; }
.bib-interrupt p{ margin:0 0 10px; line-height:1.6; }
.bib-form-hint{ font-size:13px; color:var(--ink-3); }
.bib-form{ display:grid; gap:14px; position:relative; z-index:1; }
.bib-field{ display:grid; gap:6px; }
.bib-field > span{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); font-weight:600; }
.bib-form input[type="text"], .bib-form select{ width:100%; box-sizing:border-box; min-height:46px; padding:10px 14px; border-radius:12px; border:1px solid var(--rule); background:rgba(255,255,255,.04); color:var(--ink); font:inherit; font-size:16px; color-scheme:dark; }
.bib-form input:focus, .bib-form select:focus{ outline:none; border-color:var(--aurum); box-shadow:0 0 0 3px rgba(212,168,75,.18); }
.bib-form .time-group{ display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; }
.bib-time-sep{ color:var(--aurum); font-family:var(--font-mono); }
.bib-form .place-autocomplete-wrap{ position:relative; }
.bib-form .place-suggestions{ position:absolute; left:0; right:0; top:100%; z-index:20; margin:4px 0 0; padding:6px; list-style:none; background:rgba(12,10,16,.98); border:1px solid var(--rule-gold); border-radius:12px; box-shadow:var(--shadow-glass); max-height:240px; overflow:auto; }
.bib-form .place-suggestions.hidden{ display:none; }
.bib-form .place-suggestions li{ padding:10px 12px; border-radius:8px; cursor:pointer; font-size:14.5px; color:var(--ink-2); }
.bib-form .place-suggestions li:hover, .bib-form .place-suggestions li[aria-selected="true"]{ background:rgba(212,168,75,.12); color:var(--ink); }
.bib-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.bib-form-error{ margin:0; padding:10px 14px; border-radius:10px; border:1px solid rgba(244,114,182,.4); background:rgba(244,114,182,.08); color:#F9A8D4; font-size:14px; }
.bib-form .geo-btn{ width:100%; }
.bib-rel{ margin:0 0 56px; scroll-margin-top:96px; }
.bib-rel > h2{ font-family:var(--font-display); font-weight:600; font-size:clamp(22px, 2.8vw, 30px); color:var(--ink); margin:0 0 16px; letter-spacing:-.01em; }
.bib-rel-grid{ display:grid; gap:14px; }
@media (min-width: 720px){ .bib-rel-grid{ grid-template-columns:1fr 1fr; } .bib-rel-card--wide{ grid-column:1 / -1; } }
.bib-rel-card{ padding:18px 20px; border-radius:18px; border:1px solid rgba(212,168,75,.18); background:var(--glass-soft); }
.bib-rel-kicker{ display:block; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--aurum); margin-bottom:10px; }
.bib-rel-link{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.bib-rel-link strong{ font-family:var(--font-display); font-weight:600; font-size:16px; line-height:1.3; }
a.bib-rel-link:hover strong{ color:var(--aurum-bright); }
.bib-rel-thumb{ flex:0 0 auto; display:grid; place-items:center; width:56px; height:76px; border-radius:12px; background:rgba(255,255,255,.03); border:1px solid var(--rule); }
.bib-rel-card p{ margin:10px 0 0; font-size:14.5px; line-height:1.55; color:var(--ink-3); }
.bib-rel-card p a{ color:var(--aurum-soft); text-decoration:none; }
.bib-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.bib-chip{ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:999px; border:1px solid var(--rule-gold); background:rgba(255,255,255,.03); color:var(--ink-2); text-decoration:none; font-size:13.5px; }
.bib-chip b{ font-family:var(--font-mono); font-weight:500; color:var(--aurum-bright); }
a.bib-chip:hover{ border-color:var(--aurum-bright); color:var(--aurum-bright); }
.bib-chip.is-pending, .is-pending{ cursor:default; }
.bib-chip.is-pending{ opacity:.55; }
.bib-ladder{ margin:12px 0 6px; }
.bib-ladder .geo-rung{ font-size:16px; padding:9px 14px; }
.bib-hex-row{ display:inline-flex; align-items:center; gap:10px; }
.bib-hex-row .bib-hex{ vertical-align:middle; }
.bib-fact table{ min-width:0; }
.bib-fact caption{ position:static; width:auto; }
.geo-prose th[scope="row"]{ width:34%; text-align:left; font-family:var(--font-body); font-weight:600; text-transform:none; letter-spacing:0; font-size:14px; color:var(--ink-2); background:rgba(255,255,255,.02); }
.geo-prose table td a{ color:var(--aurum-soft); text-decoration:none; border-bottom:1px solid rgba(212,168,75,.35); }
.geo-prose table td .is-pending{ color:var(--ink-3); }

@media (prefers-reduced-motion: reduce){ .bib-navigator .nv-gate.is-current circle, .bib-navigator .nv-center.is-on{ animation:none !important; } }
@media (max-width: 860px){
  .bib-hero{ gap:20px; }
  .bib-nav-stage{ order:2; }
  .bib-navigator{ max-width:min(320px, 84vw); }
  .bib-strip{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .bib-popover{ grid-column:1 / -1; justify-self:center; order:-1; }
  .bib-popover-panel{ position:fixed; left:16px; right:16px; top:80px; transform:none; width:auto; max-height:calc(100vh - 120px); overflow:auto; }
  .bib-navigator .nv-center.is-on, .bib-navigator .nv-gate.is-current circle{ animation:none !important; }
}
