/* GG-WAIT-1102 · 02.11.2026 · ожидание на csgg.pro (владелец: «и прицел, и терминал — всё нравится», каждый на своём месте):
   переход между страницами — «Прицел», блоки с данными — «Терминал» (строки в разметке страниц), кнопки кабинета и мелкие
   ожидания — «Обойма». Показ — только если ждать дольше 0,8 с; подписи на 6 и 12 с. Цвета — GG 2.1 «Обсидиан». */
@keyframes gw-in{from{opacity:0}to{opacity:1}}
@keyframes gw-spin{to{transform:rotate(360deg)}}
@keyframes gw-dot{0%,100%{transform:scale(.6);opacity:.6}50%{transform:scale(1.15);opacity:1}}
@keyframes gw-blink{50%{opacity:0}}
@keyframes gw-off{to{visibility:hidden}}
@keyframes gw-line{to{max-height:4.5em;opacity:1}}
@keyframes gw-drop{to{max-height:0;opacity:0}}
@keyframes gw-wave{0%{background:rgba(255,255,255,.22)}8%{background:#fff}38%{background:#fff}52%{background:rgba(255,255,255,.22)}100%{background:rgba(255,255,255,.22)}}
@keyframes gw-wave-r{0%{background:transparent}8%{background:#E0412B}38%{background:#E0412B}52%{background:transparent}100%{background:transparent}}
@keyframes gw-open-bg{to{opacity:0}}
@keyframes gw-open-aim{to{transform:scale(2.6);opacity:0}}

/* ===== Прицел ===== */
.gw-aim{display:block;width:64px;height:64px}
.gw-aim .gw-r{fill:none;stroke:#E0412B;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:60 140;transform-origin:32px 32px;animation:gw-spin 1.1s cubic-bezier(.5,.1,.5,.9) infinite}
.gw-aim .gw-r2{fill:none;stroke:rgba(255,255,255,.2);stroke-width:1.2}
.gw-aim .gw-t{stroke:#FAFAFA;stroke-width:2;stroke-linecap:round;opacity:.85}
.gw-aim .gw-d{fill:#E0412B;transform-origin:32px 32px;animation:gw-dot 1.1s ease-in-out infinite}
.gw-cur{display:grid;justify-items:center;gap:12px;padding:12px;text-align:center}
.gw-cap{font:700 10px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase;color:#959595}
.gw-n{display:block;max-width:34ch;max-height:0;overflow:hidden;opacity:0;font:500 12px/1.4 'JetBrains Mono',ui-monospace,monospace;color:#BDBDBD}
/* шторка страницы появляется через 0,4 с после нажатия — подписи отсчитываются от неё: 6 с и 12 с от нажатия */
.gg-pe-shtorka.gw-sh .gw-n1{animation:gw-line .3s ease 5.6s forwards,gw-drop .2s ease 11.6s forwards}
.gg-pe-shtorka.gw-sh .gw-n2{animation:gw-line .3s ease 11.6s forwards}
/* шторка новых браузеров (переход GG-PEREHOD-v1): видна с 0,8 с, а не с 0,4 с */
.gg-pe-shtorka.gw-sh{background:rgba(10,10,10,.95);animation:gw-in .2s ease .4s both}
/* заставка старых браузеров: вместо «LOADING MAP…» — прицел, через 0,8 с */
.gg-transition-cover.gw-cv{display:grid;place-items:center}
.gg-transition-cover.gw-cv::before,.gg-transition-cover.gw-cv::after{display:none !important}
.gg-transition-cover.gw-cv .gw-n{display:none}
html.gg-page-leaving .gg-transition-cover.gw-cv{transition-delay:.8s,.8s}
/* новая страница пришла после долгого ожидания — прицел раскрывается и гаснет */
.gw-open{position:fixed;left:0;right:0;bottom:0;top:var(--gw-top,72px);z-index:2147482000;display:grid;place-items:center;pointer-events:none;background:rgba(10,10,10,.95);animation:gw-open-bg .45s ease .05s forwards}
.gw-open .gw-aim{animation:gw-open-aim .45s cubic-bezier(.2,.7,.3,1) .05s forwards}
.gw-open .gw-r{stroke-dasharray:none;animation:none}

/* ===== Терминал (блоки с данными) ===== */
.gw-term{display:grid;gap:2px;font:500 12px/1.6 'JetBrains Mono',ui-monospace,monospace;color:#BDBDBD;text-align:left;letter-spacing:0;text-transform:none;opacity:0;animation:gw-in 0s linear .8s forwards}
.gw-term b{color:#F24B36;font-weight:700}
.gw-term [hidden]{display:block}
.gw-term .gw-l{display:block}
.gw-term .gw-l2,.gw-term .gw-l3{max-height:0;overflow:hidden;opacity:0}
.gw-term .gw-l2{animation:gw-line .25s ease 6s forwards}
.gw-term .gw-l3{animation:gw-line .25s ease 12s forwards}
.gw-caret{display:inline-block;width:.6em;height:1.05em;margin-left:3px;vertical-align:-.15em;background:#E0412B;animation:gw-blink 1s steps(1) infinite}
.gw-l1 .gw-caret{animation:gw-blink 1s steps(1) infinite,gw-off 0s linear 6s forwards}
.gw-l2 .gw-caret{animation:gw-blink 1s steps(1) infinite,gw-off 0s linear 12s forwards}
.gw-term--in{display:inline-grid}
/* матчцентр: свой терминал, подпись 6 с у него есть («база просыпается…»), здесь — 12 с */
.gg-bootstat::after{content:"> дольше обычного — ещё немного";display:block;max-height:0;overflow:hidden;opacity:0;margin-top:6px;font:500 12px/1.4 'JetBrains Mono',ui-monospace,monospace;color:#BDBDBD;animation:gw-line .25s ease 12s forwards}

/* ===== Обойма (кнопки и мелкие ожидания) ===== */
.gw-busy{cursor:progress !important}
.gw-mag{position:absolute;left:10px;right:10px;bottom:4px;height:3px;display:grid;grid-template-columns:repeat(10,1fr);gap:3px;pointer-events:none}
.gw-mag i{display:block;border-radius:1px;background:rgba(255,255,255,.22);animation:gw-wave 1.5s linear infinite}
.gw-mag i:nth-child(2),.gw-bar i:nth-child(2){animation-delay:.1s}.gw-mag i:nth-child(3),.gw-bar i:nth-child(3){animation-delay:.2s}
.gw-mag i:nth-child(4),.gw-bar i:nth-child(4){animation-delay:.3s}.gw-mag i:nth-child(5),.gw-bar i:nth-child(5){animation-delay:.4s}
.gw-mag i:nth-child(6),.gw-bar i:nth-child(6){animation-delay:.5s}.gw-mag i:nth-child(7),.gw-bar i:nth-child(7){animation-delay:.6s}
.gw-mag i:nth-child(8),.gw-bar i:nth-child(8){animation-delay:.7s}.gw-mag i:nth-child(9),.gw-bar i:nth-child(9){animation-delay:.8s}
.gw-mag i:nth-child(10),.gw-bar i:nth-child(10){animation-delay:.9s}
.gw-bar{position:fixed;left:0;right:0;top:var(--gw-top,72px);height:2px;z-index:2147481500;display:grid;grid-template-columns:repeat(10,1fr);gap:2px;pointer-events:none;opacity:0;transition:opacity .2s ease}
.gw-bar.is-on{opacity:1}
.gw-bar i{display:block;background:transparent;animation:gw-wave-r 1.5s linear infinite}
.gw-tip{position:fixed;right:max(16px,env(safe-area-inset-right,0px));top:calc(var(--gw-top,72px) + 10px);z-index:2147481500;max-width:min(340px,calc(100vw - 32px));padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#111;color:#BDBDBD;font:500 12px/1.4 'JetBrains Mono',ui-monospace,monospace;box-shadow:0 10px 30px rgba(0,0,0,.45);pointer-events:none;opacity:0;transition:opacity .25s ease}
.gw-tip.is-on{opacity:1}
.gw-tip b{color:#F24B36}

/* без движения: всё стоит, появление и подписи — без анимации движения */
@media (prefers-reduced-motion: reduce){
  .gw-aim .gw-r,.gw-aim .gw-d,.gw-caret,.gw-l1 .gw-caret,.gw-l2 .gw-caret{animation:none}
  .gw-mag i,.gw-bar i{animation:none}
  .gw-mag i:nth-child(-n+3){background:#fff}
  .gw-bar i:nth-child(-n+3){background:#E0412B}
  .gw-open{display:none}
}
