:root {
  --br-bg: #f7fbff;
  --br-surface: rgba(255, 255, 255, 0.92);
  --br-surface-strong: #ffffff;
  --br-text: #172033;
  --br-muted: #66728a;
  --br-line: rgba(93, 118, 168, 0.22);
  --br-blue: #2563eb;
  --br-indigo: #4f46e5;
  --br-violet: #8b5cf6;
  --br-danger: #dc2626;
  --br-shadow: 0 18px 42px rgba(53, 72, 122, 0.16);
  --br-soft-shadow: 0 10px 26px rgba(79, 70, 229, 0.12);
  --br-radius: 8px;
  --br-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  background: var(--br-bg);
}

.brave-rats2-page {
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(255, 255, 255, 0) 42%),
    linear-gradient(315deg, rgba(139, 92, 246, 0.12), rgba(255, 255, 255, 0) 44%),
    var(--br-bg);
  color: var(--br-text);
  font-family: var(--br-font);
  text-transform: none;
}

.brave-rats2-page::before {
  display: none;
}

.brave-rats2-page a {
  color: var(--br-indigo);
  border-bottom: 0;
}

.brave-rats2-page a:hover,
.brave-rats2-page a:focus {
  background: transparent;
  color: var(--br-blue);
  outline: 2px solid rgba(37, 99, 235, 0.28);
  outline-offset: 3px;
}

.brave-rats2-page .page-shell {
  width: min(1120px, calc(100vw - 28px));
  margin: 22px auto 28px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.brave-rats2-page .console-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  min-height: 64px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid var(--br-line);
  border-radius: var(--br-radius);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--br-soft-shadow);
  color: var(--br-text);
  text-transform: none;
  backdrop-filter: blur(18px);
}

.brave-rats2-page .brand-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 40px;
  border-radius: var(--br-radius);
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(139, 92, 246, 0.1));
}

.brave-rats2-page .brand-link img {
  width: 64px;
  height: auto;
  filter: hue-rotate(178deg) saturate(1.35) brightness(0.9);
}

.brave-rats2-page .console-bar strong {
  justify-self: start;
  padding: 0;
  background: linear-gradient(90deg, var(--br-blue), var(--br-violet));
  color: transparent;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0;
  -webkit-background-clip: text;
  background-clip: text;
}

.brave-rats2-page .top-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 8px;
}

.brave-rats2-page .top-links a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid var(--br-line);
  border-radius: var(--br-radius);
  background: #ffffff;
  color: var(--br-text);
  font-size: 13px;
  font-weight: 700;
}

.brave-rats2-page .console-grid {
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 0;
}

.brave-rats2-page .panel {
  height: auto;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--br-line);
  border-radius: var(--br-radius);
  background: var(--br-surface);
  box-shadow: var(--br-shadow);
}

.brave-rats2-page .panel__header {
  min-height: 50px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--br-line);
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.08), rgba(139, 92, 246, 0.08));
  color: var(--br-text);
  text-transform: none;
}

.brave-rats2-page .panel__header span {
  width: 34px;
  height: 26px;
  border: 0;
  border-radius: var(--br-radius);
  background: linear-gradient(135deg, var(--br-blue), var(--br-violet));
  color: #ffffff;
  font-weight: 800;
}

.brave-rats2-page h1,
.brave-rats2-page h2 {
  color: var(--br-text);
  font-size: 18px;
  line-height: 1.25;
  text-transform: none;
  white-space: normal;
}

.brave-rats2-page .panel__body {
  padding: 16px;
  color: var(--br-text);
  overflow: visible;
}

.brave-rats2-page .hero-panel {
  background:
    linear-gradient(135deg, rgba(37, 99, 235, 0.1), rgba(139, 92, 246, 0.08)),
    var(--br-surface-strong);
}

.brave-rats2-page .brave-intro {
  display: grid;
  gap: 16px;
}

.brave-rats2-page .hero-copy {
  display: grid;
  gap: 8px;
}

.brave-rats2-page .slogan {
  color: var(--br-text);
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 850;
  line-height: 1.02;
  text-transform: none;
}

