/* ==========================================================================
   Tokeny portálu nad IBM Carbonem
   ==========================================================================
   Barvy a tmavý režim dává Carbon (`--cds-*` v `../carbon/styles.min.css`).
   Tady zůstalo jen to, co Carbon nemá:

     1. **odsazení a typografie jako proměnné.** Hotové `styles.min.css`
        je deklaruje jen lokálně, uvnitř jedné komponenty (`.cds--guidebanner`),
        takže na kořeni stránky neexistují a `var(--cds-spacing-05)` by se
        bez nich tiše nepoužilo. Hodnoty jsou opsané z toho bloku slovo
        od slova a `tests/vzhled.php` je s ním porovnává — kdo vymění Carbon
        za novější verzi, uslyší, že se hodnoty rozešly;
     2. **tokeny, které si portál pojmenoval** pro vlastní lepidlo v `app.css`
        (`--portal-*`).

   **Co sem nepatří: barva a odsazení zapsané číslem.** V komponentách se
   používá jen odkaz na proměnnou — překlep v názvu CSS proměnné se nikde
   neprojeví chybou, barva se prostě nepoužije. Tmavý režim není druhá
   sada stylů, ale přepnutí tříd Carbonu (`cds--g100`) na `<html>`, které
   dělá `app.js` podle `prefers-color-scheme`.
   ========================================================================== */

:root {
    /* Odsazení — stupnice Carbonu (2, 4, 8, 12, 16, 24, 32, 40, 48, 64, 80, 96, 160 px). */
    --cds-spacing-01: 0.125rem;
    --cds-spacing-02: 0.25rem;
    --cds-spacing-03: 0.5rem;
    --cds-spacing-04: 0.75rem;
    --cds-spacing-05: 1rem;
    --cds-spacing-06: 1.5rem;
    --cds-spacing-07: 2rem;
    --cds-spacing-08: 2.5rem;
    --cds-spacing-09: 3rem;
    --cds-spacing-10: 4rem;
    --cds-spacing-11: 5rem;
    --cds-spacing-12: 6rem;
    --cds-spacing-13: 10rem;

    /* typografie: body-compact-01 */
    --cds-body-compact-01-font-size: 0.875rem;
    --cds-body-compact-01-font-weight: 400;
    --cds-body-compact-01-line-height: 1.28572;
    --cds-body-compact-01-letter-spacing: 0.16px;

    /* typografie: body-compact-02 */
    --cds-body-compact-02-font-size: 1rem;
    --cds-body-compact-02-font-weight: 400;
    --cds-body-compact-02-line-height: 1.375;
    --cds-body-compact-02-letter-spacing: 0;

    /* typografie: body-long-01 */
    --cds-body-long-01-font-size: 0.875rem;
    --cds-body-long-01-font-weight: 400;
    --cds-body-long-01-line-height: 1.42857;
    --cds-body-long-01-letter-spacing: 0.16px;

    /* typografie: body-long-02 */
    --cds-body-long-02-font-size: 1rem;
    --cds-body-long-02-font-weight: 400;
    --cds-body-long-02-line-height: 1.5;
    --cds-body-long-02-letter-spacing: 0;

    /* typografie: heading-compact-01 */
    --cds-heading-compact-01-font-size: 0.875rem;
    --cds-heading-compact-01-font-weight: 600;
    --cds-heading-compact-01-line-height: 1.28572;
    --cds-heading-compact-01-letter-spacing: 0.16px;

    /* typografie: heading-compact-02 */
    --cds-heading-compact-02-font-size: 1rem;
    --cds-heading-compact-02-font-weight: 600;
    --cds-heading-compact-02-line-height: 1.375;
    --cds-heading-compact-02-letter-spacing: 0;

    /* typografie: heading-03 */
    --cds-heading-03-font-size: 1.25rem;
    --cds-heading-03-font-weight: 400;
    --cds-heading-03-line-height: 1.4;
    --cds-heading-03-letter-spacing: 0;

    /* typografie: heading-04 */
    --cds-heading-04-font-size: 1.75rem;
    --cds-heading-04-font-weight: 400;
    --cds-heading-04-line-height: 1.28572;
    --cds-heading-04-letter-spacing: 0;

    /* typografie: heading-05 */
    --cds-heading-05-font-size: 2rem;
    --cds-heading-05-font-weight: 400;
    --cds-heading-05-line-height: 1.25;
    --cds-heading-05-letter-spacing: 0;

    /* typografie: helper-text-01 */
    --cds-helper-text-01-font-size: 0.75rem;
    --cds-helper-text-01-line-height: 1.33333;
    --cds-helper-text-01-letter-spacing: 0.32px;

    /* typografie: label-01 */
    --cds-label-01-font-size: 0.75rem;
    --cds-label-01-font-weight: 400;
    --cds-label-01-line-height: 1.33333;
    --cds-label-01-letter-spacing: 0.32px;

    /* typografie: code-01 */
    --cds-code-01-font-family: "IBM Plex Mono", system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", monospace;
    --cds-code-01-font-size: 0.75rem;
    --cds-code-01-font-weight: 400;
    --cds-code-01-line-height: 1.33333;
    --cds-code-01-letter-spacing: 0.32px;

    /* typografie: code-02 */
    --cds-code-02-font-family: "IBM Plex Mono", system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", monospace;
    --cds-code-02-font-size: 0.875rem;
    --cds-code-02-font-weight: 400;
    --cds-code-02-line-height: 1.42857;
    --cds-code-02-letter-spacing: 0.32px;
}

:root {
    /* Dotykový cíl 44 px (2,75 rem při základu 16 px). Platí pro DOTYK, ne
       pro myš — vynucuje se v `@media (pointer: coarse)` v `app.css`, protože
       rozhoduje způsob ovládání, ne šířka okna. */
    --portal-touch-target: 2.75rem;

    /* O kolik se posune čtvereček zaškrtávátka Carbonu, aby seděl uprostřed
       klikací plochy velké jako dotykový cíl. Střed čtverečku je v Carbonu
       0,6875 rem od rohu štítku (`.125rem` odsazení + `.0625rem` okraj +
       půl čtverečku `.5rem`). */
    --portal-checkbox-shift: calc(var(--portal-touch-target) / 2 - 0.6875rem);

    /* Výška hlavičky UI shellu; Carbon ji drží jako `spacing-09`. Na ni se
       lepí hlavička tabulky oprávnění. */
    --portal-header-height: var(--cds-spacing-09);

    /* Nejširší řádek běžného textu (úvody, nápovědy), aby se na velké
       obrazovce nečetl přes celou šířku. */
    --portal-measure: 40rem;
}
