
:root{
  --bg:#061121;
  --text:#f6f9ff;
  --muted:#b9c5d6;
  --line:rgba(255,255,255,.16);
  --glass:rgba(4,14,31,.72);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}
body{overflow-x:hidden}
.topbar{
  position:fixed; inset:0 0 auto 0; z-index:30;
  min-height:70px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:10px clamp(14px,2.8vw,46px);
  background:linear-gradient(180deg,rgba(4,14,31,.96),rgba(4,14,31,.78));
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);
}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand-mark{
  font-weight:900;font-size:38px;line-height:.8;letter-spacing:-.08em;
  background:linear-gradient(180deg,#91ddff,#258aff 68%,#0b5cca);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-copy strong{font-size:16px}
.brand-copy small{font-size:10px;color:#c6d0df}
.topbar-status{
  display:flex;align-items:center;gap:10px;
  padding:9px 13px;border:1px solid var(--line);border-radius:14px;
  background:rgba(5,17,38,.58);font-size:11px;color:#d8e1ee;
}
.status-dot{width:9px;height:9px;border-radius:50%;background:#17d77a;box-shadow:0 0 14px #17d77a}
#clock{margin-left:8px;color:#9fb0c7}

.command-room{
  position:relative;
  min-height:100vh;
  background-image:url("assets/background.webp");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  overflow:hidden;
}
.scene-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(2,8,20,.02) 0%,rgba(2,8,20,.10) 46%,rgba(2,8,20,.28) 100%),
    radial-gradient(circle at 50% 48%,transparent 0 34%,rgba(1,7,18,.18) 82%);
  pointer-events:none;
}
.desktop-hotspots{position:absolute;inset:0;z-index:5}

/*
  Posições proporcionais aos quatro grandes monitores da imagem.
  As coordenadas usam percentuais para acompanhar a responsividade.
*/
.hotspot{
  --accent:#2d8cff;
  position:absolute;
  display:flex;flex-direction:column;justify-content:flex-end;
  border-radius:18px;
  text-decoration:none;color:#fff;
  border:1px solid transparent;
  outline:1px solid transparent;
  overflow:hidden;
  transition:transform .28s ease,filter .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.hotspot::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(3,10,22,.68) 100%);
  opacity:.22;transition:opacity .28s ease;
}
.hotspot::after{
  content:"";position:absolute;inset:-18%;
  background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 62%);
  opacity:0;transition:opacity .28s ease;
}
.hotspot:hover,.hotspot:focus-visible{
  transform:translateY(-5px) scale(1.018);
  filter:brightness(1.12) saturate(1.08);
  border-color:color-mix(in srgb,var(--accent) 85%,white 6%);
  outline-color:color-mix(in srgb,var(--accent) 48%,transparent);
  box-shadow:0 0 22px color-mix(in srgb,var(--accent) 42%,transparent),0 22px 48px rgba(0,0,0,.35);
}
.hotspot:hover::before,.hotspot:focus-visible::before{opacity:.55}
.hotspot:hover::after,.hotspot:focus-visible::after{opacity:1}
.hotspot-label{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:12px;padding:11px 13px;border-radius:12px;
  background:rgba(3,12,27,.76);backdrop-filter:blur(9px);
  border:1px solid color-mix(in srgb,var(--accent) 45%,rgba(255,255,255,.08));
  opacity:.02;transform:translateY(8px);
  transition:opacity .25s ease,transform .25s ease;
}
.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1;transform:none}
.hotspot-label strong{font-size:14px}
.hotspot-label span{font-size:17px;color:var(--accent)}

.scene-caption{
  position:absolute;z-index:4;left:50%;bottom:4.5%;
  transform:translateX(-50%);
  width:min(560px,76vw);
  padding:12px 18px;text-align:center;
  border:1px solid var(--line);border-radius:16px;
  background:rgba(3,12,27,.48);backdrop-filter:blur(8px);
  opacity:.78;
}
.scene-caption strong{display:block;font-size:15px;margin-bottom:4px}
.scene-caption span{font-size:11px;color:#c3cfde}

.mobile-modules{display:none;padding:88px 14px 22px;background:#071426}
.mobile-card{
  --accent:#2d8cff;
  overflow:hidden;border-radius:20px;margin-bottom:16px;
  border:1px solid color-mix(in srgb,var(--accent) 62%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,#071426),#071426);
  box-shadow:0 18px 45px rgba(0,0,0,.3);
}
.mobile-card img{display:block;width:100%;aspect-ratio:16/8.6;object-fit:cover}
.mobile-body{padding:17px}
.mobile-body h2{margin:0 0 8px;font-size:20px}
.mobile-body p{margin:0;color:var(--muted);line-height:1.5}
.mobile-actions{display:flex;flex-direction:column;gap:9px;margin-top:15px}
.mobile-actions a{
  display:flex;align-items:center;justify-content:space-between;
  min-height:46px;padding:0 15px;border-radius:12px;
  text-decoration:none;color:#fff;font-weight:700;
  background:color-mix(in srgb,var(--accent) 76%,#071426);
  border:1px solid color-mix(in srgb,var(--accent) 85%,white 5%);
}
.mobile-actions a.secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
footer{
  min-height:42px;display:grid;place-items:center;
  padding:12px;background:#04101f;border-top:1px solid var(--line);
  color:#aebacc;font-size:12px;text-align:center
}

@media (min-width:1000px){
  .command-room{min-height:max(100vh,720px)}
}
@media (max-width:999px){
  .command-room{display:none}
  .mobile-modules{display:block}
}
@media (max-width:720px){
  .topbar-status{display:none}
  .brand-copy strong{font-size:15px}
  .brand-copy small{font-size:9px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
