/* Homepage-only styles (interactive hero), moved from the static index.html */
/* ===== Interactive hero (browser + search + live dashboards) ===== */
  #ihero { --ib-h: 476px; position: relative; }
  .ib-win { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); overflow:hidden; }
  .ib-bar { display:flex; align-items:center; gap:12px; padding:11px 15px; background:var(--surface-1); border-bottom:1px solid var(--line-soft); }
  .ib-dots { display:flex; gap:6px; flex:none; }
  .ib-dots i { width:11px; height:11px; border-radius:50%; background:var(--line); }
  .ib-url { flex:1; min-width:0; display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:9999px; padding:7px 14px; }
  .ib-url-lead,.ib-url-reload { width:14px; height:14px; color:var(--fg-3); flex:none; }
  .ib-url-text { font-size:13px; color:var(--fg-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ib-caret { display:inline-block; width:1.5px; height:15px; background:var(--brand-600); margin-left:1px; flex:none; }
  .ib-caret.blink { animation:ibBlink 1s steps(1) infinite; }
  @keyframes ibBlink { 50%{opacity:0} }
  .ib-stage { position:relative; height:var(--ib-h); }
  .ib-screen { position:absolute; inset:0; padding:20px; opacity:0; transform:translateY(10px); transition:opacity .5s var(--ease-out), transform .5s var(--ease-out); pointer-events:none; overflow:hidden; }
  .ib-screen.is-active { opacity:1; transform:none; }
  .reveal-item { opacity:0; transform:translateY(9px); transition:opacity .5s var(--ease-out), transform .5s var(--ease-out); transition-delay:var(--d,0s); }
  .is-active.revealed .reveal-item { opacity:1; transform:none; }
  .g-searchbox { display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:9999px; padding:12px 18px; box-shadow:var(--shadow-sm); }
  .g-searchbox svg { width:18px; height:18px; color:var(--brand-600); flex:none; }
  .g-query { font-size:15px; color:var(--ink); font-weight:500; }
  .g-query::after { content:""; display:inline-block; width:1.5px; height:16px; background:var(--brand-600); margin-left:1px; vertical-align:-3px; animation:ibBlink 1s steps(1) infinite; }
  .g-searchbox.done .g-query::after { display:none; }
  .g-meta { font-size:12px; color:var(--fg-3); margin:13px 3px 11px; }
  .g-results { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
  .g-res--1 { position:relative; border:1.5px solid var(--brand-200); background:var(--brand-50,#eef3fe); border-radius:13px; padding:15px 17px; transition:box-shadow .3s ease, transform .3s ease, opacity .5s var(--ease-out); }
  .g-res--1.hot { box-shadow:0 12px 30px rgba(21,94,239,.20); transform:translateY(-2px) scale(1.015); }
  .g-res-head { display:flex; align-items:center; gap:9px; }
  .g-fav { width:22px; height:22px; border-radius:6px; background:var(--success-bg); color:var(--success); display:inline-flex; align-items:center; justify-content:center; flex:none; }
  .g-fav svg { width:13px; height:13px; }
  .g-url { font-size:13px; color:var(--success); font-weight:600; }
  .g-title { color:#1a4fd6; font-size:16.5px; font-weight:600; letter-spacing:-.01em; margin:7px 0 0; line-height:1.25; }
  .g-desc { font-size:12.5px; color:var(--fg-2); line-height:1.5; margin:5px 0 0; }
  .g-rating { display:flex; align-items:center; gap:6px; margin-top:9px; font-size:12px; color:var(--fg-2); }
  .g-rating b { color:#e0a100; }
  .g-stars { color:#f5b400; letter-spacing:1px; }
  .g-rank { position:absolute; top:13px; right:15px; font-size:12px; font-weight:800; color:var(--brand-600); background:#fff; border:1px solid var(--brand-200); border-radius:8px; padding:3px 9px; }
  .g-res--ghost { border:1px solid var(--line); border-radius:13px; padding:15px 17px; }
  .g-gbar { height:8px; border-radius:4px; background:var(--line); }
  .g-gbar--url { width:34%; background:var(--line-soft); }
  .g-gbar--title { width:66%; margin-top:11px; height:10px; }
  .g-gbar--desc { width:88%; margin-top:9px; height:7px; background:var(--line-soft); }
  .loc-map { position:relative; height:118px; border-radius:12px; overflow:hidden; border:1px solid var(--line); }
  .loc-map svg { width:100%; height:100%; display:block; }
  .loc-pin { position:absolute; top:40%; left:52%; transform:translate(-50%,-100%); color:var(--brand-600); }
  .loc-pin svg { width:32px; height:32px; filter:drop-shadow(0 4px 6px rgba(21,94,239,.45)); }
  .gbp { margin-top:14px; border:1px solid var(--line); border-radius:14px; padding:15px 16px; box-shadow:var(--shadow-sm); transition:box-shadow .3s ease, transform .3s ease, opacity .5s var(--ease-out); }
  .gbp.hot { box-shadow:0 12px 30px rgba(21,94,239,.18); transform:translateY(-2px); }
  .gbp-head { display:flex; gap:12px; }
  .gbp-ava { width:52px; height:52px; border-radius:12px; background:var(--brand-600); color:#fff; font-family:var(--font-display); font-weight:800; font-size:19px; display:grid; place-items:center; flex:none; }
  .gbp-name { font-size:18px; font-weight:700; color:var(--ink); letter-spacing:-.01em; }
  .gbp-rate { display:flex; align-items:center; gap:6px; margin-top:2px; font-size:12.5px; color:var(--fg-2); }
  .gbp-rate b { color:var(--ink); }
  .gbp-rate a { color:var(--brand-600); font-weight:600; }
  .gbp-cat { font-size:12.5px; color:var(--fg-3); margin-top:3px; }
  .gbp-actions { display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
  .gbp-chip { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:9999px; padding:6px 13px; font-size:12.5px; font-weight:600; color:var(--brand-600); }
  .gbp-chip svg { width:14px; height:14px; }
  .gbp-info { margin-top:13px; display:grid; gap:6px; font-size:12.5px; color:var(--fg-1); }
  .gbp-info b { color:var(--ink); }
  .ai-ans { margin-top:14px; border:1px solid var(--line); border-radius:14px; padding:16px 17px; box-shadow:var(--shadow-sm); transition:box-shadow .3s ease, transform .3s ease, opacity .5s var(--ease-out); }
  .ai-ans.hot { box-shadow:0 12px 30px rgba(21,94,239,.18); transform:translateY(-2px); }
  .ai-badge { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:700; color:var(--brand-600); background:var(--brand-50,#eef3fe); border:1px solid var(--brand-200); border-radius:9999px; padding:5px 12px; }
  .ai-badge svg { width:14px; height:14px; }
  .ai-ans p { font-size:13.5px; line-height:1.6; color:var(--fg-1); margin:12px 0 0; }
  .ai-ans p b { color:var(--ink); }
  .ai-ans .ai-hl { color:var(--brand-600); font-weight:700; }
  .ai-cites { display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
  .ai-chip { display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; color:var(--fg-2); background:var(--surface-1); border:1px solid var(--line); border-radius:9999px; padding:5px 11px; }
  .ai-chip.is-1 { color:var(--success); border-color:var(--success-bg); }
  .ai-chip svg { width:13px; height:13px; }
  .ib-dash-top { display:flex; align-items:center; gap:10px; padding:0 0 14px; border-bottom:1px solid var(--line-soft); margin-bottom:15px; }
  .ib-dash-top .d-title { font-weight:600; font-size:14px; color:var(--ink); }
  .ib-dash-top .d-pill { margin-left:auto; font-size:11.5px; font-weight:600; color:var(--success); background:var(--success-bg); padding:5px 10px; border-radius:var(--r-pill); display:inline-flex; align-items:center; gap:5px; }
  .ib-dash-top .d-pill svg { width:13px; height:13px; }
  .ib-dash .dash-kpis { margin-bottom:15px; }
  .ib-dash.kpi-in .kpi { animation:ibKpiPop .5s var(--ease-out) both; }
  .ib-dash.kpi-in .kpi:nth-child(2){ animation-delay:.09s; }
  .ib-dash.kpi-in .kpi:nth-child(3){ animation-delay:.18s; }
  @keyframes ibKpiPop { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }
  .gbpd-num { font-size:33px; font-weight:800; color:var(--ink); letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
  .gbpd-lbl { display:flex; align-items:center; gap:7px; font-size:13px; color:var(--fg-2); margin-top:8px; }
  .gbpd-lbl svg { width:15px; height:15px; color:var(--fg-3); }
  .gbpd-delta { font-size:12px; font-weight:600; color:var(--success); margin-top:5px; }
  .gbpd-split { display:flex; gap:16px; align-items:center; margin:15px 0; }
  .donut-wrap { position:relative; flex:none; }
  .donut { width:108px; height:108px; display:block; transform:rotate(-90deg); }
  .gbpd-legend { display:grid; gap:9px; flex:1; }
  .gbpd-lg { display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--fg-2); }
  .gbpd-lg i { width:9px; height:9px; border-radius:50%; flex:none; }
  .gbpd-lg b { color:var(--ink); font-weight:700; }
  .gbpd-searches { border-top:1px solid var(--line-soft); padding-top:12px; }
  .gbpd-st { font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--fg-3); margin-bottom:8px; }
  .gbpd-row { display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--fg-1); padding:4px 0; }
  .gbpd-row .r-n { color:var(--fg-3); width:14px; flex:none; }
  .gbpd-row .r-t { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .gbpd-row .r-c { font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
  .ib-cursor { position:absolute; top:0; left:0; width:22px; height:22px; opacity:0; transform:translate(60px,360px); transition:transform .85s cubic-bezier(.5,0,.2,1), opacity .3s ease; z-index:8; pointer-events:none; filter:drop-shadow(0 3px 6px rgba(15,36,71,.28)); }
  .ib-cursor.show { opacity:1; }
  .ib-ripple { position:absolute; top:8px; left:6px; width:8px; height:8px; border-radius:50%; background:rgba(21,94,239,.5); opacity:0; }
  .ib-cursor.click .ib-ripple { animation:ibRipple .55s ease-out; }
  @keyframes ibRipple { 0%{opacity:.6; transform:scale(1)} 100%{opacity:0; transform:scale(6)} }
  @media (max-width:900px){ #ihero{ --ib-h:456px; max-width:520px; margin:0 auto; } }
  @media (prefers-reduced-motion:reduce){
    .ib-screen{ transition:none; }
    .reveal-item{ opacity:1; transform:none; }
    .g-query::after,.ib-caret.blink{ animation:none; }
    .ib-cursor{ display:none; }
  }
