/* ANDRIK Control R115 — unified glowing header/frame + clean three-button dock. */
:root{
  --r115-glow:#55f2a1;
  --r115-glow-soft:rgba(85,242,161,.58);
  --r115-frame-left:max(8px,env(safe-area-inset-left));
  --r115-frame-right:max(8px,env(safe-area-inset-right));
  --r115-frame-bottom:max(8px,env(safe-area-inset-bottom));
  --r115-topbar-h:92px;
}
@keyframes r115HeaderBreath{
  0%,100%{opacity:.70;filter:brightness(.92)}
  50%{opacity:1;filter:brightness(1.22)}
}
@keyframes r115FrameBreath{
  0%,100%{opacity:.74;box-shadow:0 0 0 1px rgba(92,255,168,.10),0 0 13px rgba(55,239,136,.22),inset 0 0 14px rgba(55,239,136,.055)}
  50%{opacity:1;box-shadow:0 0 0 1px rgba(120,255,184,.22),0 0 24px rgba(55,239,136,.38),0 0 46px rgba(20,191,91,.16),inset 0 0 20px rgba(55,239,136,.09)}
}

/* One luminous header for every Control page. */
body.control-page .control-topbar,
body.control-page .control-home-topbar,
body.control-page .control-detail-topbar,
body.comment-collection-page .control-topbar{
  position:relative!important;
  width:100%!important;
  height:var(--r115-topbar-h)!important;
  min-height:var(--r115-topbar-h)!important;
  max-height:var(--r115-topbar-h)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:0!important;
  border-bottom:1px solid rgba(92,255,168,.50)!important;
  background:
    radial-gradient(ellipse at 50% 52%,rgba(0,255,119,.30) 0%,rgba(0,180,77,.12) 22%,transparent 55%),
    linear-gradient(90deg,#01070a 0%,#03170f 36%,#062318 50%,#03170f 64%,#01070a 100%)!important;
  box-shadow:0 3px 0 rgba(79,244,151,.08),0 12px 34px rgba(15,225,107,.16)!important;
}
body.control-page .control-topbar::before,
body.comment-collection-page .control-topbar::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:-30% 18%!important;
  z-index:0!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,rgba(71,255,151,.28),rgba(26,203,98,.10) 35%,transparent 70%)!important;
  animation:r115HeaderBreath 3.8s ease-in-out infinite!important;
}
body.control-page .control-topbar::after,
body.comment-collection-page .control-topbar::after{
  content:''!important;
  display:block!important;
  position:absolute!important;
  left:clamp(14px,7vw,92px)!important;
  right:clamp(14px,7vw,92px)!important;
  bottom:0!important;
  top:auto!important;
  width:auto!important;
  height:2px!important;
  z-index:2!important;
  pointer-events:none!important;
  opacity:.92!important;
  background:linear-gradient(90deg,transparent,rgba(89,255,160,.86) 18%,#79ffb6 50%,rgba(89,255,160,.86) 82%,transparent)!important;
  box-shadow:0 0 8px rgba(85,255,158,.86),0 0 22px rgba(40,225,125,.50)!important;
}
body.control-page .control-topbar .nav-shell,
body.comment-collection-page .control-topbar .nav-shell{
  height:var(--r115-topbar-h)!important;
  min-height:var(--r115-topbar-h)!important;
  max-height:var(--r115-topbar-h)!important;
  position:relative!important;
  z-index:3!important;
}

/* One frame around the live scrolling viewport. */
body.control-page.unified-glow-ready::after,
body.comment-collection-page.unified-glow-ready::after{
  content:''!important;
  display:block!important;
  position:fixed!important;
  z-index:86;
  pointer-events:none;
  top:calc(var(--r115-topbar-h) + 8px);
  left:var(--r115-frame-left);
  right:var(--r115-frame-right);
  bottom:var(--r115-frame-bottom);
  border:1.5px solid rgba(92,255,168,.78);
  border-radius:clamp(20px,3.2vw,34px);
  background:transparent;
  box-shadow:0 0 0 1px rgba(92,255,168,.12),0 0 18px rgba(55,239,136,.28),inset 0 0 16px rgba(55,239,136,.07);
  animation:r115FrameBreath 4.4s ease-in-out infinite;
}
body.control-page.unified-glow-embed::after{
  top:7px!important;
  left:7px!important;
  right:7px!important;
  bottom:7px!important;
  border-radius:23px!important;
}
/* Main listener map: same language, deliberately quieter. */
body.control-page.unified-glow-map-view::after{
  border-color:rgba(77,229,146,.48)!important;
  opacity:.62!important;
  animation:none!important;
  box-shadow:0 0 0 1px rgba(77,229,146,.07),0 0 12px rgba(55,210,126,.14),inset 0 0 12px rgba(55,210,126,.04)!important;
}
body.control-page.unified-glow-map-view #worldMap{
  border-color:rgba(88,231,157,.60)!important;
  box-shadow:0 0 13px rgba(68,218,142,.12),inset 0 0 11px rgba(68,218,142,.035)!important;
}

