/* ═══════════════════════════════════════════════════════════════════
   Společný základ stylu eduxo — písma, barvy, tmavý režim, rozměry
   ───────────────────────────────────────────────────────────────────
   JEDINÝ ZDROJ: repo sitarik/eduxo.cz, css/eduxo-styl.css (+ css/fonts/).
   NetLab (eduxo/netlab) přebírá bajtově shodnou kopii z origin/main;
   měnit jen tady. Nic specifického pro jednu stránku sem nepatří —
   to jde do stylu stránky (index.css, predmet.css, dozor.css …).

   Podle návrhu „eduxo jako základ“ (NetLab, kola 4–10, schválil
   Síťařík 6. 11. 2026). Načítat PŘED stylem stránky.

   Režim: světlý/tmavý podle systému (prefers-color-scheme).
   Vynucení na prvku i pro celou stránku: data-rezim="svetly" | "tmavy"
   (např. Plátno je vždy světlé: <html data-rezim="svetly">).
   ═══════════════════════════════════════════════════════════════════ */

/* ── Písma ─────────────────────────────────────────────────────────
   Sofia Sans (vše, proměnná 400–800) a JetBrains Mono (kód, terminál).
   Lokálně kvůli CSP (font-src 'self'); cesty relativně k tomuto souboru,
   soubory leží v fonts/ vedle něj. Licence SIL Open Font License 1.1:
   fonts/OFL-sofia-sans.txt a fonts/OFL-jetbrains-mono.txt (kopírovat s písmy). */
@font-face {
    font-family: 'Sofia Sans'; font-style: normal; font-weight: 400 800; font-display: swap;
    src: url('fonts/sofia-sans-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Sofia Sans'; font-style: normal; font-weight: 400 800; font-display: swap;
    src: url('fonts/sofia-sans-latin.woff2') format('woff2');
    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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 700; font-display: swap;
    src: url('fonts/jetbrains-mono-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 700; font-display: swap;
    src: url('fonts/jetbrains-mono-latin.woff2') format('woff2');
    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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Rozměry a písmo (stejné v obou režimech) ───────────────────── */
:root {
    --pismo: 'Sofia Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --pismo-kod: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
    --pismo-velikost: 18px;     /* základní text */
    --pismo-radek: 1.6;

    --zaobleni: 14px;           /* karty, pilulka, panely */
    --zaobleni-male: 10px;      /* položky pilulky, bloky kódu, dlaždice */
    --zaobleni-tlacitko: 8px;
    --cil-dotyku: 44px;         /* nejmenší klikatelná plocha */
    --vyska-tlacitka: 48px;

    --terminal-pozadi: #1b2233; /* terminál a bloky kódu jsou tmavé v obou režimech */
    --terminal-text: #e1e7f5;
    --terminal-vyzva: #7ee2a8;
}

/* ── Světlý režim ───────────────────────────────────────────────── */
:root, [data-rezim="svetly"] {
    color-scheme: light;
    --tus: #1a1a2e;             /* text */
    --tlumeny: #505a68;         /* tlumený text */
    --modra: #004aad;           /* modrá z loga: tlačítka, nadpisy sekcí, odkazy */
    --modra-tmava: #003680;     /* najetí na modré tlačítko */
    --bila: #ffffff;            /* plocha */
    --mlha: #f5f7fa;            /* tlumená plocha (patička, panely) */
    --ramecek: #e0e6f3;         /* rámečky 1 px, linky */
    --pilulka: #eef2fb;         /* pozadí pilulky a záložek */
    --obrys: #b9c2d0;           /* obrys polí formuláře, nepřihlášená stanice */
    --kod-pozadi: #e8edf8;      /* vložený kód v textu */
    --na-barve: #ffffff;        /* text na modré a na barvě předmětu */
    --sedy-pruh: #e3e7ef;       /* neaktivní pruh (průběh scén) */
    --stin: rgba(26, 58, 143, 0.14);

    /* barvy předmětů */
    --is: #1a56c4;
    --os: #c2410c;
    --iot: #3d7a5f;
    --kb: #6134b2;

    /* stavy */
    --ok: #146c3c;              /* v pořádku, přihlášen, běží */
    --ok-pozadi: #e6f4ec;
    --vrac: #855000;            /* pozor, vrácený tiket, čeká */
    --vrac-pozadi: #fdf0d5;
    --vrac-obrys: #f0d9a6;
    --stop: #b4261f;            /* chyba, čeká na uzavření */

    /* portréty postav */
    --portret-jas: 1;
    --portret-kruh: transparent;
    --c-podil: 100%;            /* kolik barvy postavy má její jméno (zbytek je --tus) */
}

/* ── Tmavý režim: proměnné jednou, použité na dvou místech níže ──── */
@media (prefers-color-scheme: dark) {
    :root:not([data-rezim="svetly"]) {
        color-scheme: dark;
        --tus: #e6e9f2; --tlumeny: #a7b0c0; --modra: #8fb3ff; --modra-tmava: #b3cbff;
        --bila: #12161f; --mlha: #1a1f2a; --ramecek: #2c3443; --pilulka: #1c2433; --obrys: #4a5568;
        --kod-pozadi: #222a38; --na-barve: #0e121a; --sedy-pruh: #2a3242; --stin: rgba(0, 0, 0, 0.4);
        --is: #7aa7ff; --os: #ff9466; --iot: #6cc49c; --kb: #b99cff;
        --ok: #6fd69a; --ok-pozadi: #12301f; --vrac: #f2b85c; --vrac-pozadi: #33270f; --vrac-obrys: #5a4720; --stop: #ff8a80;
        --portret-jas: .88; --portret-kruh: #2c3443; --c-podil: 40%;
    }
}
[data-rezim="tmavy"] {
    color-scheme: dark;
    --tus: #e6e9f2; --tlumeny: #a7b0c0; --modra: #8fb3ff; --modra-tmava: #b3cbff;
    --bila: #12161f; --mlha: #1a1f2a; --ramecek: #2c3443; --pilulka: #1c2433; --obrys: #4a5568;
    --kod-pozadi: #222a38; --na-barve: #0e121a; --sedy-pruh: #2a3242; --stin: rgba(0, 0, 0, 0.4);
    --is: #7aa7ff; --os: #ff9466; --iot: #6cc49c; --kb: #b99cff;
    --ok: #6fd69a; --ok-pozadi: #12301f; --vrac: #f2b85c; --vrac-pozadi: #33270f; --vrac-obrys: #5a4720; --stop: #ff8a80;
    --portret-jas: .88; --portret-kruh: #2c3443; --c-podil: 40%;
}

/* ── Logo ───────────────────────────────────────────────────────────
   V tmavém režimu celé bílé (logo/eduxo_logo_white.svg), bez destičky.
   V HTML: <picture><source srcset="…/eduxo_logo_white.svg"
   media="(prefers-color-scheme: dark)"><img src="…/eduxo_logo.svg"></picture>.
   Značka „e“ (eduxo_ico.svg) je favicon/značka, ne avatar postavy eduxo. */

/* ── Omezení pohybu ─────────────────────────────────────────────────
   Kdo má v systému zapnuté „omezit pohyb“, nedostane animace ani přechody. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}
