﻿@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,700&display=swap");

.gqb-logo-game-host {
  --blue: #4285f4;
  --red: #ea4335;
  --yellow: #fbbc05;
  --green: #34a853;
  --ink: #101827;
  --muted: #64748b;
  --soft-blue: rgba(66, 133, 244, .14);
  --soft-line: rgba(66, 133, 244, .26);
  position: absolute;
  right: clamp(18px, 3vw, 42px);
  top: 50%;
  width: min(20vw, 184px);
  height: min(20vw, 184px);
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  transform-origin: center;
  transition:
    left .7s cubic-bezier(.16, .86, .18, 1),
    top .7s cubic-bezier(.16, .86, .18, 1),
    transform .7s cubic-bezier(.16, .86, .18, 1),
    opacity .28s ease;
  z-index: 12;
  overflow: visible;
  pointer-events: auto;
}

.hero.has-gqb-logo-game > .gqb-logo-game-host:not(.is-docked) {
  opacity: 0;
  pointer-events: none;
}

.gqb-logo-game-host,
.gqb-logo-game-host * {
  -webkit-tap-highlight-color: transparent;
}

.gqb-logo-game-host[data-logo-game-state="opening"] .gqb-game,
.gqb-logo-game-host[data-logo-game-state="closing"] .gqb-game,
.gqb-logo-game-host[data-logo-game-state="punching"] .gqb-game {
  pointer-events: none;
}

.gqb-logo-game-host[data-logo-game-state="open"] .gqb-game {
  pointer-events: auto;
}

.hero.has-gqb-logo-game {
  overflow: hidden;
}

.hero.has-gqb-logo-game:has(.gqb-logo-game-host.is-playing) {
  overflow: visible;
  position: relative;
  z-index: 2147483500;
}

.gqb-logo-chrome-spacer {
  display: none;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  position: relative;
  overflow: visible;
  place-items: center;
}

.gqb-logo-chrome-spacer.is-visible {
  display: inline-grid;
}

.gqb-logo-game-host.is-docked {
  position: relative;
  left: auto;
  top: auto;
  right: auto;
  width: 46px;
  height: 46px;
  transform: none;
  z-index: 120;
  pointer-events: auto;
  display: grid;
  place-items: center;
}

.gqb-logo-game-host.is-docked.is-playing {
  transform: none !important;
  z-index: 2147483600;
  overflow: visible;
}

.gqb-logo-game-host.is-playing {
  z-index: 2147483600;
  transform: none !important;
}

.gqb-logo-game-host.is-docked:not(.is-playing) {
  pointer-events: auto;
}

.gqb-logo-game-host.is-docked:not(.is-playing) .gqb-game {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 121;
  transform: translate(-50%, -50%) scale(.46) !important;
}

.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing:hover,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing:active,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing:focus-visible {
  transform: translate(-31px, 60px) scale(3.14) !important;
  z-index: 2147483600 !important;
}

.gqb-logo-game-host .gqb-game,
.gqb-logo-game-host .gqb-game * {
  box-sizing: border-box;
}