/* Prevent content from visually touching the frame. */
body.control-page:not(.control-home-page):not(.analytics-admin-page) .admin-main,
body.comment-collection-page main{
  padding-left:max(11px,env(safe-area-inset-left))!important;
  padding-right:max(11px,env(safe-area-inset-right))!important;
}

/* R115 clean dock: Protection / Attacks / Update — same geometry. */
body.control-menu-visible .control-protection-fab,
body.control-menu-visible .control-attack-fab,
body.control-menu-visible .control-update-fab{
  display:flex!important;
  position:fixed!important;
  bottom:calc(25px + env(safe-area-inset-bottom))!important;
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  max-width:68px!important;
  max-height:68px!important;
  padding:0!important;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:50%!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:0!important;
  z-index:148!important;
  text-decoration:none!important;
  backdrop-filter:blur(8px)!important;
  box-shadow:0 15px 34px rgba(0,0,0,.48),0 0 0 5px rgba(92,255,168,.055),0 0 22px var(--dock-glow,rgba(92,255,168,.23))!important;
}
body.control-menu-visible .control-protection-fab{
  left:max(14px,env(safe-area-inset-left))!important;
  right:auto!important;
  --dock-glow:rgba(72,186,242,.30);
}
body.control-menu-visible .control-attack-fab{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  --dock-glow:rgba(255,140,52,.28);
}
body.control-menu-visible .control-update-fab{
  right:max(14px,env(safe-area-inset-right))!important;
  left:auto!important;
  --dock-glow:rgba(53,225,143,.30);
}
body.control-menu-visible .control-protection-fab:active{transform:scale(.95)!important}
body.control-menu-visible .control-attack-fab:active{transform:translateX(-50%) scale(.95)!important}
body.control-menu-visible .control-update-fab:active{transform:scale(.95)!important}
body.control-menu-visible .control-protection-fab [class$='fab-icon'],
body.control-menu-visible .control-attack-fab [class$='fab-icon'],
body.control-menu-visible .control-update-fab [class$='fab-icon']{
  font:900 1.28rem/1 system-ui!important;
  transform:none!important;
}
body.control-menu-visible .control-protection-fab [class$='fab-label'],
body.control-menu-visible .control-attack-fab [class$='fab-label'],
body.control-menu-visible .control-update-fab [class$='fab-label']{
  margin-top:4px!important;
  font:900 .48rem/1.02 system-ui!important;
  letter-spacing:0!important;
}
body.control-menu-visible .control-menu-page .control-swipe-page-inner{
  padding-bottom:max(112px,calc(96px + env(safe-area-inset-bottom)))!important;
}
body.control-menu-visible .control-menu-page .control-version-footer{
  position:fixed!important;
  left:92px!important;
  right:92px!important;
  bottom:calc(4px + env(safe-area-inset-bottom))!important;
  z-index:147!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:none!important;
  color:#9eb3be!important;
}
body.control-menu-visible .control-menu-page .control-version-footer strong,
body.control-menu-visible .control-menu-page .control-version-footer span{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#9eb3be!important;
  font:800 .62rem/1 system-ui!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.control-menu-visible .control-menu-page .control-version-footer strong{text-align:left!important}
body.control-menu-visible .control-menu-page .control-version-footer span{text-align:right!important}
body.control-menu-visible .control-menu-page .control-menu-map-link{display:none!important}

@media(orientation:landscape){
  :root{--r115-frame-left:max(10px,env(safe-area-inset-left));--r115-frame-right:max(10px,env(safe-area-inset-right));--r115-frame-bottom:max(8px,env(safe-area-inset-bottom))}
  body.control-page .control-topbar,
  body.control-page .control-home-topbar,
  body.control-page .control-detail-topbar,
  body.comment-collection-page .control-topbar{
    box-shadow:0 3px 0 rgba(79,244,151,.12),0 14px 44px rgba(15,225,107,.23)!important;
  }
  body.control-page.unified-glow-ready::after,
  body.comment-collection-page.unified-glow-ready::after{
    top:calc(var(--r115-topbar-h) + 8px);
    left:clamp(10px,4.5vw,48px);
    right:clamp(10px,4.5vw,48px);
    bottom:max(8px,env(safe-area-inset-bottom));
    border-width:2px;
    border-radius:30px;
  }
  body.control-menu-visible .control-protection-fab,
  body.control-menu-visible .control-attack-fab,
  body.control-menu-visible .control-update-fab{
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;max-width:60px!important;max-height:60px!important;
  }
  body.control-menu-visible .control-menu-page .control-version-footer{
    left:84px!important;right:84px!important;bottom:calc(2px + env(safe-area-inset-bottom))!important;
  }
}
@media(max-width:390px){
  body.control-menu-visible .control-protection-fab,
  body.control-menu-visible .control-attack-fab,
  body.control-menu-visible .control-update-fab{
    bottom:calc(24px + env(safe-area-inset-bottom))!important;
    width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;max-width:62px!important;max-height:62px!important;
  }
  body.control-menu-visible .control-menu-page .control-version-footer{left:82px!important;right:82px!important}
}
@media(max-height:560px) and (orientation:landscape){
  :root{--r115-topbar-h:78px}
  body.control-menu-visible .control-protection-fab,
  body.control-menu-visible .control-attack-fab,
  body.control-menu-visible .control-update-fab{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;max-width:54px!important;max-height:54px!important}
}
@media(prefers-reduced-motion:reduce){
  body.control-page .control-topbar::before,
  body.control-page.unified-glow-ready::after,
  body.comment-collection-page.unified-glow-ready::after{animation:none!important}
}


/* ================================================================
   R139 — единая живая шапка во всех разделах Control
   Не меняет разметку и функциональность установщика.
   ================================================================ */
body.control-page .control-topbar,
body.comment-collection-page .control-topbar{
  background:
    radial-gradient(circle at 50% 46%,rgba(37,235,113,.25),rgba(3,33,21,.82) 37%,rgba(1,9,8,.98) 76%)!important;
  border-bottom:1px solid rgba(103,255,166,.48)!important;
  box-shadow:
    inset 0 -1px 0 rgba(98,255,162,.33),
    0 12px 34px rgba(0,0,0,.32),
    0 0 28px rgba(42,226,111,.16)!important;
}

body.control-page .control-topbar .nav-shell,
body.comment-collection-page .control-topbar .nav-shell{
  position:relative!important;
}

body.control-page .control-center-logo,
body.comment-collection-page .control-center-logo{
  display:grid!important;
  place-items:center!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:30!important;
  isolation:isolate!important;
  border-radius:50%!important;
  overflow:visible!important;
  -webkit-tap-highlight-color:transparent;
}

body.control-page .control-center-logo::after,
body.comment-collection-page .control-center-logo::after{
  content:""!important;
  position:absolute!important;
  inset:-12px!important;
  display:block!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:-1!important;
  background:radial-gradient(circle,rgba(118,255,176,.47),rgba(35,230,105,.15) 48%,transparent 74%)!important;
  animation:andrikHeaderHaloR139 3.15s ease-in-out infinite!important;
}

body.control-page .control-center-logo .logo-ok,
body.comment-collection-page .control-center-logo .logo-ok{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:cover!important;
  border-radius:50%!important;
  clip-path:circle(49% at 50% 50%)!important;
  animation:andrikHeaderEyeR139 3.15s ease-in-out infinite!important;
  animation-play-state:running!important;
  will-change:transform,filter!important;
  box-shadow:0 0 0 1px rgba(130,255,184,.22)!important;
}

body.control-page .control-center-logo .logo-error,
body.comment-collection-page .control-center-logo .logo-error{
  opacity:0!important;
  visibility:hidden!important;
}

body.control-page .control-center-logo.is-error .logo-ok,
body.comment-collection-page .control-center-logo.is-error .logo-ok{
  opacity:.22!important;
  filter:saturate(.3)!important;
}
body.control-page .control-center-logo.is-error .logo-error,
body.comment-collection-page .control-center-logo.is-error .logo-error{
  opacity:1!important;
  visibility:visible!important;
}

@keyframes andrikHeaderEyeR139{
  0%,100%{
    transform:scale(.93);
    filter:brightness(1.03) saturate(1.28)
      drop-shadow(0 0 7px rgba(77,255,142,.54))
      drop-shadow(0 0 18px rgba(28,220,91,.36));
  }
  50%{
    transform:scale(1.075);
    filter:brightness(1.48) saturate(1.62)
      drop-shadow(0 0 14px rgba(150,255,191,.98))
      drop-shadow(0 0 34px rgba(34,239,107,.82));
  }
}
@keyframes andrikHeaderHaloR139{
  0%,100%{transform:scale(.70);opacity:.18}
  50%{transform:scale(1.34);opacity:.88}
}

/* Нижние три кнопки ниже, но внутри safe-area. */
body.control-menu-visible .control-protection-fab,
body.control-menu-visible .control-attack-fab,
body.control-menu-visible .control-update-fab{
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
}
body.control-menu-visible .control-menu-page .control-swipe-page-inner{
  padding-bottom:max(96px,calc(84px + env(safe-area-inset-bottom)))!important;
}

@media(max-width:390px){
  body.control-menu-visible .control-protection-fab,
  body.control-menu-visible .control-attack-fab,
  body.control-menu-visible .control-update-fab{
    bottom:calc(9px + env(safe-area-inset-bottom))!important;
  }
}
@media(max-height:560px) and (orientation:landscape){
  body.control-menu-visible .control-protection-fab,
  body.control-menu-visible .control-attack-fab,
  body.control-menu-visible .control-update-fab{
    bottom:calc(4px + env(safe-area-inset-bottom))!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.control-page .control-center-logo::after,
  body.control-page .control-center-logo .logo-ok,
  body.comment-collection-page .control-center-logo::after,
  body.comment-collection-page .control-center-logo .logo-ok{
    animation-duration:6s!important;
  }
}


/* ==================================================================
   R139 — SAFE HEADER RESTORE
   ВАЖНО: здесь намеренно нет inset:auto после left/top.
   ================================================================== */
:root{
  --r139-topbar-h:92px;
  --r139-frame-left:max(10px,env(safe-area-inset-left));
  --r139-frame-right:max(10px,env(safe-area-inset-right));
  --r139-frame-bottom:max(8px,env(safe-area-inset-bottom));
}

/* Общая шапка всех Control-страниц. */
body.control-page .control-topbar,
body.control-page .control-home-topbar,
body.control-page .control-detail-topbar,
body.comment-collection-page .control-topbar{
  position:relative!important;
  width:100%!important;
  height:var(--r139-topbar-h)!important;
  min-height:var(--r139-topbar-h)!important;
  max-height:var(--r139-topbar-h)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:0!important;
  border-bottom:1px solid rgba(103,255,166,.52)!important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(38,255,128,.31),rgba(10,177,82,.13) 31%,transparent 63%),
    linear-gradient(90deg,#01070a 0%,#03170f 35%,#06271a 50%,#03170f 65%,#01070a 100%)!important;
  box-shadow:
    inset 0 -1px 0 rgba(98,255,162,.31),
    0 3px 0 rgba(79,244,151,.10),
    0 13px 36px rgba(15,225,107,.19)!important;
}

body.control-page .control-topbar .nav-shell,
body.control-page .control-home-topbar .nav-shell,
body.control-page .control-detail-topbar .nav-shell,
body.comment-collection-page .control-topbar .nav-shell{
  position:relative!important;
  height:var(--r139-topbar-h)!important;
  min-height:var(--r139-topbar-h)!important;
  max-height:var(--r139-topbar-h)!important;
  z-index:4!important;
}

/* Нижний световой луч шапки. */
body.control-page .control-topbar::after,
body.control-page .control-detail-topbar::after,
body.comment-collection-page .control-topbar::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:clamp(14px,7vw,92px)!important;
  right:clamp(14px,7vw,92px)!important;
  top:auto!important;
  bottom:0!important;
  width:auto!important;
  height:2px!important;
  z-index:8!important;
  opacity:.96!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,transparent,rgba(89,255,160,.88) 18%,#82ffbb 50%,rgba(89,255,160,.88) 82%,transparent)!important;
  box-shadow:0 0 9px rgba(85,255,158,.92),0 0 25px rgba(40,225,125,.56)!important;
}

/* Геометрия самого глаза. */
body.control-page .control-center-logo,
body.comment-collection-page .control-center-logo{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  min-height:78px!important;
  max-width:78px!important;
  max-height:78px!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  isolation:isolate!important;
  z-index:34!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Аура — всегда перед фоном шапки, но позади картинки. */
body.control-page .control-center-logo::after,
body.comment-collection-page .control-center-logo::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:92px!important;
  height:92px!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(130,255,184,.49),rgba(35,230,105,.17) 49%,transparent 73%)!important;
  pointer-events:none!important;
  z-index:1!important;
  animation:andrikHeaderHaloR139 3.05s ease-in-out infinite!important;
  animation-play-state:running!important;
  will-change:transform,opacity!important;
}

