.rivals-main {
  max-width: 1000px;
  margin: 40px auto;
  padding: 0 24px 60px;
  color: #e9eedc;
}
.rivals-main h1 {
  font-size: clamp(38px, 7vw, 72px);
  line-height: 1;
  margin: 18px 0;
}
.rivals-main em {
  color: #c3f766;
  font-style: normal;
}
.rivals-main p {
  line-height: 1.7;
  color: #bdcbb5;
}
.rivals-main section {
  margin: 32px 0;
  padding: 24px;
  border: 1px solid #40543a;
  background: #162016;
}
.rival-settings {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.rival-settings label {
  display: grid;
  align-content: start;
  gap: 12px;
}
.rival-settings small {
  line-height: 1.5;
  color: #bdcbb5;
}
.rivals-main select {
  max-width: 100%;
  background: #101910;
  color: #e9eedc;
  border: 1px solid #526640;
  padding: 12px;
  font: inherit;
}
.rival-heading,
.rival-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.rival-row {
  padding: 18px 0;
  border-top: 1px solid #364632;
  flex-wrap: wrap;
}
.rival-row strong {
  display: block;
}
.rival-row small {
  display: block;
  color: #bdcbb5;
  margin-top: 6px;
}
.rival-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.rival-actions button,
.rival-actions a {
  min-height: 44px;
}
.rivals-main summary {
  cursor: pointer;
  color: #c3f766;
}
.rivals-main [hidden] {
  display: none !important;
}
.rivals-main button:disabled {
  opacity: 0.5;
  cursor: wait;
}
.rivals-main :focus-visible {
  outline: 2px solid #c3f766;
  outline-offset: 3px;
}
@media (max-width: 600px) {
  .rivals-main {
    padding: 0 16px 40px;
    margin-top: 24px;
  }
  .rivals-main section {
    padding: 18px;
  }
  .rival-settings {
    grid-template-columns: 1fr;
  }
  .rival-actions {
    width: 100%;
  }
  .rival-actions > .btn {
    flex: 1;
  }
  .rival-row {
    align-items: flex-start;
  }
}

.rivals-main h1 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.rival-row > div:first-child { min-width: 0; flex: 1 1 220px; overflow-wrap: anywhere; }
.rival-row[data-online="true"] small::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #c3f766; box-shadow: 0 0 8px #c3f76655; }
.rival-actions .rival-options { padding: 12px 14px; background: transparent; color: #bdcbb5; border-color: transparent; }
.rival-dialog { box-sizing: border-box; width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 28px; border: 1px solid #678347; background: #162016; color: #e9eedc; box-shadow: 0 20px 80px #0009; }
.rival-dialog::backdrop { background: #050b08cc; }
.rival-dialog h2 { margin: 0 0 12px; overflow-wrap: anywhere; }
.rival-dialog p { color: #bdcbb5; line-height: 1.6; }
.rival-dialog label { display: grid; gap: 12px; margin-top: 28px; }
.rival-dialog select { width: 100%; background: #101910; color: #e9eedc; border: 1px solid #526640; padding: 12px; font: inherit; }
.rival-dialog .btn { width: 100%; margin-top: 12px; min-height: 44px; }
.rival-dialog :focus-visible { outline: 2px solid #c3f766; outline-offset: 3px; }
.rivals-main button:disabled { cursor: not-allowed; }
/* Player lobby: modes first, invitations together, settings out of the way. */
.rivals-main{max-width:1240px;margin:28px auto;padding:0 28px 60px}
.rival-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 40px;background:linear-gradient(100deg,#102019ed,#13231999),url('/rad/tcg/graveyard.webp') center 45%/cover;border:1px solid #52653c}
.rival-hero h1{font-size:clamp(38px,6vw,72px);margin:12px 0 16px}.rival-hero p{margin:0;max-width:540px}.rival-hero .micro{color:#c3f766;font-size:10px;letter-spacing:2px}
.lobby-art .menu-mascot{width:100px;height:100px;transform:rotate(-7deg)}
.rival-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:18px}
.rival-mode{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px 18px;text-decoration:none;padding:24px;background:#1b291c;border:1px solid #536541;color:#edf3df;transition:background .2s,border-color .2s}
.rival-mode:hover{background:#243721;border-color:#c3f766}.rival-mode>span:first-child{grid-row:1/3}.rival-mode .menu-mascot{width:52px;height:52px}.rival-mode>span:nth-child(2){display:grid;gap:9px}.rival-mode small{font:9px monospace;letter-spacing:1px;color:#c3f766}.rival-mode strong{font:900 25px/1.1 Arial;letter-spacing:-.8px}.rival-mode span span{font-size:13px;color:#bbc9b1;line-height:1.5}.rival-mode>b{grid-column:2;font:800 11px Arial;color:#c3f766;padding-top:5px}.team-mode{background:#211d2a;border-color:#625171}.team-mode small,.team-mode>b{color:#d0a7f3}.team-mode:hover{background:#2d233b;border-color:#bf92ef}
#rivalNotice:empty{display:none}#rivalNotice{margin:16px 0;font-size:13px}
.rivals-main section{margin:0;padding:24px}.rivals-main h2{font:800 17px/1.35 Arial;letter-spacing:.2px;margin:0}.rivals-main section>p{font-size:13px;margin:12px 0 20px}
.rivals-main .rival-settings{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px;margin:20px 0;background:#172318}.rival-settings .micro{font:9px monospace;letter-spacing:1.5px;margin:0 0 9px;color:#c3f766}.rival-settings h2{font-size:20px}.rival-settings p{font-size:13px;margin:7px 0 0}.rival-settings>.btn{min-width:210px;min-height:52px}.rival-settings .invite-settings{grid-column:1/-1;border-top:1px solid #3b4d32;padding-top:14px}.invite-settings summary,.blocked-settings summary{font:700 10px monospace;letter-spacing:1px;min-height:24px}.invite-settings label{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:630px;margin:14px 0;font-size:13px}.invite-settings small{display:block;font-size:12px;max-width:630px}
.rival-lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.rival-lobby-grid>section:first-child{grid-column:1/-1}.rival-heading{gap:12px;flex-wrap:wrap}.rival-heading .btn{min-height:40px;padding:10px 16px;font-size:10px}.lobby-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;margin-left:5px;border:1px solid #4e613c;color:#c3f766;font:12px monospace}.lobby-live{font:9px monospace;color:#c3f766;letter-spacing:.5px}
.rival-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px 12px;padding:18px 0}.rival-monogram{display:grid;place-items:center;width:38px;height:42px;border:1px solid #89739e;background:#30243c;color:#e3c8ff;font:800 19px Arial;border-radius:10px 10px 3px 3px}.rival-row>div{min-width:0}.rival-row strong{font-size:15px;overflow-wrap:anywhere}.rival-row small{font-size:11px;line-height:1.6}.rival-actions{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%}.rival-actions .btn{width:100%;font-size:10px;padding:12px;min-height:44px}.rival-actions .rival-options{padding:10px;color:#aebb9e;border:1px solid #35432e}.rival-list>p{padding:22px 18px;margin:0;border:1px dashed #435437;background:#10191088;font-size:13px;line-height:1.7;color:#a9baa0}.rival-lobby-grid>section:first-child .rival-row{grid-template-columns:38px minmax(0,1fr) minmax(260px,auto)}.rival-lobby-grid>section:first-child .rival-actions{grid-column:3;display:flex;flex-wrap:wrap}.rival-lobby-grid>section:first-child .rival-actions>*{flex:1}
.blocked-settings{margin-top:20px;padding:15px 0;border-bottom:1px solid #35432e}.lobby-solo{display:flex;align-items:center;gap:15px;text-decoration:none;padding:22px 0;margin-top:12px;color:#dce8d0}.lobby-solo .menu-mascot{width:42px;height:42px}.lobby-solo strong{display:block;font-size:12px}.lobby-solo small{display:block;margin-top:7px;color:#a9b99e;font-size:12px}.rivals-main [hidden]{display:none!important}
@media(max-width:700px){.rivals-main{padding:0 16px 32px;margin:16px auto}.rival-hero{padding:24px 20px;gap:12px}.rival-hero h1{font-size:40px}.rival-hero p{font-size:13px}.rival-hero .micro{font-size:8px;letter-spacing:1px}.lobby-art .menu-mascot{width:58px;height:58px}.rival-modes{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px}.rival-mode{padding:18px;grid-template-columns:40px minmax(0,1fr);gap:9px 14px}.rival-mode .menu-mascot{width:40px;height:40px}.rival-mode strong{font-size:23px}.rival-mode span span{font-size:12px}.rival-mode>b{padding-top:2px}.rivals-main .rival-settings{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;margin:16px 0}.rival-settings>.btn{width:100%;min-width:0}.rival-settings .invite-settings{grid-column:1}.invite-settings label{grid-template-columns:1fr}.rival-lobby-grid{grid-template-columns:minmax(0,1fr);gap:16px}.rivals-main section{padding:20px}.rival-lobby-grid>section:first-child .rival-row{grid-template-columns:38px minmax(0,1fr)}.rival-lobby-grid>section:first-child .rival-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.rival-actions{grid-column:1/-1}.rival-heading h2{font-size:15px}.lobby-count{min-width:22px;height:22px}.rival-list>p{padding:16px}.rival-heading .btn{padding:10px}.rival-lobby-grid>section:first-child .rival-actions>.rival-options{grid-column:1/-1}}

.rival-mode.official-mode{background:linear-gradient(100deg,#281c20f5,#231a28c9),url(/rad/tcg/halloween-championship.webp?v=bone-wrists-2) 65% 50%/cover;border-color:#98683d}.rival-mode.official-mode small,.rival-mode.official-mode b{color:#ffb45b}

.invitation-consent{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font:12px/1.5 Arial,sans-serif;color:#c4ccb9}.invitation-consent input{margin-top:3px;flex-shrink:0}

.rivals-main .rival-active-games{margin-top:28px;margin-bottom:24px;padding:20px;border:1px solid #647749;background:#192417}.rival-active-games>p{color:#c4ccb9}

/* The official event gets its own full row instead of leaving empty grid cells. */
.rival-mode.official-mode{grid-column:1/-1}
@media(min-width:701px){.rival-mode.official-mode{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;padding:30px}.rival-mode.official-mode>span:first-child{grid-row:auto}.rival-mode.official-mode>b{grid-column:3;padding:14px 18px;border:1px solid #98683d;background:#21181bcc;white-space:nowrap}}
@media(max-width:700px){.rivals-main .rival-active-games{margin-top:20px}}
