/*
  Rolling Championship — Bootstrap Theme Override
  ------------------------------------------------
  Import this file AFTER Bootstrap.

  Suggested usage:
  <link rel="stylesheet" href="bootstrap.min.css">
  <link rel="stylesheet" href="rolling-championship.theme.css">

  Design reference elements mapped in comments:
  - Foundations panel: global colors, typography, body background
  - Components panel: navbar, hero/banner, buttons
  - Cards panel: prize cards, player/info/registration cards
  - Forms panel: inputs, selects, checkbox, validation, focus states
  - Leaderboard panel: tables, rank rows, score/status badges
  - Age Gate panel: modal/dialog style
  - Mascots/Icons panel: stickers, icon chips, decorative elements
*/

:root,
[data-bs-theme="rolling-championship"] {
  /* Foundations > Color Palette */
  --rc-neon-pink: #f540b2;
  --rc-toxic-green: #50e62f;
  --rc-deep-black: #1a1a1a;
  --rc-smoke-white: #f0f0f0;
  --rc-fire-yellow: #ffd700;
  --rc-flame-orange: #ff6600;
  --rc-night-blue: #083c50;
  --rc-graffiti-purple: #800080;

  /* Extended theme tokens */
  --rc-panel: #f4faee;
  --rc-panel-warm: #c78955;
  --rc-panel-pink: #ff77bf;
  --rc-panel-yellow: #f1c33c;
  --rc-panel-green: #2f7d39;
  --rc-ink: #101010;
  --rc-muted: #60625c;
  --rc-line: #101010;
  --rc-success: #50e62f;
  --rc-warning: #ffd700;
  --rc-danger: #ff5a4f;
  --rc-radius-sm: 0.55rem;
  --rc-radius: 0.85rem;
  --rc-radius-lg: 1.25rem;
  --rc-radius-pill: 999px;
  --rc-border: 3px solid var(--rc-line);
  --rc-border-thin: 2px solid var(--rc-line);
  --rc-shadow: 0 5px 0 var(--rc-line);
  --rc-shadow-lg: 0 10px 0 var(--rc-line), 0 18px 32px rgba(0, 0, 0, 0.35);
  --rc-shadow-soft: 0 7px 18px rgba(0, 0, 0, 0.35);
  --rc-text-shadow: 3px 3px 0 var(--rc-line), -1px -1px 0 var(--rc-line), 1px -1px 0 var(--rc-line), -1px 1px 0 var(--rc-line);

  /* Bootstrap variable overrides */
  --bs-body-bg: var(--rc-night-blue);
  --bs-body-color: var(--rc-ink);
  --bs-primary: var(--rc-toxic-green);
  --bs-secondary: var(--rc-neon-pink);
  --bs-success: var(--rc-toxic-green);
  --bs-warning: var(--rc-fire-yellow);
  --bs-danger: var(--rc-danger);
  --bs-dark: var(--rc-deep-black);
  --bs-light: var(--rc-smoke-white);
  --bs-border-color: var(--rc-line);
  --bs-border-radius: var(--rc-radius);
  --bs-border-radius-lg: var(--rc-radius-lg);
  --bs-border-radius-sm: var(--rc-radius-sm);
  --bs-link-color: var(--rc-toxic-green);
  --bs-link-hover-color: var(--rc-neon-pink);
  --bs-focus-ring-color: rgba(245, 64, 178, 0.35);
  --bs-font-sans-serif: Impact, "Arial Black", "Trebuchet MS", system-ui, sans-serif;
}

/* Foundations > Body background: graffiti + night city atmosphere */
html {
  min-height: 100%;
  background: var(--rc-night-blue);
}

body {
  min-height: 100%;
  color: var(--rc-ink);
  background:
    radial-gradient(circle at 12% 15%, rgba(245, 64, 178, 0.35) 0 7%, transparent 8%),
    radial-gradient(circle at 82% 12%, rgba(80, 230, 47, 0.26) 0 8%, transparent 9%),
    linear-gradient(180deg, #163145 0%, var(--rc-night-blue) 42%, #08091c 100%);
  letter-spacing: 0.01em;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.32;
  background:
    repeating-linear-gradient(120deg, transparent 0 34px, rgba(245, 64, 178, 0.45) 35px 39px, transparent 40px 70px),
    repeating-linear-gradient(30deg, transparent 0 44px, rgba(80, 230, 47, 0.34) 45px 50px, transparent 51px 92px);
}

body::after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 110px;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.88), transparent 70%),
    repeating-linear-gradient(90deg, #070707 0 28px, transparent 29px 45px, #070707 46px 68px, transparent 69px 95px);
  border-top: 3px solid rgba(255, 255, 255, 0.08);
}

