@font-face { font-family: "Chalet-LondonNineteenSixty"; src: url("fonts/Chalet-LondonNineteenSixty.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "HapnaSlabSerif-DemiBold"; src: url("fonts/HapnaSlabSerifDemiBold.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "HitmarkerText-Regular"; src: url("fonts/HitmarkerText-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "NormativePro-Medium"; src: url("fonts/NormativePro-Medium.ttf") format("truetype"); font-display: swap; }
:root { font-family: system-ui, sans-serif; color: #edf2fa; background: #10141e; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
main { max-width: 920px; margin: 0 auto; padding: clamp(24px, 4vw, 64px); }
h1 { font-size: clamp(28px, 4vw, 52px); margin-block: 8px 16px; }
h2 { font-size: 26px; }
p { line-height: 1.6; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 14px; color: #9ebcf6; }
section { border: 1px solid #455066; border-radius: 16px; padding: 20px; margin-block: 20px; background: #18202e; }
.actions, footer { display: flex; gap: 12px; flex-wrap: wrap; margin-block: 20px; }
button, select, summary, a { min-height: 48px; font: inherit; }
button, select { padding: 12px 20px; border-radius: 8px; border: 1px solid #839ac1; background: #263956; color: white; cursor: pointer; }
button:disabled { opacity: .5; cursor: default; }
button:focus-visible, select:focus-visible, a:focus-visible, summary:focus-visible { outline: 4px solid #f5c964; outline-offset: 4px; }
a { color: #b0cdff; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
summary { cursor: pointer; padding-block: 12px; }
#code, #confirmation-code { display: block; font-size: clamp(32px, 6vw, 64px); letter-spacing: .15em; font-variant-numeric: tabular-nums; user-select: all; }
#status, #platform-status { overflow-wrap: anywhere; }
#captions { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; pointer-events: none; overflow: hidden; }
.caption { position: absolute; white-space: pre-wrap; overflow-wrap: anywhere; overflow: hidden; line-height: 1.2; padding: .12em .2em; text-align: start; unicode-bidi: plaintext; }
.hdmi-video { position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: contain; z-index: -1; }
.overlay, .overlay body { background: transparent; }
.overlay #setup { position: relative; z-index: 20; background: #10141ef5; }
#stop-display { display: none; position: fixed; top: 16px; inset-inline-end: 16px; z-index: 30; opacity: .8; }
.presenting #setup { display: none; }
.presenting #stop-display { display: block; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto; } }
