/*
 * Titan Gaming: shared page CSS (owner: frontend A).
 * The design's own base rules first (verbatim from every board's helmet), then only what
 * inline styles cannot express: [hidden], focus rings, the skip link, placeholder/disabled
 * states and the few interactive states the pages add (drag-over, progress).
 * The boards have no media queries; keep it that way.
 */

body{margin:0;background:#0B0D0F}
a{color:#00FD00;text-decoration:none}a:hover{color:#7CFF7C}

/* Inline display:flex would otherwise beat the UA [hidden] rule. */
[hidden]{display:none !important}

/* Keyboard focus: one consistent ring, never on mouse clicks. */
:focus{outline:none}
:focus-visible{outline:2px solid #00FD00;outline-offset:2px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #00FD00;outline-offset:0;border-color:#00FD00 !important}
input[type="checkbox"]:focus-visible{outline-offset:2px}

/* Skip link: off-screen until focused. */
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:#00FD00;color:#0B0D0F;font:700 14px Inter,system-ui,sans-serif;padding:10px 14px;border-radius:8px}
.skip-link:focus,.skip-link:hover{top:12px;color:#0B0D0F}

/* Visually hidden but read by screen readers. */
.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;white-space:nowrap !important;border:0 !important}

/* Buttons that look disabled in the design keep focus but show the not-allowed state. */
button[aria-disabled="true"]{cursor:not-allowed}
button:disabled{cursor:progress}

/* Invalid fields (Submit Idea, race join). Placeholders keep the browser default, as in the design. */
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#FF8A70 !important}

/* Submit Idea drop zone: keyboard focus lands on the hidden file input next to it. */
[data-dropzone-wrap]:has(input[type="file"]:focus-visible) [data-dropzone]{outline:2px solid #00FD00;outline-offset:2px}
[data-dropzone][data-dragover]{border-color:#00FD00 !important;background:#0E2A10 !important}

/* Demo player: lock the page behind the open dialog. */
html[data-modal-open]{overflow:hidden}
