
:root{
  --bg:#05070b;
  --panel:rgba(10,14,20,.88);
  --line:rgba(255,255,255,.08);
  --accent:#2aa7ff;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  overflow:hidden;
  background:#000;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.viewport{
  position:fixed;
  inset:0;
  overflow:hidden;
  background:#000;
  touch-action:none;
  user-select:none;
  cursor:grab;
}
.viewport.dragging{cursor:grabbing}
.scene{
  position:absolute;
  left:0;
  top:0;
  width:2200px;
  height:14441px;
  transform-origin:0 0;
  will-change:transform;
}
.timeline{
  display:block;
  width:2200px;
  height:14441px;
  pointer-events:none;
}
.hit{
  position:absolute;
  display:block;
  border:none;
  background:transparent;
  padding:0;
  margin:0;
  outline:none;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
}
.hit::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  background:rgba(42,167,255,.0);
  box-shadow:0 0 0 1px rgba(42,167,255,0);
  transition:.15s ease;
}
.hit:hover::after,
.hit:focus-visible::after{
  background:rgba(42,167,255,.12);
  box-shadow:0 0 0 1px rgba(42,167,255,.55), 0 0 24px rgba(42,167,255,.18);
}
.overlay[hidden]{display:none}
.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter: blur(6px);
  z-index:20;
}
.overlay-backdrop{
  position:absolute;
  inset:0;
}
.overlay-frame{
  position:absolute;
  inset:4vh 4vw;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.5);
}
.overlay-frame iframe{
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}
.overlay-close{
  position:absolute;
  right:16px;
  top:16px;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:999px;
  border:0;
  background:rgba(5,8,12,.78);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.3);
}
@media (max-width: 720px){
  .overlay-frame{inset:0;border-radius:0}
  .overlay-close{right:10px;top:10px;width:42px;height:42px}
}
