/* the society :: design tokens.
   every face is vendored as a subset woff2. no CDN reference may ever be added here:
   a font request is a third party learning the visitor's address, which is the one
   thing this whole application exists to prevent. the CSP blocks it anyway. */

@font-face {
    font-family: "Quantico";
    src: url("../fonts/quantico.woff2") format("woff2");
    font-weight: 400;
    font-display: block;
}

@font-face {
    font-family: "Quantico";
    src: url("../fonts/quantico-bold.woff2") format("woff2");
    font-weight: 700;
    font-display: block;
}

/* tektur kept its variable axes through subsetting, so panel chrome can be
   condensed (wdth 75) without shipping a second file. */
@font-face {
    font-family: "Tektur";
    src: url("../fonts/tektur.woff2") format("woff2");
    font-weight: 400 900;
    font-stretch: 75% 100%;
    font-display: block;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../fonts/jetbrains-mono.woff2") format("woff2");
    font-weight: 400;
    font-display: block;
}

:root {
    /* amber phosphor over near-black. the grounds are the same values the
       desktop rice already uses, so this sits on that machine without clashing. */
    --amber:        #FFB224;
    --amber-bright: #FFD98A;
    --amber-mid:    #C9871A;
    --amber-dim:    #7A5310;
    --amber-ghost:  #3D2A08;

    --alert:        #FF2A3A;
    --alert-dim:    #7A141D;
    --good:         #4FE08B;

    --ground:       #020104;
    --ground-2:     #080002;
    --panel:        #0C0A06;
    --panel-2:      #14100A;
    --panel-edge:   #241B0E;

    --rivet:        #2E2412;
    --rivet-hi:     #4A3A1C;

    --font-stencil: "Quantico", "DejaVu Sans", sans-serif;
    --font-chrome:  "Tektur", "DejaVu Sans", sans-serif;
    --font-mono:    "JetBrains Mono", ui-monospace, monospace;

    --gap:    12px;
    --gap-sm: 8px;
    --gap-lg: 20px;

    --bezel: 2px;
    --scan-opacity: 0.22;
    --bloom-opacity: 0.5;
    --flicker: 1;

    color-scheme: dark;
}

/* the CRT layer is a toggle. under prefers-reduced-motion the flicker is killed
   outright rather than merely slowed, because a pulsing phosphor is exactly the
   kind of thing that setting exists to stop. */
@media (prefers-reduced-motion: reduce) {
    :root { --flicker: 0; }
}

:root[data-crt="off"] {
    --scan-opacity: 0;
    --bloom-opacity: 0;
    --flicker: 0;
}