/* Зелёный глаз. */
body.control-page .control-center-logo .logo-ok,
body.comment-collection-page .control-center-logo .logo-ok{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  clip-path:circle(49% at 50% 50%)!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:3!important;
  animation:andrikHeaderEyeR139 3.05s ease-in-out infinite!important;
  animation-play-state:running!important;
  will-change:transform,filter!important;
  box-shadow:0 0 0 1px rgba(130,255,184,.25)!important;
}

/* Красный глаз сохраняет штатную логику ошибки. */
body.control-page .control-center-logo .logo-error,
body.comment-collection-page .control-center-logo .logo-error{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:62px!important;
  height:62px!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:4!important;
}
body.control-page .control-center-logo.is-error .logo-ok,
body.comment-collection-page .control-center-logo.is-error .logo-ok{
  opacity:0!important;
}
body.control-page .control-center-logo.is-error .logo-error,
body.comment-collection-page .control-center-logo.is-error .logo-error{
  opacity:1!important;
  visibility:visible!important;
}

@keyframes andrikHeaderEyeR139{
  0%,100%{
    transform:translate(-50%,-50%) scale(.93);
    filter:brightness(1.03) saturate(1.29)
      drop-shadow(0 0 8px rgba(78,255,142,.58))
      drop-shadow(0 0 20px rgba(28,220,91,.42));
  }
  50%{
    transform:translate(-50%,-50%) scale(1.09);
    filter:brightness(1.52) saturate(1.66)
      drop-shadow(0 0 16px rgba(153,255,193,.98))
      drop-shadow(0 0 38px rgba(34,239,107,.86))
      drop-shadow(0 0 60px rgba(10,176,70,.38));
  }
}
@keyframes andrikHeaderHaloR139{
  0%,100%{transform:translate(-50%,-50%) scale(.70);opacity:.17}
  50%{transform:translate(-50%,-50%) scale(1.36);opacity:.90}
}

