/* BORN WEIRD LAB shared base (retro-DOS palette from v0.5; Plex Mono because VT323 has no Cyrillic). */
@font-face { font-family: 'Plex'; font-weight: 400; src: url('../PlexMono-400-cyrillic.woff2') format('woff2'); font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Plex'; font-weight: 400; src: url('../PlexMono-400-latin.woff2') format('woff2'); font-display: swap; unicode-range: U+0000-00FF, U+2000-206F, U+2116, U+2191, U+2193, U+2212; }
@font-face { font-family: 'Plex'; font-weight: 600; src: url('../PlexMono-600-cyrillic.woff2') format('woff2'); font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Plex'; font-weight: 600; src: url('../PlexMono-600-latin.woff2') format('woff2'); font-display: swap; unicode-range: U+0000-00FF, U+2000-206F, U+2116, U+2191, U+2193, U+2212; }
:root { --bg: #000; --fg: #c8ffc8; --dim: #8fb08f; --hi: #ffff55; --cy: #55ffff; --mg: #ff55ff; --ok: #55ff99; --no: #ff7777; --blue: #0000aa; --line: #2a4a2a; }
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; background: var(--bg); color: var(--fg); overscroll-behavior: none; }
body { font-family: 'Plex', ui-monospace, Menlo, monospace; font-size: 16px; line-height: 1.45; min-height: 100vh; min-height: 100dvh; }
body::after { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 50; background: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.08) 2px 3px); }
main { max-width: 520px; margin: 0 auto; padding: 16px 16px 40px; }
button { font: inherit; cursor: pointer; border-radius: 0; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.lab-q { color: var(--cy); font-weight: 600; margin: 18px 0 8px; letter-spacing: 1px; }
.lab-row { display: flex; gap: 8px; flex-wrap: wrap; }
.lab-chip { flex: 1 1 auto; min-height: 44px; padding: 8px 10px; background: transparent; color: var(--fg); border: 2px solid var(--line); font-size: 14px; }
.lab-chip.on { border-color: var(--hi); color: var(--hi); }
.lab-chip:disabled:not(.on) { opacity: .4; }
.lab-muted { color: var(--dim); font-size: 13px; margin-top: 8px; }
.lab-card { display: block; width: 100%; max-width: 360px; margin: 12px auto; border: 1px solid var(--line); -webkit-touch-callout: default; }
.lab-share { display: block; width: 100%; min-height: 54px; margin: 14px 0 6px; background: var(--hi); color: #000; border: 0; font-weight: 600; font-size: 18px; letter-spacing: 1px; }
.lab-again { display: block; width: 100%; min-height: 44px; background: transparent; color: var(--dim); border: 1px solid var(--line); font-size: 14px; }
.lab-brand { color: var(--mg); font-weight: 600; letter-spacing: 3px; font-size: 12px; }
