/* Fbrkh v2.5.0 design and accessibility tokens */
:root{
  --fbrkh-bg:#0d0717;--fbrkh-surface:#1a102a;--fbrkh-surface-2:#25163a;--fbrkh-text:#f7f3ff;--fbrkh-muted:#c8bdd8;--fbrkh-line:#4e3b66;
  --fbrkh-success:#26c281;--fbrkh-danger:#ff6d82;--fbrkh-warning:#ffd166;--fbrkh-info:#62d9ff;
  --fbrkh-team-1:#8f63ff;--fbrkh-team-2:#38c8e8;--fbrkh-team-3:#ffb84d;
  --fbrkh-radius-sm:12px;--fbrkh-radius-md:18px;--fbrkh-radius-lg:28px;--fbrkh-space-1:6px;--fbrkh-space-2:10px;--fbrkh-space-3:16px;--fbrkh-space-4:24px;
  --fbrkh-motion-fast:140ms;--fbrkh-motion-normal:220ms;--fbrkh-motion-slow:420ms;--fbrkh-safe-top:max(12px,env(safe-area-inset-top));--fbrkh-safe-bottom:max(12px,env(safe-area-inset-bottom));
}
:root[data-theme="light"]{--fbrkh-bg:#f4f6f9;--fbrkh-surface:#ffffff;--fbrkh-surface-2:#eef1f5;--fbrkh-text:#1b1f2a;--fbrkh-muted:#4d5968;--fbrkh-line:#c8d0db;--fbrkh-success:#087f5b;--fbrkh-danger:#b42336;--fbrkh-warning:#8a5a00;--fbrkh-info:#075c8e}

/* Designed palettes: no full-page hue filters. */
:root.fbrkh-color-blind[data-color-vision="deuteranopia"]{--fbrkh-success:#0072b2;--fbrkh-danger:#d55e00;--fbrkh-warning:#e69f00;--fbrkh-info:#56b4e9;--fbrkh-team-1:#0072b2;--fbrkh-team-2:#e69f00;--fbrkh-team-3:#cc79a7;--purple:#0072b2;--cyan:#56b4e9;--gold:#e69f00;--red:#d55e00;--green:#0072b2}
:root.fbrkh-color-blind[data-color-vision="protanopia"]{--fbrkh-success:#0072b2;--fbrkh-danger:#cc79a7;--fbrkh-warning:#e69f00;--fbrkh-info:#56b4e9;--fbrkh-team-1:#0072b2;--fbrkh-team-2:#e69f00;--fbrkh-team-3:#cc79a7;--purple:#6b5fd2;--cyan:#56b4e9;--gold:#e69f00;--red:#cc79a7;--green:#0072b2}
:root.fbrkh-color-blind[data-color-vision="tritanopia"]{--fbrkh-success:#009e73;--fbrkh-danger:#d55e00;--fbrkh-warning:#cc79a7;--fbrkh-info:#0072b2;--fbrkh-team-1:#009e73;--fbrkh-team-2:#d55e00;--fbrkh-team-3:#cc79a7;--purple:#cc79a7;--cyan:#0072b2;--gold:#cc79a7;--red:#d55e00;--green:#009e73}
:root.fbrkh-color-blind[data-color-vision="monochrome"]{--fbrkh-success:#ffffff;--fbrkh-danger:#ffffff;--fbrkh-warning:#ffffff;--fbrkh-info:#ffffff;--fbrkh-team-1:#ffffff;--fbrkh-team-2:#c7c7c7;--fbrkh-team-3:#8f8f8f;--purple:#d7d7d7;--cyan:#efefef;--gold:#bdbdbd;--red:#ffffff;--green:#d7d7d7}
:root[data-theme="light"].fbrkh-color-blind[data-color-vision="monochrome"]{--fbrkh-success:#111;--fbrkh-danger:#111;--fbrkh-warning:#333;--fbrkh-info:#111;--fbrkh-team-1:#111;--fbrkh-team-2:#555;--fbrkh-team-3:#888}

/* Important states gain shape/pattern in addition to color. */
:root.fbrkh-color-blind .game-message.success::before,:root.fbrkh-color-blind [data-status="success"]::before{content:"✓";display:inline-grid;place-items:center;margin-left:.45em;font-weight:1000}
:root.fbrkh-color-blind .game-message.error::before,:root.fbrkh-color-blind [data-status="error"]::before{content:"×";display:inline-grid;place-items:center;margin-left:.45em;font-weight:1000}
:root.fbrkh-color-blind .winner,:root.fbrkh-color-blind [data-state="winner"]{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.09) 0 8px,transparent 8px 16px)!important}
:root.fbrkh-color-blind .active-team,:root.fbrkh-color-blind .team-score-card.active,:root.fbrkh-color-blind [aria-current="true"]{outline:3px double currentColor;outline-offset:2px}
:root.fbrkh-color-blind .out,:root.fbrkh-color-blind [data-state="out"]{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 5px,transparent 5px 10px)}
:root.fbrkh-color-blind .answer-card.revealed{border-style:solid!important;border-width:3px!important}
:root.fbrkh-color-blind .answer-card.revealed:nth-child(3n+1){border-style:double!important}:root.fbrkh-color-blind .answer-card.revealed:nth-child(3n+2){border-style:dashed!important}:root.fbrkh-color-blind .answer-card.revealed:nth-child(3n){border-style:solid!important}

:root.a11y-reduced-motion *, :root.a11y-reduced-motion *::before,:root.a11y-reduced-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html,body{min-height:100%;min-height:100dvh}body{padding-bottom:env(safe-area-inset-bottom)}

/* v3.0.0 — stronger light-mode contrast and accessible state separation */
:root[data-theme="light"]{color-scheme:light;--fbrkh-bg:#f7f8fc;--fbrkh-surface:#ffffff;--fbrkh-surface-2:#eef1f7;--fbrkh-text:#17151f;--fbrkh-muted:#5d5968;--fbrkh-border:rgba(23,21,31,.18);--fbrkh-border-strong:rgba(23,21,31,.3)}
:root[data-theme="light"] body{color:var(--fbrkh-text);background-color:var(--fbrkh-bg)}
:root[data-theme="light"] input,:root[data-theme="light"] select,:root[data-theme="light"] textarea{color:#17151f;background:#fff;border-color:rgba(23,21,31,.24)}
:root[data-theme="light"] input::placeholder,:root[data-theme="light"] textarea::placeholder{color:#777181;opacity:1}
:root[data-theme="light"] [disabled],:root[data-theme="light"] .disabled{opacity:.58}
:root[data-theme="light"] .muted,:root[data-theme="light"] small{color:var(--fbrkh-muted)}
:root.fbrkh-color-blind .team-score-card .symbol,:root.fbrkh-color-blind .team-symbol{font-weight:1000;text-decoration:underline;text-underline-offset:4px}
.option-switch.is-unavailable{opacity:.62}.option-switch.is-unavailable input{cursor:not-allowed}
