/* Keep the reference composition at 1600 × 1000; allow scrolling on laptops. */
html,body{width:100%;height:auto;min-height:100%;overflow:auto}
.page{width:100%;min-width:1180px;height:max(1000px,100vh)}
.page a.demo-link{color:inherit;text-decoration:none;cursor:pointer}
.page a.demo-link:hover{color:var(--accent)}
[data-demo-action]{cursor:pointer}
[data-demo-action]:hover{background:rgba(83,74,183,.08)}
[data-demo-action]:focus-visible,.demo-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.demo-reset{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.demo-detail{color:var(--text);background:var(--surface);border:1px solid var(--border-light);border-radius:10px;width:min(640px,90vw);max-height:85vh;padding:28px;font:14px/1.6 var(--sans)}
.demo-detail::backdrop{background:rgba(0,0,0,.65)}
.demo-detail h2{font-size:23px;margin:0 0 8px}.demo-detail h3{margin-top:22px}
.demo-detail a{color:var(--accent)}.demo-detail button{float:right;background:transparent;color:var(--text);border:1px solid var(--border-light);border-radius:4px;padding:5px 10px;cursor:pointer}
.demo-detail p{margin:8px 0}.demo-detail small{color:var(--text-secondary)}
.brief-actions{display:flex;gap:20px;padding:16px;justify-content:center;font:14px sans-serif}
@media print{.brief-actions{display:none}}
@media(max-width:1179px){
  .page{min-width:0;height:auto;min-height:100vh;overflow:visible}
  .page .hyp-header-primary{flex-wrap:wrap;gap:12px}
  .page .hyp-header-secondary{overflow-x:auto}
  .page .hyp-header-inner{padding:12px 16px}
  .page-body{padding:16px}
  .kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-main{display:flex;flex-direction:column}
  .panel.fill,.table-wrap{height:auto;overflow:auto}
  .surface-table{min-width:1000px;height:auto}
  .surface-table td{padding-top:18px;padding-bottom:18px}
  .rail{height:auto}
  .alert-list{display:grid;grid-template-columns:1fr 1fr}
  .alert-item{padding:16px}
  .page-foot{flex-wrap:wrap}
  .card-stack{overflow-x:auto}
  #fc-panel,.funnel-wrap{overflow:auto}
  .card-stack>*,.funnel-track{min-width:1000px}
}
@media(max-width:600px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-list{grid-template-columns:1fr}.hyp-tool-switcher{max-width:100%;overflow-x:auto}.route-label{display:none}}