/* Foundations > Typography */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.navbar-brand,
.btn,
.badge,
.card-title,
.modal-title,
.form-label,
.table thead th {
  font-family: Impact, "Arial Black", "Trebuchet MS", system-ui, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

h1, .display-1, .display-2, .rc-title {
  color: #fff;
  text-shadow: var(--rc-text-shadow);
  line-height: 0.95;
}

h2, h3, .rc-section-title {
  color: #fff;
  text-shadow: 2px 2px 0 var(--rc-line), -1px -1px 0 var(--rc-line), 1px -1px 0 var(--rc-line), -1px 1px 0 var(--rc-line);
}

p, .lead, .text-body-secondary {
  font-family: "Trebuchet MS", Arial, system-ui, sans-serif;
}

.text-muted, .text-body-secondary {
  color: var(--rc-muted) !important;
}

/* Sections > white UI kit panels */
section,
.rc-section,
.container.rc-panel,
.container-fluid.rc-panel {
  position: relative;
}

.rc-panel,
.card,
.list-group,
.dropdown-menu,
.accordion-item,
.toast,
.offcanvas,
.modal-content {
  background: var(--rc-panel);
  border: var(--rc-border);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-shadow);
}

.rc-panel {
  padding: 1.25rem;
  overflow: hidden;
}

.rc-panel-title,
.card-header,
.modal-header,
.offcanvas-header {
  color: #fff;
  background: var(--rc-deep-black);
  border-bottom: var(--rc-border-thin);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.card-header:first-child {
  border-radius: calc(var(--rc-radius) - 3px) calc(var(--rc-radius) - 3px) 0 0;
}

/* Components > Header / Navbar */
.navbar,
.rc-navbar {
  background: var(--rc-deep-black) !important;
  border: var(--rc-border);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-shadow);
  padding: 0.5rem 0.75rem;
}

.navbar-brand {
  color: #fff !important;
  text-shadow: 2px 2px 0 var(--rc-line);
  line-height: 1;
}

.navbar .nav-link,
.rc-navbar .nav-link {
  color: #fff !important;
  border-radius: var(--rc-radius-pill);
  padding: 0.35rem 0.7rem;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 0.85rem;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active,
.rc-navbar .nav-link:hover,
.rc-navbar .nav-link:focus,
.rc-navbar .nav-link.active {
  color: var(--rc-deep-black) !important;
  background: var(--rc-toxic-green);
  box-shadow: 0 3px 0 #000;
}

.navbar-toggler {
  background: var(--rc-neon-pink);
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius-sm);
  box-shadow: 0 3px 0 #000;
}

/* Components > Hero Section / large smoky championship banner */
.hero,
.jumbotron,
.rc-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(ellipse at center, rgba(17, 126, 54, 0.92) 0 32%, rgba(17, 126, 54, 0.36) 33% 45%, transparent 46%),
    linear-gradient(180deg, var(--rc-neon-pink) 0%, #ec168e 55%, #101010 56% 100%);
  border: var(--rc-border);
  border-radius: var(--rc-radius-lg);
  box-shadow: var(--rc-shadow-lg);
  padding: clamp(2.5rem, 7vw, 6rem) 1.5rem;
  text-align: center;
}