.gqb-logo-game-host .gqb-game {
  font-family: "Google Sans Flex", "Google Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
    .gqb-game {
      width: 96px;
      height: 96px;
      border: 0;
      padding: 0;
      border-radius: 50%;
      background: transparent;
      position: relative;
      cursor: pointer;
      isolation: isolate;
      transform: translateZ(0);
      transition: transform 1.77s cubic-bezier(.15, .9, .18, 1), filter .7s ease;
      transform-origin: center;
      z-index: 4;
    }

    .gqb-game.playing {
      transform: translate(-17px, 49px) scale(2.47);
      z-index: 20;
      filter: drop-shadow(0 16px 30px rgba(15, 23, 42, .14));
      animation: none;
    }

    .logo-stage {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      background: #fff;
      border: 2px solid rgba(255,255,255,.9);
      overflow: visible;
    }

    .piece {
      position: absolute;
      display: grid;
      place-items: center;
      transform-origin: center;
      transition:
        left 1.53s cubic-bezier(.15, .9, .22, 1),
        top 1.53s cubic-bezier(.15, .9, .22, 1),
        width 1.53s cubic-bezier(.15, .9, .22, 1),
        height 1.53s cubic-bezier(.15, .9, .22, 1),
        border-radius 1.53s cubic-bezier(.15, .9, .22, 1),
        transform 1.53s cubic-bezier(.15, .9, .22, 1),
        opacity .5s ease,
        background-color .5s ease;
    }

    .disc {
      inset: 0;
      border-radius: 50%;
      background:
        linear-gradient(#fff, #fff) padding-box,
        conic-gradient(
          from -28deg,
          var(--red) 0deg 78deg,
          var(--yellow) 78deg 158deg,
          var(--green) 158deg 252deg,
          var(--blue) 252deg 360deg
        ) border-box;
      border: 7px solid transparent;
      overflow: visible;
      z-index: 1;
    }

    .disc::before {
      content: "";
      position: absolute;
      inset: -1px;
      border-radius: 50%;
      background: conic-gradient(
        from -28deg,
        var(--red) 0deg 78deg,
        var(--yellow) 78deg 158deg,
        var(--green) 158deg 252deg,
        var(--blue) 252deg 360deg
      );
      -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
      mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
      opacity: 0;
      z-index: 2;
      pointer-events: none;
    }

    .arc {
      width: 78px;
      height: 78px;
      left: 9px;
      top: 9px;
      border-radius: 50%;
      border: 5px solid transparent;
      background: transparent;
      opacity: 0;
      z-index: 3;
    }

    .arc.blue {
      border-right-color: var(--blue);
      border-bottom-color: rgba(66, 133, 244, .12);
      transform: rotate(2deg);
      z-index: 4;
    }
    .arc.red { border-top-color: var(--red); border-right-color: var(--red); transform: rotate(18deg); }
    .arc.yellow { border-left-color: var(--yellow); border-bottom-color: transparent; transform: rotate(16deg); }
    .arc.green { border-right-color: var(--green); border-bottom-color: rgba(52, 168, 83, .12); transform: rotate(-16deg); }

    .letter {
      z-index: 12;
      font-family: "Google Sans Flex", "Google Sans", "Product Sans", Arial, sans-serif;
      font-weight: 700;
      font-optical-sizing: auto;
      line-height: 1;
      letter-spacing: -0.1em;
      background: transparent;
      text-shadow: 0 1px 0 rgba(255,255,255,.65);
    }

    .g {
      left: 7px;
      top: 34px;
      width: 37px;
      height: 34px;
      color: var(--blue);
      font-size: 39px;
      z-index: 15;
    }
    .q {
      left: 27px;
      top: 34px;
      width: 39px;
      height: 39px;
      color: var(--red);
      font-size: 39px;
      letter-spacing: -0.08em;
      z-index: 14;
    }

    .b {
      left: 47px;
      top: 34px;
      width: 35px;
      height: 37px;
      color: #188b47;
      font-size: 40px;
      z-index: 13;
      text-shadow:
        0 1px 0 rgba(255,255,255,.8),
        -1px 0 0 rgba(255,255,255,.7),
        1px 0 0 rgba(255,255,255,.7);
    }

    .cards {
      width: 31px;
      height: 48px;
      top: 18px;
      border-radius: 8px;
      z-index: 5;
      transform: rotate(-8deg);
      border: 1px solid rgba(255, 255, 255, .78);
      transform-origin: 15px 45px;
    }

    .card-blue {
      left: 29px;
      top: 19px;
      background: var(--yellow);
      z-index: 5;
      transform: rotate(-25deg);
    }
    .card-red {
      left: 30px;
      top: 18px;
      background: var(--red);
      z-index: 4;
      transform: rotate(-8deg);
    }
    .card-yellow {
      left: 31px;
      top: 18px;
      background: var(--blue);
      z-index: 3;
      transform: rotate(9deg);
    }
    .card-green {
      left: 32px;
      top: 19px;
      background: var(--green);
      z-index: 2;
      transform: rotate(25deg);
    }

    .card-blue::before,
    .card-blue::after {
      content: "";
      position: absolute;
      left: 5px;
      right: 5px;
      height: 2px;
      border-radius: 99px;
      background: rgba(255, 255, 255, .92);
    }

    .card-blue::before { top: 12px; }
    .card-blue::after { top: 20px; box-shadow: 0 8px 0 rgba(255, 255, 255, .78); }

    .book {
      width: 45px;
      height: 18px;
      top: 67px;
      z-index: 11;
      background:
        linear-gradient(130deg, rgba(255, 255, 255, .98), rgba(255, 250, 230, .92) 58%),
        #fffdf5;
      border: 1.5px solid rgba(15, 23, 42, .16);
      border-bottom: 4px solid var(--yellow);
      box-shadow: inset 0 -2px 0 rgba(15, 23, 42, .06);
    }

    .book-left {
      left: 2px;
      transform: rotate(5deg) skewX(-7deg);
      transform-origin: right bottom;
      border-left: 1.5px solid rgba(15, 23, 42, .14);
      border-right: 1px solid rgba(15, 23, 42, .08);
      border-radius: 10px 3px 17px 14px;
    }

    .book-left::before,
    .book-right::before {
      content: "";
      position: absolute;
      left: 5px;
      right: 5px;
      bottom: 4px;
      height: 2px;
      border-radius: 99px;
      background: rgba(15, 23, 42, .12);
    }

    .book-left::after,
    .book-right::after {
      content: "";
      position: absolute;
      top: 5px;
      width: 18px;
      height: 1.5px;
      border-radius: 999px;
      background: rgba(15, 23, 42, .14);
      box-shadow: 0 4px 0 rgba(15, 23, 42, .09);
    }

    .book-left::after { right: 7px; }

    .book-right {
      left: 44px;
      transform: rotate(-5deg) skewX(7deg);
      transform-origin: left bottom;
      background:
        linear-gradient(230deg, rgba(255, 255, 255, .98), rgba(255, 250, 230, .92) 58%),
        #fffdf5;
      border-right: 1.5px solid rgba(15, 23, 42, .14);
      border-left: 1px solid rgba(15, 23, 42, .08);
      border-radius: 3px 10px 14px 17px;
    }

    .book-right::before {
      background: rgba(15, 23, 42, .12);
    }

    .book-right::after { left: 8px; }

    .game-board {
      position: absolute;
      inset: 7px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 4px;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s ease .55s;
      z-index: 20;
    }

    .tile {
      border: 0;
      border-radius: 14px;
      background: transparent;
      cursor: pointer;
      color: #fff;
      font-size: 19px;
      font-weight: 950;
      position: relative;
      overflow: hidden;
      transition: background .16s ease, box-shadow .16s ease;
    }

    .tile:not(.x):not(.o):hover {
      background: rgba(255,255,255,.56);
      box-shadow: inset 0 0 0 1px rgba(66, 133, 244, .16);
    }

    .tile::before,
    .tile::after {
      content: "";
      position: absolute;
      opacity: 0;
      transition: opacity .18s ease, transform .26s cubic-bezier(.16, .88, .26, 1.25);
    }

    .tile.x::before,
    .tile.x::after {
      content: "";
      left: 50%;
      top: 50%;
      width: 30px;
      height: 7px;
      border-radius: 999px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,0) 45%),
        linear-gradient(90deg, #2f6fe8, var(--blue));
      box-shadow:
        inset 0 -1px 0 rgba(12, 55, 142, .36),
        0 2px 3px rgba(12, 55, 142, .2);
      opacity: .98;
    }

    .tile.x::before {
      transform: translate(-50%, -50%) rotate(43deg) scale(1);
    }

    .tile.x::after {
      transform: translate(-50%, -50%) rotate(-43deg) scale(1);
    }

    .tile.o::after {
      content: "";
      inset: 2px;
      border-radius: 50%;
      border: 5.5px solid var(--red);
      background:
        radial-gradient(circle at 36% 25%, rgba(255,255,255,.75), transparent 19%),
        radial-gradient(circle, transparent 45%, rgba(168, 31, 24, .12) 49%, rgba(168, 31, 24, .22) 72%);
      box-shadow:
        inset 0 -2px 1px rgba(127, 29, 29, .24),
        0 2px 4px rgba(127, 29, 29, .2);
      opacity: .98;
      transform: scale(1) rotate(0deg);
    }

    .tile.win {
      animation: winGlow .68s ease-in-out infinite alternate;
    }

    .gqb-game.playing .logo-stage {
      overflow: visible;
    }

    .gqb-game.playing .disc {
      opacity: .94;
      transform: scale(.92);
      background: #fff;
      border: 0;
    }

    .gqb-game.playing .disc::before {
      opacity: 0;
    }

    .gqb-game.playing .arc {
      border-radius: 999px;
      border: 0;
      opacity: .95;
      z-index: 16;
    }

    .gqb-game.playing .arc.blue {
      left: 33px;
      top: 8px;
      width: 5px;
      height: 80px;
      background: var(--blue);
      transform: rotate(0deg) translateY(0);
    }

    .gqb-game.playing .arc.red {
      left: 58px;
      top: 8px;
      width: 5px;
      height: 80px;
      background: var(--red);
      transform: rotate(0deg);
    }

    .gqb-game.playing .arc.yellow {
      left: 8px;
      top: 33px;
      width: 80px;
      height: 5px;
      background: var(--yellow);
      transform: rotate(0deg);
      opacity: 0;
    }

    .gqb-game.playing .arc.green {
      left: 8px;
      top: 58px;
      width: 80px;
      height: 5px;
      background: var(--green);
      transform: rotate(0deg);
      opacity: 0;
    }

    .gqb-game.playing .cards,
    .gqb-game.playing .letter {
      width: 16px;
      height: 15px;
      border-radius: 48% 50% 42% 43% / 50% 50% 50% 52%;
      top: -22px;
      transform: rotate(720deg);
      opacity: .98;
      border: 1.35px solid rgba(15, 23, 42, .92);
      font-size: 0;
      letter-spacing: 0;
      color: transparent;
      text-shadow: none;
      background-image: radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .45) 0 1.4px, transparent 1.55px);
      animation: mascotBounce 2.8s ease-in-out infinite;
      --wander-x: 0px;
      cursor: pointer;
      overflow: visible;
    }

    .gqb-game.playing .cards::before,
    .gqb-game.playing .cards::after,
    .gqb-game.playing .letter::before,
    .gqb-game.playing .letter::after {
      content: none;
    }

    .mascot-part {
      position: absolute;
      display: none;
      pointer-events: none;
    }

    .gqb-game.playing .mascot-part {
      display: block;
    }

    .mascot-arm,
    .mascot-foot {
      background: currentColor;
      border: 1.15px solid rgba(15, 23, 42, .92);
      z-index: -1;
    }

    .mascot-arm {
      width: 5px;
      height: 7px;
      top: 6px;
      border-radius: 50%;
    }

    .mascot-arm-left {
      left: -3px;
      transform: rotate(-28deg);
    }

    .mascot-arm-right {
      right: -3px;
      transform: rotate(28deg);
    }

    .mascot-foot {
      width: 5px;
      height: 4px;
      bottom: -3px;
      border-radius: 50%;
    }

    .mascot-foot-left { left: 3px; }
    .mascot-foot-right { right: 3px; }

    .mascot-eye {
      width: 3.22px;
      height: 3.22px;
      top: 4.7px;
      border-radius: 50%;
      background: #fff;
      border: 0;
      box-shadow: none;
      transform-origin: center;
    }

    .mascot-eye::after {
      content: "";
      position: absolute;
      width: 2.45px;
      height: 2.45px;
      left: 50%;
      top: 50%;
      border-radius: 50%;
      background: rgba(15, 23, 42, .96);
      transform: translate(-50%, -50%);
    }

    .mascot-eye-left { left: 3.35px; }
    .mascot-eye-right { right: 3.35px; }

    .mascot-mouth {
      left: 6px;
      top: 8.2px;
      width: 4.5px;
      height: 3.4px;
      background: rgba(255, 255, 255, .95);
      border: 1.05px solid rgba(15, 23, 42, .92);
      border-top-color: rgba(15, 23, 42, .72);
      border-radius: 0 0 8px 8px;
    }

    .mascot-speech {
      left: 50%;
      top: -20px;
      transform: translateX(-50%);
      padding: 2px 6px;
      border-radius: 999px;
      border: 1px solid rgba(15, 23, 42, .18);
      background: rgba(255, 255, 255, .94);
      color: #0f172a;
      font-size: 7px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
      opacity: 0;
      transition: opacity .16s ease, transform .16s ease;
    }

    .gqb-game.playing .mascot-says .mascot-speech {
      opacity: 1;
      transform: translateX(-50%) translateY(-2px);
    }

    .gqb-game.playing .card-green { left: -15px; background-color: var(--green); color: var(--green); animation-delay: -.05s; }
    .gqb-game.playing .card-yellow { left: -1px; background-color: var(--yellow); color: var(--yellow); animation-delay: -.2s; }
    .gqb-game.playing .card-red { left: 13px; background-color: var(--red); color: var(--red); animation-delay: -.35s; }
    .gqb-game.playing .card-blue { left: 27px; background-color: var(--blue); color: var(--blue); animation-delay: -.5s; }

    .gqb-game.playing .g {
      left: 41px;
      top: -22px;
      background-color: var(--blue);
      color: var(--blue);
      opacity: .92;
      animation-delay: -.65s;
    }

    .gqb-game.playing .q {
      left: 55px;
      top: -22px;
      background-color: var(--red);
      color: var(--red);
      opacity: .92;
      animation-delay: -.8s;
    }

    .gqb-game.playing .b {
      left: 69px;
      top: -22px;
      background-color: var(--green);
      color: var(--green);
      opacity: .92;
      animation-delay: -.95s;
    }

    .gqb-game.playing .book {
      border: 0;
      border-radius: 999px;
      opacity: .96;
      z-index: 16;
      height: 5px;
      width: 80px;
      left: 8px;
      transform: rotate(0deg);
      background: var(--yellow);
      box-shadow: none;
    }

    .gqb-game.playing .book::before,
    .gqb-game.playing .book::after {
      content: none;
    }

    .gqb-game.playing .book-left {
      top: 33px;
      background: var(--yellow);
    }

    .gqb-game.playing .book-right {
      top: 58px;
      background: var(--green);
    }

    .gqb-game.playing .mascot-wiggle { animation-name: mascotWiggle; }
    .gqb-game.playing .mascot-hop { animation-name: mascotHop; }
    .gqb-game.playing .mascot-nod { animation-name: mascotNod; }
    .gqb-game.playing .mascot-wave .mascot-arm-left {
      top: 2px;
      left: -3px;
      transform: rotate(38deg);
    }
    .gqb-game.playing .mascot-wave .mascot-arm-right {
      top: 2px;
      right: -3px;
      transform: rotate(-38deg);
    }
    .gqb-game.playing .mascot-wave.mascot-look-left:not(.mascot-hi):not(.mascot-win) .mascot-arm-right {
      top: 6px;
      right: -3px;
      transform: rotate(28deg);
    }
    .gqb-game.playing .mascot-wave.mascot-look-left:not(.mascot-hi):not(.mascot-win) .mascot-arm-left {
      animation: mascotOneHandWaveLeft 1.24s ease-in-out 2;
      transform-origin: 4px 7px;
    }
    .gqb-game.playing .mascot-wave.mascot-look-right:not(.mascot-hi):not(.mascot-win) .mascot-arm-left {
      top: 6px;
      left: -3px;
      transform: rotate(-28deg);
    }
    .gqb-game.playing .mascot-wave.mascot-look-right:not(.mascot-hi):not(.mascot-win) .mascot-arm-right {
      animation: mascotOneHandWaveRight 1.24s ease-in-out 2;
      transform-origin: 1px 7px;
    }
    .gqb-game.playing .mascot-blink .mascot-eye::after {
      animation: mascotBlink 2.75s ease-in-out infinite;
    }
    .gqb-game.playing .mascot-wiggle .mascot-foot-left,
    .gqb-game.playing .mascot-hop .mascot-foot-left,
    .gqb-game.playing .mascot-nod .mascot-foot-left {
      animation: mascotFootTap 6.4s ease-in-out infinite;
    }
    .gqb-game.playing .mascot-wiggle .mascot-foot-right,
    .gqb-game.playing .mascot-hop .mascot-foot-right,
    .gqb-game.playing .mascot-nod .mascot-foot-right {
      animation: mascotFootTap 6.4s ease-in-out 3.2s infinite;
    }
    .gqb-game.playing .mascot-wiggle:not(.mascot-wave):not(.mascot-hi):not(.mascot-win) .mascot-arm-left,
    .gqb-game.playing .mascot-hop:not(.mascot-wave):not(.mascot-hi):not(.mascot-win) .mascot-arm-right {
      animation: mascotIdleHandA 8.8s ease-in-out infinite;
    }
    .gqb-game.playing .mascot-nod:not(.mascot-wave):not(.mascot-hi):not(.mascot-win) .mascot-arm-left,
    .gqb-game.playing .mascot-look-right:not(.mascot-wave):not(.mascot-hi):not(.mascot-win) .mascot-arm-left {
      animation: mascotIdleHandB 10.4s ease-in-out 1.7s infinite;
    }
    .gqb-game.playing .mascot-look-left:not(.mascot-wave):not(.mascot-hi):not(.mascot-win) .mascot-arm-right {
      animation: mascotIdleHandC 9.6s ease-in-out 2.4s infinite;
    }
    .gqb-game.playing .mascot-calm .mascot-mouth {
      top: 9px;
      height: 1.5px;
      width: 4.4px;
      background: transparent;
      border: 0;
      border-bottom: 1.25px solid rgba(15, 23, 42, .84);
      border-radius: 0 0 8px 8px;
    }
    .gqb-game.playing .mascot-shout .mascot-mouth {
      left: 6.25px;
      top: 7.8px;
      width: 4px;
      height: 4px;
      border: 1.05px solid rgba(15, 23, 42, .9);
      border-radius: 50%;
      background: rgba(255, 255, 255, .92);
    }
    .gqb-game.playing .mascot-look-left .mascot-eye::after { transform: translate(-72%, -50%); }
    .gqb-game.playing .mascot-look-right .mascot-eye::after { transform: translate(-28%, -50%); }
    .gqb-game.playing .mascot-stare .mascot-eye,
    .gqb-game.playing .mascot-angry .mascot-eye,
    .gqb-game.playing .mascot-sad .mascot-eye {
      width: 3.22px;
      height: 3.22px;
      top: 4.7px;
      border-radius: 50%;
      transform: none;
      opacity: 1;
    }
    .gqb-game.playing .mascot-stare .mascot-eye::after,
    .gqb-game.playing .mascot-angry .mascot-eye::after,
    .gqb-game.playing .mascot-sad .mascot-eye::after {
      transform: translate(-50%, -50%);
    }
    .gqb-game.playing .mascot-hi {
      animation-name: mascotNod;
      animation-duration: .72s !important;
    }
    .gqb-game.playing .mascot-hi .mascot-mouth {
      left: 5.7px;
      top: 7.8px;
      width: 5.8px;
      height: 3.9px;
      border-radius: 0 0 9px 9px;
    }
    .gqb-game.playing .mascot-hi .mascot-arm-left {
      width: 5px;
      height: 14px;
      top: -4px;
      left: -4px;
      transform: rotate(46deg);
    }
    .gqb-game.playing .mascot-annoyed {
      animation-name: mascotWiggle;
      animation-duration: .92s !important;
    }
    .gqb-game.playing .mascot-annoyed .mascot-mouth {
      top: 9px;
      height: 1px;
      width: 5px;
      background: transparent;
      border: 0;
      border-bottom: 1.4px solid rgba(15, 23, 42, .92);
      border-radius: 0;
    }
    .gqb-game.playing .mascot-angry {
      animation-name: none !important;
      transform: translate(var(--wander-x, 0px), 0) scale(1.03) !important;
    }
    .gqb-game.playing .mascot-angry .mascot-eye {
      animation: none;
    }
    .gqb-game.playing .mascot-angry .mascot-eye::after {
      animation: mascotBlink 2.95s ease-in-out infinite;
    }
    .gqb-game.playing .mascot-angry .mascot-mouth {
      top: 9px;
      left: 5.3px;
      width: 6px;
      height: 1.5px;
      background: transparent;
      border: 0;
      border-bottom: 1.55px solid rgba(15, 23, 42, .95);
      border-radius: 0;
    }
    .gqb-game.playing .mascot-mega {
      position: fixed !important;
      left: var(--mega-left, calc(50vw - 8px)) !important;
      top: var(--mega-top, calc(50vh - 8px)) !important;
      z-index: 2147483647 !important;
      animation: mascotMegaPunch 4.2s cubic-bezier(.2, .92, .22, 1) forwards !important;
      pointer-events: auto;
      transform-origin: center center;
    }
    .gqb-game.playing .mascot-mega .mascot-speech {
      top: -24px;
      font-size: 5.4px !important;
    }
    .gqb-game.playing .mascot-mega .mascot-arm-right {
      animation: mascotCutePunch .82s cubic-bezier(.2, .88, .2, 1) 2.55s 2;
      width: 7px;
      height: 13px;
      top: 1px;
      right: -5px;
      transform-origin: 1px 10px;
    }
    .gqb-game.playing .mascot-win {
      animation-name: mascotCheer;
      animation-duration: .72s !important;
    }
    .gqb-game.playing .mascot-win-a { animation-name: mascotCheerA; }
    .gqb-game.playing .mascot-win-b { animation-name: mascotCheerB; }
    .gqb-game.playing .mascot-win-c { animation-name: mascotCheerC; }
    .gqb-game.playing .mascot-win .mascot-arm {
      animation: mascotWinArms var(--cheer-speed, 1.05s) ease-in-out infinite;
    }
    .gqb-game.playing .mascot-win .mascot-foot-left {
      animation: mascotCheerFoot .72s ease-in-out infinite;
    }
    .gqb-game.playing .mascot-win .mascot-foot-right {
      animation: mascotCheerFoot .72s ease-in-out .18s infinite;
    }
    .gqb-game.playing .mascot-win .mascot-mouth {
      left: 5.6px;
      top: 7.5px;
      width: 5.8px;
      height: 4px;
      border-bottom-width: 1.2px;
    }
    .gqb-game.playing .mascot-win .mascot-arm-left {
      top: 1px;
      left: -2.8px;
      transform: rotate(34deg);
    }
    .gqb-game.playing .mascot-win .mascot-arm-right {
      top: 1px;
      right: -2.8px;
      transform: rotate(-34deg);
    }
    .gqb-game.playing .mascot-sad {
      animation-name: mascotSadAlive;
      animation-duration: 2.6s !important;
      animation-timing-function: ease-in-out;
    }
    .gqb-game.playing .mascot-sad .mascot-eye {
      width: 3.22px;
      height: 3.22px;
      top: 4.7px;
      border-radius: 50%;
      transform: none;
      opacity: 1;
    }
    .gqb-game.playing .mascot-sad .mascot-mouth {
      top: 8.4px;
      height: 2.3px;
      background: transparent;
      border-bottom: 0;
      border-top: 1.35px solid rgba(15, 23, 42, .72);
      border-radius: 8px 8px 0 0;
    }

    .gqb-game.playing .game-board {
      opacity: 1;
      pointer-events: auto;
    }

    .game-board[data-game-mode="sudoku"] {
      inset: 6px;
      grid-template-columns: repeat(9, minmax(0, 1fr));
      grid-template-rows: repeat(9, minmax(0, 1fr));
      gap: 0;
      padding: 2px;
      border-radius: 13px;
      background: transparent;
      box-shadow: none;
      overflow: hidden;
      transition: opacity .24s ease .42s, transform .42s cubic-bezier(.16, .88, .26, 1.12);
    }

    .gqb-game.mode-swapping .game-board {
      opacity: .38;
      transform: scale(.92) rotate(-1deg);
    }

    .sudoku-tile {
      display: grid !important;
      place-items: center !important;
      border: 0 !important;
      border-right: 0 !important;
      border-bottom: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: #1d4ed8 !important;
      font-size: 6.8px !important;
      font-weight: 950 !important;
      line-height: 1 !important;
      font-variant-numeric: tabular-nums;
      text-align: center;
      box-shadow: none !important;
      position: relative !important;
      z-index: 28 !important;
      opacity: 1 !important;
      text-shadow:
        0 0 2px rgba(255,255,255,.98),
        0 1px 0 rgba(255,255,255,.86),
        1px 0 0 rgba(255,255,255,.74),
        -1px 0 0 rgba(255,255,255,.74);
    }

    .sudoku-tile::before,
    .sudoku-tile::after {
      content: none !important;
      display: none !important;
    }

    .sudoku-tile:nth-child(9n) {
      border-right: 0 !important;
    }

    .sudoku-tile:nth-child(n+73) {
      border-bottom: 0 !important;
    }

    .sudoku-tile:nth-child(3n):not(:nth-child(9n)) {
      border-right: 0 !important;
    }

    .sudoku-tile:nth-child(n+19):nth-child(-n+27),
    .sudoku-tile:nth-child(n+46):nth-child(-n+54) {
      border-bottom: 0 !important;
    }

    .sudoku-tile.given {
      background: radial-gradient(circle, rgba(255,255,255,.72) 0 42%, transparent 70%) !important;
      color: #0f172a !important;
      cursor: default !important;
    }

    .sudoku-tile.filled:not(.given) {
      background: radial-gradient(circle, rgba(255,255,255,.7) 0 38%, transparent 70%) !important;
    }

    .sudoku-tile.wrong {
      color: #b91c1c !important;
      background: radial-gradient(circle, rgba(255,255,255,.78) 0 42%, rgba(234, 67, 53, .16) 62%, transparent 74%) !important;
    }

    .sudoku-tile.selected:not(.given) {
      background:
        radial-gradient(circle, rgba(255,255,255,.94) 0 43%, rgba(66, 133, 244, .22) 62%, transparent 76%) !important;
      color: #174ea6 !important;
    }

    .game-mode-toggle {
      position: absolute;
      right: -13px;
      top: -18px;
      width: 13px;
      height: 11px;
      display: inline-grid;
      place-items: center;
      padding: 0;
      border: .8px solid rgba(15, 23, 42, .38);
      border-radius: 999px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.9));
      color: #172033;
      font-size: 4.1px;
      font-weight: 950;
      line-height: 1;
      z-index: 52;
      cursor: pointer;
      box-shadow:
        inset 0 -1px 1px rgba(15, 23, 42, .08),
        0 1px 3px rgba(15, 23, 42, .16);
      transform: rotate(0deg);
      transition: transform .16s ease, filter .16s ease;
    }

    .game-mode-toggle:hover,
    .game-mode-toggle:focus-visible {
      transform: rotate(0deg) scale(1.08);
      filter: brightness(1.04);
      outline: none;
    }

    .game-board[data-game-mode="sudoku"] .game-mode-toggle {
      background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.92));
      color: #174ea6;
      font-size: 4px;
    }

    .sudoku-pad {
      position: absolute;
      left: 50%;
      bottom: -12px;
      width: 86px;
      height: 10px;
      display: grid;
      grid-template-columns: repeat(9, 1fr);
      gap: 1px;
      padding: 1px;
      border-radius: 999px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.94));
      box-shadow:
        0 2px 7px rgba(15, 23, 42, .2),
        inset 0 0 0 .8px rgba(23, 78, 166, .28);
      transform: translateX(-50%);
      z-index: 50;
      pointer-events: auto;
    }

    .sudoku-choice {
      border: 0;
      border-radius: 999px;
      display: grid;
      place-items: center;
      min-width: 0;
      min-height: 0;
      padding: 0;
      background: transparent;
      color: #174ea6;
      font-size: 5px;
      font-weight: 950;
      line-height: 1;
      cursor: pointer;
      font-variant-numeric: tabular-nums;
    }

    .sudoku-choice:hover,
    .sudoku-choice:focus-visible {
      background: rgba(66, 133, 244, .14);
      outline: none;
    }

    .status-chip {
      position: absolute;
      left: 50%;
      top: calc(100% + 9px);
      min-width: 138px;
      transform: translateX(-50%);
      border: 1px solid rgba(66, 133, 244, .24);
      border-radius: 999px;
      background: rgba(255, 255, 255, .94);
      padding: 7px 11px;
      color: #1f2937;
      font-size: 12px;
      font-weight: 850;
      opacity: 0;
      pointer-events: none;
      transition: opacity .24s ease, transform .24s ease;
      text-align: center;
      z-index: 30;
    }

    .status-chip.show {
      opacity: 1;
      top: calc(100% + 106px);
    }

    .body-copy {
      padding: 32px 26px 30px;
    }

    .body-copy h2 {
      margin: 0;
      font-size: 24px;
    }

    .body-copy p {
      max-width: 690px;
      color: var(--muted);
      line-height: 1.55;
    }

    .idea-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 20px;
    }

    .idea {
      border: 1px solid var(--soft-line);
      border-radius: 16px;
      padding: 14px;
      background: #f7fbff;
      color: #334155;
      font-weight: 750;
      font-size: 13px;
      line-height: 1.35;
    }

    @keyframes winGlow {
      from { filter: saturate(1) brightness(1); }
      to { filter: saturate(1.45) brightness(1.12); }
    }

    @keyframes sudokuWallPulse {
      0%, 100% {
        transform: rotate(45deg) scale(.96);
        filter: brightness(.96);
      }
      50% {
        transform: rotate(45deg) scale(1.12);
        filter: brightness(1.08);
      }
    }

    @keyframes transformSettle {
      0% {
        transform: translate(0, 0) scale(1) rotate(0deg);
        filter: drop-shadow(0 4px 12px rgba(15, 23, 42, .08));
      }
      34% {
        transform: translate(-2px, 10px) scale(1.16) rotate(-7deg);
      }
      66% {
        transform: translate(-18px, 38px) scale(1.78) rotate(4deg);
      }
      100% {
        transform: translate(-14px, 41px) scale(2.06) rotate(0deg);
        filter: drop-shadow(0 16px 30px rgba(15, 23, 42, .14));
      }
    }

    @keyframes mascotBounce {
      0%, 100% {
        transform: translate3d(0, 0, 0) rotate(720deg) scale(1);
      }
      18% {
        transform: translate3d(0, 1px, 0) rotate(720deg) scale(1.04, .96);
      }
      45% {
        transform: translate3d(0, -4px, 0) rotate(720deg) scale(.97, 1.04);
      }
      70% {
        transform: translate3d(0, 0, 0) rotate(720deg) scale(1.03, .97);
      }
    }

    @keyframes mascotWiggle {
      0%, 100% { transform: translateX(var(--wander-x)) translateY(0) rotate(720deg); }
      33% { transform: translateX(calc(var(--wander-x) - 1px)) translateY(0) rotate(720deg); }
      66% { transform: translateX(calc(var(--wander-x) + 1px)) translateY(0) rotate(720deg); }
    }

    @keyframes mascotHop {
      0%, 100% { transform: translate3d(0, 0, 0) scale(1) rotate(720deg); }
      18% { transform: translate3d(0, 1px, 0) scale(1.05, .95) rotate(720deg); }
      42% { transform: translate3d(0, -5px, 0) scale(.96, 1.06) rotate(720deg); }
      68% { transform: translate3d(0, 0, 0) scale(1.03, .96) rotate(720deg); }
    }

    @keyframes mascotNod {
      0%, 100% { transform: translateX(var(--wander-x)) translateY(0) rotate(720deg); }
      38% { transform: translateX(var(--wander-x)) translateY(0) rotate(720deg); }
      72% { transform: translateX(var(--wander-x)) translateY(0) rotate(720deg); }
    }

    @keyframes mascotBlink {
      0%, 87%, 100% {
        height: 2.58px;
        opacity: 1;
      }
      92% {
        height: .42px;
        opacity: .85;
      }
    }

    @keyframes mascotFootTap {
      0%, 78%, 100% { transform: translateY(0) rotate(0deg); }
      84% { transform: translateY(-1px) rotate(-8deg); }
      91% { transform: translateY(0) rotate(5deg); }
    }

    @keyframes mascotIdleHandA {
      0%, 82%, 100% { top: 6px; transform: rotate(-28deg); }
      86% { top: 4px; transform: rotate(-45deg); }
      91% { top: 5px; transform: rotate(-16deg); }
    }

    @keyframes mascotIdleHandB {
      0%, 84%, 100% { top: 6px; transform: rotate(22deg); }
      88% { top: 3.5px; transform: rotate(46deg); }
      93% { top: 5.5px; transform: rotate(10deg); }
    }

    @keyframes mascotIdleHandC {
      0%, 80%, 100% { top: 6px; transform: rotate(22deg); }
      85% { top: 4px; transform: rotate(5deg); }
      90% { top: 3.8px; transform: rotate(42deg); }
    }

    @keyframes mascotOneHandWaveLeft {
      0%, 100% { transform: rotate(38deg) translateY(0); }
      24% { transform: rotate(68deg) translateY(-1px); }
      48% { transform: rotate(24deg) translateY(.4px); }
      72% { transform: rotate(62deg) translateY(-.8px); }
    }

    @keyframes mascotOneHandWaveRight {
      0%, 100% { transform: rotate(-38deg) translateY(0); }
      24% { transform: rotate(-68deg) translateY(-1px); }
      48% { transform: rotate(-24deg) translateY(.4px); }
      72% { transform: rotate(-62deg) translateY(-.8px); }
    }

    @keyframes mascotCheerFoot {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      34% { transform: translateY(-1.5px) rotate(-10deg); }
      62% { transform: translateY(0) rotate(8deg); }
    }

    @keyframes mascotCheer {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1); }
      18% { transform: translate3d(0, 1.2px, 0) rotate(720deg) scale(1.08, .93); }
      34% { transform: translate3d(0, -8px, 0) rotate(720deg) scale(.97, 1.08); }
      62% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1.04, .96); }
    }

    @keyframes mascotCheerA {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1); }
      16% { transform: translate3d(0, 1px, 0) rotate(720deg) scale(1.06, .94); }
      30% { transform: translate3d(0, -8px, 0) rotate(720deg) scale(.98, 1.07); }
      60% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1.03, .96); }
    }

    @keyframes mascotCheerB {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1); }
      20% { transform: translate3d(0, 1px, 0) rotate(720deg) scale(1.04, .96); }
      42% { transform: translate3d(0, -6px, 0) rotate(720deg) scale(.98, 1.05); }
      72% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1.02, .97); }
    }

    @keyframes mascotCheerC {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1); }
      18% { transform: translate3d(0, 1.2px, 0) rotate(720deg) scale(1.07, .94); }
      36% { transform: translate3d(0, -5px, 0) rotate(720deg) scale(.99, 1.04); }
      56% { transform: translate3d(0, -9px, 0) rotate(720deg) scale(.97, 1.08); }
      76% { transform: translate3d(0, 0, 0) rotate(720deg) scale(1.03, .96); }
    }

    @keyframes mascotSadAlive {
      0%, 100% { transform: translateX(var(--wander-x)) translateY(0) rotate(720deg) scale(1); }
      50% { transform: translateX(var(--wander-x)) translateY(0) rotate(719deg) scale(.99, .985); }
    }

    @keyframes mascotWinArms {
      0%, 100% { top: 6px; }
      34% { top: 1px; }
      62% { top: 5px; }
    }

