.demos-fca-page [hidden]{display:none!important}
#demo-explorer{overflow-x:clip}
.demos-fca-page .page-hero{padding-bottom:28px}
.demo-nav{max-width:1200px;margin:0 auto;padding:0 24px 12px}
#demo-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-bottom:1px solid #d2e3f0;padding-bottom:12px}
.demo-tab-indicator{position:absolute;left:0;top:0;pointer-events:none;border-radius:12px;background:#054186;box-shadow:0 6px 16px #05418620;transition:transform 320ms cubic-bezier(.2,.7,.2,1),width 320ms,height 320ms;z-index:-1}
#demo-tabs button{display:flex;align-items:center;gap:10px;padding:16px 14px;border:1px solid #c9ddeb;border-radius:12px;background:#f7fbff;color:#294662;text-align:left;font:600 15px Inter,sans-serif;min-height:60px}
#demo-tabs button span{font-size:12px;opacity:.7}
#demo-tabs button[aria-selected=true]{background:transparent;color:white;border-color:#054186;box-shadow:none}
#demo-tabs button:hover{border-color:#0e69b8}
#demo-nav-note{font-size:14px;line-height:1.6;color:#52657b;margin:12px 0 0}
#demo-explorer .demo-section{padding-top:28px;min-height:650px}
.demo-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}
.demo-controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#294662}
.demo-controls select,.demo-controls button{min-height:44px;border:1px solid #b8d3eb;background:#fff;border-radius:8px;padding:10px 12px;color:#054186;font:inherit}
.demo-controls input[type=range]{width:min(420px,65vw);min-height:38px;accent-color:#0e69b8}
.demo-insight{padding:16px 18px;background:#eaf4fc;border:1px solid #c9ddeb;border-radius:10px;color:#294662;font-size:15px;line-height:1.65;margin:14px 0;min-height:58px}
.demo-insight strong{color:#054186}
.demo-point{cursor:pointer}.demo-point:focus{outline:none;stroke:#e59822;stroke-width:4px}
.demos-fca-page select:focus-visible,.demos-fca-page input:focus-visible{outline:3px solid #0e69b8;outline-offset:3px}
#fca-demo .fca-chart{touch-action:pan-y}
@media(max-width:700px){#demo-tabs{grid-template-columns:1fr 1fr}#demo-tabs button{font-size:13px;min-height:58px;padding:12px 10px}.demo-nav{padding:0 16px 12px}#demo-explorer .demo-section{padding-top:20px}.demo-controls{gap:8px}.demo-insight{font-size:14px;padding:12px}}
@media(prefers-reduced-motion:reduce){.demo-tab-indicator{transition:none}}