.rc-hero::before,
.hero::before,
.jumbotron::before {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: 0;
  height: 34%;
  background:
    linear-gradient(to top, #050505 0 46%, transparent 47%),
    repeating-linear-gradient(90deg, #050505 0 32px, transparent 33px 56px, #050505 57px 82px, transparent 83px 118px);
  opacity: 0.95;
}

.rc-hero::after,
.hero::after,
.jumbotron::after {
  content: "";
  position: absolute;
  inset: auto -2rem -1.7rem -2rem;
  height: 4.5rem;
  background:
    radial-gradient(circle at 5% 55%, var(--rc-smoke-white) 0 32px, transparent 33px),
    radial-gradient(circle at 15% 35%, var(--rc-smoke-white) 0 40px, transparent 41px),
    radial-gradient(circle at 28% 62%, var(--rc-smoke-white) 0 34px, transparent 35px),
    radial-gradient(circle at 62% 50%, var(--rc-smoke-white) 0 38px, transparent 39px),
    radial-gradient(circle at 82% 35%, var(--rc-smoke-white) 0 42px, transparent 43px),
    radial-gradient(circle at 96% 58%, var(--rc-smoke-white) 0 34px, transparent 35px);
  filter: drop-shadow(0 -3px 0 #2c2c1f);
}

.rc-hero > *, .hero > *, .jumbotron > * {
  position: relative;
  z-index: 1;
}

/* Components > Buttons */
.btn {
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius-pill);
  box-shadow: 0 4px 0 #000;
  font-weight: 900;
  text-transform: uppercase;
  transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease, background-color 120ms ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 0 #000;
  filter: saturate(1.16) contrast(1.05);
}

.btn:active,
.btn.active,
.show > .btn.dropdown-toggle {
  transform: translateY(3px);
  box-shadow: 0 1px 0 #000 !important;
}

.btn:focus-visible,
.btn-close:focus,
.nav-link:focus-visible,
.dropdown-item:focus-visible {
  outline: 3px solid var(--rc-fire-yellow);
  outline-offset: 3px;
  box-shadow: 0 4px 0 #000, 0 0 0 0.25rem rgba(245, 64, 178, 0.35);
}

/* Button element: Primary / “Join Now” */
.btn-primary,
.rc-btn-join,
.btn-join-now {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--rc-toxic-green);
  --bs-btn-border-color: var(--rc-line);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3bd823;
  --bs-btn-hover-border-color: var(--rc-line);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #2dbb1d;
  --bs-btn-active-border-color: var(--rc-line);
  color: #fff !important;
  background: linear-gradient(#6cf64f, var(--rc-toxic-green) 55%, #24991f) !important;
  text-shadow: 1px 1px 0 #000;
}

/* Button element: Secondary / “Register” */
.btn-secondary,
.rc-btn-register,
.btn-register {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--rc-neon-pink);
  --bs-btn-border-color: var(--rc-line);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ff62bf;
  --bs-btn-hover-border-color: var(--rc-line);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #c91b86;
  --bs-btn-active-border-color: var(--rc-line);
  background: linear-gradient(#ff78c5, var(--rc-neon-pink) 60%, #b41676) !important;
  text-shadow: 1px 1px 0 #000;
}

/* Button element: Warning / Fire / “Claim Prize” */
.btn-warning,
.rc-btn-claim,
.btn-claim-prize {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--rc-flame-orange);
  --bs-btn-border-color: var(--rc-line);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #ff821f;
  --bs-btn-hover-border-color: var(--rc-line);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #d95100;
  --bs-btn-active-border-color: var(--rc-line);
  background: linear-gradient(90deg, var(--rc-fire-yellow), var(--rc-flame-orange) 45%, #d94100) !important;
  color: #fff !important;
  text-shadow: 1px 1px 0 #000;
}

.btn-outline-primary,
.rc-btn-outline {
  color: #fff;
  background: var(--rc-deep-black);
  border: var(--rc-border-thin);
  box-shadow: 0 4px 0 #000;
}

.btn-outline-primary:hover,
.rc-btn-outline:hover {
  color: #000;
  background: var(--rc-fire-yellow);
}

.btn-light,
.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
  color: #fff !important;
  background: linear-gradient(#d7d9d1, #9ea29c) !important;
  border-color: #666 !important;
  opacity: 1;
  box-shadow: 0 3px 0 #505050;
  text-shadow: 1px 1px 0 #555;
}

/* Forms panel > Name, Email, Age Confirmation, Category */
.form-label {
  color: var(--rc-ink);
  font-weight: 900;
  margin-bottom: 0.25rem;
}

.form-control,
.form-select,
.input-group-text {
  background-color: #fff;
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius-pill);
  color: var(--rc-ink);
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08);
  font-family: "Trebuchet MS", Arial, system-ui, sans-serif;
}

.form-control::placeholder {
  color: #7a7a7a;
  opacity: 1;
}

