
/* HoopIQ v113 — route split performance shell
   Keeps existing features but prevents the home page from rendering the whole app at once. */
:root{
  --hiq-route-bg: rgba(6,10,24,.78);
  --hiq-route-border: rgba(255,255,255,.12);
  --hiq-route-muted: rgba(223,232,255,.72);
}
html.hiq-route-ready .lovable-exact-main > section[data-hi-route-section]:not(.hiq-route-active){
  display:none !important;
}
html.hiq-route-ready .lovable-exact-main > section.hiq-route-active{
  content-visibility:auto;
  contain-intrinsic-size: 900px;
}
.hiq-route-gateway{
  margin: clamp(18px,3vw,34px) auto clamp(28px,5vw,64px);
  max-width: 1180px;
  padding: clamp(18px,3vw,28px);
  border:1px solid var(--hiq-route-border);
  background: linear-gradient(180deg, rgba(12,18,38,.82), rgba(7,10,23,.76));
  border-radius: 32px;
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
  position:relative;
  overflow:hidden;
}
.hiq-route-gateway:before{
  content:""; position:absolute; inset:-1px; pointer-events:none;
  background: radial-gradient(circle at 15% 0%, rgba(255,122,24,.16), transparent 30%), radial-gradient(circle at 85% 10%, rgba(77,163,255,.14), transparent 34%);
}
.hiq-route-gateway > *{ position:relative; z-index:1; }
.hiq-route-head{display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:18px;}
.hiq-route-head h2{margin:4px 0 0; font-size:clamp(1.8rem,3vw,3rem); letter-spacing:-.05em;}
.hiq-route-head p{max-width:680px; color:var(--hiq-route-muted); line-height:1.55; margin:.4rem 0 0;}
.hiq-route-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
.hiq-route-card{
  display:flex; flex-direction:column; gap:12px; min-height:178px;
  text-decoration:none; color:#f8fbff; padding:20px; border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.12);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.hiq-route-card:hover,.hiq-route-card:focus-visible{transform:translateY(-4px); border-color:rgba(255,209,102,.42); background:rgba(255,255,255,.1); box-shadow:0 18px 44px rgba(0,0,0,.28); outline:none;}
.hiq-route-card .icon{width:48px; height:48px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(135deg, rgba(255,122,24,.24), rgba(77,163,255,.16)); border:1px solid rgba(255,255,255,.14); font-size:1.35rem;}
.hiq-route-card strong{font-size:1.14rem; letter-spacing:-.025em;}
.hiq-route-card span{color:var(--hiq-route-muted); line-height:1.45; font-size:.94rem;}
.hiq-route-card em{margin-top:auto; color:#ffd166; font-style:normal; font-weight:900; font-size:.86rem;}
.hiq-route-breadcrumb{display:flex; align-items:center; gap:10px; max-width:1180px; margin:16px auto 0; color:rgba(220,230,255,.74); font-size:.9rem;}
.hiq-route-breadcrumb a{color:#ffd166; text-decoration:none; font-weight:900;}
.hiq-route-breadcrumb a:hover{text-decoration:underline;}
.hiq-route-performance-note{display:none!important;}
html.hiq-route-ready body{scroll-behavior:smooth;}
html.hiq-route-ready .panel:not(.hiq-route-active){content-visibility:hidden; contain-intrinsic-size:1px 800px;}
@media(max-width:960px){.hiq-route-grid{grid-template-columns:1fr 1fr}.hiq-route-head{display:block}.hiq-route-gateway{border-radius:24px}.hiq-route-card{min-height:150px}}
@media(max-width:620px){.hiq-route-grid{grid-template-columns:1fr}.hiq-route-card{min-height:auto}.hiq-route-head h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.hiq-route-card{transition:none}.hiq-route-card:hover{transform:none}}