.brave-rats2-page .status-line,
.brave-rats2-page .mini-heading,
.brave-rats2-page .join-form label,
.brave-rats2-page .empty-state {
  color: var(--br-muted);
  font-size: 14px;
}

.brave-rats2-page .hero-card-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.brave-rats2-page .show-card {
  min-height: 116px;
  border-radius: var(--br-radius);
  padding: 14px;
  color: #ffffff;
  font-weight: 800;
  line-height: 1.25;
  box-shadow: 0 14px 30px rgba(79, 70, 229, 0.2);
}

.brave-rats2-page .show-card--blue {
  background: linear-gradient(145deg, #1d4ed8, #60a5fa);
}

.brave-rats2-page .show-card--violet {
  background: linear-gradient(145deg, #7c3aed, #c084fc);
}

.brave-rats2-page .show-card--indigo {
  background: linear-gradient(145deg, #4338ca, #8b5cf6);
}

.brave-rats2-page .guide-disclosure {
  border: 1px solid var(--br-line);
  border-radius: var(--br-radius);
  background: rgba(255, 255, 255, 0.78);
  overflow: hidden;
}

.brave-rats2-page .guide-disclosure summary {
  min-height: 48px;
  padding: 14px 16px;
  color: var(--br-text);
  cursor: pointer;
  font-weight: 800;
}

.brave-rats2-page .guide-disclosure summary:focus {
  outline: 2px solid rgba(37, 99, 235, 0.28);
  outline-offset: -2px;
}

.brave-rats2-page .guide-content {
  display: grid;
  gap: 16px;
  padding: 0 16px 16px;
}

.brave-rats2-page .guide-content section {
  display: grid;
  gap: 10px;
}

.brave-rats2-page .guide-content h2 {
  font-size: 15px;
}

.brave-rats2-page .guide-content ol,
.brave-rats2-page .guide-content ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
  color: var(--br-muted);
  line-height: 1.5;
}

.brave-rats2-page .card-rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
}

.brave-rats2-page .card-rules div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(93, 118, 168, 0.18);
  border-radius: var(--br-radius);
  background: #ffffff;
}

.brave-rats2-page .card-rules dt {
  color: var(--br-indigo);
  font-weight: 800;
  text-transform: none;
}

.brave-rats2-page .card-rules dd {
  color: var(--br-muted);
  line-height: 1.42;
}

.brave-rats2-page .join-form,
.brave-rats2-page .lobby-layout,
.brave-rats2-page .game-layout {
  gap: 14px;
}

.brave-rats2-page .join-form__row {
  grid-template-columns: minmax(0, 1fr) 150px;
}

.brave-rats2-page .join-form input,
.brave-rats2-page .join-form button,
.brave-rats2-page .brave-actions button,
.brave-rats2-page .lobby-player button,
.brave-rats2-page .rat-card {
  border-radius: var(--br-radius);
  font-family: var(--br-font);
  text-transform: none;
}

.brave-rats2-page .join-form input {
  min-height: 46px;
  border: 1px solid var(--br-line);
  background: #ffffff;
  color: var(--br-text);
  padding: 10px 12px;
}

.brave-rats2-page .join-form input::placeholder {
  color: #98a2b8;
}

.brave-rats2-page .join-form button,
.brave-rats2-page .brave-actions button,
.brave-rats2-page .lobby-player button {
  min-height: 44px;
  border: 0;
  background: linear-gradient(135deg, var(--br-blue), var(--br-violet));
  color: #ffffff;
  cursor: pointer;
  font-weight: 800;
  box-shadow: 0 10px 18px rgba(79, 70, 229, 0.18);
}

.brave-rats2-page .brave-actions {
  gap: 10px;
}

.brave-rats2-page .join-form button:hover,
.brave-rats2-page .join-form button:focus,
.brave-rats2-page .brave-actions button:hover,
.brave-rats2-page .brave-actions button:focus,
.brave-rats2-page .lobby-player button:hover,
.brave-rats2-page .lobby-player button:focus {
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #ffffff;
  outline: 2px solid rgba(37, 99, 235, 0.3);
  outline-offset: 2px;
}

.brave-rats2-page .lobby-player {
  grid-template-columns: minmax(0, 1fr) 150px;
  border: 1px solid var(--br-line);
  border-radius: var(--br-radius);
  background: #ffffff;
}