.form-control:hover,
.form-select:hover {
  border-color: var(--rc-toxic-green);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--rc-fire-yellow);
  box-shadow: 0 0 0 0.22rem rgba(255, 215, 0, 0.45), inset 0 -2px 0 rgba(0, 0, 0, 0.08);
}

.form-control.is-valid,
.was-validated .form-control:valid,
.form-select.is-valid,
.was-validated .form-select:valid {
  border-color: var(--rc-toxic-green);
  box-shadow: 0 0 0 0.18rem rgba(80, 230, 47, 0.22);
}

.form-control.is-invalid,
.was-validated .form-control:invalid,
.form-select.is-invalid,
.was-validated .form-select:invalid {
  border-color: var(--rc-danger);
  box-shadow: 0 0 0 0.18rem rgba(255, 90, 79, 0.22);
}

.valid-feedback {
  color: #167a16;
  font-weight: 900;
}

.invalid-feedback {
  color: #bf1d15;
  font-weight: 900;
}

.form-check-input {
  border: var(--rc-border-thin);
  box-shadow: 0 2px 0 #000;
}

.form-check-input:checked {
  background-color: var(--rc-toxic-green);
  border-color: var(--rc-line);
}

.form-check-input:focus {
  border-color: var(--rc-fire-yellow);
  box-shadow: 0 0 0 0.22rem rgba(255, 215, 0, 0.35);
}

/* Cards panel > Generic cards */
.card {
  overflow: hidden;
}

.card-title {
  color: #fff;
  text-shadow: 2px 2px 0 var(--rc-line), -1px -1px 0 var(--rc-line), 1px -1px 0 var(--rc-line), -1px 1px 0 var(--rc-line);
}

.card-body {
  position: relative;
}

.card:hover {
  transform: translateY(-2px) rotate(-0.2deg);
  box-shadow: 0 7px 0 var(--rc-line), 0 14px 24px rgba(0, 0, 0, 0.25);
}

/* Cards panel > 1st, 2nd, 3rd prize cards */
.rc-prize-card,
.card-prize,
.card-first-place,
.card-second-place,
.card-third-place {
  min-height: 180px;
  border: var(--rc-border);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-shadow);
  transform-origin: center;
}

