/* E-ONE illustrated 3D controls: live, accessible text over dimensional faces. */
button,
input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.cta, a.session-post, a.vr-tab-link, a.everyone-sport-link,
a.back, a.lw-action, label.photo-label-btn, [role="button"] {
  --eone-edge: #14283a;
  --eone-rim: #5c7d99;
  position: relative;
  border: 2px solid var(--eone-rim) !important;
  border-radius: 19px !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-shadow: 0 -1px 0 rgba(255,255,255,.20),
               0 2px 0 rgba(0,0,0,.48),
               1px 4px 4px rgba(0,0,0,.58) !important;
  box-shadow: inset 0 3px 0 rgba(255,255,255,.24),
              inset 3px 0 0 rgba(255,255,255,.12),
              inset 0 -5px 0 rgba(0,0,0,.22),
              0 7px 0 var(--eone-edge),
              0 13px 16px rgba(0,0,0,.54) !important;
  margin-bottom: 9px;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
/* A fine inset line and light on the face mirror the supplied button image. */
:is(button, a.btn, a.cta, a.session-post, a.vr-tab-link, a.everyone-sport-link,
    a.back, a.lw-action, label.photo-label-btn, [role="button"])::before {
  content: "";
  position: absolute;
  pointer-events: none;
  inset: 5px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.10),
              inset 0 -2px 0 rgba(0,0,0,.15);
}
:is(button, a.btn, a.cta, a.session-post, a.vr-tab-link, a.everyone-sport-link,
    a.back, a.lw-action, label.photo-label-btn, [role="button"])::after {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 7px; right: 7px; top: 5px; height: 37%;
  border-radius: 13px 13px 42% 42%;
  background: linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0));
}
button:not(:disabled):hover,
input[type="button"]:not(:disabled):hover,
input[type="submit"]:not(:disabled):hover,
input[type="reset"]:not(:disabled):hover,
a.btn:hover, a.cta:hover, a.session-post:hover, a.vr-tab-link:hover,
a.everyone-sport-link:hover, a.back:hover, a.lw-action:hover,
label.photo-label-btn:hover, [role="button"]:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: inset 0 3px 0 rgba(255,255,255,.28),
              inset 3px 0 0 rgba(255,255,255,.14),
              inset 0 -5px 0 rgba(0,0,0,.22),
              0 9px 0 var(--eone-edge),
              0 16px 19px rgba(0,0,0,.55) !important;
}
button:not(:disabled):active,
input[type="button"]:not(:disabled):active,
input[type="submit"]:not(:disabled):active,
input[type="reset"]:not(:disabled):active,
a.btn:active, a.cta:active, a.session-post:active, a.vr-tab-link:active,
a.everyone-sport-link:active, a.back:active, a.lw-action:active,
label.photo-label-btn:active, [role="button"]:active {
  transform: translateY(6px) !important;
  filter: brightness(.94);
  box-shadow: inset 0 3px 6px rgba(0,0,0,.29),
              0 1px 0 var(--eone-edge),0 5px 9px rgba(0,0,0,.45) !important;
}
button:disabled, input[type="button"]:disabled,
input[type="submit"]:disabled, input[type="reset"]:disabled {
  cursor: not-allowed;
  opacity: .5;
}
/* Blue navigation and secondary controls. */
:is(.btn.secondary,.btn.ghost,.btn:not(.primary):not(.gold):not(.green):not(.purple):not(.secondary):not(.ghost),
    .tabs button:not(.on),.controls button:not(.gold),
    .vr-tab-link,.lw-tabs button:not(.on),.news08x-modes button:not(.on),
    a.back) {
  --eone-edge: #14283a;
  --eone-rim: #6d98ba;
  background: linear-gradient(180deg,#35638b 0%,#2d567e 47%,#224564 100%) !important;
}
/* Green live-session controls. */
:is(.btn.green,button.green,a.green,.enter-play-btn) {
  --eone-edge: #1d3216;
  --eone-rim: #789850;
  background: linear-gradient(180deg,#496733 0%,#3d5c2c 52%,#314c23 100%) !important;
}
/* The Ready Player control is a larger illustrated button, not a bright neon badge. */
.enter-play-btn {
  width: min(100%,390px);
  min-height: 124px;
  padding: 25px 25px 27px;
  overflow: hidden;
  box-sizing: border-box;
}
.enter-play-btn::before {
  animation: none !important;
  transform: none !important;
  background: none !important;
}
.enter-play-btn::after { border: 0 !important; }
.enter-play-btn .headline {
  font-size: clamp(21px,2.1vw,27px);
  line-height: 1.12;
  letter-spacing: .005em;
  text-shadow: 0 -1px 0 rgba(255,255,255,.23),0 2px 0 #263b19,1px 4px 4px #000a !important;
}
.enter-play-btn .tiny {
  font-size: 17px;
  letter-spacing: .04em;
  margin-top: 9px;
  text-shadow: 0 -1px 0 rgba(255,255,255,.18),0 2px 0 #263b19,1px 4px 4px #000a !important;
}
.enter-play-btn .headline .one {
  color: #e2aa20;
  text-shadow: 0 -1px 0 #ffdc69,0 2px 0 #704c02,1px 4px 4px #000b !important;
}
/* Purple post-play controls. */
:is(.btn.purple,button.purple,a.purple) {
  --eone-edge: #3b1764;
  --eone-rim: #b782e1;
  background: linear-gradient(180deg,#8645b9 0%,#7435a9 52%,#612b91 100%) !important;
}
/* Rich golden face, bright rim, and a darker lower edge, with raised white text. */
:is(button.btn.primary, a.btn.primary, button.btn.gold, a.btn.gold,
    button.gold, .tabs button.on, .controls button.gold,
    a.everyone-sport-link, a.session-post, button.goldish,
    .lw-tabs button.on, a.lw-action, label.photo-label-btn,
    .cta, .news08x-modes button.on, #beingInTouchHelp, .touch-dialog .touch-close) {
  --eone-edge: #614000;
  --eone-rim: #e1ae21;
  background: linear-gradient(180deg,#aa7908 0%,#9c6c02 48%,#855700 100%) !important;
  text-shadow: 0 -1px 0 rgba(255,245,202,.27),
               0 2px 0 #5b3900,
               1px 4px 4px rgba(0,0,0,.7) !important;
}
/* Keep gold letter accents in compound button labels dimensional too. */
:is(button, a.btn, a.everyone-sport-link, a.lw-action) :is(span,b,strong,small) {
  text-shadow: inherit;
}
/* Society navigation uses squared-off controls, while keeping its raised frame. */
.top .tabs > button,
.top .tabs > a,
.mobile-nav-toggle {
  border-radius: 0 !important;
}
.top .tabs > button::before,
.top .tabs > button::after,
.top .tabs > a::before,
.top .tabs > a::after,
.mobile-nav-toggle::before,
.mobile-nav-toggle::after {
  border-radius: 0 !important;
}
html { font-size: 17px; }
body { font-size: 17px !important; line-height: 1.5; }
button, input, select, textarea, a.btn, a.cta, a.session-post,
a.vr-tab-link, a.everyone-sport-link, a.back, a.lw-action,
label.photo-label-btn { font-size: max(16px, 1em); }
@media print {
  button, input[type="button"], input[type="submit"], input[type="reset"],
  a.btn, a.cta, a.session-post, a.vr-tab-link, a.everyone-sport-link,
  a.back, a.lw-action, label.photo-label-btn, [role="button"] { box-shadow: none !important; text-shadow: none !important; }
  :is(button,a.btn,a.cta,a.session-post,a.vr-tab-link,a.everyone-sport-link,
      a.back,a.lw-action,label.photo-label-btn,[role="button"])::before,
  :is(button,a.btn,a.cta,a.session-post,a.vr-tab-link,a.everyone-sport-link,
      a.back,a.lw-action,label.photo-label-btn,[role="button"])::after { display:none !important; }
}