@keyframes mascotMegaPunch {
  0% {
    transform: translate(0, 0) scale(1);
    filter: none;
    opacity: 1;
  }
  52% {
    transform: translate(calc(var(--mega-walk-x, 0px) * .96), calc(var(--mega-walk-y, 0px) * .96)) scale(calc(var(--mega-scale, 24) * .94));
    filter: drop-shadow(0 22px 34px rgba(15, 23, 42, .25));
    opacity: 1;
  }
  64% {
    transform: translate(var(--mega-walk-x, 0px), var(--mega-walk-y, 0px)) scale(var(--mega-scale, 24));
    filter: drop-shadow(0 34px 48px rgba(15, 23, 42, .38));
    opacity: 1;
  }
  78% {
    transform: translate(var(--mega-walk-x, 0px), var(--mega-walk-y, 0px)) scale(var(--mega-scale, 24));
    filter: drop-shadow(0 34px 48px rgba(15, 23, 42, .38));
    opacity: 1;
  }
  100% {
    transform: translate(calc(var(--mega-walk-x, 0px) * .045), calc(var(--mega-walk-y, 0px) * .045)) scale(1.08);
    filter: none;
    opacity: 1;
  }
    }

@keyframes mascotMegaWalkFeetLeft {
  0%, 12%, 24%, 36%, 48%, 64%, 78%, 90%, 100% { transform: translateY(0) rotate(0deg); }
  6%, 30%, 54%, 84% { transform: translateY(-1.4px) rotate(-12deg); }
}

@keyframes mascotMegaWalkFeetRight {
  0%, 12%, 24%, 36%, 48%, 64%, 78%, 90%, 100% { transform: translateY(0) rotate(0deg); }
  18%, 42%, 70%, 94% { transform: translateY(-1.4px) rotate(12deg); }
}

@keyframes mascotMegaFaceReturn {
  0%, 72% { opacity: 1; }
  80%, 94% { opacity: .18; }
  100% { opacity: 1; }
}

    @keyframes mascotCutePunch {
      0%, 100% { transform: rotate(22deg) translateX(0) translateY(0) scale(1); }
      42% { transform: rotate(-72deg) translateX(9px) translateY(-2px) scale(1.12); }
      58% { transform: rotate(-58deg) translateX(6px) translateY(-1px) scale(1.08); }
    }

.gqb-mega-mascot-layer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  contain: layout paint style !important;
}

.gqb-mega-mascot-portal {
  --blue: #4285f4;
  --red: #ea4335;
  --yellow: #fbbc05;
  --green: #34a853;
  display: block !important;
  position: absolute !important;
  width: 16px;
  height: 16px;
  border-radius: 45% 45% 42% 42%;
  background: var(--blue);
  color: var(--blue);
  z-index: 2147483647 !important;
  pointer-events: none;
  font-size: 0;
  line-height: 0;
  overflow: visible;
  opacity: 1 !important;
  border: 1.15px solid rgba(15, 23, 42, .82);
  box-sizing: border-box;
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, .18), 0 1px 0 rgba(255,255,255,.34);
  transform-origin: center center;
  animation: mascotMegaPunch 5.7s cubic-bezier(.2, .82, .18, 1) forwards !important;
}

.gqb-mega-mascot-portal::before,
.gqb-mega-mascot-portal::after {
  content: none !important;
}

.gqb-mega-mascot-portal.card-red,
.gqb-mega-mascot-portal.q { background: var(--red); color: var(--red); }
.gqb-mega-mascot-portal.card-yellow { background: var(--yellow); color: var(--yellow); }
.gqb-mega-mascot-portal.card-green,
.gqb-mega-mascot-portal.b { background: var(--green); color: var(--green); }
.gqb-mega-mascot-portal.g,
.gqb-mega-mascot-portal.card-blue { background: var(--blue); color: var(--blue); }

.gqb-mega-mascot-portal .mascot-part {
  position: absolute;
  display: block;
  pointer-events: none;
}

.gqb-mega-mascot-portal .mascot-arm {
  width: 5px;
  height: 9px;
  border: 1px solid rgba(15, 23, 42, .62);
  border-radius: 999px;
  background: currentColor;
  top: 6px;
}

.gqb-mega-mascot-portal .mascot-arm-left {
  left: -3px;
  transform: rotate(-28deg);
}

.gqb-mega-mascot-portal .mascot-arm-right {
  right: -3px;
  transform: rotate(22deg);
  animation: mascotCutePunch .82s cubic-bezier(.2, .88, .2, 1) 3.45s 2;
  width: 7px;
  height: 13px;
  top: 1px;
  right: -5px;
  transform-origin: 1px 10px;
}

.gqb-mega-mascot-portal .mascot-foot {
  width: 5px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: currentColor;
  border: 1px solid rgba(15, 23, 42, .58);
  bottom: -2px;
}

.gqb-mega-mascot-portal .mascot-foot-left { left: 3px; }
.gqb-mega-mascot-portal .mascot-foot-right { right: 3px; }

.gqb-mega-mascot-portal .mascot-foot-left {
  animation: mascotMegaWalkFeetLeft 1.85s ease-in-out infinite;
}

.gqb-mega-mascot-portal .mascot-foot-right {
  animation: mascotMegaWalkFeetRight 1.85s ease-in-out .92s infinite;
}

.gqb-mega-mascot-portal .mascot-eye {
  width: 3.22px;
  height: 3.22px;
  border-radius: 50%;
  background: #fff;
  border: 0;
  box-shadow: none;
  top: 4.7px;
  transform-origin: center;
  animation: mascotMegaFaceReturn 5.7s cubic-bezier(.2, .82, .18, 1) forwards;
}

.gqb-mega-mascot-portal .mascot-eye::after {
  content: "";
  position: absolute;
  width: 2.45px;
  height: 2.45px;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  background: rgba(15, 23, 42, .96);
  transform: translate(-50%, -50%);
  animation: mascotBlink 2.75s ease-in-out infinite;
}

.gqb-mega-mascot-portal .mascot-eye-left { left: 3.35px; }
.gqb-mega-mascot-portal .mascot-eye-right { right: 3.35px; }

.gqb-mega-mascot-portal .mascot-mouth {
  top: 9px;
  left: 5.3px;
  width: 6px;
  height: 1.5px;
  background: transparent;
  border: 0;
  border-bottom: 1.55px solid rgba(15, 23, 42, .95);
  border-radius: 0;
  animation: mascotMegaFaceReturn 5.7s cubic-bezier(.2, .82, .18, 1) forwards;
}

.gqb-mega-mascot-portal .mascot-speech {
  display: block;
  left: 50%;
  top: -13px;
  transform: translateX(-50%);
  padding: 1px 4px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .18);
  background: rgba(255, 255, 255, .94);
  color: #0f172a;
  font-size: .9px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  animation: mascotMegaSpeech 5.7s ease forwards;
}