.brave-rats2-page .lobby-player span {
  color: var(--br-muted);
}

.brave-rats2-page .score-board {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.brave-rats2-page .score-board div,
.brave-rats2-page .played-card {
  border: 1px solid var(--br-line);
  border-radius: var(--br-radius);
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(53, 72, 122, 0.08);
}

.brave-rats2-page .score-board span,
.brave-rats2-page .played-card span {
  color: var(--br-muted);
  font-size: 13px;
}

.brave-rats2-page .score-board strong {
  color: var(--br-indigo);
  font-size: 30px;
}

.brave-rats2-page .round-status {
  border: 1px solid rgba(79, 70, 229, 0.2);
  border-left: 5px solid var(--br-violet);
  border-radius: var(--br-radius);
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.08), rgba(139, 92, 246, 0.05));
}

.brave-rats2-page .choice-row {
  gap: 10px;
}

.brave-rats2-page .played-card {
  min-height: 104px;
  padding: 12px;
}

.brave-rats2-page .played-card strong {
  color: var(--br-text);
  font-size: 17px;
}

.brave-rats2-page .played-card p {
  color: var(--br-muted);
  font-size: 13px;
}

.brave-rats2-page .hand-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.brave-rats2-page .rat-card {
  min-height: 150px;
  border: 1px solid var(--br-line);
  background: linear-gradient(180deg, #ffffff, #f7f9ff);
  color: var(--br-text);
  box-shadow: 0 8px 18px rgba(53, 72, 122, 0.08);
}

.brave-rats2-page .rat-card:hover,
.brave-rats2-page .rat-card:focus {
  border-color: rgba(79, 70, 229, 0.44);
  background: linear-gradient(180deg, #ffffff, #eef3ff);
  color: var(--br-text);
  outline: 2px solid rgba(37, 99, 235, 0.22);
  outline-offset: 2px;
  transform: translateY(-1px);
}

.brave-rats2-page .rat-card:disabled {
  transform: none;
}

.brave-rats2-page .rat-card--revealed-pick {
  border-style: solid;
  background: linear-gradient(180deg, rgba(139, 92, 246, 0.12), #ffffff);
}

.brave-rats2-page .rat-card__number {
  width: 34px;
  height: 28px;
  border: 0;
  border-radius: var(--br-radius);
  background: linear-gradient(135deg, var(--br-blue), var(--br-violet));
  color: #ffffff;
  font-weight: 900;
}

.brave-rats2-page .rat-card strong {
  color: var(--br-text);
  font-size: 15px;
}

.brave-rats2-page .rat-card p,
.brave-rats2-page .rat-card:hover p,
.brave-rats2-page .rat-card:focus p {
  color: var(--br-muted);
  font-size: 13px;
}

.brave-rats2-page .round-log {
  gap: 8px;
  border-top: 1px solid var(--br-line);
  color: var(--br-muted);
  font-size: 13px;
}

.brave-rats2-page .system-message {
  min-height: 42px;
  margin-top: 12px;
  padding: 10px 2px;
  color: var(--br-muted);
  font-size: 14px;
  text-transform: none;
}

.brave-rats2-page .system-message[data-state="error"] {
  color: var(--br-danger);
}

@media (max-width: 900px) {
  .brave-rats2-page .page-shell {
    width: min(100% - 20px, 560px);
    margin: 10px auto 18px;
  }

  .brave-rats2-page .console-bar {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .brave-rats2-page .top-links {
    justify-content: start;
  }

  .brave-rats2-page .hero-card-strip,
  .brave-rats2-page .card-rules,
  .brave-rats2-page .join-form__row,
  .brave-rats2-page .lobby-player,
  .brave-rats2-page .choice-row {
    grid-template-columns: 1fr;
  }

  .brave-rats2-page .card-rules div {
    grid-template-columns: 1fr;
  }

  .brave-rats2-page .score-board {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .brave-rats2-page .hand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 430px) {
  .brave-rats2-page .panel__body {
    padding: 12px;
  }

  .brave-rats2-page .score-board {
    grid-template-columns: 1fr;
  }

  .brave-rats2-page .hand-grid {
    grid-template-columns: 1fr;
  }
}
