/* ============================================================
   base.css — fonty, :root, reset, body, pozadí
   ============================================================ */

/* ══════════════════════════════════════════════════════════════
   LOKÁLNÍ FONTY — bez Google CDN (GDPR fix, rychlejší načítání)
   latin-ext subset zajišťuje českou diakritiku (ě č š ř ž ý á í ů ú)
   Browser načte jen ten subset který potřebuje (unicode-range lazy load)
   ══════════════════════════════════════════════════════════════ */

/* Teko — latin-ext (česká diakritika) */
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-ext-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-ext-500.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-ext-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-ext-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Teko — latin (základní znaky) */
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-500.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Teko';
    src: url('../fonts/teko-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Open Sans — latin-ext (česká diakritika) */
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-ext-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-ext-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-ext-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Open Sans — latin (základní znaky) */
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/open-sans-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   inQer.eu — Unified Stylesheet
   ============================================================ */

   :root {
    --cyan: #00f2ff;
    --cyan-dim: rgba(0, 242, 255, 0.5);
    --bg: #050608;
    --text: #ffffff;
    --text-muted: #8a9199;
    --glass: rgba(255, 255, 255, 0.03);
    --border-glass: rgba(255, 255, 255, 0.08);
    --teamspeak: #67A5D6;
    --youtube: #FF0000;
    --color-eco:  #85ff9e;
    --color-dayz: #ff3131;
    --color-arma: #3d727d;
    --color-palworld: #f5c518;
    /* Fix #16: Amber proměnné přesunuty z druhého :root bloku */
    --amber: #ffb347;
    --amber-dim: rgba(255, 179, 71, 0.4);
    --amber-glow: rgba(255, 179, 71, 0.15);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

/* ─── VLASTNÍ KURZOR: křížek v barvách webu ────────────────────────────────
   Výchozí stav: azurová (--cyan), stejná jako hlavní zvýrazňovací barva webu.
   Nad klikatelnými prvky: jantarová (--amber), aby bylo hned vidět, co je aktivní.
   Funguje jen na myš/desktop — na dotykových zařízeních prohlížeč vlastní
   obrázek kurzoru ignoruje, takže na mobilu se nic neděje (žádný fallback nutný).
   ──────────────────────────────────────────────────────────────────────── */
body {
    cursor: url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20viewBox='0%200%2028%2028'><line%20x1='14'%20y1='2'%20x2='14'%20y2='26'%20stroke='%2300f2ff'%20stroke-width='2'%20stroke-linecap='round'/><line%20x1='2'%20y1='14'%20x2='26'%20y2='14'%20stroke='%2300f2ff'%20stroke-width='2'%20stroke-linecap='round'/></svg>") 14 14, auto;
}

a, button, input[type="submit"], input[type="button"], .btn-browse,
.social-box, .server-card, .nav-dot, [role="button"], select, label[for] {
    cursor: url("data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20viewBox='0%200%2028%2028'><line%20x1='14'%20y1='2'%20x2='14'%20y2='26'%20stroke='%23ff3131'%20stroke-width='2'%20stroke-linecap='round'/><line%20x1='2'%20y1='14'%20x2='26'%20y2='14'%20stroke='%23ff3131'%20stroke-width='2'%20stroke-linecap='round'/></svg>") 14 14, pointer;
}




body {
    background-color: var(--bg);
    color: var(--text);
    font-family: 'Open Sans', sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    position: relative;
}

/* ─── POZADÍ: 3-vrstvý systém bez CPU konfliktu ───────────────────────────
   Vrstva A  .bg-layer       z:-3  filter:blur (statický, žádná animace)
   Vrstva B  .bg-layer__img  —     transform animace (žádný filter)
   Vrstva C  body::before    z:-2  tmavý gradient overlay (statický)
   Oddělení filter vs animace na různé elementy = GPU compositing = 0 CPU drop
   ──────────────────────────────────────────────────────────────────────── */

/* Vrstva A — ořezávací/blur kontejner (STATICKÝ) */
.bg-layer {
    position: fixed;
    inset: 0;
    z-index: -3;
    overflow: hidden;
    pointer-events: none;
    /* Blur JEN tady — nikdy ne na animovaném potomku */
    filter: blur(4px) brightness(0.45);
}

/* Vrstva A inner — obrázek + POHYB (jen transform, žádný filter) */
.bg-layer__img {
    position: absolute;
    inset: -14%;
    width: 128%;
    height: 128%;
    background-image: url('../img/BG.png');
    background-size: cover;
    background-position: center;
    animation: bg-drift 150s ease-in-out infinite;
    will-change: transform;
}

@keyframes bg-drift {
    0%   { transform: translate(  0%,    0%  ) scale(1.08) rotate(0deg);    }
    14%  { transform: translate( -1.8%,  0.7%) scale(1.10) rotate(0.15deg); }
    28%  { transform: translate(  1.3%, -1.2%) scale(1.09) rotate(-0.1deg); }
    42%  { transform: translate( -0.9%,  1.6%) scale(1.11) rotate(0.2deg);  }
    57%  { transform: translate(  1.7%, -0.4%) scale(1.09) rotate(-0.15deg);}
    71%  { transform: translate( -1.2%,  0.9%) scale(1.10) rotate(0.1deg);  }
    85%  { transform: translate(  0.6%, -1.4%) scale(1.08) rotate(-0.05deg);}
    100% { transform: translate(  0%,    0%  ) scale(1.08) rotate(0deg);    }
}

@media (prefers-reduced-motion: reduce) {
    .bg-layer__img { animation: none; }
}

/* Vrstva C — tmavý gradient overlay (STATICKÝ, žádný blur) */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -2;
    background: linear-gradient(
        160deg,
        rgba(5, 6, 8, 0.82) 0%,
        rgba(13, 15, 18, 0.90) 60%,
        rgba(5, 6, 8, 0.88) 100%
    );
    pointer-events: none;
}

/* ── Detail konkrétního serveru: vlastní obrázek pozadí ─────────────────────
   Výchozí kombinace brightness(0.45) na .bg-layer + tmavý gradient (~0.85)
   na body::before je navržená pro tlumené, abstraktní pozadí. Když ale
   .bg-layer__img zobrazuje konkrétní obrázek serveru (viz header.php),
   stejné ztlumení ho prakticky smaže — proto tady obojí zesvětlíme jen
   pro stránky se class="has-server-bg" (nastavuje ji header.php). */
body.has-server-bg .bg-layer {
    filter: blur(4px) brightness(0.45);
}
body.has-server-bg::before {
    background: linear-gradient(
        160deg,
        rgba(5, 6, 8, 0.55) 0%,
        rgba(13, 15, 18, 0.62) 60%,
        rgba(5, 6, 8, 0.6) 100%
    );
}

.scanlines {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 50%, rgba(0,0,0,.1) 50%);
    background-size: 100% 4px;
    z-index: 0;
    pointer-events: none;
    opacity: 0.3;
}

