@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;800&family=DM+Sans:wght@400;500;700&display=swap");

html.rush-page,
html:has(#rush-root),
html.rush-page body,
html:has(#rush-root) body {
  background: #050510 !important;
  overflow: hidden;
}
html.rush-page .md-header,
html:has(#rush-root) .md-header,
html.rush-page .md-tabs,
html:has(#rush-root) .md-tabs,
html.rush-page .md-sidebar,
html:has(#rush-root) .md-sidebar,
html.rush-page .md-footer,
html:has(#rush-root) .md-footer,
html.rush-page .md-dialog,
html:has(#rush-root) .md-dialog,
html.rush-page .md-content__button,
html:has(#rush-root) .md-content__button,
html.rush-page .md-typeset > h1,
html:has(#rush-root) .md-typeset > h1,
html.rush-page .md-typeset > p,
html:has(#rush-root) .md-typeset > p {
  display: none !important;
}
html.rush-page .md-main,
html:has(#rush-root) .md-main,
html.rush-page .md-main__inner,
html:has(#rush-root) .md-main__inner,
html.rush-page .md-content,
html:has(#rush-root) .md-content,
html.rush-page .md-content__inner,
html:has(#rush-root) .md-content__inner,
html.rush-page .md-grid,
html:has(#rush-root) .md-grid {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.rush-root {
  --cyan: #00ffff;
  --mag: #ff00ff;
  --ink: #eef6ff;
  --dim: #8aa0b8;
  --gold: #ffd700;
  position: relative;
  width: 100%;
  min-height: 100dvh;
  height: 100dvh;
  background: #050510;
  color: var(--ink);
  font-family: "DM Sans", system-ui, sans-serif;
  overflow: hidden;
  user-select: none;
}
.rush-root canvas {
  display: block;
  width: 100%;
  height: 100%;
  background: #050510;
}
.rush-exit {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 6;
  color: var(--cyan);
  text-decoration: none;
  font: 700 12px "Barlow Condensed", sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.rush-exit:hover { color: var(--mag); }
.nr-hud, .nr-overlay { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.nr-top { position: absolute; top: 16px; left: 20px; right: 96px; display: flex; justify-content: space-between; gap: 12px; }
.nr-brand { font-family: "Barlow Condensed", sans-serif; letter-spacing: 0.32em; font-weight: 800; font-size: 14px; color: var(--cyan); }
.nr-sec { margin-top: 6px; color: var(--gold); font: 700 11px "Barlow Condensed", sans-serif; letter-spacing: 0.28em; }
.nr-stats { display: flex; gap: 18px; }
.nr-stat { text-align: right; }
.nr-stat b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 32px; line-height: 0.9; }
.nr-stat span { color: var(--dim); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; }
.nr-nitro { position: absolute; left: 20px; bottom: 28px; width: 220px; }
.nr-nitro i { display: block; height: 8px; background: #1a1a2e; border-radius: 4px; overflow: hidden; }
.nr-nitro i b { display: block; height: 100%; width: 40%; background: linear-gradient(90deg, var(--mag), var(--cyan)); }
.nr-nitro span { color: var(--dim); font-size: 10px; letter-spacing: 0.2em; }
.nr-progress { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: #1a1a2e; }
.nr-progress i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--cyan), var(--mag)); }
.nr-hint { position: absolute; bottom: 22px; left: 0; right: 0; text-align: center; color: var(--dim); font-size: 12px; letter-spacing: 0.1em; }
.nr-overlay { z-index: 4; display: flex; align-items: center; justify-content: center; background: radial-gradient(1000px 520px at 50% 18%, #142 0%, #050510e8 58%, #050510f5 100%); pointer-events: auto; }
.nr-overlay.hide { display: none; }
.nr-card { width: min(560px, 92vw); text-align: center; }
.nr-kicker { color: var(--cyan); letter-spacing: 0.4em; font-size: 12px; font-weight: 700; }
.rush-root h2 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(48px, 11vw, 100px); margin: 8px 0 8px; letter-spacing: 0.06em; line-height: 0.85; color: var(--ink); }
.nr-sub { color: var(--dim); margin: 0 0 26px; line-height: 1.55; }
.nr-btn { cursor: pointer; border: 0; background: var(--cyan); color: #041018; font-family: "Barlow Condensed", sans-serif; font-weight: 800; letter-spacing: 0.2em; font-size: 20px; padding: 14px 34px; min-height: 48px; pointer-events: auto; }
.nr-btn.ghost { background: transparent; color: var(--ink); border: 1px solid #3a4a66; margin-left: 8px; }
.nr-scores { display: flex; justify-content: center; gap: 26px; margin: 16px 0 24px; }
.nr-scores b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 34px; }
.nr-scores span { color: var(--dim); font-size: 11px; letter-spacing: 0.14em; }
.nr-pos { position: absolute; left: 20px; top: 108px; font-family: "Barlow Condensed", sans-serif; font-size: 42px; color: var(--mag); letter-spacing: 0.04em; }
.nr-touch { display: none; position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.nr-touch i { pointer-events: auto; position: absolute; bottom: 24px; height: 96px; border: 1px solid #00ffff33; color: #9cf; display: flex; align-items: center; justify-content: center; font: 700 13px "Barlow Condensed", sans-serif; letter-spacing: 0.18em; background: #05051055; }
.nr-touch .l { left: 3%; width: 18%; }
.nr-touch .r { left: 23%; width: 18%; }
.nr-touch .g { right: 22%; width: 22%; height: 110px; }
.nr-touch .n { right: 3%; width: 18%; color: var(--mag); border-color: #ff00ff44; }
@media (pointer: coarse) { .nr-touch { display: block; } .nr-hint { bottom: 150px; } .nr-nitro { bottom: 150px; } }