@keyframes mascotMegaSpeech {
  0%, 54%, 92%, 100% { opacity: 0; transform: translateX(-50%) translateY(1px); }
  66%, 84% { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@keyframes mobileLibraryFlash {
  0% {
    opacity: 0;
    transform: translateY(-8px) scale(.92);
  }

  14% {
    opacity: 1;
    transform: translateY(0) scale(1.04);
  }

  50% {
    opacity: 1;
    transform: translateY(0) scale(1.04);
  }

  100% {
    opacity: 0;
    transform: translateY(30px) scale(.98);
  }
}

.mobile-library-switch {
  display: none;
}

@media (max-width: 760px) {
  .gqb-logo-game-host {
    right: 22px;
    width: 92px;
    height: 92px;
  }

  .gqb-logo-game-host .gqb-game {
    width: 84px;
    height: 84px;
  }

    .gqb-logo-game-host .gqb-game.playing {
      transform: translate(-12px, 41px) scale(1.85);
    }
  }

.gqb-logo-game-host:not(.is-playing) .gqb-game,
.gqb-logo-game-host:not(.is-playing) .gqb-game:hover,
.gqb-logo-game-host:not(.is-playing) .gqb-game:active,
.gqb-logo-game-host:not(.is-playing) .gqb-game:focus-visible {
  width: 96px !important;
  height: 96px !important;
  box-shadow: none !important;
  background: transparent !important;
  transform: translateZ(0) scale(1.9167) !important;
  transition: transform 2.65s cubic-bezier(.14, .86, .16, 1), filter .9s ease !important;
}

.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:hover,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:active,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:focus-visible {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  transform: translate(var(--gqb-play-x, -88px), var(--gqb-play-y, 112px)) scale(var(--gqb-play-scale, 2.62)) !important;
  z-index: 2147483600 !important;
  isolation: isolate;
}

.gqb-logo-game-host.is-docked.is-playing .gqb-game.lifting,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.lifting:hover,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.lifting:active,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.lifting:focus-visible {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  transform: translate(0, 0) scale(var(--gqb-rest-scale, .46)) !important;
  z-index: 2147483600 !important;
  isolation: isolate;
}

.gqb-logo-game-host.is-docked.is-playing .status-chip.show {
  position: fixed !important;
  left: var(--gqb-status-left, calc(50vw - 88px)) !important;
  top: var(--gqb-status-top, calc(50vh + 110px)) !important;
  right: auto !important;
  bottom: auto !important;
  width: 176px !important;
  min-width: 176px !important;
  max-width: 176px !important;
  margin: 0 !important;
  transform: none !important;
  justify-content: center !important;
  text-align: center !important;
  z-index: 2147483601 !important;
}

.gqb-logo-game-host:not(.is-docked).is-playing .status-chip.show {
  left: calc(50% - 31px);
  top: calc(100% + 127px);
  z-index: 2147483601;
}

.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.closing-hold,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.closing-hold:hover,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.closing-hold:active,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.closing-hold:focus-visible {
  transform: translate(-31px, 60px) scale(3.14) !important;
  transition: none !important;
}

.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:hover,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:active,
.gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:focus-visible {
  transform: translate(var(--gqb-play-x, 0px), var(--gqb-play-y, 0px)) scale(var(--gqb-play-scale, 3.14)) !important;
  transition: none !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning:hover,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning:active,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning:focus-visible {
  transform: translate(0, 0) scale(var(--gqb-rest-scale, 1.9167)) !important;
  transition-duration: 1.62s !important;
  transition-timing-function: cubic-bezier(.18, .84, .18, 1) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.returning + .status-chip,
.gqb-logo-game-host.is-playing .status-chip:not(.show) {
  opacity: 0 !important;
  transform: translateX(-50%) translateY(4px) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.gqb-logo-game-host.is-docked .gqb-game,
.gqb-logo-game-host.is-docked .gqb-game:hover,
.gqb-logo-game-host.is-docked .gqb-game:active,
.gqb-logo-game-host.is-docked .gqb-game:focus-visible {
  transform: translate(-50%, -50%) scale(.46) !important;
}

.gqb-logo-game-host .tile {
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  cursor: pointer;
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  position: relative !important;
  overflow: visible !important;
  transition: background .16s ease, border-color .16s ease, opacity .16s ease !important;
}

.gqb-logo-game-host .tile::before,
.gqb-logo-game-host .tile::after {
  content: "" !important;
  position: absolute !important;
  opacity: 0;
}

.gqb-logo-game-host .tile.x::before,
.gqb-logo-game-host .tile.x::after {
  left: 50% !important;
  top: 50% !important;
  width: 30px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,0) 45%),
    linear-gradient(90deg, #2f6fe8, var(--blue)) !important;
  box-shadow:
    inset 0 -1px 0 rgba(12, 55, 142, .36),
    0 2px 3px rgba(12, 55, 142, .2) !important;
  opacity: .98 !important;
}

.gqb-logo-game-host .tile.x::before {
  transform: translate(-50%, -50%) rotate(43deg) scale(1) !important;
}

.gqb-logo-game-host .tile.x::after {
  transform: translate(-50%, -50%) rotate(-43deg) scale(1) !important;
}

.gqb-logo-game-host .tile.o::after {
  inset: 2px !important;
  left: 2px !important;
  top: 2px !important;
  right: 2px !important;
  bottom: 2px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 50% !important;
  border: 5.5px solid var(--red) !important;
  background:
    radial-gradient(circle at 36% 25%, rgba(255,255,255,.75), transparent 19%),
    radial-gradient(circle, transparent 45%, rgba(168, 31, 24, .12) 49%, rgba(168, 31, 24, .22) 72%) !important;
  box-shadow:
    inset 0 -2px 1px rgba(127, 29, 29, .24),
    0 2px 4px rgba(127, 29, 29, .2) !important;
  box-sizing: border-box !important;
  opacity: .98 !important;
  transform: scale(1) rotate(0deg) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile {
  display: grid !important;
  place-items: center !important;
  border-radius: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  color: #1d4ed8 !important;
  font-size: 6.8px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-align: center !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 28 !important;
  opacity: 1 !important;
  text-shadow:
    0 0 2px rgba(255,255,255,.98),
    0 1px 0 rgba(255,255,255,.86),
    1px 0 0 rgba(255,255,255,.74),
    -1px 0 0 rgba(255,255,255,.74) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile::before,
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile::after {
  content: none !important;
  display: none !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile:nth-child(9n) {
  border-right: 0 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile:nth-child(n+73) {
  border-bottom: 0 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile:nth-child(3n):not(:nth-child(9n)) {
  border-right: 0 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile:nth-child(n+19):nth-child(-n+27),
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile:nth-child(n+46):nth-child(-n+54) {
  border-bottom: 0 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.given {
  background: radial-gradient(circle, rgba(255,255,255,.72) 0 42%, transparent 70%) !important;
  color: #0f172a !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.filled:not(.given) {
  background: radial-gradient(circle, rgba(255,255,255,.7) 0 38%, transparent 70%) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.wrong {
  background: radial-gradient(circle, rgba(255,255,255,.78) 0 42%, rgba(234, 67, 53, .16) 62%, transparent 74%) !important;
  color: #b91c1c !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) {
  background:
    radial-gradient(circle, rgba(255,255,255,.94) 0 43%, rgba(66, 133, 244, .22) 62%, transparent 76%) !important;
  color: #174ea6 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] {
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .book,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards {
  transition:
    left .46s cubic-bezier(.15, .9, .22, 1) !important,
    top .46s cubic-bezier(.15, .9, .22, 1) !important,
    width .46s cubic-bezier(.15, .9, .22, 1) !important,
    height .46s cubic-bezier(.15, .9, .22, 1) !important,
    border-radius .46s cubic-bezier(.15, .9, .22, 1) !important,
    transform .46s cubic-bezier(.15, .9, .22, 1) !important,
    opacity .2s ease !important,
    background-color .2s ease !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards {
  border: 0 !important;
  border-radius: 999px !important;
  opacity: .92 !important;
  z-index: 18 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .58) !important;
  overflow: visible !important;
  animation: none !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards::before,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  border-radius: 999px !important;
  background: inherit !important;
  opacity: .98 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .58) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red {
  top: 8px !important;
  width: 2.8px !important;
  height: 80px !important;
  transform: rotate(0deg) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue {
  left: 15px !important;
  background: color-mix(in srgb, var(--yellow) 88%, #ffffff 12%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue::before {
  left: 9.4px !important;
  top: 0 !important;
  width: 2.8px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue::after {
  left: 28px !important;
  top: 0 !important;
  width: 2.8px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red {
  left: 53px !important;
  background: color-mix(in srgb, var(--red) 84%, #ffffff 16%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red::before {
  left: 18.4px !important;
  top: 0 !important;
  width: 2.8px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red::after {
  left: 27.8px !important;
  top: 0 !important;
  width: 2.8px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green {
  left: 8px !important;
  width: 80px !important;
  height: 2.8px !important;
  transform: rotate(0deg) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow {
  top: 15px !important;
  background: color-mix(in srgb, var(--blue) 82%, #ffffff 18%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow::before {
  left: 0 !important;
  top: 9.4px !important;
  width: 80px !important;
  height: 2.8px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow::after {
  left: 0 !important;
  top: 28px !important;
  width: 80px !important;
  height: 2.8px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green {
  top: 53px !important;
  background: color-mix(in srgb, var(--green) 86%, #ffffff 14%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green::before {
  left: 0 !important;
  top: 18.4px !important;
  width: 80px !important;
  height: 2.8px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green::after {
  left: 0 !important;
  top: 27.8px !important;
  width: 80px !important;
  height: 2.8px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards .mascot-part {
  display: none !important;
}

.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.returning,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.returning:hover,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.returning:active,
.gqb-logo-game-host:not(.is-docked).is-playing .gqb-game.playing.returning:focus-visible {
  transform: translateZ(0) scale(1.9167) !important;
  transition-duration: 1.62s !important;
  transition-timing-function: cubic-bezier(.18, .84, .18, 1) !important;
}

@media (max-width: 760px) {
  .gqb-logo-game-host:not(.is-playing) .gqb-game,
  .gqb-logo-game-host:not(.is-playing) .gqb-game:hover,
  .gqb-logo-game-host:not(.is-playing) .gqb-game:active,
  .gqb-logo-game-host:not(.is-playing) .gqb-game:focus-visible {
    transform: translateZ(0) scale(.875) !important;
  }

  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:focus-visible {
    transform: translate(var(--gqb-play-x, -18px), var(--gqb-play-y, 74px)) scale(var(--gqb-play-scale, 1.96)) !important;
  }

  .gqb-logo-game-host.is-docked.is-playing .status-chip.show {
    top: calc(100% + var(--gqb-play-y, 0px) + 80px);
  }

  .gqb-logo-game-host.is-playing .gqb-game.playing.returning,
  .gqb-logo-game-host.is-playing .gqb-game.playing.returning:hover,
  .gqb-logo-game-host.is-playing .gqb-game.playing.returning:active,
  .gqb-logo-game-host.is-playing .gqb-game.playing.returning:focus-visible {
    transform: translate(0, 0) scale(var(--gqb-rest-scale, .875)) !important;
  }
}

.gqb-logo-game-host .gqb-game.playing .disc::before {
  opacity: 0 !important;
  z-index: 1;
}

.gqb-logo-game-host .gqb-game.playing .arc.blue,
.gqb-logo-game-host .gqb-game.playing .arc.red {
  opacity: .95 !important;
}

.gqb-logo-game-host .gqb-game.playing .arc.yellow,
.gqb-logo-game-host .gqb-game.playing .arc.green {
  opacity: 0 !important;
}

.gqb-logo-game-host .gqb-game.playing .game-board {
  z-index: 24;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.blue,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.red {
  top: 7px !important;
  width: 2px !important;
  height: 82px !important;
  opacity: .7 !important;
  box-shadow:
    0 0 0 .7px rgba(255,255,255,.7),
    0 1px 2px rgba(15, 23, 42, .1);
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.blue {
  left: 34px !important;
  background: var(--blue) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.red {
  left: 62px !important;
  background: var(--red) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.yellow,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.green,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .book {
  left: 7px !important;
  width: 82px !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 999px !important;
  opacity: .7 !important;
  transform: rotate(0deg) !important;
  box-shadow:
    0 0 0 .7px rgba(255,255,255,.7),
    0 1px 2px rgba(15, 23, 42, .1);
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.yellow,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .book-left {
  top: 34px !important;
  background: var(--yellow) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.green,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .book-right {
  top: 62px !important;
  background: var(--green) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards {
  border: 0 !important;
  border-radius: 999px !important;
  z-index: 18 !important;
  opacity: .68 !important;
  transform: rotate(0deg) !important;
  animation: none !important;
  box-shadow:
    0 0 0 .6px rgba(255, 255, 255, .7),
    0 1px 2px rgba(15, 23, 42, .08) !important;
  overflow: visible !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards::before,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  border-radius: 999px !important;
  background: inherit !important;
  opacity: .86 !important;
  box-shadow:
    0 0 0 .6px rgba(255, 255, 255, .7),
    0 1px 2px rgba(15, 23, 42, .08) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .cards .mascot-part {
  display: none !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red {
  top: 8px !important;
  width: 1.85px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue {
  left: 15px !important;
  background: color-mix(in srgb, var(--yellow) 88%, #ffffff 12%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue::before {
  left: 9.4px !important;
  top: 0 !important;
  width: 1.85px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue::after {
  left: 28px !important;
  top: 0 !important;
  width: 1.85px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red {
  left: 53px !important;
  background: color-mix(in srgb, var(--red) 84%, #ffffff 16%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red::before {
  left: 18.4px !important;
  top: 0 !important;
  width: 1.85px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red::after {
  left: 27.8px !important;
  top: 0 !important;
  width: 1.85px !important;
  height: 80px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green {
  left: 8px !important;
  width: 80px !important;
  height: 1.85px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow {
  top: 15px !important;
  background: color-mix(in srgb, var(--blue) 82%, #ffffff 18%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow::before {
  left: 0 !important;
  top: 9.4px !important;
  width: 80px !important;
  height: 1.85px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow::after {
  left: 0 !important;
  top: 28px !important;
  width: 80px !important;
  height: 1.85px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green {
  top: 53px !important;
  background: color-mix(in srgb, var(--green) 86%, #ffffff 14%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green::before {
  left: 0 !important;
  top: 18.4px !important;
  width: 80px !important;
  height: 1.85px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green::after {
  left: 0 !important;
  top: 27.8px !important;
  width: 80px !important;
  height: 1.85px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter {
  top: -22px !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% 48% 44% 48% !important;
  animation-timing-function: cubic-bezier(.28, .78, .28, 1) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter:not(.mascot-row-hint) {
  transform-origin: center bottom !important;
  animation-iteration-count: infinite !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .g:not(.mascot-row-hint) {
  animation-name: gqbSudokuAudienceHop !important;
  animation-duration: 1.72s !important;
  animation-delay: -.18s !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .q:not(.mascot-row-hint) {
  animation-name: gqbSudokuAudienceCount !important;
  animation-duration: 2.12s !important;
  animation-delay: -.54s !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .b:not(.mascot-row-hint) {
  animation-name: gqbSudokuAudienceThink !important;
  animation-duration: 2.64s !important;
  animation-delay: -.96s !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .g:not(.mascot-row-hint) .mascot-arm-left,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .g:not(.mascot-row-hint) .mascot-arm-right {
  top: 5px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .g:not(.mascot-row-hint) .mascot-arm-left {
  left: -3.3px !important;
  transform-origin: 4px 6px !important;
  animation: gqbSudokuAudienceClapLeft 1.72s ease-in-out infinite !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .g:not(.mascot-row-hint) .mascot-arm-right {
  right: -3.3px !important;
  transform-origin: 1px 6px !important;
  animation: gqbSudokuAudienceClapRight 1.72s ease-in-out infinite !important;
  animation-delay: .08s !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .q:not(.mascot-row-hint) .mascot-arm-right {
  top: 2.5px !important;
  right: -3.8px !important;
  transform-origin: 1px 7px !important;
  animation: gqbSudokuAudienceWave 2.12s ease-in-out infinite !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .q:not(.mascot-row-hint) .mascot-foot-left,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .q:not(.mascot-row-hint) .mascot-foot-right {
  animation: gqbSudokuAudienceToeTap 2.12s ease-in-out infinite !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .q:not(.mascot-row-hint) .mascot-foot-right {
  animation-delay: .18s !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .b:not(.mascot-row-hint) .mascot-eye::after {
  animation: mascotBlink 2.64s ease-in-out infinite !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .b:not(.mascot-row-hint) .mascot-mouth {
  animation: gqbSudokuAudienceMurmur 2.64s ease-in-out infinite !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .g {
  left: 38px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .q {
  left: 53px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .b {
  left: 68px !important;
}

@keyframes gqbSudokuAudienceHop {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(720deg) scale(1);
  }

  16% {
    transform: translate3d(0, 1px, 0) rotate(720deg) scale(1.04, .96);
  }

  40% {
    transform: translate3d(0, -4.5px, 0) rotate(720deg) scale(.97, 1.05);
  }

  68% {
    transform: translate3d(0, 0, 0) rotate(720deg) scale(1.03, .97);
  }
}

@keyframes gqbSudokuAudienceCount {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(720deg) scale(1);
  }

  30% {
    transform: translate3d(0, -.8px, 0) rotate(720deg) scale(.99, 1.03);
  }

  56% {
    transform: translate3d(0, .35px, 0) rotate(720deg) scale(1.02, .98);
  }

  78% {
    transform: translate3d(0, -1.5px, 0) rotate(720deg) scale(1, 1.02);
  }
}

@keyframes gqbSudokuAudienceThink {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(720deg) scale(1);
  }

  24% {
    transform: translate3d(0, -.7px, 0) rotate(720deg) scale(.99, 1.02);
  }

  52% {
    transform: translate3d(0, 0, 0) rotate(720deg) scale(1.01, .99);
  }

  76% {
    transform: translate3d(0, -1.1px, 0) rotate(720deg) scale(.99, 1.02);
  }
}

@keyframes gqbSudokuAudienceClapLeft {
  0%, 74%, 100% { transform: rotate(-28deg) translateY(0); }
  20% { transform: rotate(-54deg) translateY(-.8px); }
  36% { transform: rotate(-12deg) translateY(.3px); }
  52% { transform: rotate(-48deg) translateY(-.6px); }
}

@keyframes gqbSudokuAudienceClapRight {
  0%, 74%, 100% { transform: rotate(28deg) translateY(0); }
  20% { transform: rotate(54deg) translateY(-.8px); }
  36% { transform: rotate(12deg) translateY(.3px); }
  52% { transform: rotate(48deg) translateY(-.6px); }
}

@keyframes gqbSudokuAudienceWave {
  0%, 68%, 100% { transform: rotate(-38deg) translateY(0); }
  18% { transform: rotate(-68deg) translateY(-1px); }
  34% { transform: rotate(-18deg) translateY(.25px); }
  50% { transform: rotate(-58deg) translateY(-.65px); }
}

@keyframes gqbSudokuAudienceToeTap {
  0%, 70%, 100% { transform: translateY(0) rotate(0deg); }
  78% { transform: translateY(-1px) rotate(-8deg); }
  88% { transform: translateY(0) rotate(5deg); }
}

@keyframes gqbSudokuAudienceMurmur {
  0%, 72%, 100% { transform: scaleX(1); }
  82% { transform: scaleX(1.22); }
  90% { transform: scaleX(.9); }
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .game-board {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .34s ease 1.1s !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .piece,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning .disc,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning .arc,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning .letter,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning .cards,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning .book {
  transition:
    left 1.52s cubic-bezier(.18, .84, .18, 1) !important,
    top 1.52s cubic-bezier(.18, .84, .18, 1) !important,
    width 1.52s cubic-bezier(.18, .84, .18, 1) !important,
    height 1.52s cubic-bezier(.18, .84, .18, 1) !important,
    transform 1.52s cubic-bezier(.18, .84, .18, 1) !important,
    opacity .42s ease !important,
    border-radius 1.52s cubic-bezier(.18, .84, .18, 1) !important,
    background-color .52s ease !important,
    box-shadow .52s ease !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .disc {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .disc::before {
  opacity: 0 !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .arc {
  opacity: 0 !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .mascot-part {
  display: none !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .letter {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  animation: none !important;
  font-family: "Google Sans Flex", "Google Sans", "Product Sans", Arial, sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  overflow: visible !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.65) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .g {
  left: 7px !important;
  top: 34px !important;
  width: 37px !important;
  height: 34px !important;
  color: var(--blue) !important;
  font-size: 39px !important;
  letter-spacing: -0.1em !important;
  transform: rotate(0deg) !important;
  z-index: 15 !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .q {
  left: 27px !important;
  top: 34px !important;
  width: 39px !important;
  height: 39px !important;
  color: var(--red) !important;
  font-size: 39px !important;
  letter-spacing: -0.08em !important;
  transform: rotate(0deg) !important;
  z-index: 14 !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .b {
  left: 47px !important;
  top: 34px !important;
  width: 35px !important;
  height: 37px !important;
  color: #188b47 !important;
  font-size: 40px !important;
  letter-spacing: -0.1em !important;
  transform: rotate(0deg) !important;
  z-index: 13 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.8),
    -1px 0 0 rgba(255,255,255,.7),
    1px 0 0 rgba(255,255,255,.7) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .cards {
  width: 31px !important;
  height: 48px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, .78) !important;
  animation: none !important;
  opacity: 1 !important;
  transform-origin: 15px 45px !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-blue {
  left: 29px !important;
  top: 19px !important;
  background: var(--yellow) !important;
  z-index: 5 !important;
  transform: rotate(-25deg) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-red {
  left: 30px !important;
  top: 18px !important;
  background: var(--red) !important;
  z-index: 4 !important;
  transform: rotate(-8deg) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-yellow {
  left: 31px !important;
  top: 18px !important;
  background: var(--blue) !important;
  z-index: 3 !important;
  transform: rotate(9deg) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-green {
  left: 32px !important;
  top: 19px !important;
  background: var(--green) !important;
  z-index: 2 !important;
  transform: rotate(25deg) !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-blue::before,
.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-blue::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  right: 5px !important;
  height: 2px !important;
  border-radius: 99px !important;
  background: rgba(255, 255, 255, .92) !important;
  opacity: 1 !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-blue::before {
  top: 12px !important;
}

.gqb-logo-game-host.is-playing .gqb-game.playing.returning .card-blue::after {
  top: 20px !important;
  box-shadow: 0 8px 0 rgba(255, 255, 255, .78) !important;
}

@media (max-width: 600px) and (pointer: coarse) {
  .hero.has-gqb-logo-game > .gqb-logo-game-host {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 8px) !important;
    right: 10px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    z-index: 122 !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .hero.has-gqb-logo-game > .gqb-logo-game-host:not(.is-playing) .gqb-game,
  .hero.has-gqb-logo-game > .gqb-logo-game-host:not(.is-playing) .gqb-game:hover,
  .hero.has-gqb-logo-game > .gqb-logo-game-host:not(.is-playing) .gqb-game:active,
  .hero.has-gqb-logo-game > .gqb-logo-game-host:not(.is-playing) .gqb-game:focus-visible {
    transform: translateZ(0) scale(.58) !important;
    transform-origin: center !important;
  }

  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing {
    z-index: 2147483600 !important;
  }

  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing,
  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing:hover,
  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing:active,
  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing:focus-visible {
    transform: translate(-104px, 96px) scale(2.12) !important;
    transform-origin: center !important;
  }

  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing.returning,
  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing.returning:hover,
  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing.returning:active,
  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .gqb-game.playing.returning:focus-visible {
    transform: translateZ(0) scale(.58) !important;
  }

  .hero.has-gqb-logo-game > .gqb-logo-game-host .status-chip {
    max-width: min(210px, calc(100vw - 28px));
    white-space: nowrap;
  }

  .hero.has-gqb-logo-game > .gqb-logo-game-host.is-playing .status-chip.show {
    left: 50% !important;
    top: 258px !important;
    transform: translateX(-50%) !important;
  }

  .gqb-logo-chrome-spacer.is-visible {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  .gqb-logo-game-host.is-docked {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    flex: 0 0 48px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    z-index: 1 !important;
    touch-action: manipulation;
  }

  .gqb-logo-game-host.is-docked:not(.is-playing) {
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(96, 126, 170, .18) !important;
    box-shadow: 0 10px 24px rgba(31, 55, 92, .08) !important;
  }

  .gqb-logo-game-host.is-docked:not(.is-playing)::before {
    content: "" !important;
    position: absolute !important;
    inset: 3px !important;
    border-radius: 999px !important;
    background: url("../icons/app-icon-512.png") center / contain no-repeat !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }

  .gqb-logo-game-host.is-docked:not(.is-playing)::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 2px rgba(46, 72, 112, .08) !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }

  .gqb-logo-game-host.is-docked:not(.is-playing) .gqb-game,
  .gqb-logo-game-host.is-docked:not(.is-playing) .gqb-game:hover,
  .gqb-logo-game-host.is-docked:not(.is-playing) .gqb-game:active,
  .gqb-logo-game-host.is-docked:not(.is-playing) .gqb-game:focus-visible {
    opacity: 0 !important;
    z-index: 1 !important;
    transform: translate(-50%, -50%) scale(.39) !important;
    transform-origin: center !important;
  }

  .gqb-logo-game-host.is-docked.is-playing {
    z-index: 2147483600 !important;
    overflow: visible !important;
  }

  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:focus-visible,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:focus-visible {
    left: 0 !important;
    top: 0 !important;
    transform: translate(-104px, 86px) scale(2.02) !important;
    transform-origin: center !important;
  }

  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning:focus-visible {
    transform: translate(-50%, -50%) scale(.5) !important;
    transform-origin: center !important;
  }

  .gqb-logo-game-host.is-docked .status-chip {
    max-width: min(210px, calc(100vw - 28px));
    white-space: nowrap;
  }

  .gqb-logo-game-host.is-docked.is-playing .status-chip.show {
    left: 50% !important;
    top: 246px !important;
    transform: translateX(-50%) !important;
  }

  body:not(.quiz-mode) .layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body:not(.quiz-mode) .main,
  body:not(.quiz-mode) .sidebar,
  body:not(.quiz-mode) #tab-library.tab-panel.active {
    display: contents !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child {
    order: 0;
    display: block !important;
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid var(--card-border);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stats {
    display: grid !important;
    gap: 8px !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stats-count-row {
    gap: 6px !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stats-feature-row {
    gap: 8px !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stat {
    min-height: 72px !important;
    border-radius: 16px !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stat-compact {
    padding: 8px 6px !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stat-compact .label {
    font-size: 10px !important;
    line-height: 1.15 !important;
  }

  body:not(.quiz-mode) .sidebar > .section:first-child .stat-compact .value {
    font-size: 22px !important;
  }

  body:not(.quiz-mode) #tab-quiz.tab-panel.active,
  body:not(.quiz-mode) #tab-import.tab-panel.active,
  body:not(.quiz-mode) #tab-export.tab-panel.active {
    order: 2;
    width: 100% !important;
  }

  body:not(.quiz-mode) .tabs {
    order: 1;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid var(--card-border);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow);
    overflow: visible !important;
  }

  body:not(.quiz-mode) .tab-row-primary {
    order: 2;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100%;
  }

  body:not(.quiz-mode) .app-chrome-actions {
    order: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    position: relative !important;
    overflow: visible !important;
    isolation: isolate;
  }

  body:not(.quiz-mode) .app-chrome-actions::after {
    content: attr(data-library-flash);
    position: absolute;
    inset: -8px 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: color-mix(in srgb, var(--accent) 86%, var(--ink));
    font-size: 39px;
    font-weight: 1000;
    letter-spacing: .015em;
    text-transform: uppercase;
    text-shadow:
      0 2px 0 rgba(255, 255, 255, .92),
      0 9px 20px color-mix(in srgb, var(--accent) 28%, transparent),
      0 1px 18px color-mix(in srgb, var(--accent-soft) 72%, transparent);
    pointer-events: none;
    opacity: 0;
    transform: translateY(-4px) scale(.98);
    background:
      radial-gradient(ellipse at center, color-mix(in srgb, var(--accent-soft) 48%, rgba(255,255,255,.74)) 0 34%, transparent 72%);
  }

  body:not(.quiz-mode) .app-chrome-actions.is-library-flashing::after {
    animation: mobileLibraryFlash 1.05s cubic-bezier(.2, .9, .2, 1) both;
  }

  body:not(.quiz-mode) .app-chrome-actions #settingsBtn {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 118px !important;
    height: 44px !important;
    padding: 0 12px !important;
    border-radius: 16px !important;
    justify-content: center !important;
  }

  body:not(.quiz-mode) .app-chrome-actions #settingsBtn .chrome-action-label {
    display: inline !important;
    font-size: 13px !important;
  }

  body:not(.quiz-mode) .mobile-library-switch {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0;
    border-radius: 11px;
    position: relative;
    isolation: isolate;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  @supports (-webkit-touch-callout: none) {
    body:not(.quiz-mode) .mobile-library-switch {
      background: transparent;
      box-shadow: none;
    }
  }

  body:not(.quiz-mode) .mobile-library-switch:focus,
  body:not(.quiz-mode) .mobile-library-switch:focus-visible {
    outline: none !important;
  }

  body:not(.quiz-mode) .mobile-library-switch::before {
    content: none;
  }

  body:not(.quiz-mode) .mobile-library-switch::after {
    content: none;
  }

  body:not(.quiz-mode) .mobile-switch-mechanism {
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
    z-index: 2;
  }

  body:not(.quiz-mode) .mobile-switch-plate {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(153, 166, 183, .68);
    border-radius: 12px;
    background:
      linear-gradient(155deg, rgba(255,255,255,.98) 0%, rgba(247,250,254,.96) 42%, rgba(225,233,243,.96) 100%);
    box-shadow:
      inset 1px 1px 0 rgba(255, 255, 255, 1),
      inset -1px -2px 5px rgba(15, 23, 42, .12),
      inset 0 0 16px rgba(255, 255, 255, .48),
      0 1px 0 rgba(255, 255, 255, .9),
      0 4px 10px rgba(15, 23, 42, .1);
    overflow: hidden;
  }

  body:not(.quiz-mode) .mobile-switch-plate::before {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.86);
    box-shadow: inset 0 -5px 10px rgba(148,163,184,.12);
  }

  body:not(.quiz-mode) .mobile-switch-screw {
    position: absolute;
    left: 50%;
    width: 2.8px;
    height: 2.8px;
    border-radius: 50%;
    transform: translateX(-50%);
    background:
      radial-gradient(circle at 36% 30%, rgba(255,255,255,.92) 0 22%, transparent 24%),
      linear-gradient(145deg, #94a3b8, #56677c);
    box-shadow:
      inset -1px -1px 1px rgba(15,23,42,.28),
      0 1px 1px rgba(255,255,255,.8);
    z-index: 3;
  }

  body:not(.quiz-mode) .mobile-switch-screw-top {
    top: 4px;
  }

  body:not(.quiz-mode) .mobile-switch-screw-bottom {
    bottom: 4px;
  }

  body:not(.quiz-mode) .mobile-switch-slot {
    position: absolute;
    width: 12px;
    height: 23px;
    left: 50%;
    top: 50%;
    border-radius: 5px;
    transform: translate(-50%, -50%);
    background:
      linear-gradient(180deg, rgba(102,116,133,.78) 0%, rgba(168,180,193,.74) 48%, rgba(246,249,252,.96) 100%);
    box-shadow:
      inset 0 2px 5px rgba(15, 23, 42, .3),
      inset 0 -1px 0 rgba(255, 255, 255, .88),
      0 0 0 1px rgba(71, 85, 105, .2);
    z-index: 1;
  }

  body:not(.quiz-mode) .mobile-switch-neck {
    position: absolute;
    width: 10px;
    height: 22px;
    left: 50%;
    top: 50%;
    border-radius: 5px;
    transform: translate(-50%, calc(-50% + 5px));
    transform-origin: 50% 50%;
    background:
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(220,228,238,.98) 58%, rgba(170,181,194,.96));
    box-shadow:
      inset 1px 1px 0 rgba(255,255,255,.86),
      inset -1px -1px 1px rgba(15,23,42,.12),
      0 1px 2px rgba(15,23,42,.12);
    transition: transform .3s cubic-bezier(.2, .85, .2, 1), box-shadow .24s ease;
    z-index: 2;
  }

  body:not(.quiz-mode) .mobile-switch-lever {
    position: absolute;
    width: 28px;
    height: 9px;
    left: 50%;
    top: 50%;
    border-radius: 999px;
    clip-path: none;
    transform: translate(-50%, 7px);
    transform-origin: 50% 50%;
    background:
      linear-gradient(35deg, #ffffff 0 12%, #f4f7fb 13% 44%, #d5dee8 72%, #b0bdca 100%);
    box-shadow:
      inset 1px 1px 0 rgba(255,255,255,1),
      inset -1px -1px 2px rgba(15,23,42,.12),
      0 -1px 3px rgba(15,23,42,.1),
      0 0 0 .5px rgba(100,116,139,.28);
    transition: transform .3s cubic-bezier(.2, .85, .2, 1), box-shadow .24s ease, background .24s ease;
    z-index: 3;
  }

  body:not(.quiz-mode) .mobile-switch-lever::before {
    content: "";
    position: absolute;
    left: 3px;
    right: 4px;
    top: 2px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255,255,255,.34), rgba(255,255,255,.82));
    pointer-events: none;
  }

  body:not(.quiz-mode) .mobile-switch-lever::after {
    content: none;
  }

  body[data-system="anatomy"]:not(.quiz-mode) .mobile-switch-neck {
    transform: translate(-50%, calc(-50% - 5px));
    box-shadow:
      inset 1px 1px 0 rgba(255,255,255,.9),
      inset -1px -1px 1px rgba(15,23,42,.1),
      0 -1px 2px rgba(15,23,42,.08);
  }

  body[data-system="anatomy"]:not(.quiz-mode) .mobile-switch-lever {
    border-radius: 999px;
    transform: translate(-50%, -16px);
    background:
      linear-gradient(145deg, #ffffff 0 12%, #f2f6fb 13% 45%, #cbd6e2 72%, #aab7c6 100%);
    box-shadow:
      inset 1px 1px 0 rgba(255,255,255,1),
      inset -1px -2px 2px rgba(15,23,42,.17),
      0 3px 6px rgba(15,23,42,.2),
      0 0 0 .5px rgba(100,116,139,.28);
  }

  body[data-system="anatomy"]:not(.quiz-mode) .mobile-switch-lever::before {
    top: auto;
    bottom: 2px;
    background: linear-gradient(90deg, rgba(255,255,255,.9), rgba(255,255,255,.34));
  }

  body[data-system="anatomy"]:not(.quiz-mode) .mobile-switch-lever::after {
    content: none;
  }

  body:not(.quiz-mode) .mobile-library-switch:active .mobile-switch-lever {
    transform: translate(-50%, 8px) scale(.985);
    box-shadow:
      inset 1px 1px 0 rgba(255,255,255,.9),
      inset -1px -1px 2px rgba(15,23,42,.18),
      0 1px 2px rgba(15,23,42,.18),
      0 0 0 .5px rgba(100,116,139,.28);
  }

  body[data-system="anatomy"]:not(.quiz-mode) .mobile-library-switch:active .mobile-switch-lever {
    transform: translate(-50%, -15px) scale(.985);
  }

  body:not(.quiz-mode) .mobile-library-option {
    appearance: none;
    position: absolute;
    left: 0;
    right: 0;
    z-index: -1;
    border: 0;
    background: transparent;
    color: transparent;
    min-width: 0 !important;
    height: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 16px;
    font: inherit;
    font-size: 9.5px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    touch-action: manipulation;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    -webkit-tap-highlight-color: transparent;
    outline: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  body:not(.quiz-mode) .mobile-library-option:hover,
  body:not(.quiz-mode) .mobile-library-option:active,
  body:not(.quiz-mode) .mobile-library-option:focus,
  body:not(.quiz-mode) .mobile-library-option:focus-visible {
    opacity: 0 !important;
    outline: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
  }

  body:not(.quiz-mode) .mobile-library-option.active {
    color: transparent;
  }

  body:not(.quiz-mode) .mobile-library-option.is-loading {
    opacity: .72;
  }

  body:not(.quiz-mode) .mobile-library-option[data-library-mode="anatomy"] {
    top: 0;
  }

  body:not(.quiz-mode) .mobile-library-option[data-library-mode="histology"] {
    bottom: 0;
  }

  body:not(.quiz-mode) .mobile-library-bulb {
    display: none;
  }

  body:not(.quiz-mode) .mobile-library-label {
    display: none;
    position: absolute;
    left: 6px;
    right: 6px;
    z-index: 5;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    pointer-events: none;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
  }

  .library-selector-shell {
    display: none !important;
  }

  body:not(.quiz-mode) .sidebar > .section:nth-of-type(2) {
    order: 2;
  }

  body:not(.quiz-mode) .sidebar > .section:nth-of-type(3) {
    order: 3;
  }

  body:not(.quiz-mode):has(#tab-library.tab-panel.active) #goLibraryBtn {
    display: none !important;
  }

  body:not(.quiz-mode):has(#tab-quiz.tab-panel.active) .sidebar > .section:nth-of-type(2),
  body:not(.quiz-mode):has(#tab-import.tab-panel.active) .sidebar > .section:nth-of-type(2),
  body:not(.quiz-mode):has(#tab-export.tab-panel.active) .sidebar > .section:nth-of-type(2) {
    order: 3;
  }

  body:not(.quiz-mode):has(#tab-quiz.tab-panel.active) .sidebar > .section:nth-of-type(3),
  body:not(.quiz-mode):has(#tab-import.tab-panel.active) .sidebar > .section:nth-of-type(3),
  body:not(.quiz-mode):has(#tab-export.tab-panel.active) .sidebar > .section:nth-of-type(3) {
    order: 4;
  }

  body:not(.quiz-mode) #tab-library > .hero-card.selected {
    display: none !important;
  }

  body:not(.quiz-mode) #tab-library > .library-study-grid {
    order: 4;
  }

  body:not(.quiz-mode) #addCustomDetails {
    order: 5;
  }

  body:not(.quiz-mode) #libraryNotice {
    order: 6;
  }

  body:not(.quiz-mode) #imageUploadDetails,
  body:not(.quiz-mode) #anatomySectionDivider,
  body:not(.quiz-mode) #emptyLibraryCreateGuide {
    order: 7;
  }

  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing:focus-visible,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.closing-hold:focus-visible {
    width: 96px !important;
    height: 96px !important;
    max-width: none !important;
    transform-origin: center !important;
    z-index: 2147483600 !important;
  }

  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning:hover,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning:active,
  .gqb-logo-game-host.is-docked.is-playing .gqb-game.playing.returning:focus-visible {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform-origin: center !important;
  }

  .gqb-logo-game-host.is-docked.is-playing .status-chip.show {
    position: fixed !important;
    inset: var(--gqb-status-top, calc(env(safe-area-inset-top, 0px) + 292px)) auto auto var(--gqb-status-left, calc(50vw - 88px)) !important;
    width: 176px !important;
    min-width: 176px !important;
    max-width: 176px !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    justify-content: center !important;
    text-align: center !important;
    z-index: 2147483601 !important;
    pointer-events: none !important;
  }

  html,
  body {
    max-width: 100%;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  input,
  textarea,
  select,
  [contenteditable="true"] {
    font-size: 16px !important;
    max-width: 100%;
  }

  input,
  textarea,
  select {
    touch-action: manipulation;
  }

}

@media (min-width: 701px) {
  :root {
    --side-control-top: 22px;
    --side-control-right: 14px;
    --side-control-width: 96px;
    --side-control-gap: 7px;
    --side-control-radius: 16px;
    --side-control-surface: color-mix(in srgb, var(--surface-elevated) 74%, transparent);
    --side-control-border: transparent;
    --side-control-shadow: none;
    --library-switch-height: 78px;
    --theme-switch-height: 46px;
  }

  .library-selector-shell {
    top: calc(var(--side-control-top) + var(--theme-switch-height) + var(--side-control-gap)) !important;
    right: var(--side-control-right) !important;
    width: var(--side-control-width) !important;
    min-height: var(--library-switch-height) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .theme-toggle {
    top: var(--side-control-top) !important;
    right: var(--side-control-right) !important;
    width: var(--side-control-width) !important;
    height: var(--theme-switch-height) !important;
    min-height: var(--theme-switch-height) !important;
    padding: 7px 8px !important;
    gap: 6px !important;
    border-radius: var(--side-control-radius) !important;
    background: var(--side-control-surface) !important;
    border-color: transparent !important;
    box-shadow: var(--side-control-shadow) !important;
    backdrop-filter: blur(10px) saturate(1.04) !important;
    overflow: hidden !important;
  }

  .theme-toggle .theme-toggle-ui {
    width: 30px !important;
    height: 18px !important;
    border-radius: 10px !important;
  }

  .theme-toggle .theme-toggle-thumb {
    top: 3px !important;
    left: 3px !important;
    width: 10px !important;
    height: 10px !important;
  }

  .theme-toggle[aria-pressed="true"] .theme-toggle-thumb {
    transform: translateX(12px) !important;
  }

  .theme-toggle .theme-toggle-copy {
    gap: 1px !important;
  }

  .theme-toggle .theme-toggle-title {
    font-size: 10px !important;
    line-height: 1.08 !important;
  }

  .theme-toggle .theme-toggle-value {
    font-size: 8px !important;
    line-height: 1.1 !important;
  }

  .library-selector-menu {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .library-selector-switch {
    width: var(--side-control-width) !important;
    min-height: var(--library-switch-height) !important;
    height: var(--library-switch-height) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
    opacity: 1 !important;
  }

  .library-selector-switch.is-loading {
    opacity: 1 !important;
    cursor: wait;
  }

  .library-selector-switch::before,
  .library-selector-switch::after,
  .library-selector-switch.active::before,
  .library-selector-switch.active::after {
    content: none !important;
  }

  .library-selector-switch .mobile-switch-mechanism {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 54px !important;
    height: 44px !important;
    inset: 50% auto auto 50% !important;
    transform: translate(-50%, -50%) scale(1.75) !important;
    transform-origin: center !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .library-selector-switch .mobile-switch-plate {
    background: linear-gradient(155deg, #ffffff 0%, #f7fafe 42%, #e1e9f3 100%) !important;
    opacity: 1 !important;
  }

  .library-selector-switch .mobile-switch-plate::before {
    border-color: rgba(255, 255, 255, .86) !important;
    box-shadow: inset 0 -5px 10px rgba(148, 163, 184, .12) !important;
    opacity: 1 !important;
  }

  .library-selector-switch .mobile-switch-lever {
    background: linear-gradient(35deg, #ffffff 0 12%, #f4f7fb 13% 44%, #d5dee8 72%, #b0bdca 100%) !important;
    opacity: 1 !important;
  }

  body[data-system="anatomy"] .library-selector-switch .mobile-switch-lever {
    background: linear-gradient(145deg, #ffffff 0 12%, #f2f6fb 13% 45%, #cbd6e2 72%, #aab7c6 100%) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 760px) {
  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-mechanism,
  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-plate,
  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-slot,
  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-neck,
  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever {
    opacity: 1 !important;
  }

  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-plate {
    background:
      linear-gradient(155deg, #ffffff 0%, #f7fafe 42%, #e1e9f3 100%) !important;
  }

  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-plate::before {
    border-color: rgba(255, 255, 255, .92) !important;
    background:
      linear-gradient(155deg, rgba(255,255,255,.64), rgba(245,248,252,.28)) !important;
  }

  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-slot {
    background:
      linear-gradient(180deg, #667485 0%, #a8b4c1 48%, #f6f9fc 100%) !important;
  }

  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-neck {
    background:
      linear-gradient(180deg, #ffffff, #dce4ee 58%, #aab5c2) !important;
  }

  body:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever {
    background:
      linear-gradient(35deg, #ffffff 0 12%, #f4f7fb 13% 44%, #d5dee8 72%, #b0bdca 100%) !important;
  }

  body[data-system="anatomy"]:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever {
    background:
      linear-gradient(145deg, #ffffff 0 12%, #f2f6fb 13% 45%, #cbd6e2 72%, #aab7c6 100%) !important;
  }
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-mechanism,
html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-plate,
html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-slot,
html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-neck,
html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever,
html[data-theme="dark"] .library-selector-switch .mobile-switch-mechanism,
html[data-theme="dark"] .library-selector-switch .mobile-switch-plate,
html[data-theme="dark"] .library-selector-switch .mobile-switch-slot,
html[data-theme="dark"] .library-selector-switch .mobile-switch-neck,
html[data-theme="dark"] .library-selector-switch .mobile-switch-lever {
  opacity: 1 !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-plate,
html[data-theme="dark"] .library-selector-switch .mobile-switch-plate {
  border-color: rgba(125, 148, 181, .42) !important;
  background:
    linear-gradient(155deg, #27374f 0%, #17253b 48%, #101a2d 100%) !important;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.14),
    inset -1px -2px 7px rgba(0,0,0,.36),
    inset 0 0 16px rgba(96,165,250,.08),
    0 1px 0 rgba(255,255,255,.06),
    0 8px 16px rgba(0,0,0,.28) !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-plate::before,
html[data-theme="dark"] .library-selector-switch .mobile-switch-plate::before {
  border-color: rgba(203,213,225,.16) !important;
  background:
    linear-gradient(155deg, rgba(255,255,255,.08), rgba(96,165,250,.04)) !important;
  box-shadow: inset 0 -5px 10px rgba(0,0,0,.2) !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-screw,
html[data-theme="dark"] .library-selector-switch .mobile-switch-screw {
  background:
    radial-gradient(circle at 36% 30%, rgba(255,255,255,.58) 0 22%, transparent 24%),
    linear-gradient(145deg, #94a3b8, #34445c) !important;
  box-shadow:
    inset -1px -1px 1px rgba(0,0,0,.42),
    0 1px 1px rgba(255,255,255,.13) !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-slot,
html[data-theme="dark"] .library-selector-switch .mobile-switch-slot {
  background:
    linear-gradient(180deg, #070d18 0%, #172236 50%, #4d6079 100%) !important;
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,.55),
    inset 0 -1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(148,163,184,.16) !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-neck,
html[data-theme="dark"] .library-selector-switch .mobile-switch-neck {
  background:
    linear-gradient(180deg, #d8e3f0, #8fa1b7 58%, #465873) !important;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.34),
    inset -1px -1px 2px rgba(0,0,0,.28),
    0 2px 4px rgba(0,0,0,.22) !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever,
html[data-theme="dark"] .library-selector-switch .mobile-switch-lever,
html[data-theme="dark"] body[data-system="anatomy"]:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever,
html[data-theme="dark"] body[data-system="anatomy"] .library-selector-switch .mobile-switch-lever {
  background:
    linear-gradient(35deg, #f8fbff 0 12%, #c7d4e5 13% 45%, #74879e 72%, #33445c 100%) !important;
  box-shadow:
    inset 1px 1px 0 rgba(255,255,255,.55),
    inset -1px -2px 2px rgba(0,0,0,.34),
    0 4px 9px rgba(0,0,0,.34),
    0 0 0 .5px rgba(203,213,225,.22) !important;
}

html[data-theme="dark"] body:not(.quiz-mode) .mobile-library-switch .mobile-switch-lever::before,
html[data-theme="dark"] .library-selector-switch .mobile-switch-lever::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.62), rgba(255,255,255,.16)) !important;
}

@media (max-width: 600px) and (pointer: coarse) {
  body:not(.quiz-mode) .sidebar > .section:first-child {
    margin-bottom: 0 !important;
    border-bottom-color: color-mix(in srgb, var(--line) 72%, transparent) !important;
    border-bottom-left-radius: 18px !important;
    border-bottom-right-radius: 18px !important;
    box-shadow: none !important;
  }

  body:not(.quiz-mode) .tabs {
    margin-top: 10px !important;
    border-top-color: color-mix(in srgb, var(--line) 72%, transparent) !important;
    border-top-left-radius: 18px !important;
    border-top-right-radius: 18px !important;
    box-shadow: none !important;
  }
}

.library-selector-switch[data-library-help]::after {
  content: attr(data-library-help) !important;
  position: absolute !important;
  right: calc(100% + 10px) !important;
  top: 50% !important;
  width: min(278px, calc(100vw - 138px)) !important;
  padding: 10px 12px !important;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line) 72%) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--surface-elevated) 94%, var(--accent-soft) 6%),
      color-mix(in srgb, var(--panel) 92%, var(--accent-soft) 8%)
    ) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .18) !important;
  color: var(--text) !important;
  font-size: 10.5px !important;
  font-weight: 760 !important;
  line-height: 1.42 !important;
  text-align: left !important;
  white-space: pre-line !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(6px, -50%) scale(.98) !important;
  transform-origin: right center !important;
  transition: opacity .16s ease, transform .16s ease !important;
  backdrop-filter: blur(14px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.18) !important;
  z-index: 30 !important;
}

.library-selector-switch[data-library-help]:hover::after,
.library-selector-switch[data-library-help]:focus-visible::after {
  opacity: 1 !important;
  transform: translate(0, -50%) scale(1) !important;
}

html[data-theme="dark"] .library-selector-switch[data-library-help]::after {
  border-color: rgba(125, 148, 181, .34) !important;
  background:
    linear-gradient(145deg, rgba(20, 31, 51, .94), rgba(10, 18, 33, .9)) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .34) !important;
}

.library-selector-switch .library-selector-hover-zone {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 6;
  display: block;
  cursor: pointer;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
}

.library-selector-switch .library-selector-hover-zone[data-library-mode="histology"] {
  top: 0;
  height: 50%;
}

.library-selector-switch .library-selector-hover-zone[data-library-mode="anatomy"] {
  bottom: 0;
  height: 50%;
}

.library-selector-switch .library-selector-hover-zone[data-library-help]::after {
  content: attr(data-library-help);
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  width: min(260px, calc(100vw - 138px));
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line) 72%);
  border-radius: 14px;
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--surface-elevated) 94%, var(--accent-soft) 6%),
      color-mix(in srgb, var(--panel) 92%, var(--accent-soft) 8%)
    );
  box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
  color: var(--text);
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.42;
  text-align: left;
  white-space: pre-line;
  opacity: 0;
  pointer-events: none;
  transform: translate(6px, -50%) scale(.98);
  transform-origin: right center;
  transition: opacity .16s ease, transform .16s ease;
  backdrop-filter: blur(14px) saturate(1.18);
  -webkit-backdrop-filter: blur(14px) saturate(1.18);
}

.library-selector-switch .library-selector-hover-zone[data-library-help]:hover::after {
  opacity: 1;
  transform: translate(0, -50%) scale(1);
}

html[data-theme="dark"] .library-selector-switch .library-selector-hover-zone[data-library-help]::after {
  border-color: rgba(125, 148, 181, .34);
  background:
    linear-gradient(145deg, rgba(20, 31, 51, .94), rgba(10, 18, 33, .9));
  box-shadow: 0 16px 38px rgba(0, 0, 0, .34);
}

/* Final Sudoku polish: keep the body-built walls, but make play readable. */
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] {
  inset: 7px !important;
  padding: 0 !important;
  gap: 0 !important;
  isolation: isolate !important;
  overflow: visible !important;
  background: transparent !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"]::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .62) 0 52%, rgba(255, 255, 255, .34) 72%, transparent 100%) !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile {
  overflow: visible !important;
  color: #174ea6 !important;
  font-size: 5.85px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 1),
    0 0 1px rgba(255, 255, 255, 1),
    0 1px 0 rgba(255, 255, 255, .92) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.given {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .9) 0 28%, rgba(255, 255, 255, .36) 43%, transparent 58%) !important;
  color: #0f172a !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.filled:not(.given) {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .86) 0 26%, rgba(255, 255, 255, .28) 42%, transparent 56%) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.wrong {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .9) 0 28%, rgba(234, 67, 53, .2) 44%, transparent 60%) !important;
  color: #b91c1c !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .96) 0 30%, rgba(66, 133, 244, .26) 47%, transparent 62%) !important;
  color: #0b57d0 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .game-mode-toggle,
.gqb-logo-game-host .game-board[data-game-mode="tictactoe"] .game-mode-toggle {
  right: -18px !important;
  top: -22px !important;
  width: 16px !important;
  height: 13px !important;
  font-size: 4px !important;
  z-index: 64 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-pad {
  bottom: -15px !important;
  width: 88px !important;
  height: 11px !important;
  z-index: 62 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(239, 246, 255, .96)) !important;
}

.gqb-logo-game-host .sudoku-choice {
  color: #174ea6 !important;
  transition: background .14s ease, color .14s ease, transform .14s ease !important;
}

.gqb-logo-game-host .sudoku-choice.active {
  background: #174ea6 !important;
  color: #fff !important;
  transform: scale(1.05) !important;
  box-shadow: 0 0 0 .6px rgba(255, 255, 255, .9) !important;
}

.gqb-logo-game-host.is-docked.is-playing[data-game-mode="sudoku"] .status-chip.show {
  top: calc(var(--gqb-status-top, calc(50vh + 110px)) + 18px) !important;
  font-size: 10.5px !important;
  line-height: 1.18 !important;
}

.gqb-logo-game-host .logo-stage {
  background: transparent !important;
  border: 0 !important;
  isolation: isolate !important;
}

.gqb-logo-game-host .logo-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 45% 36%, rgba(255, 255, 255, 1) 0 44%, rgba(255, 255, 255, .96) 66%, rgba(248, 250, 252, .82) 100%) !important;
  border: 2px solid rgba(255, 255, 255, .9) !important;
  box-shadow:
    0 8px 18px rgba(15, 23, 42, .06),
    inset 0 0 0 1px rgba(66, 133, 244, .04) !important;
  pointer-events: none !important;
  transform: scale(1) !important;
  transform-origin: center !important;
  transition:
    transform .74s cubic-bezier(.15, .9, .18, 1.08),
    box-shadow .5s ease,
    background .5s ease !important;
  z-index: 0 !important;
}

.gqb-logo-game-host .logo-stage::after {
  content: "" !important;
  position: absolute !important;
  inset: -5px !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 48% 42%, transparent 0 59%, rgba(255, 255, 255, .36) 70%, transparent 82%),
    conic-gradient(
      from 12deg,
      rgba(66, 133, 244, .13),
      rgba(52, 168, 83, .1),
      rgba(251, 188, 5, .12),
      rgba(234, 67, 53, .1),
      rgba(66, 133, 244, .13)
    ) !important;
  filter: blur(2.2px);
  opacity: 0;
  pointer-events: none !important;
  transform: scale(1.04) rotate(0deg);
  transform-origin: center !important;
  z-index: 0 !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .logo-stage::before {
  transform: scale(1.155) !important;
  box-shadow:
    0 12px 25px rgba(15, 23, 42, .09),
    0 0 0 2px rgba(255, 255, 255, .48),
    inset 0 0 0 1px rgba(66, 133, 244, .08) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .logo-stage::after {
  animation: gqbSudokuHaloDrift 7.6s ease-in-out infinite !important;
  opacity: .58;
}

.gqb-logo-game-host .gqb-game.sudoku-assembling .logo-stage::before {
  animation: gqbSudokuCircleBloom .76s cubic-bezier(.15, .9, .18, 1.08) both !important;
}

@keyframes gqbSudokuCircleBloom {
  0% {
    transform: scale(1);
  }

  68% {
    transform: scale(1.19);
  }

  100% {
    transform: scale(1.155);
  }
}

@keyframes gqbSudokuHaloDrift {
  0%, 100% {
    opacity: .42;
    filter: blur(2.3px);
    transform: scale(1.04) rotate(0deg);
  }

  38% {
    opacity: .6;
    filter: blur(2.8px);
    transform: scale(1.075) rotate(10deg);
  }

  70% {
    opacity: .5;
    filter: blur(2.4px);
    transform: scale(1.055) rotate(18deg);
  }
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] {
  inset: 6px !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"]::before {
  inset: -3px !important;
  border-radius: 17px !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .36) 0 46%, rgba(255, 255, 255, .16) 68%, transparent 100%) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile {
  font-size: 5.25px !important;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 1),
    0 0 1px rgba(255, 255, 255, .95) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.given {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .78) 0 24%, rgba(255, 255, 255, .22) 39%, transparent 54%) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.filled:not(.given) {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .72) 0 23%, rgba(255, 255, 255, .18) 38%, transparent 53%) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.wrong {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .86) 0 25%, rgba(234, 67, 53, .22) 42%, transparent 58%) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) {
  background:
    radial-gradient(circle, rgba(255, 255, 255, .9) 0 26%, rgba(66, 133, 244, .22) 43%, transparent 59%) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.blue,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.red {
  top: 6px !important;
  width: 1.8px !important;
  height: 84px !important;
  opacity: .62 !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.yellow,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .arc.green,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .book {
  left: 6px !important;
  width: 84px !important;
  height: 1.8px !important;
  opacity: .62 !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red {
  top: 6px !important;
  width: 1.45px !important;
  height: 84px !important;
  opacity: .58 !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue {
  left: 15.35px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue::before {
  left: 9.33px !important;
  width: 1.45px !important;
  height: 84px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-blue::after {
  left: 28px !important;
  width: 1.45px !important;
  height: 84px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red {
  left: 52.7px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red::before {
  left: 18.66px !important;
  width: 1.45px !important;
  height: 84px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-red::after {
  left: 28px !important;
  width: 1.45px !important;
  height: 84px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green {
  left: 6px !important;
  width: 84px !important;
  height: 1.45px !important;
  opacity: .58 !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow {
  top: 15.35px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow::before {
  top: 9.33px !important;
  width: 84px !important;
  height: 1.45px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-yellow::after {
  top: 28px !important;
  width: 84px !important;
  height: 1.45px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green {
  top: 52.7px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green::before {
  top: 18.66px !important;
  width: 84px !important;
  height: 1.45px !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .card-green::after {
  top: 28px !important;
  width: 84px !important;
  height: 1.45px !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-pad {
  bottom: -16px !important;
}

.gqb-logo-game-host.is-docked.is-playing[data-game-mode="sudoku"] .status-chip.show {
  top: calc(var(--gqb-status-top, calc(50vh + 110px)) + 34px) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile {
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  contain: paint !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.given,
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.filled:not(.given),
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given),
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.wrong {
  background: transparent !important;
  box-shadow: none !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-number {
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: none !important;
  transform-origin: center center !important;
  transition:
    font-size .16s cubic-bezier(.16, .88, .26, 1.12),
    color .16s ease,
    text-shadow .16s ease !important;
  will-change: font-size !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) {
  color: #2563c9 !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) .sudoku-number {
  animation: gqbSudokuDigitSettle .18s cubic-bezier(.16, .88, .26, 1.08) both !important;
  font-size: 5.85px !important;
  text-shadow:
    0 0 1.6px rgba(255, 255, 255, .92),
    0 1px 0 rgba(255, 255, 255, .78) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.wrong .sudoku-number {
  color: #b91c1c !important;
}

.gqb-logo-game-host .sudoku-choice.active {
  background:
    linear-gradient(180deg, rgba(37, 99, 201, .92), rgba(29, 78, 216, .86)) !important;
  color: #fff !important;
  transform: scale(1.015) !important;
  box-shadow:
    inset 0 0 0 .45px rgba(255, 255, 255, .72),
    0 1px 3px rgba(29, 78, 216, .22) !important;
}

@keyframes gqbSudokuDigitSettle {
  0% {
    font-size: 5.25px;
    opacity: .92;
  }

  68% {
    font-size: 5.95px;
    opacity: 1;
  }

  100% {
    font-size: 5.85px;
    opacity: 1;
  }
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode:not(.returning) .letter {
  transition:
    left .58s cubic-bezier(.16, .86, .22, 1),
    top .58s cubic-bezier(.16, .86, .22, 1),
    box-shadow .2s ease,
    opacity .2s ease !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint {
  left: var(--sudoku-hint-left) !important;
  top: var(--sudoku-hint-top) !important;
  z-index: 72 !important;
  opacity: 1 !important;
  animation: gqbSudokuRowHint 1.08s ease-in-out infinite !important;
  box-shadow:
    0 0 0 1.2px rgba(255, 255, 255, .94),
    0 3px 8px rgba(15, 23, 42, .16) !important;
  transition:
    left .58s cubic-bezier(.16, .86, .22, 1),
    top .58s cubic-bezier(.16, .86, .22, 1),
    box-shadow .2s ease,
    opacity .2s ease !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint::after {
  content: none !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-hint-left .mascot-arm-right,
.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-hint-right .mascot-arm-left {
  width: 7.4px !important;
  height: 3px !important;
  top: 6.6px !important;
  border-radius: 999px !important;
  opacity: .96 !important;
  z-index: 3 !important;
  transform-origin: center left !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-hint-left .mascot-arm-right {
  right: -4.2px !important;
  transform: rotate(-7deg) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-hint-right .mascot-arm-left {
  left: -4.2px !important;
  transform: rotate(187deg) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint .mascot-speech {
  top: -18px !important;
  min-width: 12px !important;
  padding: 2.5px 5px !important;
  border-color: rgba(37, 99, 201, .24) !important;
  background: rgba(255, 255, 255, .98) !important;
  color: #1d4ed8 !important;
  font-size: 8.4px !important;
  font-weight: 900 !important;
  box-shadow:
    0 4px 9px rgba(15, 23, 42, .12),
    inset 0 0 0 .55px rgba(255, 255, 255, .95) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint .mascot-speech::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -3px !important;
  width: 5px !important;
  height: 5px !important;
  border-right: 1px solid rgba(37, 99, 201, .2) !important;
  border-bottom: 1px solid rgba(37, 99, 201, .2) !important;
  background: rgba(255, 255, 255, .98) !important;
  transform: translateX(-50%) rotate(45deg) !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-hint-left .mascot-speech {
  left: 78% !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-hint-right .mascot-speech {
  left: 22% !important;
}

.gqb-logo-game-host .gqb-game.playing.sudoku-mode .letter.mascot-row-hint.mascot-says .mascot-speech {
  opacity: 1 !important;
  transform: translateX(-50%) translateY(-3px) scale(1.04) !important;
}

.gqb-logo-game-host .difficulty-toggle {
  position: absolute !important;
  right: -18px !important;
  top: -6px !important;
  width: 16px !important;
  height: 13px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: .8px solid rgba(15, 23, 42, .38) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.9)) !important;
  color: #172033 !important;
  cursor: pointer !important;
  font-size: 4px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow:
    inset 0 -1px 1px rgba(15, 23, 42, .08),
    0 1px 3px rgba(15, 23, 42, .16) !important;
  transform: rotate(0deg) !important;
  transition: transform .16s ease, filter .16s ease !important;
  z-index: 64 !important;
}

.gqb-logo-game-host .difficulty-toggle:hover,
.gqb-logo-game-host .difficulty-toggle:focus-visible {
  transform: rotate(0deg) scale(1.08) !important;
  filter: brightness(1.04) !important;
  outline: none !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .difficulty-toggle {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.92)) !important;
  color: #174ea6 !important;
}

.gqb-logo-game-host .sudoku-reset-toggle {
  position: absolute !important;
  right: -18px !important;
  top: -6px !important;
  width: 16px !important;
  height: 13px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: .8px solid rgba(15, 23, 42, .38) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.92)) !important;
  color: #174ea6 !important;
  cursor: pointer !important;
  font-size: 4px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow:
    inset 0 -1px 1px rgba(15, 23, 42, .08),
    0 1px 3px rgba(15, 23, 42, .16) !important;
  transform: rotate(0deg) !important;
  transition: transform .16s ease, filter .16s ease, background .16s ease, color .16s ease !important;
  z-index: 63 !important;
}

.gqb-logo-game-host.difficulty-visible .sudoku-reset-toggle {
  top: 10px !important;
}

.gqb-logo-game-host .sudoku-reset-toggle:hover,
.gqb-logo-game-host .sudoku-reset-toggle:focus-visible {
  transform: rotate(0deg) scale(1.08) !important;
  filter: brightness(1.04) !important;
  outline: none !important;
}

.gqb-logo-game-host .sudoku-reset-toggle.confirming {
  background:
    linear-gradient(180deg, rgba(251, 188, 5, .96), rgba(253, 230, 138, .92)) !important;
  color: #7c2d12 !important;
}

.gqb-logo-game-host.is-playing .status-chip.show {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--accent, #4285f4) 12%, rgba(255, 255, 255, .98) 88%),
      color-mix(in srgb, var(--accent-2, #34a853) 10%, rgba(255, 255, 255, .94) 90%)) !important;
  border-color: color-mix(in srgb, var(--accent-strong, #174ea6) 28%, transparent) !important;
  color: color-mix(in srgb, var(--accent-strong, #174ea6) 68%, #111827 32%) !important;
  box-shadow:
    0 5px 14px var(--accent-shadow-soft, rgba(66, 133, 244, .1)),
    inset 0 0 0 .45px rgba(255, 255, 255, .82) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-pad {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--accent, #4285f4) 10%, rgba(255, 255, 255, .99) 90%),
      color-mix(in srgb, var(--accent-2, #34a853) 10%, rgba(239, 246, 255, .96) 90%)) !important;
  box-shadow:
    0 3px 9px var(--accent-shadow-soft, rgba(66, 133, 244, .1)),
    inset 0 0 0 .75px color-mix(in srgb, var(--accent-strong, #174ea6) 30%, transparent) !important;
}

.gqb-logo-game-host .sudoku-choice {
  color: color-mix(in srgb, var(--accent-strong, #174ea6) 82%, #111827 18%) !important;
}

.gqb-logo-game-host .sudoku-choice:hover,
.gqb-logo-game-host .sudoku-choice:focus-visible {
  background: var(--accent-soft, rgba(66, 133, 244, .14)) !important;
}

.gqb-logo-game-host .sudoku-choice.active {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--accent-strong, #174ea6) 76%, var(--accent, #4285f4) 24%),
      color-mix(in srgb, var(--accent-strong, #174ea6) 88%, #0f172a 12%)) !important;
  color: #fff !important;
  box-shadow:
    inset 0 0 0 .45px rgba(255, 255, 255, .7),
    0 1px 4px var(--accent-shadow, rgba(66, 133, 244, .18)) !important;
}

html[data-theme="dark"] .gqb-logo-game-host.is-playing .status-chip.show {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--accent-dark-soft, rgba(138, 180, 248, .18)) 50%, rgba(15, 23, 42, .96) 50%),
      rgba(15, 23, 42, .94)) !important;
  border-color: color-mix(in srgb, var(--accent-dark, #8ab4f8) 34%, transparent) !important;
  color: var(--accent-dark-strong, #d2e3fc) !important;
  box-shadow:
    0 5px 14px rgba(2, 6, 23, .35),
    inset 0 0 0 .45px rgba(255, 255, 255, .06) !important;
}

html[data-theme="dark"] .gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-pad {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--accent-dark-soft, rgba(138, 180, 248, .18)) 44%, rgba(30, 41, 59, .98) 56%),
      rgba(15, 23, 42, .95)) !important;
  box-shadow:
    0 3px 9px rgba(2, 6, 23, .36),
    inset 0 0 0 .5px color-mix(in srgb, var(--accent-dark, #8ab4f8) 26%, transparent) !important;
}

html[data-theme="dark"] .gqb-logo-game-host .sudoku-choice {
  color: var(--accent-dark-strong, #d2e3fc) !important;
}

html[data-theme="dark"] .gqb-logo-game-host .sudoku-choice:hover,
html[data-theme="dark"] .gqb-logo-game-host .sudoku-choice:focus-visible {
  background: var(--accent-dark-soft, rgba(138, 180, 248, .18)) !important;
}

html[data-theme="dark"] .gqb-logo-game-host .sudoku-choice.active {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--accent-dark, #8ab4f8) 82%, #ffffff 18%),
      color-mix(in srgb, var(--accent-dark, #8ab4f8) 58%, #1d4ed8 42%)) !important;
  color: #08111f !important;
  box-shadow:
    inset 0 0 0 .45px rgba(255, 255, 255, .5),
    0 0 8px var(--accent-dark-soft, rgba(138, 180, 248, .18)) !important;
}

/* Theme-stable game visuals. These rules sit at the end of the game sheet so
   fast light/dark switches repaint both Tic-Tac-Toe and Sudoku from tokens. */
.gqb-logo-game-host {
  --gqb-logo-stage-bg: radial-gradient(circle at 45% 36%, rgba(255, 255, 255, 1) 0 44%, rgba(255, 255, 255, .96) 66%, rgba(248, 250, 252, .82) 100%);
  --gqb-logo-stage-border: rgba(255, 255, 255, .9);
  --gqb-logo-stage-shadow: 0 8px 18px rgba(15, 23, 42, .06), inset 0 0 0 1px rgba(66, 133, 244, .04);
  --gqb-disc-playing-bg: #ffffff;
  --gqb-tile-hover-bg: rgba(255, 255, 255, .56);
  --gqb-tile-hover-ring: rgba(66, 133, 244, .16);
  --gqb-x-start: #2f6fe8;
  --gqb-x-shadow: inset 0 -1px 0 rgba(12, 55, 142, .36), 0 2px 3px rgba(12, 55, 142, .2);
  --gqb-o-highlight: rgba(255, 255, 255, .75);
  --gqb-o-fill: rgba(168, 31, 24, .12);
  --gqb-o-fill-strong: rgba(168, 31, 24, .22);
  --gqb-o-shadow: inset 0 -2px 1px rgba(127, 29, 29, .24), 0 2px 4px rgba(127, 29, 29, .2);
  --gqb-sudoku-board-glow: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .36) 0 46%, rgba(255, 255, 255, .16) 68%, transparent 100%);
  --gqb-sudoku-number: color-mix(in srgb, var(--accent-strong, #174ea6) 82%, #111827 18%);
  --gqb-sudoku-given-number: #0f172a;
  --gqb-sudoku-selected-number: #2563c9;
  --gqb-sudoku-wrong-number: #b91c1c;
  --gqb-sudoku-digit-shadow: 0 0 3px rgba(255, 255, 255, 1), 0 0 1px rgba(255, 255, 255, .95);
  --gqb-sudoku-selected-shadow: 0 0 1.6px rgba(255, 255, 255, .92), 0 1px 0 rgba(255, 255, 255, .78);
  --gqb-mini-control-bg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.92));
  --gqb-mini-control-border: rgba(15, 23, 42, .38);
  --gqb-mini-control-color: #174ea6;
  --gqb-mini-control-shadow: inset 0 -1px 1px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .16);
}

html[data-theme="dark"] .gqb-logo-game-host {
  --gqb-logo-stage-bg: radial-gradient(circle at 45% 36%, rgba(30, 41, 59, .98) 0 44%, rgba(15, 23, 42, .96) 72%, rgba(2, 6, 23, .92) 100%);
  --gqb-logo-stage-border: rgba(148, 163, 184, .28);
  --gqb-logo-stage-shadow: 0 10px 22px rgba(0, 0, 0, .42), inset 0 0 0 1px rgba(148, 163, 184, .14);
  --gqb-disc-playing-bg: #0f172a;
  --gqb-tile-hover-bg: rgba(148, 163, 184, .18);
  --gqb-tile-hover-ring: rgba(138, 180, 248, .28);
  --gqb-x-start: #8ab4f8;
  --gqb-x-shadow: inset 0 -1px 0 rgba(2, 6, 23, .46), 0 2px 5px rgba(2, 6, 23, .35);
  --gqb-o-highlight: rgba(255, 255, 255, .32);
  --gqb-o-fill: rgba(242, 139, 130, .16);
  --gqb-o-fill-strong: rgba(242, 139, 130, .28);
  --gqb-o-shadow: inset 0 -2px 1px rgba(2, 6, 23, .36), 0 2px 5px rgba(2, 6, 23, .36);
  --gqb-sudoku-board-glow: radial-gradient(circle at 50% 50%, rgba(148, 163, 184, .18) 0 46%, rgba(15, 23, 42, .38) 68%, transparent 100%);
  --gqb-sudoku-number: var(--accent-dark-strong, #d2e3fc);
  --gqb-sudoku-given-number: #f8fafc;
  --gqb-sudoku-selected-number: #bfdbfe;
  --gqb-sudoku-wrong-number: #fca5a5;
  --gqb-sudoku-digit-shadow: 0 0 3px rgba(2, 6, 23, .72), 0 1px 0 rgba(2, 6, 23, .82);
  --gqb-sudoku-selected-shadow: 0 0 2px rgba(138, 180, 248, .58), 0 1px 0 rgba(2, 6, 23, .82);
  --gqb-mini-control-bg: linear-gradient(180deg, rgba(30, 41, 59, .96), rgba(15, 23, 42, .94));
  --gqb-mini-control-border: rgba(148, 163, 184, .36);
  --gqb-mini-control-color: var(--accent-dark-strong, #d2e3fc);
  --gqb-mini-control-shadow: inset 0 -1px 1px rgba(2, 6, 23, .38), 0 1px 5px rgba(2, 6, 23, .38);
}

.gqb-logo-game-host .logo-stage::before {
  background: var(--gqb-logo-stage-bg) !important;
  border-color: var(--gqb-logo-stage-border) !important;
  box-shadow: var(--gqb-logo-stage-shadow) !important;
}

.gqb-logo-game-host .gqb-game.playing .disc {
  background: var(--gqb-disc-playing-bg) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="tictactoe"] .tile:not(.x):not(.o):hover {
  background: var(--gqb-tile-hover-bg) !important;
  box-shadow: inset 0 0 0 1px var(--gqb-tile-hover-ring) !important;
}

.gqb-logo-game-host .tile.x::before,
.gqb-logo-game-host .tile.x::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,.36), rgba(255,255,255,0) 45%),
    linear-gradient(90deg, var(--gqb-x-start), var(--blue)) !important;
  box-shadow: var(--gqb-x-shadow) !important;
}

.gqb-logo-game-host .tile.o::after {
  background:
    radial-gradient(circle at 36% 25%, var(--gqb-o-highlight), transparent 19%),
    radial-gradient(circle, transparent 45%, var(--gqb-o-fill) 49%, var(--gqb-o-fill-strong) 72%) !important;
  box-shadow: var(--gqb-o-shadow) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"]::before {
  background: var(--gqb-sudoku-board-glow) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile {
  color: var(--gqb-sudoku-number) !important;
  text-shadow: var(--gqb-sudoku-digit-shadow) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.given {
  color: var(--gqb-sudoku-given-number) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) {
  color: var(--gqb-sudoku-selected-number) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.selected:not(.given) .sudoku-number {
  text-shadow: var(--gqb-sudoku-selected-shadow) !important;
}

.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .sudoku-tile.wrong .sudoku-number {
  color: var(--gqb-sudoku-wrong-number) !important;
}

.gqb-logo-game-host .difficulty-toggle,
.gqb-logo-game-host .game-board[data-game-mode="sudoku"] .difficulty-toggle,
.gqb-logo-game-host .sudoku-reset-toggle {
  background: var(--gqb-mini-control-bg) !important;
  border-color: var(--gqb-mini-control-border) !important;
  color: var(--gqb-mini-control-color) !important;
  box-shadow: var(--gqb-mini-control-shadow) !important;
}

@keyframes gqbSudokuRowHint {
  0%, 100% {
    transform: translateX(0) translateY(0) scale(1.07) rotate(calc(720deg + var(--sudoku-hint-lean, 0deg)));
  }

  45% {
    transform: translateX(0) translateY(-1.35px) scale(1.13) rotate(calc(720deg + var(--sudoku-hint-lean, 0deg)));
  }

  72% {
    transform: translateX(0) translateY(.35px) scale(1.09) rotate(calc(720deg + var(--sudoku-hint-lean, 0deg)));
  }
}
