
/* BLACKSAW2081 LAB v2.9.10
   Stała ramka pełnoekranowa. Jest warstwą HUD i nie przechwytuje kliknięć. */

:root{
  --bs-screen-frame-edge: clamp(24px, 2.45vw, 46px);
  --bs-screen-frame-corner-w: clamp(118px, 13.2vw, 208px);
  --bs-screen-frame-corner-h: calc(var(--bs-screen-frame-corner-w) * 0.85547);
}

.bs-fullscreen-frame{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  pointer-events:none !important;
  user-select:none !important;
  overflow:hidden !important;
  contain:layout paint style !important;
}

.bs-fullscreen-frame-edge{
  position:absolute !important;
  z-index:1 !important;
  pointer-events:none !important;
  background-repeat:repeat !important;
  background-position:center !important;
}

/* Lewa i prawa — ten sam przygotowany pattern. */
.bs-fullscreen-frame .edge-left,
.bs-fullscreen-frame .edge-right{
  top:0 !important;
  bottom:0 !important;
  width:var(--bs-screen-frame-edge) !important;
  background-image:url('../images/ui/fullscreen_frame_vertical.png') !important;
  background-repeat:repeat-y !important;
  background-size:var(--bs-screen-frame-edge) auto !important;
}

.bs-fullscreen-frame .edge-left{ left:0 !important; }

.bs-fullscreen-frame .edge-right{
  right:0 !important;
  transform:scaleX(-1) !important;
  transform-origin:center !important;
}

/* Góra i dół — dokładnie ten sam pattern obrócony o 90°. */
.bs-fullscreen-frame .edge-top,
.bs-fullscreen-frame .edge-bottom{
  left:0 !important;
  right:0 !important;
  height:var(--bs-screen-frame-edge) !important;
  background-image:url('../images/ui/fullscreen_frame_horizontal.png') !important;
  background-repeat:repeat-x !important;
  background-size:auto var(--bs-screen-frame-edge) !important;
}

.bs-fullscreen-frame .edge-top{
  top:0 !important;
  transform:scaleY(-1) !important;
  transform-origin:center !important;
}

.bs-fullscreen-frame .edge-bottom{
  bottom:0 !important;
  transform:none !important;
}

/* Cztery istniejące rogi z ramek komunikatów. */
.bs-fullscreen-frame-corner{
  position:absolute !important;
  z-index:3 !important;
  width:var(--bs-screen-frame-corner-w) !important;
  height:var(--bs-screen-frame-corner-h) !important;
  object-fit:contain !important;
  pointer-events:none !important;
  filter:drop-shadow(0 0 8px rgba(0,0,0,.72)) !important;
}

.bs-fullscreen-frame .corner-tl{ left:-2px !important; top:-2px !important; }
.bs-fullscreen-frame .corner-tr{ right:-2px !important; top:-2px !important; }
.bs-fullscreen-frame .corner-bl{ left:-2px !important; bottom:-2px !important; }
.bs-fullscreen-frame .corner-br{ right:-2px !important; bottom:-2px !important; }

/* Logo na środku górnej ramki — później można podmienić na grafikę bez ruszania HUD-u. */
.bs-fullscreen-frame-logo{
  position:absolute !important;
  z-index:4 !important;
  left:50% !important;
  top:max(5px, calc(var(--bs-screen-frame-edge) * .08)) !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:baseline !important;
  gap:0 !important;
  white-space:nowrap !important;
  font-family:Impact, "Arial Black", sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
  line-height:1 !important;
  font-size:clamp(15px, 1.55vw, 27px) !important;
  text-shadow:0 2px 3px rgba(0,0,0,.9), 0 0 8px rgba(0,0,0,.85) !important;
}

.bs-fullscreen-frame-logo .logo-black{ color:#d8d8d8 !important; }
.bs-fullscreen-frame-logo .logo-red{ color:#cf1d20 !important; }
.bs-fullscreen-frame-logo .logo-lab{
  color:#a8a8a8 !important;
  margin-left:.55em !important;
  font-size:.54em !important;
  letter-spacing:.22em !important;
}

@media (max-width:700px){
  :root{
    --bs-screen-frame-edge:clamp(18px, 4.3vw, 28px);
    --bs-screen-frame-corner-w:clamp(88px, 22vw, 132px);
  }
  .bs-fullscreen-frame-logo{
    font-size:clamp(12px, 3.3vw, 18px) !important;
    top:4px !important;
  }
}

/* HUD jest zawsze ponad grą i efektami, ale nigdy nie blokuje sterowania. */
.bs-fullscreen-frame,
.bs-fullscreen-frame *{
  pointer-events:none !important;
}


/* v2.9.11 — głębia całej ramki HUD.
   Cienie są skierowane do wnętrza ekranu, bez zasłaniania sterowania. */
.bs-fullscreen-frame .edge-top{
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.88)) !important;
}

.bs-fullscreen-frame .edge-bottom{
  filter:drop-shadow(0 -8px 10px rgba(0,0,0,.88)) !important;
}

.bs-fullscreen-frame .edge-left{
  filter:drop-shadow(8px 0 10px rgba(0,0,0,.88)) !important;
}

.bs-fullscreen-frame .edge-right{
  filter:drop-shadow(-8px 0 10px rgba(0,0,0,.88)) !important;
}

/* Rogi dostają nieco mocniejszy cień, żeby połączenia były czytelne. */
.bs-fullscreen-frame-corner{
  filter:
    drop-shadow(0 0 7px rgba(0,0,0,.95))
    drop-shadow(0 5px 8px rgba(0,0,0,.72)) !important;
}