.rc-prize-card::before,
.card-prize::before,
.card-first-place::before,
.card-second-place::before,
.card-third-place::before {
  content: "";
  position: absolute;
  inset: -10px 10% auto 10%;
  height: 58px;
  z-index: 0;
  background:
    radial-gradient(ellipse at 20% 85%, var(--rc-flame-orange) 0 18px, transparent 19px),
    radial-gradient(ellipse at 50% 75%, var(--rc-fire-yellow) 0 22px, transparent 23px),
    radial-gradient(ellipse at 80% 85%, var(--rc-flame-orange) 0 18px, transparent 19px);
  filter: drop-shadow(0 3px 0 #000);
}

.rc-prize-card > *,
.card-prize > *,
.card-first-place > *,
.card-second-place > *,
.card-third-place > * {
  position: relative;
  z-index: 1;
}

.card-first-place,
.rc-prize-first {
  background: linear-gradient(160deg, #ffd94d, #d88c1f) !important;
  transform: rotate(-2deg);
}

.card-second-place,
.rc-prize-second {
  background: linear-gradient(160deg, #d7e5e1, #79a7a4) !important;
}

.card-third-place,
.rc-prize-third {
  background: linear-gradient(160deg, #d69a69, #a85d38) !important;
  transform: rotate(2deg);
}

/* Cards panel > Player card, contest info card, registration card */
.rc-player-card,
.card-player {
  background: linear-gradient(180deg, #ef9f9a, #c6784a) !important;
}

.rc-info-card,
.card-contest-info {
  background: linear-gradient(180deg, #bd8658, #a5653e) !important;
}

.rc-registration-card,
.card-registration {
  background: linear-gradient(180deg, #f5f0ec, #f5a0cf 70%) !important;
}

/* Badges & labels */
.badge,
.rc-badge {
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius-pill);
  box-shadow: 0 3px 0 #000;
  text-shadow: 1px 1px 0 #000;
  padding: 0.45em 0.75em;
}

.badge.text-bg-primary,
.rc-badge-live {
  background: var(--rc-toxic-green) !important;
  color: #fff !important;
}

.badge.text-bg-secondary,
.rc-badge-new {
  background: var(--rc-neon-pink) !important;
  color: #fff !important;
}

.badge.text-bg-warning,
.rc-badge-prize {
  background: var(--rc-fire-yellow) !important;
  color: #fff !important;
}

.badge.text-bg-dark,
.rc-badge-age {
  background: var(--rc-deep-black) !important;
  color: #fff !important;
}

/* Icons panel > sticker/icon chips */
.rc-icon,
.icon-chip,
.btn-icon {
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  color: var(--rc-ink);
  background: var(--rc-fire-yellow);
  border: var(--rc-border-thin);
  border-radius: 0.75rem;
  box-shadow: 0 4px 0 #000;
}

.rc-icon.round,
.icon-chip.round {
  border-radius: 50%;
}

.rc-icon.pink,
.icon-chip.pink { background: var(--rc-neon-pink); }
.rc-icon.green,
.icon-chip.green { background: var(--rc-toxic-green); }
.rc-icon.purple,
.icon-chip.purple { background: var(--rc-graffiti-purple); color: #fff; }
.rc-icon.white,
.icon-chip.white { background: var(--rc-smoke-white); }

/* Leaderboard panel > table and ranking rows */
.table,
.rc-leaderboard {
  --bs-table-bg: var(--rc-panel);
  --bs-table-color: var(--rc-ink);
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius);
  overflow: hidden;
  box-shadow: var(--rc-shadow);
}

.table thead,
.rc-leaderboard thead {
  color: #fff;
  background: var(--rc-deep-black);
}

.table thead th,
.rc-leaderboard thead th {
  border-bottom: var(--rc-border-thin);
  color: #fff;
}

.table tbody tr,
.rc-leaderboard tbody tr {
  border-bottom: 2px solid rgba(0, 0, 0, 0.3);
}

.table tbody tr:hover,
.rc-leaderboard tbody tr:hover {
  filter: brightness(1.03) saturate(1.06);
  transform: scale(1.005);
}

.rc-rank-1,
.table tbody tr:nth-child(1) {
  --bs-table-bg: var(--rc-neon-pink);
}

.rc-rank-2,
.table tbody tr:nth-child(2) {
  --bs-table-bg: var(--rc-fire-yellow);
}

.rc-rank-3,
.table tbody tr:nth-child(3) {
  --bs-table-bg: #6fb45c;
}

.rc-rank-dot,
.avatar,
.rounded-circle.avatar {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: #49663c;
  border: 2px solid #000;
  border-radius: 50%;
}

/* Age Gate panel > modal/dialog */
.modal-content.rc-age-gate,
.rc-age-gate,
.age-gate-modal .modal-content {
  background: var(--rc-smoke-white);
  border: var(--rc-border);
  border-radius: 1.4rem;
  box-shadow: var(--rc-shadow-lg);
  overflow: visible;
}

.rc-age-gate::before,
.age-gate-modal .modal-content::before {
  content: "";
  position: absolute;
  inset: -1.1rem;
  z-index: -1;
  background:
    radial-gradient(circle at 8% 45%, var(--rc-smoke-white) 0 24px, transparent 25px),
    radial-gradient(circle at 20% 20%, var(--rc-smoke-white) 0 32px, transparent 33px),
    radial-gradient(circle at 42% 5%, var(--rc-smoke-white) 0 28px, transparent 29px),
    radial-gradient(circle at 68% 15%, var(--rc-smoke-white) 0 31px, transparent 32px),
    radial-gradient(circle at 88% 45%, var(--rc-smoke-white) 0 26px, transparent 27px),
    radial-gradient(circle at 50% 90%, var(--rc-smoke-white) 0 34px, transparent 35px);
  filter: drop-shadow(0 3px 0 #2a2a18);
}

.modal-backdrop.show {
  opacity: 0.78;
}

/* Dropdowns, lists, tabs, pagination */
.dropdown-menu {
  padding: 0.45rem;
}

.dropdown-item {
  border-radius: var(--rc-radius-sm);
  font-weight: 800;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
  color: #fff;
  background: var(--rc-neon-pink);
}

.nav-tabs {
  border-bottom: var(--rc-border-thin);
}

.nav-tabs .nav-link {
  color: #fff;
  background: var(--rc-deep-black);
  border: var(--rc-border-thin);
  border-bottom: 0;
  border-radius: var(--rc-radius-sm) var(--rc-radius-sm) 0 0;
  margin-right: 0.25rem;
  text-transform: uppercase;
  font-weight: 900;
}

.nav-tabs .nav-link.active {
  color: #000;
  background: var(--rc-toxic-green);
}

.page-link {
  color: #fff;
  background: var(--rc-deep-black);
  border: var(--rc-border-thin);
  box-shadow: 0 3px 0 #000;
  margin: 0 0.15rem;
  border-radius: var(--rc-radius-sm) !important;
}

.page-link:hover,
.active > .page-link {
  color: #000;
  background: var(--rc-fire-yellow);
  border-color: #000;
}

/* Alerts */
.alert {
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-shadow);
  font-weight: 800;
}

.alert-primary { color: #fff; background: var(--rc-toxic-green); }
.alert-secondary { color: #fff; background: var(--rc-neon-pink); }
.alert-warning { color: #000; background: var(--rc-fire-yellow); }
.alert-danger { color: #fff; background: var(--rc-danger); }
.alert-dark { color: #fff; background: var(--rc-deep-black); }

/* Progress bars */
.progress {
  height: 1.2rem;
  background: #fff;
  border: var(--rc-border-thin);
  border-radius: var(--rc-radius-pill);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,0.18);
}

.progress-bar {
  color: #fff;
  background: linear-gradient(90deg, var(--rc-toxic-green), var(--rc-neon-pink));
  text-shadow: 1px 1px 0 #000;
  font-weight: 900;
}

/* Smoke divider / decorative section line */
.rc-smoke-divider {
  position: relative;
  min-height: 4rem;
}

.rc-smoke-divider::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 6% 55%, var(--rc-smoke-white) 0 25px, transparent 26px),
    radial-gradient(circle at 16% 35%, var(--rc-smoke-white) 0 34px, transparent 35px),
    radial-gradient(circle at 31% 60%, var(--rc-smoke-white) 0 28px, transparent 29px),
    radial-gradient(circle at 58% 55%, var(--rc-smoke-white) 0 30px, transparent 31px),
    radial-gradient(circle at 76% 35%, var(--rc-smoke-white) 0 34px, transparent 35px),
    radial-gradient(circle at 94% 58%, var(--rc-smoke-white) 0 26px, transparent 27px);
  filter: drop-shadow(0 3px 0 #2a2a18);
}

/* Utility classes for exact UI kit mapping */
.rc-bg-pink { background-color: var(--rc-neon-pink) !important; }
.rc-bg-green { background-color: var(--rc-toxic-green) !important; }
.rc-bg-black { background-color: var(--rc-deep-black) !important; color: #fff !important; }
.rc-bg-white { background-color: var(--rc-smoke-white) !important; }
.rc-bg-yellow { background-color: var(--rc-fire-yellow) !important; }
.rc-bg-orange { background-color: var(--rc-flame-orange) !important; }
.rc-bg-blue { background-color: var(--rc-night-blue) !important; color: #fff !important; }
.rc-bg-purple { background-color: var(--rc-graffiti-purple) !important; color: #fff !important; }
.rc-outline { border: var(--rc-border) !important; }
.rc-outline-thin { border: var(--rc-border-thin) !important; }
.rc-shadow { box-shadow: var(--rc-shadow) !important; }
.rc-shadow-lg { box-shadow: var(--rc-shadow-lg) !important; }
.rc-rounded { border-radius: var(--rc-radius) !important; }
.rc-rounded-lg { border-radius: var(--rc-radius-lg) !important; }
.rc-pill { border-radius: var(--rc-radius-pill) !important; }
.rc-text-stroke { color: #fff; text-shadow: var(--rc-text-shadow); }

/* Mobile tuning */
@media (max-width: 768px) {
  .navbar,
  .rc-navbar,
  .rc-panel,
  .card,
  .modal-content {
    border-width: 2px;
    box-shadow: 0 4px 0 #000;
  }

  .rc-hero,
  .hero,
  .jumbotron {
    padding: 3rem 1rem;
  }

  h1, .display-1, .display-2, .rc-title {
    letter-spacing: 0.025em;
  }

  .btn {
    width: auto;
    min-height: 2.6rem;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