/* Старые локальные высоты Защиты и Карты атак больше не отличаются. */
body.site-update-page .control-detail-topbar,
body.site-update-page .control-detail-topbar .nav-shell,
body.protection-page .control-detail-topbar,
body.protection-page .control-detail-topbar .nav-shell,
body.attack-page .control-detail-topbar,
body.attack-page .control-detail-topbar .nav-shell{
  height:var(--r139-topbar-h)!important;
  min-height:var(--r139-topbar-h)!important;
  max-height:var(--r139-topbar-h)!important;
}

/* Рамка прямых страниц Control. */
body.control-page.unified-glow-ready::after,
body.comment-collection-page.unified-glow-ready::after{
  top:calc(var(--r139-topbar-h) + 8px)!important;
  left:var(--r139-frame-left)!important;
  right:var(--r139-frame-right)!important;
  bottom:var(--r139-frame-bottom)!important;
}

/* В iframe-карусели рисуется одна внешняя рамка, поэтому внутренние не дублируем. */
@media(orientation:landscape){
  :root{
    --r139-topbar-h:78px;
    --r115-topbar-h:78px;
  }

  body.control-page .control-topbar,
  body.control-page .control-home-topbar,
  body.control-page .control-detail-topbar,
  body.comment-collection-page .control-topbar,
  body.control-page .control-topbar .nav-shell,
  body.control-page .control-home-topbar .nav-shell,
  body.control-page .control-detail-topbar .nav-shell,
  body.comment-collection-page .control-topbar .nav-shell{
    height:var(--r139-topbar-h)!important;
    min-height:var(--r139-topbar-h)!important;
    max-height:var(--r139-topbar-h)!important;
  }

  body.control-page.unified-glow-ready::after,
  body.comment-collection-page.unified-glow-ready::after{
    top:calc(var(--r139-topbar-h) + 8px)!important;
    left:clamp(10px,4.5vw,48px)!important;
    right:clamp(10px,4.5vw,48px)!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    border-width:2px!important;
    border-radius:30px!important;
  }

  body.control-page.unified-glow-embed::after{
    display:none!important;
  }

  body.control-page .control-center-logo,
  body.comment-collection-page .control-center-logo{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
  }

  body.control-page .control-center-logo .logo-ok,
  body.comment-collection-page .control-center-logo .logo-ok{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    max-width:56px!important;
    max-height:56px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.control-page .control-center-logo::after,
  body.control-page .control-center-logo .logo-ok{
    animation-duration:6s!important;
  }
}


/* ==================================================================
   R139 — точная шапка главной карты для Защиты / Атак / Обновления.
   ================================================================== */
body.r139-map-header-page .r139-map-header{
  position:relative!important;
  width:100%!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:0!important;
  border-bottom:1px solid rgba(103,255,166,.52)!important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(38,255,128,.31),rgba(10,177,82,.13) 31%,transparent 63%),
    linear-gradient(90deg,#01070a 0%,#03170f 35%,#06271a 50%,#03170f 65%,#01070a 100%)!important;
  box-shadow:
    inset 0 -1px 0 rgba(98,255,162,.31),
    0 3px 0 rgba(79,244,151,.10),
    0 13px 36px rgba(15,225,107,.19)!important;
}

body.r139-map-header-page .r139-map-header-shell{
  position:relative!important;
  width:100%!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  padding:0!important;
  z-index:4!important;
}

body.r139-map-header-page .r139-map-header::after{
  content:""!important;
  position:absolute!important;
  display:block!important;
  left:clamp(14px,7vw,92px)!important;
  right:clamp(14px,7vw,92px)!important;
  bottom:0!important;
  top:auto!important;
  width:auto!important;
  height:2px!important;
  opacity:.96!important;
  z-index:8!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,transparent,rgba(89,255,160,.88) 18%,#82ffbb 50%,rgba(89,255,160,.88) 82%,transparent)!important;
  box-shadow:0 0 9px rgba(85,255,158,.92),0 0 25px rgba(40,225,125,.56)!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  min-height:78px!important;
  max-width:78px!important;
  max-height:78px!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:34!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:92px!important;
  height:92px!important;
  margin:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(130,255,184,.49),rgba(35,230,105,.17) 49%,transparent 73%)!important;
  z-index:1!important;
  pointer-events:none!important;
  animation:andrikHeaderHaloR139 3.05s ease-in-out infinite!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo .logo-ok{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  margin:0!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  clip-path:circle(49% at 50% 50%)!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:3!important;
  animation:andrikHeaderEyeR139 3.05s ease-in-out infinite!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo .logo-error{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:62px!important;
  height:62px!important;
  transform:translate(-50%,-50%)!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:4!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo.is-error .logo-ok{
  opacity:0!important;
}
body.r139-map-header-page .r139-map-header .control-center-logo.is-error .logo-error{
  opacity:1!important;
  visibility:visible!important;
}

body.r139-map-header-page .r139-map-header .control-detail-nav{
  position:absolute!important;
  right:max(14px,env(safe-area-inset-right))!important;
  left:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:40!important;
}

@keyframes andrikHeaderEyeR139{
  0%,100%{
    transform:translate(-50%,-50%) scale(.93);
    filter:brightness(1.03) saturate(1.29)
      drop-shadow(0 0 8px rgba(78,255,142,.58))
      drop-shadow(0 0 20px rgba(28,220,91,.42));
  }
  50%{
    transform:translate(-50%,-50%) scale(1.09);
    filter:brightness(1.52) saturate(1.66)
      drop-shadow(0 0 16px rgba(153,255,193,.98))
      drop-shadow(0 0 38px rgba(34,239,107,.86))
      drop-shadow(0 0 60px rgba(10,176,70,.38));
  }
}
@keyframes andrikHeaderHaloR139{
  0%,100%{transform:translate(-50%,-50%) scale(.70);opacity:.17}
  50%{transform:translate(-50%,-50%) scale(1.36);opacity:.90}
}

@media(orientation:landscape){
  body.r139-map-header-page .r139-map-header,
  body.r139-map-header-page .r139-map-header-shell{
    height:78px!important;
    min-height:78px!important;
    max-height:78px!important;
  }
  body.r139-map-header-page .r139-map-header .control-center-logo{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
  }
  body.r139-map-header-page .r139-map-header .control-center-logo .logo-ok{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    max-width:56px!important;
    max-height:56px!important;
  }
}


/* ==================================================================
   R139 — окончательная общая шапка и широкая landscape-рамка.
   ================================================================== */

body.r139-map-header-page .r139-map-header{
  position:relative!important;
  width:100%!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:0!important;
  border-bottom:1px solid rgba(103,255,166,.52)!important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(38,255,128,.31),rgba(10,177,82,.13) 31%,transparent 63%),
    linear-gradient(90deg,#01070a 0%,#03170f 35%,#06271a 50%,#03170f 65%,#01070a 100%)!important;
  box-shadow:
    inset 0 -1px 0 rgba(98,255,162,.31),
    0 3px 0 rgba(79,244,151,.10),
    0 13px 36px rgba(15,225,107,.19)!important;
}

body.r139-map-header-page .r139-map-header-shell{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  margin:0!important;
  padding:0!important;
  z-index:4!important;
}

body.r139-map-header-page .r139-map-header::before{
  content:""!important;
  position:absolute!important;
  inset:-32% 18%!important;
  z-index:0!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at center,rgba(71,255,151,.28),rgba(26,203,98,.10) 35%,transparent 70%)!important;
  animation:r115HeaderBreath 3.8s ease-in-out infinite!important;
}

body.r139-map-header-page .r139-map-header::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:clamp(14px,7vw,92px)!important;
  right:clamp(14px,7vw,92px)!important;
  top:auto!important;
  bottom:0!important;
  width:auto!important;
  height:2px!important;
  z-index:8!important;
  opacity:.96!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,transparent,rgba(89,255,160,.88) 18%,#82ffbb 50%,rgba(89,255,160,.88) 82%,transparent)!important;
  box-shadow:0 0 9px rgba(85,255,158,.92),0 0 25px rgba(40,225,125,.56)!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  min-height:78px!important;
  max-width:78px!important;
  max-height:78px!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  isolation:isolate!important;
  z-index:34!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:92px!important;
  height:92px!important;
  margin:0!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(130,255,184,.49),rgba(35,230,105,.17) 49%,transparent 73%)!important;
  pointer-events:none!important;
  z-index:1!important;
  animation:andrikHeaderHaloR139 3.05s ease-in-out infinite!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo .logo-ok{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  margin:0!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:50%!important;
  clip-path:circle(49% at 50% 50%)!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:3!important;
  animation:andrikHeaderEyeR139 3.05s ease-in-out infinite!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo .logo-error{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:62px!important;
  height:62px!important;
  transform:translate(-50%,-50%)!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:4!important;
}

body.r139-map-header-page .r139-map-header .control-center-logo.is-error .logo-ok{
  opacity:0!important;
}
body.r139-map-header-page .r139-map-header .control-center-logo.is-error .logo-error{
  opacity:1!important;
  visibility:visible!important;
}

body.r139-map-header-page .r139-map-header .control-detail-nav{
  position:absolute!important;
  right:max(14px,env(safe-area-inset-right))!important;
  left:auto!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:40!important;
}

@keyframes andrikHeaderEyeR139{
  0%,100%{
    transform:translate(-50%,-50%) scale(.93);
    filter:brightness(1.03) saturate(1.29)
      drop-shadow(0 0 8px rgba(78,255,142,.58))
      drop-shadow(0 0 20px rgba(28,220,91,.42));
  }
  50%{
    transform:translate(-50%,-50%) scale(1.09);
    filter:brightness(1.52) saturate(1.66)
      drop-shadow(0 0 16px rgba(153,255,193,.98))
      drop-shadow(0 0 38px rgba(34,239,107,.86))
      drop-shadow(0 0 60px rgba(10,176,70,.38));
  }
}

@keyframes andrikHeaderHaloR139{
  0%,100%{transform:translate(-50%,-50%) scale(.70);opacity:.17}
  50%{transform:translate(-50%,-50%) scale(1.36);opacity:.90}
}

@media(orientation:landscape){
  :root{
    --r139-topbar-h:78px;
    --r115-topbar-h:78px;
    --r139-frame-left:max(10px,env(safe-area-inset-left));
    --r139-frame-right:max(10px,env(safe-area-inset-right));
  }

  body.r139-map-header-page .r139-map-header,
  body.r139-map-header-page .r139-map-header-shell{
    height:78px!important;
    min-height:78px!important;
    max-height:78px!important;
  }

  body.r139-map-header-page .r139-map-header .control-center-logo{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    min-height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
  }

  body.r139-map-header-page .r139-map-header .control-center-logo .logo-ok{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    max-width:56px!important;
    max-height:56px!important;
  }

  body.control-page.unified-glow-ready::after,
  body.comment-collection-page.unified-glow-ready::after{
    top:86px!important;
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    border-width:2px!important;
    border-radius:28px!important;
    display:block!important;
  }

  body.control-page.unified-glow-ready:not(.unified-glow-embed)::after{
    display:block!important;
  }

  body.control-page:not(.analytics-admin-page) .admin-main{
    box-sizing:border-box!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
  }
}

/* R139 state and layout fixes */
body.r139-standard-header-page .control-center-logo .logo-ok{
  animation:andrikR139Eye 3.05s ease-in-out infinite!important;
  animation-play-state:running!important;
  transform-origin:center center!important;
  will-change:transform,filter!important;
}
body.r139-standard-header-page .control-center-logo::after{
  animation:andrikR139Halo 3.05s ease-in-out infinite!important;
  animation-play-state:running!important;
}
@keyframes andrikR139Eye{
  0%,100%{transform:translate(-50%,-50%) scale(.90);filter:brightness(1.02) saturate(1.28) drop-shadow(0 0 8px rgba(76,255,143,.58)) drop-shadow(0 0 21px rgba(27,222,95,.42))}
  50%{transform:translate(-50%,-50%) scale(1.14);filter:brightness(1.60) saturate(1.74) drop-shadow(0 0 18px rgba(156,255,195,.99)) drop-shadow(0 0 43px rgba(34,241,111,.94)) drop-shadow(0 0 68px rgba(10,178,72,.48))}
}
@keyframes andrikR139Halo{
  0%,100%{transform:translate(-50%,-50%) scale(.68);opacity:.15}
  50%{transform:translate(-50%,-50%) scale(1.43);opacity:.95}
}
@media screen and (orientation:portrait){
  body.r139-standard-header-page .control-topbar,
  body.r139-standard-header-page .control-topbar .nav-shell{
    height:92px!important;min-height:92px!important;max-height:92px!important;
  }
}
body.control-home-page.control-menu-visible .control-protection-fab{
  left:max(14px,env(safe-area-inset-left))!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:none!important
}
body.control-home-page.control-menu-visible .control-attack-fab{
  left:50%!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important
}
body.control-home-page.control-menu-visible .control-update-fab{
  left:auto!important;right:max(14px,env(safe-area-inset-right))!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;transform:none!important
}
@media screen and (orientation:landscape){
  body.control-page.unified-glow-ready:not(.unified-glow-embed)::after,
  body.comment-collection-page.unified-glow-ready:not(.unified-glow-embed)::after{
    content:""!important;display:block!important;position:fixed!important;
    left:max(6px,env(safe-area-inset-left))!important;right:max(6px,env(safe-area-inset-right))!important;
    top:94px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;
    border:2px solid rgba(104,255,170,.94)!important;border-radius:28px!important;background:transparent!important;
    box-shadow:inset 0 0 18px rgba(82,255,157,.16),0 0 8px rgba(100,255,172,.92),0 0 25px rgba(47,232,132,.56)!important;
    opacity:1!important;visibility:visible!important;animation:none!important;pointer-events:none!important;z-index:2147482000!important
  }
  body.control-page.unified-glow-embed::after,body.comment-collection-page.unified-glow-embed::after{display:none!important}
}
