/* Shared embed-only sizing. No viewport-relative heights: the parent follows the
   content height, so mobile descriptions stay in the normal page scroll. */
.gallery-embed{background:#070d1b}
.gallery-embed .lab{height:auto;min-height:820px;max-height:none;padding:0 24px;gap:16px;grid-template-columns:220px minmax(280px,1fr) 245px}
.gallery-embed .sidebar{padding-top:22px}
.gallery-embed .intro h1{font-size:38px;line-height:1.15;letter-spacing:-1.3px}
.gallery-embed .intro p{font-size:13px}
.gallery-embed .parts-heading h2{font-size:13px}
.gallery-embed .component{font-size:13px;min-height:44px;padding:12px 8px;gap:7px}
.gallery-embed .stage{min-height:700px}
.gallery-embed .stage-heading{top:24px;left:12px}
.gallery-embed .inspector{padding:26px 0 24px 8px;justify-content:flex-start}
.gallery-embed .inspector h2{font-size:25px}
.gallery-embed .inspector h3{font-size:13px}
.gallery-embed .inspector p{font-size:13px;line-height:1.75}
.gallery-embed .detail-fact{font-size:12px}
.gallery-embed .detail-actions button{font-size:12px;min-height:44px}
.gallery-embed .inspector-footer{margin-top:24px}
.gallery-embed .inspector-footer>button{font-size:13px;min-height:44px}
.gallery-embed .reference-link{font-size:11px;min-height:44px}
.gallery-embed .mode-control button{font-size:12px;min-height:44px}
.gallery-embed .view-tools button{width:36px;height:40px}
.gallery-embed .experiment-heading button{min-height:36px;font-size:11px}
.gallery-embed .experiment>label,.gallery-embed .experiment p{font-size:12px}
.gallery-embed .experiment small{font-size:10px}
.gallery-embed .current-row input,.gallery-embed .explode-control input{height:22px}
.gallery-embed .experiment-heading>span{font-size:8px;letter-spacing:.8px}
.gallery-embed .gesture-hint{font-size:9px}
.gallery-embed .heat-steps button{font-size:11px;min-height:40px}
.gallery-embed .panel-picker button{font-size:11px;min-height:40px}
@media(max-width:1100px) and (min-width:901px){
  .gallery-embed .lab{padding:0 18px;gap:10px;grid-template-columns:190px minmax(250px,1fr) 220px}
  .gallery-embed .intro h1{font-size:34px}
  .gallery-embed .component{font-size:12px;gap:5px;grid-template-columns:20px 1fr 10px}
  .gallery-embed .mode-control button{padding:12px 8px;font-size:11px;gap:5px}
}
@media(max-width:900px){
  .gallery-embed .lab{grid-template-columns:210px minmax(0,1fr);gap:0 16px;min-height:0}
  .gallery-embed .stage{min-height:600px}
  .gallery-embed .inspector{padding:10px 8px 28px}
  .gallery-embed .inspector-body{min-height:0}
}
@media(max-width:620px){
  .gallery-embed .lab{display:flex;padding:0 20px;gap:0}
  .gallery-embed .intro{padding-top:6px}
  .gallery-embed .intro h1{font-size:30px;margin:13px 0 10px;max-width:none}
  .gallery-embed .intro p{font-size:12px}
  .gallery-embed .stage{height:470px;min-height:470px;max-height:none}
  .gallery-embed .stage-heading{top:22px;left:10px}
  .gallery-embed .components{padding-bottom:14px}
  .gallery-embed .component{padding:12px;font-size:13px}
  .gallery-embed .inspector{padding:16px 0 0}
  .gallery-embed .inspector p{font-size:14px}
  .gallery-embed .inspector h2{font-size:25px}
  .gallery-embed .inspector-body{min-height:240px}
  .gallery-embed .inspector-footer{margin-top:16px}
  .gallery-embed .mode-control button{font-size:12px;padding:12px 11px}
  .gallery-embed .reference-link{padding:24px 0}
  .gallery-embed .stage-bottom{gap:12px}
}
@media(max-width:350px){.gallery-embed .mode-control button{font-size:11px;padding:10px 8px;gap:4px}}
