/* =========================================================
   Ruotsalaisbileet – huonekohtainen legacy-teema
   ---------------------------------------------------------
   Aktivoituu automaattisesti, kun tietokannan/huoneen nimi on
   "ruotsalaisbileet". Rakenteellinen pohja seuraa Sammakkoluolan
   teemaa, mutta paletti on kupari–oranssi–ruskea.
   ========================================================= */

body.theme-ruotsalaisbileet {--ruotsi-accent: #a84f16;
  --ruotsi-border: rgba(246, 198, 159, 0.30);
  --ruotsi-gradient: linear-gradient(
        135deg,
        #3b1b0c,
        #7b3513,
        #c3611c,
        #5a2910
      );
  background-image: url("img/ruotsalais_background.jpg");}

body.theme-ruotsalaisbileet::before {content: none !important;}

body.theme-ruotsalaisbileet #topBar,
body.theme-ruotsalaisbileet #bottomBar {background-image: url("img/bar_background_ruotsalaisbileet.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #6f3012;
  border-color: rgba(245, 193, 150, 0.18);
  box-shadow: 0 0 14px rgba(174, 120, 76, 0.14),
        0 3px 10px rgba(0, 0, 0, 0.32);}

body.theme-ruotsalaisbileet #topBar select,
body.theme-ruotsalaisbileet #topBar button,
body.theme-ruotsalaisbileet #bottomBar button {background: var(--ruotsi-gradient);
  background-size: 260% 260%;
  color: #fff;
  border: 1px solid rgba(246, 204, 169, 0.36);
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.55);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.45),
        0 0 12px rgba(241, 171, 114, 0.20),
        inset 0 -2px 0 rgba(0, 0, 0, 0.16);
  animation: frogButtonGlow 14s ease-in-out infinite;
  transition: background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;}

body.theme-ruotsalaisbileet #topBar #userTopBar button {text-shadow: none;}

body.theme-ruotsalaisbileet #topBar select:hover,
body.theme-ruotsalaisbileet #topBar button:hover,
body.theme-ruotsalaisbileet #bottomBar button:hover,
body.theme-ruotsalaisbileet #scoreboardBtn:hover {background: #fff;
  color: var(--ruotsi-accent);
  border-color: var(--ruotsi-accent);
  text-shadow: none;
  transform: translateY(-1px);
  box-shadow: 0 0 22px rgba(243, 182, 132, 0.34),
        1px 1px 2px rgba(0, 0, 0, 0.35);}

body.theme-ruotsalaisbileet #leaveRoomBtn:hover {background: #dc3545;
  color: #fff;
  border-color: #dc3545;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.55);}

body.theme-ruotsalaisbileet #totalScore .label {color: #342a21;}

body.theme-ruotsalaisbileet #totalScore .value {color: var(--ruotsi-accent);
  text-shadow: 0 0 8px rgba(241, 171, 114, 0.28);}

body.theme-ruotsalaisbileet .accordion-button,
body.theme-ruotsalaisbileet .accordion-button:not(.collapsed) {background: var(--ruotsi-gradient) !important;
  border: 1px solid rgba(246, 204, 169, 0.30);
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.55);
  transition: background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;}

body.theme-ruotsalaisbileet .accordion-button:hover {background: #fff !important;
  color: var(--ruotsi-accent) !important;
  border-color: var(--ruotsi-accent);
  text-shadow: none;
  box-shadow: 0 0 22px rgba(243, 182, 132, 0.30);}

body.theme-ruotsalaisbileet .accordion-button:focus {box-shadow: 0 0 0 0.2rem rgba(241, 171, 114, 0.22),
        0 0 18px rgba(241, 171, 114, 0.18);}

body.theme-ruotsalaisbileet .accordion-button::after {filter: brightness(0) invert(1) drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.45));}

body.theme-ruotsalaisbileet .accordion-button:hover::after {filter: brightness(0) saturate(100%) invert(34%) sepia(84%) saturate(1541%) hue-rotate(355deg) brightness(91%) contrast(94%);}

body.theme-ruotsalaisbileet .card,
body.theme-ruotsalaisbileet .mission-card {box-shadow: 0 2px 2px rgba(0, 0, 0, 0.38),
        0 0 10px rgba(241, 171, 114, 0.08);}

body.theme-ruotsalaisbileet .card-body {border: 1px solid rgba(246, 198, 159, 0.10);}

body.theme-ruotsalaisbileet .dark-bg-text,
body.theme-ruotsalaisbileet #noContinuousMissions,
body.theme-ruotsalaisbileet #noCompletedMissions,
body.theme-ruotsalaisbileet #noOpenMissions,
body.theme-ruotsalaisbileet .bingo-footer-text,
body.theme-ruotsalaisbileet .bingo-title,
body.theme-ruotsalaisbileet .scoreboard-title {color: #ffffff;
  text-shadow: 0 0 10px rgba(244, 187, 141, 0.28),
        1px 2px 2px rgba(0, 0, 0, 0.70);}

body.theme-ruotsalaisbileet .score-badge,
body.theme-ruotsalaisbileet .badge,
body.theme-ruotsalaisbileet .score-75,
body.theme-ruotsalaisbileet .score-80,
body.theme-ruotsalaisbileet .score-85,
body.theme-ruotsalaisbileet .score-90,
body.theme-ruotsalaisbileet .score-95,
body.theme-ruotsalaisbileet .score-100,
body.theme-ruotsalaisbileet .score-105,
body.theme-ruotsalaisbileet .score-110,
body.theme-ruotsalaisbileet .score-115,
body.theme-ruotsalaisbileet .score-120,
body.theme-ruotsalaisbileet .score-125,
body.theme-ruotsalaisbileet .score-130,
body.theme-ruotsalaisbileet .score-135,
body.theme-ruotsalaisbileet .score-140,
body.theme-ruotsalaisbileet .score-145,
body.theme-ruotsalaisbileet .score-150 {background: linear-gradient(135deg, #8a5d38, #c38553) !important;
  color: #fff;
  border: 1px solid rgba(246, 204, 169, 0.26);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.45);
  box-shadow: 0 0 10px rgba(241, 171, 114, 0.18);}

body.theme-ruotsalaisbileet .btn-primary {background: var(--ruotsi-gradient);
  background-size: 280% 280%;
  border: 1px solid rgba(246, 204, 169, 0.35);
  color: #fff;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.55);
  box-shadow: 0 0 16px rgba(241, 171, 114, 0.24),
        inset 0 -2px 0 rgba(0, 0, 0, 0.16);
  animation: frogButtonGlow 14s ease-in-out infinite;
  transition: background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;}

body.theme-ruotsalaisbileet .btn-primary:hover {background: #fff;
  border-color: var(--ruotsi-accent);
  color: var(--ruotsi-accent);
  text-shadow: none;
  transform: translateY(-1px);
  box-shadow: 0 0 24px rgba(243, 182, 132, 0.36);}

body.theme-ruotsalaisbileet .btn-danger {background-color: #dc3545;
  border-color: #dc3545;}

body.theme-ruotsalaisbileet .btn-danger:hover {background-color: #fff;
  border-color: #dc3545;
  color: #dc3545;}

body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .rank-achieved {border: 1px solid var(--ruotsi-border);
  box-shadow: 0 0 22px rgba(241, 171, 114, 0.16),
        0 0 55px rgba(0, 0, 0, 0.36);}

body.theme-ruotsalaisbileet .modal-content {background-image: url("img/modal_background_ruotsalaisbileet.svg");}

body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content {background-image: url("img/scoreboard_background_ruotsalaisbileet.svg");}

body.theme-ruotsalaisbileet .rank-achieved {background-image: url("img/rank_notification.png");}

body.theme-ruotsalaisbileet .form-control,
body.theme-ruotsalaisbileet input[type="text"],
body.theme-ruotsalaisbileet input[type="password"],
body.theme-ruotsalaisbileet input[type="number"],
body.theme-ruotsalaisbileet select {border: 1px solid rgba(241, 171, 114, 0.32);}

body.theme-ruotsalaisbileet .form-control:focus,
body.theme-ruotsalaisbileet input[type="text"]:focus,
body.theme-ruotsalaisbileet input[type="password"]:focus,
body.theme-ruotsalaisbileet input[type="number"]:focus,
body.theme-ruotsalaisbileet select:focus {border-color: rgba(245, 193, 150, 0.88);
  box-shadow: 0 0 0 0.2rem rgba(241, 171, 114, 0.18),
        0 0 16px rgba(243, 182, 132, 0.24);}

body.theme-ruotsalaisbileet .dropdown-menu {border: 1px solid var(--ruotsi-border);
  box-shadow: 0 0 20px rgba(241, 171, 114, 0.15),
        0 0 45px rgba(0, 0, 0, 0.35);}

body.theme-ruotsalaisbileet .dropdown-menu li:hover {background-color: rgba(241, 171, 114, 0.14);}

body.theme-ruotsalaisbileet .dropdown-menu .dropdown-new-user {color: var(--ruotsi-accent);
  border-top-color: rgba(246, 198, 159, 0.24);}

body.theme-ruotsalaisbileet .bingo-cell {border-color: rgba(241, 171, 114, 0.34);}

body.theme-ruotsalaisbileet .bingo-cell-complete {background: linear-gradient(135deg, #795233, #b37745);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.75);
  box-shadow: 0 0 14px rgba(241, 171, 114, 0.26);}

body.theme-ruotsalaisbileet #bingoCompleteCheck {color: rgba(179, 119, 69, 0.55);}

body.theme-ruotsalaisbileet #userWarning,
body.theme-ruotsalaisbileet #userExistsNotice,
body.theme-ruotsalaisbileet #successNotification {border: 1px solid var(--ruotsi-border);
  box-shadow: 0 0 18px rgba(241, 171, 114, 0.20);}

body.theme-ruotsalaisbileet #topBar button,
body.theme-ruotsalaisbileet #bottomBar button,
body.theme-ruotsalaisbileet .btn,
body.theme-ruotsalaisbileet .btn-primary,
body.theme-ruotsalaisbileet .score-badge,
body.theme-ruotsalaisbileet .badge,
body.theme-ruotsalaisbileet #totalScore {border: 0 !important;}

body.theme-ruotsalaisbileet .btn-primary:hover,
body.theme-ruotsalaisbileet #topBar button:hover,
body.theme-ruotsalaisbileet #bottomBar button:hover {border: 0 !important;}

body.theme-ruotsalaisbileet .card,
body.theme-ruotsalaisbileet .mission-card,
body.theme-ruotsalaisbileet .card-body,
body.theme-ruotsalaisbileet .mission-normal-body,
body.theme-ruotsalaisbileet .accordion-item,
body.theme-ruotsalaisbileet .accordion-collapse,
body.theme-ruotsalaisbileet .accordion-body {border: 0 !important;}

body.theme-ruotsalaisbileet .card-body {outline: 0 !important;}

body.theme-ruotsalaisbileet .score-badge {box-shadow: 0 0 12px rgba(241, 171, 114, 0.16),
        inset 0 -2px 0 rgba(0, 0, 0, 0.12);}

body.theme-ruotsalaisbileet .dropdown-toggle {background: #ffffff !important;
  color: #342a21 !important;
  border: 0 !important;}

body.theme-ruotsalaisbileet .dropdown-menu {background: #ffffff;}

body.theme-ruotsalaisbileet .dropdown-menu li,
body.theme-ruotsalaisbileet .dropdown-menu .dropdown-item {color: #342a21 !important;}

body.theme-ruotsalaisbileet .text-success,
body.theme-ruotsalaisbileet .material-symbols-outlined.text-success {color: #b37745 !important;
  text-shadow: none;}

body.theme-ruotsalaisbileet .continuous-mission-card {cursor: pointer;}

body.theme-ruotsalaisbileet .continuous-mission-card .card-body {transition: filter 0.18s ease, transform 0.18s ease;}

body.theme-ruotsalaisbileet .continuous-mission-card:hover .card-body {filter: brightness(1.04);}

body.theme-ruotsalaisbileet .continuous-mission-card:active .card-body {transform: translateY(1px);}

body.theme-ruotsalaisbileet .continuous-mission-card:focus-visible {outline: 3px solid rgba(203, 148, 103, 0.7);
  outline-offset: 2px;}

body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .bingo-info-modal-content,
body.theme-ruotsalaisbileet .rank-achieved,
body.theme-ruotsalaisbileet .fairy-capture-modal-content {background-repeat: no-repeat !important;
  border: 1px solid rgba(246, 199, 160, 0.34) !important;
  color: #fef6f0;
  overflow: visible;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);}

body.theme-ruotsalaisbileet .scoreboard-background {backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);}

body.theme-ruotsalaisbileet .overtake-greeting-input,
body.theme-ruotsalaisbileet .overtake-message-quote {border-radius: 7px;}

body.theme-ruotsalaisbileet .modal-header {border-bottom: 1px solid rgba(247, 204, 169, 0.14) !important;}

body.theme-ruotsalaisbileet .modal-footer {border-top: 1px solid rgba(247, 204, 169, 0.14) !important;}

body.theme-ruotsalaisbileet .modal-title,
body.theme-ruotsalaisbileet .modal-body,
body.theme-ruotsalaisbileet .modal-body p,
body.theme-ruotsalaisbileet .modal-body label,
body.theme-ruotsalaisbileet .modal-body li,
body.theme-ruotsalaisbileet .modal-footer,
body.theme-ruotsalaisbileet .rank-achieved,
body.theme-ruotsalaisbileet .bonus-points-achieved,
body.theme-ruotsalaisbileet .fairy-capture-modal-content {color: #ffffff !important;
  text-shadow: 0 0 10px rgba(244, 187, 141, 0.15),
        1px 2px 2px rgba(0, 0, 0, 0.72);}

body.theme-ruotsalaisbileet .modal-body small,
body.theme-ruotsalaisbileet .modal-body .form-text {color: rgba(253, 244, 236, 0.76) !important;}

body.theme-ruotsalaisbileet .modal .btn-close {opacity: 0.95;
  filter: brightness(0) invert(1)
        drop-shadow(0 0 5px rgba(255, 255, 255, 0.7));
  transition: transform 0.18s ease, opacity 0.18s ease, filter 0.18s ease;}

body.theme-ruotsalaisbileet .modal .btn-close:hover,
body.theme-ruotsalaisbileet .modal .btn-close:focus {opacity: 1;
  transform: rotate(8deg) scale(1.08);
  filter: brightness(0) invert(1)
        drop-shadow(0 0 9px rgba(246, 198, 159, 0.95));}

body.theme-ruotsalaisbileet .modal .form-control,
body.theme-ruotsalaisbileet .modal input[type="text"],
body.theme-ruotsalaisbileet .modal input[type="password"],
body.theme-ruotsalaisbileet .modal input[type="number"] {background: rgba(253, 244, 237, 0.09) !important;
  border: 1px solid rgba(246, 199, 160, 0.3) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 13px rgba(0, 0, 0, 0.23);}

body.theme-ruotsalaisbileet .modal .form-control::placeholder,
body.theme-ruotsalaisbileet .modal input::placeholder {color: rgba(253, 244, 237, 0.58) !important;}

body.theme-ruotsalaisbileet .modal .form-control:focus,
body.theme-ruotsalaisbileet .modal input[type="text"]:focus,
body.theme-ruotsalaisbileet .modal input[type="password"]:focus,
body.theme-ruotsalaisbileet .modal input[type="number"]:focus {background: rgba(253, 244, 237, 0.14) !important;}

body.theme-ruotsalaisbileet .modal .btn-primary {border: 1px solid rgba(248, 212, 183, 0.44) !important;
  color: #ffffff !important;
  animation: frogButtonGlow 13s ease-in-out infinite;}

body.theme-ruotsalaisbileet .modal .btn-primary:hover {background: #ffffff !important;
  border-color: #b67b4b !important;
  color: #5c3f27 !important;
  text-shadow: none !important;
  box-shadow: 0 0 23px rgba(243, 183, 134, 0.38);}

body.theme-ruotsalaisbileet .modal .btn-outline-secondary {background: rgba(255, 255, 255, 0.055) !important;
  border: 1px solid rgba(253, 243, 235, 0.5) !important;
  color: #ffffff !important;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.58);}

body.theme-ruotsalaisbileet .modal .btn-outline-secondary:hover,
body.theme-ruotsalaisbileet .modal .btn-outline-secondary:focus {background: #ffffff !important;
  border-color: #ffffff !important;
  color: #5c3f27 !important;
  text-shadow: none;}

body.theme-ruotsalaisbileet .modal .text-danger {color: #ffb8c0 !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.72);}

body.theme-ruotsalaisbileet .modal .text-info {color: #f9e0be !important;}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell:not(.bingo-cell-complete) {color: #231b14 !important;
  text-shadow: none;}

body.theme-ruotsalaisbileet .modal .btn-danger {background: linear-gradient(135deg, #7b1520, #dc3545, #a21e2d) !important;
  border-color: rgba(255, 205, 210, 0.55) !important;
  color: #ffffff !important;}

body.theme-ruotsalaisbileet .modal .btn-danger:hover,
body.theme-ruotsalaisbileet .modal .btn-danger:focus {background: #ffffff !important;
  border-color: #dc3545 !important;
  color: #b51f30 !important;
  text-shadow: none !important;}

body.theme-ruotsalaisbileet #scoreboardModal .modal-body {padding-top: 0.75rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper {overflow: visible;
  border: 1px solid rgba(247, 208, 177, 0.2);
  box-shadow: 0 0 20px rgba(241, 170, 111, 0.1),
        0 8px 25px rgba(0, 0, 0, 0.3);}

body.theme-ruotsalaisbileet #scoreboardModal .table {--bs-table-bg: transparent;
  --bs-table-color: #ffffff;
  --bs-table-striped-bg: rgba(253, 241, 232, 0.045);
  --bs-table-striped-color: #ffffff;
  --bs-table-border-color: rgba(251, 231, 214, 0.12);
  color: #ffffff;
  margin-bottom: 0;}

body.theme-ruotsalaisbileet #scoreboardModal thead th {background: rgba(13, 7, 3, 0.48) !important;
  color: #fceee2 !important;
  border-bottom: 1px solid rgba(247, 206, 173, 0.24);
  text-transform: uppercase;
  letter-spacing: 0.035em;
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.68);}

body.theme-ruotsalaisbileet #scoreboardModal tbody td {color: inherit;
  border-color: rgba(252, 236, 223, 0.1);
  transition: filter 0.18s ease, box-shadow 0.18s ease;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row:not(.scoreboard-place-1):not(.scoreboard-place-2):not(.scoreboard-place-3) > td {background: rgba(253, 243, 235, 0.035) !important;
  color: #ffffff !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row:nth-child(even):not(.scoreboard-place-1):not(.scoreboard-place-2):not(.scoreboard-place-3) > td {background: rgba(253, 243, 235, 0.07) !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-1,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-2,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-3 {--bs-table-bg: transparent;
  --bs-table-striped-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-bg-state: transparent;
  --bs-table-bg-type: transparent;
  background-color: rgba(12, 10, 7, 0.76) !important;
  background-image:
    linear-gradient(
      to bottom,
      transparent calc(100% - 1px),
      var(--scoreboard-podium-divider) calc(100% - 1px),
      var(--scoreboard-podium-divider) 100%
    ),
    var(--scoreboard-podium-row-gradient) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  transition: filter 0.18s ease;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-1 {--scoreboard-podium-divider: rgba(240, 176, 107, 0.58);
  --scoreboard-podium-row-gradient: linear-gradient(
    180deg,
    rgba(240, 176, 107, 0.76) 0%,
    rgba(201, 117, 28, 0.5) 28%,
    rgba(100, 57, 10, 0.24) 62%,
    rgba(12, 10, 8, 0.7) 100%
  );}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-2 {--scoreboard-podium-divider: rgba(243, 234, 221, 0.48);
  --scoreboard-podium-row-gradient: linear-gradient(
    180deg,
    rgba(254, 248, 240, 0.7) 0%,
    rgba(200, 187, 168, 0.46) 28%,
    rgba(102, 87, 66, 0.24) 62%,
    rgba(14, 11, 8, 0.72) 100%
  );}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-3 {--scoreboard-podium-divider: rgba(220, 163, 102, 0.52);
  --scoreboard-podium-row-gradient: linear-gradient(
    180deg,
    rgba(231, 173, 110, 0.72) 0%,
    rgba(174, 116, 55, 0.48) 28%,
    rgba(89, 58, 24, 0.25) 62%,
    rgba(12, 10, 8, 0.72) 100%
  );}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-1 > td,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-2 > td,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-place-3 > td {--bs-table-bg: transparent;
  --bs-table-striped-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-bg-state: transparent;
  --bs-table-bg-type: transparent;
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-position {width: 48px;
  font-size: 1.05rem;
  text-align: center;
  white-space: nowrap;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-cell {white-space: nowrap;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-name {vertical-align: middle;
  max-width: calc(100% - 3.4rem);
  overflow: visible;
  text-overflow: ellipsis;
  white-space: nowrap;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-score-heading,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-score {text-align: center !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-score {font-variant-numeric: tabular-nums;
  white-space: nowrap;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-rank-image {height: 28px;
  width: auto;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-current-user-badge {display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.55rem;
  padding: 0.16rem 0.5rem;
  border-radius: 5px;
  background: rgba(54, 31, 13, 0.92);
  border: 1px solid rgba(246, 200, 163, 0.75);
  color: #fcf0e6;
  font-size: 0.72rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.055em;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
  box-shadow: 0 0 11px rgba(240, 162, 98, 0.32);
  vertical-align: middle;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row:hover {filter: brightness(1.08);}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .rank-achieved {border-radius: 7px !important;}

body.theme-ruotsalaisbileet #scoreboardModal .modal-body {padding-left: 0.55rem;
    padding-right: 0.55rem;}

body.theme-ruotsalaisbileet #scoreboardModal .table {font-size: 0.86rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-cell {white-space: nowrap;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-name {max-width: calc(100% - 2.75rem);}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-current-user-badge {display: inline-flex;
    width: auto;
    margin: 0 0 0 0.28rem;
    padding: 0.11rem 0.3rem;
    font-size: 0.56rem;
    letter-spacing: 0.025em;
    vertical-align: middle;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-rank-image {height: 24px;}
}

body.theme-ruotsalaisbileet #totalScore .rank-icon {filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.34))
        drop-shadow(0 0 7px rgba(243, 186, 139, 0.2));}

body.theme-ruotsalaisbileet #totalScore {background: transparent !important;
  border: 0 !important;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.42),
        0 0 14px rgba(241, 171, 114, 0.18);}

body.theme-ruotsalaisbileet #totalScore .total-score-rank-segment,
body.theme-ruotsalaisbileet #totalScore .total-score-points-segment {background: rgba(255, 255, 255, 0.96);}

body.theme-ruotsalaisbileet #totalScore .total-score-rank-segment {border-right-color: rgba(73, 54, 38, 0.16);}

body.theme-ruotsalaisbileet #totalScore .total-score-rank-segment {background-color: rgba(255, 255, 255, 0.96);
  background-image: url("img/triangles.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-moving-up.scoreboard-row-risen {background-color: rgba(207, 140, 85, 0.2) !important;
  background-image: none !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-moving-down.scoreboard-row-fallen {background-color: rgba(214, 65, 78, 0.18) !important;
  background-image: none !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-moving-up > td,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-moving-down > td {background: transparent !important;
  background-image: none !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  outline: 1px solid transparent;
  backface-visibility: hidden;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-animation-settling > td {border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  transition-property: background-color, filter !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-line {display: flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-line .scoreboard-user-name {flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-risen > td {background-color: rgba(207, 140, 85, 0.2) !important;
  box-shadow: none;
  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease;
  animation: scoreboardRiseGlow 0.9s ease-out;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-row-fallen > td {background-color: rgba(214, 65, 78, 0.18) !important;
  box-shadow: none;
  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease;
  animation: scoreboardFallGlow 0.9s ease-out;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-position-change-hiding.scoreboard-row-risen > td,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-position-change-hiding.scoreboard-row-fallen > td {background-color: transparent !important;
  box-shadow: none;}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-line .scoreboard-user-name {max-width: 100%;}
}

body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .bingo-info-modal-content,
body.theme-ruotsalaisbileet .rank-achieved,
body.theme-ruotsalaisbileet .fairy-capture-modal-content,
body.theme-ruotsalaisbileet .overtake-modal-content {border-radius: 7px !important;}

body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .bingo-info-modal-content,
body.theme-ruotsalaisbileet .rank-achieved,
body.theme-ruotsalaisbileet .fairy-capture-modal-content {background-image: radial-gradient(circle at 14% 10%, rgba(241, 162, 117, 0.21), transparent 31%),
        radial-gradient(circle at 90% 86%, rgba(217, 161, 83, 0.15), transparent 36%),
        radial-gradient(circle at 78% 8%, rgba(242, 178, 126, 0.11), transparent 31%),
        linear-gradient(135deg, rgba(17, 11, 6, 0.98), rgba(55, 38, 24, 0.96), rgba(71, 44, 29, 0.94), rgba(28, 17, 8, 0.98)) !important;
  background-size: 180% 180%, 190% 190%, 180% 180%, 320% 320% !important;
  border-color: rgba(245, 188, 155, 0.34) !important;
  box-shadow: 0 0 24px rgba(240, 155, 106, 0.15),
        0 0 38px rgba(217, 162, 86, 0.08),
        0 22px 65px rgba(0, 0, 0, 0.58),
        inset 0 0 28px rgba(248, 215, 188, 0.035) !important;
  animation: sammakkoluolaModalChromaticShift 42s ease-in-out infinite;}

body.theme-ruotsalaisbileet .modal-header,
body.theme-ruotsalaisbileet .modal-footer {border-color: rgba(245, 190, 158, 0.17) !important;
  background: linear-gradient(90deg, rgba(108, 64, 39, 0.13), rgba(36, 21, 8, 0.1), rgba(76, 54, 24, 0.1));}

body.theme-ruotsalaisbileet .modal .form-control:focus,
body.theme-ruotsalaisbileet .modal input[type="text"]:focus,
body.theme-ruotsalaisbileet .modal input[type="password"]:focus,
body.theme-ruotsalaisbileet .modal input[type="number"]:focus {border-color: rgba(245, 184, 149, 0.9) !important;
  box-shadow: 0 0 0 0.2rem rgba(240, 151, 99, 0.16),
        0 0 18px rgba(215, 165, 95, 0.16) !important;}

body.theme-ruotsalaisbileet .modal .btn-primary {background: linear-gradient(125deg, #885436, #d18d66, #865833, #b8865d) !important;
  background-size: 280% 280% !important;
  border-color: rgba(250, 220, 202, 0.5) !important;
  box-shadow: 0 0 17px rgba(224, 140, 92, 0.22), inset 0 -3px 0 rgba(0, 0, 0, 0.18);}

body.theme-ruotsalaisbileet .modal .btn-primary:hover,
body.theme-ruotsalaisbileet .modal .btn-primary:focus {background: #ffffff !important;
  border-color: #f5bb9a !important;
  color: #6d4833 !important;
  text-shadow: none !important;}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .bingo-info-modal-content,
body.theme-ruotsalaisbileet .rank-achieved,
body.theme-ruotsalaisbileet .fairy-capture-modal-content,
body.theme-ruotsalaisbileet .overtake-modal-content {border-radius: 7px !important;}
}

@media (prefers-reduced-motion: reduce) {
body.theme-ruotsalaisbileet .modal-content,
body.theme-ruotsalaisbileet .scoreboard-background,
body.theme-ruotsalaisbileet .bingo-modal-content,
body.theme-ruotsalaisbileet .rank-achieved {animation: none !important;}
}

body.theme-ruotsalaisbileet .pin-digit-input {border-color: rgba(246, 196, 167, 0.36);
  background: linear-gradient(145deg, rgba(88, 56, 37, 0.72), rgba(80, 49, 23, 0.74));
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 7px 18px rgba(27, 15, 5, 0.2);}

body.theme-ruotsalaisbileet .pin-digit-input:focus {border-color: rgba(248, 204, 179, 0.96);
  background: linear-gradient(145deg, rgba(112, 70, 45, 0.9), rgba(102, 60, 26, 0.86));
  box-shadow: 0 0 0 0.2rem rgba(242, 168, 125, 0.22),
        0 0 22px rgba(226, 158, 103, 0.16);}

body.theme-ruotsalaisbileet .pin-code-group.is-complete .pin-digit-input {border-color: rgba(237, 168, 111, 0.68);}

body.theme-ruotsalaisbileet .pin-digit-reveal {color: #fff;}

body.theme-ruotsalaisbileet #scoreboardModal.scoreboard-events-mode {background-color: #100b06;
  background-image: url("img/ruotsalais_profile_bg.jpg") !important;
  background-size: cover !important;
  
  background-position-x: center !important;
  background-position-y: var(--scoreboard-events-hero-height) !important;
  background-repeat: no-repeat !important;}

body.theme-ruotsalaisbileet #scoreboardModal.scoreboard-events-mode .modal-content {background-color: transparent !important;
  background-image: linear-gradient(180deg, rgba(13, 8, 4, 0.70), rgba(11, 7, 4, 0.54)) !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-attachment: scroll !important;}

body.theme-ruotsalaisbileet .scoreboard-events-hero {background-image: url("img/ruotsalais_background.jpg");}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .table {font-size: 1.04rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th {padding: 0.82rem 0.78rem;
  font-size: 0.84rem;
  line-height: 1.15;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper tbody td {padding: 0.88rem 0.78rem;
  vertical-align: middle;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-position {width: 56px;
  font-size: 1.12rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-name,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-score {font-size: 1.08rem;
  line-height: 1.25;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-rank-image {height: 34px;
  width: auto;}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .table {width: 100%;
    font-size: 0.98rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th {padding: 0.72rem 0.62rem;
    font-size: 0.76rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper tbody td {padding: 0.78rem 0.62rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-position {width: 50px;
    font-size: 1.02rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-name,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-score {font-size: 1rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-rank-image {height: 30px;}
}

body.theme-ruotsalaisbileet .rank-legend-modal-content {border-color: rgba(246, 203, 167, 0.38);
  background: radial-gradient(circle at 8% 0%, rgba(243, 181, 131, 0.18), transparent 32%),
        radial-gradient(circle at 94% 8%, rgba(240, 152, 101, 0.17), transparent 36%),
        linear-gradient(145deg, #1d130b, #1a150d 46%, #291d16);}

body.theme-ruotsalaisbileet #topBar #totalScore button.total-score-rank-segment:hover,
body.theme-ruotsalaisbileet #topBar #totalScore button.total-score-rank-segment:focus-visible {background-color: rgba(255, 255, 255, 0.96) !important;
  background-image: url("img/triangles.svg") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: inherit !important;
  text-shadow: none !important;
  transform: none;
  box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.48),
        0 0 17px rgba(242, 174, 118, 0.24);}

body.theme-ruotsalaisbileet #topBar,
body.theme-ruotsalaisbileet #bottomBar {background-color: #130e0a !important;
  background-image: radial-gradient(circle at 8% -70%, rgba(240, 155, 106, 0.42), transparent 58%),
        radial-gradient(circle at 92% 165%, rgba(217, 143, 83, 0.34), transparent 56%),
        linear-gradient(112deg, rgba(42, 25, 15, 0.97), rgba(26, 16, 8, 0.98) 52%, rgba(46, 29, 19, 0.97)) !important;
  background-size: cover !important;
  background-position: center !important;
  border-color: rgba(247, 208, 176, 0.16) !important;
  backdrop-filter: blur(14px) saturate(1.16);
  -webkit-backdrop-filter: blur(14px) saturate(1.16);
  box-shadow: 0 0 22px rgba(204, 127, 82, 0.12),
        0 3px 14px rgba(0, 0, 0, 0.38) !important;}

body.theme-ruotsalaisbileet #topBar button:not(.total-score-rank-segment),
body.theme-ruotsalaisbileet #bottomBar button {background: linear-gradient(120deg, rgba(178, 113, 75, 0.54), rgba(108, 68, 35, 0.58)) !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.42) !important;}

body.theme-ruotsalaisbileet #topBar button:not(.total-score-rank-segment):hover,
body.theme-ruotsalaisbileet #topBar button:not(.total-score-rank-segment):focus-visible,
body.theme-ruotsalaisbileet #bottomBar button:hover,
body.theme-ruotsalaisbileet #bottomBar button:focus-visible {background: linear-gradient(120deg, rgba(207, 130, 85, 0.72), rgba(137, 86, 44, 0.72)) !important;
  color: #fff !important;
  border-color: rgba(250, 224, 203, 0.38) !important;
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09),
        0 0 16px rgba(218, 162, 117, 0.14),
        0 4px 12px rgba(0, 0, 0, 0.28) !important;}

body.theme-ruotsalaisbileet #bottomBar #leaveRoomBtn:hover,
body.theme-ruotsalaisbileet #bottomBar #leaveRoomBtn:focus-visible {background: linear-gradient(120deg, rgba(184, 47, 65, 0.92), rgba(113, 56, 33, 0.94)) !important;
  border-color: rgba(255, 161, 174, 0.42) !important;
  color: #fff !important;}

@media (max-width: 767.98px), (hover: none) and (pointer: coarse) {
body.theme-ruotsalaisbileet #bottomBar {transform: translate3d(0, var(--app-bottom-bar-visual-shift, 0px), 0) !important;}

body.theme-ruotsalaisbileet::before {content: "" !important;
    background: url("img/ruotsalais_background.jpg") 35% center / cover no-repeat !important;}

body.theme-ruotsalaisbileet #scoreboardModal.scoreboard-events-mode {background-position: 35% top !important;}
}

@media (max-width: 767.98px) and (orientation: portrait) {
body.theme-ruotsalaisbileet #scoreboardModal.scoreboard-events-mode {background-size: auto 100lvh !important;}
}

@media (max-width: 420px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value::after {color: #342a21;}
}

body.theme-ruotsalaisbileet .achievement-list-card {background-image: linear-gradient(
          145deg,
          color-mix(in srgb, var(--achievement-list-accent) 22%, rgba(16, 9, 4, 0.74)),
          color-mix(in srgb, var(--achievement-list-accent-2) 14%, rgba(14, 9, 5, 0.9))
        ),
        var(--achievement-list-image);}

body.theme-ruotsalaisbileet .accordion-button,
body.theme-ruotsalaisbileet .accordion-button:not(.collapsed) {background-color: #1f1611 !important;
  background-image: radial-gradient(circle at 8% -75%, rgba(240, 155, 106, 0.5), transparent 56%),
        radial-gradient(circle at 94% 160%, rgba(217, 143, 83, 0.4), transparent 54%),
        linear-gradient(112deg, rgba(85, 51, 32, 0.98), rgba(46, 28, 14, 0.98) 54%, rgba(68, 41, 26, 0.98)) !important;
  background-size: cover !important;
  background-position: center !important;
  color: #fff !important;
  border-color: rgba(249, 220, 197, 0.24) !important;
  animation: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 -1px 0 rgba(0, 0, 0, 0.28),
        0 4px 14px rgba(0, 0, 0, 0.26),
        0 0 16px rgba(204, 127, 82, 0.1) !important;}

body.theme-ruotsalaisbileet .accordion-button:hover,
body.theme-ruotsalaisbileet .accordion-button:focus-visible {background-color: #281c15 !important;
  background-image: radial-gradient(circle at 10% -60%, rgba(242, 167, 124, 0.58), transparent 58%),
        radial-gradient(circle at 92% 150%, rgba(232, 157, 96, 0.46), transparent 55%),
        linear-gradient(112deg, rgba(112, 68, 43, 0.99), rgba(65, 40, 20, 0.99) 54%, rgba(88, 54, 34, 0.99)) !important;
  color: #fff !important;
  border-color: rgba(250, 226, 207, 0.42) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 0 18px rgba(218, 138, 91, 0.16),
        0 5px 15px rgba(0, 0, 0, 0.3) !important;}

body.theme-ruotsalaisbileet .accordion-button:hover::after,
body.theme-ruotsalaisbileet .accordion-button:focus-visible::after {filter: brightness(0) invert(1) drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.45));}

body.theme-ruotsalaisbileet #continuousContainer,
body.theme-ruotsalaisbileet #missionsContainer,
body.theme-ruotsalaisbileet #completedContainer,
body.theme-ruotsalaisbileet #achievementsContainer {background-color: rgba(18, 13, 9, 0.95) !important;
  background-image: radial-gradient(circle at 3% 0%, rgba(211, 130, 83, 0.28), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(187, 123, 71, 0.22), transparent 42%),
        linear-gradient(135deg, rgba(60, 37, 24, 0.9), rgba(35, 21, 9, 0.92) 52%, rgba(47, 30, 20, 0.92)) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(249, 217, 190, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 0 18px rgba(195, 122, 79, 0.09),
        0 5px 16px rgba(0, 0, 0, 0.24) !important;}

body.theme-ruotsalaisbileet .achievement-list-group + .achievement-list-group {border-top-color: rgba(246, 194, 164, 0.2);}

body.theme-ruotsalaisbileet #bottomBar button:hover,
body.theme-ruotsalaisbileet #bottomBar button:focus-visible,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus-visible {transform: translateY(-1px) !important;}

body.theme-ruotsalaisbileet #bottomBar button,
body.theme-ruotsalaisbileet #bottomBar button:hover,
body.theme-ruotsalaisbileet #bottomBar button:focus,
body.theme-ruotsalaisbileet #bottomBar button:focus-visible {border-width: 1px !important;
  border-style: solid !important;
  box-sizing: border-box !important;}

body.theme-ruotsalaisbileet .app-scroll-to-top {border-color: rgba(248, 211, 189, 0.48);
  background: linear-gradient(135deg, rgba(159, 100, 65, 0.98), rgba(113, 72, 38, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 5px 14px rgba(0, 0, 0, 0.3),
    0 0 14px rgba(211, 141, 100, 0.2);}

body.theme-ruotsalaisbileet .app-scroll-to-top:hover,
body.theme-ruotsalaisbileet .app-scroll-to-top:focus-visible {border-color: rgba(250, 225, 204, 0.72);
  background: linear-gradient(135deg, rgba(192, 120, 79, 0.99), rgba(140, 89, 48, 0.99));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 7px 18px rgba(0, 0, 0, 0.32),
    0 0 18px rgba(226, 170, 124, 0.22);}

body.theme-ruotsalaisbileet #achievementsModal #achievementsContainer {background-image: url("img/container_background_ruotsalaisbileet.svg");
  background-color: #231911;}

body.theme-ruotsalaisbileet #topBar {box-sizing: border-box !important;
  height: calc(var(--app-topbar-section-height) + env(safe-area-inset-top, 0px)) !important;
  min-height: calc(var(--app-topbar-section-height) + env(safe-area-inset-top, 0px)) !important;
  max-height: calc(var(--app-topbar-section-height) + env(safe-area-inset-top, 0px)) !important;
  padding: env(safe-area-inset-top, 0px) 0 0 !important;
  border-top: 1px solid var(--app-bar-section-line) !important;
  border-bottom: 1px solid var(--app-bar-section-line) !important;}

body.theme-ruotsalaisbileet #bottomBar {box-sizing: border-box !important;
  height: calc(var(--app-bottombar-section-height) + env(safe-area-inset-bottom, 0px)) !important;
  min-height: calc(var(--app-bottombar-section-height) + env(safe-area-inset-bottom, 0px)) !important;
  max-height: calc(var(--app-bottombar-section-height) + env(safe-area-inset-bottom, 0px)) !important;
  padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
  border-top: 1px solid var(--app-bar-section-line) !important;
  border-bottom: 1px solid var(--app-bar-section-line) !important;}

body.theme-ruotsalaisbileet #topBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #topBar .app-bar-icon-action:focus-visible,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus-visible,
body.theme-ruotsalaisbileet #customUserDropdown:hover,
body.theme-ruotsalaisbileet #customUserDropdown:focus-visible {border: 0 !important;
  border-radius: 0 !important;
  background: var(--app-bar-section-bg-hover) !important;
  box-shadow: inset 0 0 0 1px rgba(251, 233, 218, 0.1) !important;
  transform: none !important;
  filter: brightness(1.08);}

body.theme-ruotsalaisbileet #topBar #totalScore {--total-score-rank-width: clamp(38px, 4vw, 52px);
  flex: 1 1 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--app-bar-section-line) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {height: 100% !important;
  min-height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #fff !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .label,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value::after {color: #fff !important;}

body.theme-ruotsalaisbileet #topBar #totalScore {color: inherit !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {color: inherit !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {grid-template-columns: max-content minmax(0, 1fr) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .label {justify-self: start !important;}

body.theme-ruotsalaisbileet #topBar #totalScore {height: 100% !important;
  min-height: 100% !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100% !important;
  max-height: none !important;
  border: 0 !important;
  border-right: 1px solid rgba(76, 55, 37, 0.18) !important;
  border-radius: 0 !important;
  background-color: rgba(187, 118, 78, 0.8) !important;
  background-image: url("img/triangles.svg") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  min-height: 100% !important;
  max-height: none !important;
  gap: 0.38rem !important;
  padding: 0.45rem clamp(0.55rem, 1.4vw, 1rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: none !important;
  overflow: hidden !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .label {display: inline !important;
  color: #333 !important;
  text-shadow: none !important;
  white-space: nowrap !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {color: var(--ruotsi-accent) !important;
  text-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value::after {display: none !important;
  content: none !important;}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {width: 43px !important;
    min-width: 43px !important;
    max-width: 43px !important;
    flex-basis: 43px !important;}
}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {flex: 0 0 43px !important;}
}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  flex: 0 0 70px !important;
  height: 100% !important;
  padding: 0.38rem !important;}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    flex-basis: 46px !important;
    padding: 0.28rem !important;}
}

@media (max-width: 420px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment {width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    flex-basis: 42px !important;}
}

body.theme-ruotsalaisbileet #topBar {overflow: visible !important;}

body.theme-ruotsalaisbileet #topBar .custom-user-dropdown,
body.theme-ruotsalaisbileet #topBar #userRankContainer,
body.theme-ruotsalaisbileet #topBar #filterIconContainer,
body.theme-ruotsalaisbileet #topBar #totalScore,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {border: 0 !important;
  border-inline: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #userRankContainer,
body.theme-ruotsalaisbileet #topBar #filterIconContainer,
body.theme-ruotsalaisbileet #topBar #totalScore {border-left: 1px solid var(--app-bar-section-line) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {border-left: 0 !important;
  border-right: 0 !important;}

body.theme-ruotsalaisbileet #bottomBar .app-bar-item,
body.theme-ruotsalaisbileet #bottomBar .app-bar-item > button,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action,
body.theme-ruotsalaisbileet #bottomBar.app-bar-show-labels .app-bar-icon-action {border: 0 !important;
  border-inline: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #bottomBar .app-bar-item + .app-bar-item {border-left: 1px solid var(--app-bar-section-line) !important;}

body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus-visible {border: 0 !important;
  border-inline: 0 !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore {--total-score-progress-height: 6px;
  --total-score-rank-color: #e2a879;
  --total-score-next-rank-color: #f2a476;
  --total-score-accent: #e2a879;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: stretch !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row {align-items: stretch !important;
  min-height: 0 !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-points-segment {height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon {flex: 0 0 auto !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
  transition: color 90ms linear, text-shadow 90ms linear;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-progress-track {position: relative !important;
  display: block !important;
  width: 100% !important;
  height: var(--total-score-progress-height) !important;
  min-height: var(--total-score-progress-height) !important;
  max-height: var(--total-score-progress-height) !important;
  flex: 0 0 var(--total-score-progress-height) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(27, 17, 11, 0.3) !important;
  box-shadow: none !important;
  overflow: hidden !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-progress-fill {display: block !important;
  width: 0;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(
    90deg,
    var(--total-score-rank-color),
    var(--total-score-next-rank-color)
  ) !important;
  box-shadow: 0 0 5px color-mix(in srgb, var(--total-score-accent) 55%, transparent) !important;
  transition: background 150ms linear, box-shadow 90ms linear;}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment {width: calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height)) !important;
    min-width: calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height)) !important;
    max-width: calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height)) !important;
    flex: 0 0 calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height)) !important;
    padding: 0.3rem !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon {font-size: 1.25rem !important;}
}

@media (max-width: 350px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon {font-size: 1.15rem !important;}
}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon {color: color-mix(
    in srgb,
    var(--total-score-accent, #e2a879) 70%,
    #1e1713 30%
  ) !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.34),
    0 0 7px color-mix(in srgb, var(--total-score-accent, #e2a879) 32%, transparent) !important;}

@media (hover: none), (pointer: coarse) {
body.theme-ruotsalaisbileet #bottomBar button:hover,
body.theme-ruotsalaisbileet #bottomBar button:focus,
body.theme-ruotsalaisbileet #bottomBar button:focus-visible,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus-visible,
body.theme-ruotsalaisbileet #bottomBar #leaveRoomBtn:hover,
body.theme-ruotsalaisbileet #bottomBar #leaveRoomBtn:focus,
body.theme-ruotsalaisbileet #bottomBar #leaveRoomBtn:focus-visible {background: linear-gradient(
      120deg,
      rgba(178, 113, 75, 0.54),
      rgba(108, 68, 35, 0.58)
    ) !important;
    color: #fff !important;
    border: 0 !important;
    outline: 0 !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;}

body.theme-ruotsalaisbileet .app-scroll-to-top:hover,
body.theme-ruotsalaisbileet .app-scroll-to-top:focus,
body.theme-ruotsalaisbileet .app-scroll-to-top:focus-visible {background: linear-gradient(
      135deg,
      rgba(159, 100, 65, 0.98),
      rgba(113, 72, 38, 0.98)
    ) !important;
    border-color: rgba(248, 211, 189, 0.42) !important;
    outline: 0 !important;
    transform: translateY(0) !important;
    filter: none !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 5px 14px rgba(0, 0, 0, 0.28),
      0 0 12px rgba(211, 141, 100, 0.16) !important;}
}

body.theme-ruotsalaisbileet #topBar.no-selected-user #userRankContainer,
body.theme-ruotsalaisbileet #topBar.no-selected-user #totalScore {display: none !important;}

body.theme-ruotsalaisbileet #bottomBar #scoreboardBtn {background:
    linear-gradient(135deg, rgba(161, 104, 71, 0.94), rgba(148, 107, 49, 0.92)) !important;}

body.theme-ruotsalaisbileet #bottomBar #achievementsBtn {background:
    linear-gradient(135deg, rgba(127, 85, 40, 0.96), rgba(190, 124, 53, 0.94)) !important;}

body.theme-ruotsalaisbileet #bottomBar #bingoIcon {background:
    linear-gradient(135deg, rgba(151, 109, 49, 0.96), rgba(132, 98, 50, 0.94)) !important;}

body.theme-ruotsalaisbileet #bottomBar #leaveRoomBtn {background:
    linear-gradient(135deg, rgba(128, 73, 51, 0.96), rgba(171, 50, 64, 0.94)) !important;}

body.theme-ruotsalaisbileet #bottomBar #stickOrCarrotBtn {background: transparent !important;}

@media (hover: hover) and (pointer: fine) {
body.theme-ruotsalaisbileet #bottomBar #stickOrCarrotBtn:hover,
body.theme-ruotsalaisbileet #bottomBar #stickOrCarrotBtn:focus-visible {background: var(--app-bar-section-bg-hover) !important;}
}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon.point-p-icon {display: inline-grid !important;
  width: 1.45rem !important;
  height: 1.45rem !important;
  min-width: 1.45rem !important;
  place-items: center !important;
  box-sizing: border-box !important;
  border: 2px solid currentColor !important;
  border-radius: 50% !important;
  font-family: "Lilita One", sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  font-variation-settings: normal !important;}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon.point-p-icon {width: 1.28rem !important;
    height: 1.28rem !important;
    min-width: 1.28rem !important;
    font-size: 0.72rem !important;}
}

@media (max-width: 350px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-icon.point-p-icon {width: 1.16rem !important;
    height: 1.16rem !important;
    min-width: 1.16rem !important;
    font-size: 0.66rem !important;}
}

body.theme-ruotsalaisbileet .mission-saving-indicator-card {border-color: rgba(243, 182, 132, 0.42);
  background: linear-gradient(135deg, rgba(46, 30, 17, 0.98), rgba(28, 18, 9, 0.98));
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.4), 0 0 18px rgba(241, 171, 114, 0.14);}

body.theme-ruotsalaisbileet .mission-card.one-time-mission {border: 1px solid rgba(244, 193, 139, 0.9) !important;
  box-shadow:
    0 3px 8px rgba(28, 16, 3, 0.48),
    0 0 15px rgba(235, 146, 51, 0.52),
    0 0 34px rgba(239, 166, 88, 0.27),
    inset 0 1px 0 rgba(252, 240, 227, 0.68),
    inset 0 -1px 0 rgba(79, 45, 8, 0.62) !important;}

body.theme-ruotsalaisbileet .mission-card.one-time-mission .score-badge {background: linear-gradient(145deg, rgba(73, 41, 7, 0.9), rgba(146, 82, 14, 0.84)) !important;
  box-shadow:
    0 2px 7px rgba(42, 24, 4, 0.42),
    0 0 12px rgba(240, 175, 106, 0.3),
    inset 0 1px 0 rgba(249, 223, 195, 0.32) !important;}

body.theme-ruotsalaisbileet #topBar #filterIcon.is-filter-active,
body.theme-ruotsalaisbileet #topBar #filterIcon.is-filter-active:hover,
body.theme-ruotsalaisbileet #topBar #filterIcon.is-filter-active:focus,
body.theme-ruotsalaisbileet #topBar #filterIcon.is-filter-active:focus-visible {background:
    radial-gradient(circle at 28% 18%, rgba(248, 218, 185, 0.3), transparent 34%),
    linear-gradient(135deg, rgba(232, 131, 24, 0.98), rgba(201, 116, 26, 0.98)) !important;
  border-color: rgba(246, 208, 167, 0.74) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 0 15px rgba(233, 137, 34, 0.34),
    0 5px 14px rgba(0, 0, 0, 0.3) !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user > .app-bar-row {grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user .custom-user-dropdown {grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user #filterIconContainer {grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user #filterIcon {display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.62rem !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0.45rem 0.8rem !important;
  white-space: nowrap !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user #filterIcon > .app-bar-action-icon-wrap {flex: 0 0 28px !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user #filterIcon > .app-bar-action-label {position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  height: 28px !important;
  min-height: 28px !important;
  line-height: 28px !important;
  transform: translateY(-1px);
  white-space: nowrap !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user #filterIcon.is-filter-active > .app-bar-action-icon-wrap::after {content: none !important;}

body.theme-ruotsalaisbileet #topBar.no-selected-user #filterIcon.is-filter-active > .app-bar-action-label::after {content: "";
  position: absolute;
  top: -6px;
  right: -9px;
  width: 11px;
  height: 11px;
  box-sizing: border-box;
  border: 2px solid rgba(27, 18, 13, 0.96);
  border-radius: 50%;
  background: #ff3948;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.22),
    0 2px 5px rgba(0, 0, 0, 0.62),
    0 0 8px rgba(255, 57, 72, 0.48);
  pointer-events: none;
  z-index: 8;}

body.theme-ruotsalaisbileet .scoreboard-events-hero.is-happy-hour {background-image: url("img/ruotsalais_background.jpg") !important;}

body.theme-ruotsalaisbileet .scoreboard-events-hero.is-happy-hour::before {background: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-currency {border-color: rgba(240, 176, 107, 0.44);
  background: linear-gradient(135deg, rgba(60, 38, 15, 0.92), rgba(109, 70, 28, 0.88));
  color: #f7d4ae;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-currency .material-symbols-outlined {color: #efa95f;}

body.theme-ruotsalaisbileet #bingoModal .bingo-modal-content {position: relative;
  overflow: hidden;
  background-color: #1a1108 !important;
  background-image: url("img/bingo_bg.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  border: 1px solid rgba(246, 205, 162, 0.42) !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.58),
              0 0 0 1px rgba(80, 48, 14, 0.36) inset !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #bingoModal .bingo-modal-header .btn-close,
body.theme-ruotsalaisbileet #bingoInfoModal .modal-header .btn-close {position: static;
  justify-self: end;
  margin: 0;
  opacity: 0.95;
  filter: invert(1) grayscale(1) brightness(2);
  transition: transform 0.18s ease, opacity 0.18s ease, filter 0.18s ease;}

body.theme-ruotsalaisbileet #bingoModal .bingo-modal-header .btn-close:hover,
body.theme-ruotsalaisbileet #bingoModal .bingo-modal-header .btn-close:focus,
body.theme-ruotsalaisbileet #bingoInfoModal .modal-header .btn-close:hover,
body.theme-ruotsalaisbileet #bingoInfoModal .modal-header .btn-close:focus {opacity: 1;
  transform: scale(1.08);
  filter: invert(1) grayscale(1) brightness(2);}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell,
body.theme-ruotsalaisbileet #bingoModal .bingo-cell:not(.bingo-cell-complete) {background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.05)) !important;
  border: 2px solid rgba(61, 38, 13, 0.72) !important;
  border-radius: 0.6rem;
  box-shadow: inset 0 0 0 1px rgba(251, 232, 211, 0.08),
              0 2px 8px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  padding: 0.45rem;}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell-text {color: #ffffff !important;
  font-weight: 400;
  line-height: 1.08;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.95),
               0 0 10px rgba(0, 0, 0, 0.55);}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell-complete {background: linear-gradient(180deg, rgba(120, 77, 42, 0.62), rgba(89, 55, 27, 0.68)) !important;
  border-color: rgba(251, 234, 220, 0.52) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.09),
              0 0 0 1px rgba(64, 41, 22, 0.24),
              0 6px 16px rgba(0, 0, 0, 0.22) !important;}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell-complete .bingo-cell-text {color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.95),
               0 0 10px rgba(0, 0, 0, 0.6);}

body.theme-ruotsalaisbileet #bingoInfoModal .bingo-info-modal-content {background-image: linear-gradient(180deg, rgba(71, 44, 15, 0.98), rgba(46, 30, 12, 0.98)) !important;
  border: 1px solid rgba(247, 211, 173, 0.24) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45) !important;
  animation: none !important;}

@media (max-width: 600px) {
body.theme-ruotsalaisbileet #bingoModal .bingo-cell,
body.theme-ruotsalaisbileet #bingoModal .bingo-cell:not(.bingo-cell-complete) {padding: 0.34rem;
    border-radius: 0.5rem;}
}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell,
body.theme-ruotsalaisbileet #bingoModal .bingo-cell:not(.bingo-cell-complete) {box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: auto;
  overflow: hidden;}

body.theme-ruotsalaisbileet #bingoModal .bingo-cell-text {min-width: 0;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;}

body.theme-ruotsalaisbileet .pin-code-group.uses-compact-keypad .pin-digit-slot.is-active .pin-digit-input {border-color: rgba(242, 178, 126, 0.98);
  outline-color: rgba(242, 166, 122, 0.95);
  background: linear-gradient(145deg, rgba(137, 83, 52, 0.98), rgba(121, 68, 25, 0.96));
  box-shadow: 0 0 0 0.22rem rgba(242, 164, 119, 0.28),
              0 0 26px rgba(240, 166, 106, 0.58),
              inset 0 0 18px rgba(255, 255, 255, 0.08);}

body.theme-ruotsalaisbileet .pin-keypad-button {border-color: rgba(246, 196, 167, 0.32);
  background: linear-gradient(145deg, rgba(88, 56, 37, 0.76), rgba(80, 49, 23, 0.78));
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
              0 4px 10px rgba(27, 15, 5, 0.18);}

body.theme-ruotsalaisbileet .pin-keypad-button:active {background: linear-gradient(145deg, rgba(119, 75, 49, 0.92), rgba(108, 64, 28, 0.9));}

body.theme-ruotsalaisbileet .pin-keypad-backspace {border-color: rgba(255, 139, 151, 0.62);
  background: linear-gradient(145deg, rgba(184, 48, 69, 0.96), rgba(116, 25, 44, 0.98));
  color: #fff;
  box-shadow: 0 3px 12px rgba(61, 4, 18, 0.34);}

body.theme-ruotsalaisbileet .pin-keypad-backspace:active {background: linear-gradient(145deg, rgba(160, 37, 58, 1), rgba(91, 17, 35, 1));}

body.theme-ruotsalaisbileet .game-instructions-section > summary {background: linear-gradient(110deg, rgba(98, 66, 39, 0.94), rgba(78, 46, 19, 0.94));}

body.theme-ruotsalaisbileet .game-instructions-title-icon {background: linear-gradient(135deg, #7b5231, #d18c53);
  box-shadow: 0 0 18px rgba(241, 171, 114, 0.25);}

body.theme-ruotsalaisbileet #pinCheckModal .auth-profile-bg-content,
body.theme-ruotsalaisbileet #userModal .auth-profile-bg-content {position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background-image:
    linear-gradient(180deg, rgba(18, 12, 8, 0.35), rgba(26, 19, 15, 0.35)),
    url("img/ruotsalais_profile_bg.jpg") !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center 38% !important;
  border-color: rgba(244, 180, 143, 0.46) !important;
  box-shadow:
    0 22px 70px rgba(0, 0, 0, 0.66),
    0 0 26px rgba(226, 167, 118, 0.13),
    inset 0 0 36px rgba(0, 0, 0, 0.24) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment {display: grid !important;
  width: calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height, 6px)) !important;
  min-width: calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height, 6px)) !important;
  max-width: calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height, 6px)) !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 0 0 calc(var(--app-topbar-section-height, 64px) - var(--total-score-progress-height, 6px)) !important;
  box-sizing: border-box !important;
  aspect-ratio: 1 / 1 !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  place-items: center !important;
  gap: 0.08rem !important;
  padding: 0.18rem 0.22rem 0.14rem !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-icon-shell {display: grid;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 1 1 auto;
  place-items: center;
  overflow: hidden;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-icon-shell .rank-icon {display: block;
  width: min(38px, 92%) !important;
  height: min(38px, 92%) !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {display: grid !important;
  min-width: 0 !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  place-items: center !important;
  gap: 0.08rem !important;
  padding: 0.14rem 0.24rem 0.16rem !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {display: block;
  flex: 0 0 auto;
  margin: 0;
  font-family: "Lilita One", sans-serif;
  font-size: 0.57rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.055em;
  white-space: nowrap;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment .total-score-metric-label {color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34);}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .total-score-metric-label {color: rgba(28, 22, 18, 0.68) !important;
  text-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {display: block !important;
  font-size: clamp(1rem, 3.8vw, 1.48rem) !important;
  line-height: 0.95 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  align-self: center !important;}

body.theme-ruotsalaisbileet #topBar #totalScore #totalScoreStars[hidden] {display: none !important;}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment {padding: 0.16rem 0.18rem 0.12rem !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-icon-shell .rank-icon {width: min(35px, 91%) !important;
    height: min(35px, 91%) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {font-size: 0.5rem;
    letter-spacing: 0.04em;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {gap: 0.04rem !important;
    padding-inline: 0.12rem !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {font-size: clamp(0.94rem, 4.6vw, 1.28rem) !important;}
}

@media (max-width: 350px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {font-size: 0.46rem;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {font-size: 0.94rem !important;}
}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {grid-template-rows: 18px minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {width: 100% !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 0.16rem !important;
  color: #fff !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-segment .total-score-metric-label {background: linear-gradient(90deg, #dc7e47 0%, #c3805a 48%, #955a29 100%) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-icon-shell {box-sizing: border-box;
  padding: 0.08rem 0.12rem 0.1rem;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {box-sizing: border-box;
  padding: 0.06rem 0.18rem 0.1rem !important;}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {grid-template-rows: 16px minmax(0, 1fr) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {height: 16px !important;
    min-height: 16px !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.045em !important;}
}

@media (max-width: 350px) {
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment {grid-template-rows: 15px minmax(0, 1fr) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {height: 15px !important;
    min-height: 15px !important;
    font-size: 0.57rem !important;
    letter-spacing: 0.035em !important;}
}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-rank-segment,
body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-points-segment {position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: var(--total-score-metric-header-height) minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  place-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-metric-label {grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  display: grid !important;
  width: auto !important;
  min-width: 100% !important;
  max-width: none !important;
  height: var(--total-score-metric-header-height) !important;
  min-height: var(--total-score-metric-header-height) !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  place-items: center !important;
  box-sizing: border-box !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-rank-icon-shell {grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  place-items: center !important;
  margin: 0 !important;}

body.theme-ruotsalaisbileet .scoreboard-activity-item.activity-category-karaoke,
body.theme-ruotsalaisbileet .scoreboard-activity-item.activity-category-juominen,
body.theme-ruotsalaisbileet .scoreboard-activity-item.activity-category-pelit-ja-kilpailut,
body.theme-ruotsalaisbileet .scoreboard-activity-item.activity-category-eheytyminen {--activity-mission-text-shadow: 0 0 10px rgba(244, 187, 141, 0.28),
    1px 2px 2px rgba(0, 0, 0, 0.70);}

@media (orientation: portrait) and (min-height: 1400px) and (max-aspect-ratio: 1 / 2) {
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .table {font-size: 1.34rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th {padding: 1rem 0.9rem;
    font-size: 1.08rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper tbody td {padding: 1.05rem 0.9rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-position {width: 64px;
    font-size: 1.4rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-name,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-score {font-size: 1.35rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-current-user-badge {font-size: 0.88rem;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-rank-image {height: 44px;}
}

body.theme-ruotsalaisbileet #bingoCompleteCheck {color: #d88847 !important;
  opacity: 1 !important;
  text-shadow:
    0 0 4px rgba(0, 0, 0, 0.72),
    0 0 8px rgba(216, 136, 71, 0.46) !important;}

body.theme-ruotsalaisbileet .mission-quick-search-field {border-color: rgba(248, 211, 181, 0.24);
  background: rgba(26, 16, 8, 0.88);}

body.theme-ruotsalaisbileet .mission-quick-search-field:focus-within {border-color: rgba(243, 185, 138, 0.78);
  box-shadow:
    0 0 0 3px rgba(204, 140, 87, 0.15),
    0 5px 18px rgba(0, 0, 0, 0.24);}

body.theme-ruotsalaisbileet .mission-filter-open-btn,
body.theme-ruotsalaisbileet #filterIcon.mission-filter-open-btn {border-color: rgba(248, 211, 181, 0.28) !important;
  background: linear-gradient(135deg, rgba(99, 70, 47, 0.98), rgba(163, 110, 66, 0.98)) !important;}

body.theme-ruotsalaisbileet .mission-filter-open-btn,
body.theme-ruotsalaisbileet #filterIcon.mission-filter-open-btn {background: var(--app-bar-section-bg) !important;}

body.theme-ruotsalaisbileet .mission-filter-open-btn:hover,
body.theme-ruotsalaisbileet .mission-filter-open-btn:focus-visible {background: var(--app-bar-section-bg-hover) !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row {display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-main-row > .total-score-points-segment {display: grid !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: rgba(255, 255, 255, 0.97) !important;
  color: #1c1612 !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .total-score-metric-label {display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #18120f !important;
  color: #fff !important;}

body.theme-ruotsalaisbileet #topBar #totalScore .total-score-points-segment .value {display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #1c1612 !important;
  text-shadow: none !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .table {width: 100%;
  table-layout: fixed;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th:first-child,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper tbody td:first-child {width: 64px !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .scoreboard-score-heading,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .scoreboard-score {width: 28% !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th:last-child,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .scoreboard-rank-cell {width: 86px !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-cell {min-width: 0;
  overflow: hidden;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-line {width: 100%;
  overflow: hidden;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-user-line .scoreboard-user-name {overflow: hidden;
  text-overflow: ellipsis;}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th:first-child,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper tbody td:first-child {width: 50px !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .scoreboard-score-heading,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .scoreboard-score {width: 27% !important;}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper thead th:last-child,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-wrapper .scoreboard-rank-cell {width: 66px !important;}
}

body.theme-ruotsalaisbileet #topBar .viewed-user-login-btn {display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0.45rem 0.75rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #fff !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;}

@media (hover: hover) and (pointer: fine) {
body.theme-ruotsalaisbileet #topBar .viewed-user-login-btn:hover {background: var(--app-bar-section-bg-hover) !important;
    filter: brightness(1.08) !important;}
}

body.theme-ruotsalaisbileet #topBar .viewed-user-login-btn:focus-visible {background: var(--app-bar-section-bg-hover) !important;
  box-shadow: inset 0 0 0 2px rgba(251, 233, 218, 0.22) !important;}

@media (max-width: 767.98px) {
body.theme-ruotsalaisbileet #topBar .viewed-user-login-btn {gap: 0 !important;
    padding: 0 !important;}
}

body.theme-ruotsalaisbileet .topbar-profile-btn .material-symbols-outlined {color: #ffffff;
  text-shadow: 0 0 9px rgba(246, 199, 160, 0.32);}

body.theme-ruotsalaisbileet .topbar-profile-btn:hover .material-symbols-outlined,
body.theme-ruotsalaisbileet .topbar-profile-btn:focus-visible .material-symbols-outlined {text-shadow: none;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-heading,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics strong,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-substat,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-substat > div > strong {color: #ffffff !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics span,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-substat > div > span {color: rgba(253, 243, 234, 0.76) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics > div,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-substat,
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics > div {background: rgba(253, 243, 234, 0.075);
  border: 1px solid rgba(246, 204, 169, 0.09);}

body.theme-ruotsalaisbileet #userProfileModal .profile-medal strong,
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics strong {color: #fef6f0;}

body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics span {color: rgba(253, 243, 234, 0.76);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous .user-profile-stat-heading {color: #f4be91 !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-normal .user-profile-stat-heading {color: #f8d6bb !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies .user-profile-stat-heading {color: #f8d2bc !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo .user-profile-stat-heading {color: #f6d6a8 !important;}

body.theme-ruotsalaisbileet #userProfileModal .profile-stick-or-carrot-row {border-top-color: rgba(246, 204, 169, 0.11);}

body.theme-ruotsalaisbileet #userProfileModal .profile-stick-or-carrot-stat {border-color: color-mix(in srgb, var(--profile-rank-primary) 18%, transparent);
  background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--profile-rank-primary) 9%, transparent),
        color-mix(in srgb, var(--profile-rank-secondary) 7%, transparent)
      );}

body.theme-ruotsalaisbileet #userProfileModal .profile-stick-or-carrot-stat strong {color: #fef6f0;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-substat-heading {color: #ffffff;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-normal .user-profile-medal-row {border-top-color: rgba(246, 204, 169, 0.11);}

body.theme-ruotsalaisbileet #userProfileModal .profile-bingo-complete {color: #fef6f0;
  background: linear-gradient(135deg, rgba(241, 172, 116, 0.14), rgba(178, 119, 71, 0.1));
  border-color: rgba(245, 194, 153, 0.18);}

body.theme-ruotsalaisbileet #userProfileModal .profile-bingo-complete .material-symbols-outlined {color: #f5c39b;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo.is-complete {box-shadow: 0 8px 26px rgba(0, 0, 0, 0.28),
        inset 0 0 22px rgba(244, 186, 139, 0.025),
        0 0 0 2px rgba(243, 186, 139, 0.12),
        0 0 26px rgba(242, 177, 124, 0.11);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-metrics > div {background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(246, 204, 169, 0.08);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-metrics strong {color: #ffffff;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-metrics span {color: rgba(255, 255, 255, 0.82);}

body.theme-ruotsalaisbileet .user-profile-modal-content {border-radius: 7px !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-modal-content {--profile-rank-primary: #e2a879;
  --profile-rank-secondary: #f1a173;
  --profile-rank-tertiary: #d5a460;
  --profile-rank-glow: rgba(222, 165, 118, 0.3);
  position: relative;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-card {--profile-section-primary: #d6a278;
  --profile-section-secondary: #f1a172;
  background: radial-gradient(circle at 8% 8%, color-mix(in srgb, var(--profile-section-primary) 15%, transparent), transparent 41%),
        radial-gradient(circle at 94% 90%, color-mix(in srgb, var(--profile-section-secondary) 13%, transparent), transparent 43%),
        linear-gradient(145deg, rgba(23, 14, 6, 0.71), rgba(51, 35, 26, 0.49));
  border-color: color-mix(in srgb, var(--profile-section-primary) 29%, transparent);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.28),
        inset 0 0 22px color-mix(in srgb, var(--profile-section-secondary) 4%, transparent);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous {--profile-section-primary: #e0a371;
  --profile-section-secondary: #d29e55;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-normal {--profile-section-primary: #f4b38e;
  --profile-section-secondary: #dda170;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies {--profile-section-primary: #f3a383;
  --profile-section-secondary: #eab05e;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo {--profile-section-primary: #f1bd74;
  --profile-section-secondary: #f2aa81;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour {--profile-section-primary: #f1b16c;
  --profile-section-secondary: #f2a579;
  border: 1px solid color-mix(in srgb, var(--profile-section-primary) 25%, transparent) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-heading,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-substat-heading {color: color-mix(in srgb, var(--profile-section-primary) 78%, white) !important;
  text-shadow: 0 0 12px color-mix(in srgb, var(--profile-section-primary) 25%, transparent);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics > div,
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics > div {background-image: linear-gradient(125deg,
          color-mix(in srgb, var(--profile-section-primary, var(--profile-rank-primary)) 19%, rgba(255, 255, 255, 0.055)),
          color-mix(in srgb, var(--profile-rank-secondary) 15%, rgba(255, 255, 255, 0.045)),
          color-mix(in srgb, var(--profile-section-secondary, var(--profile-rank-tertiary)) 17%, rgba(255, 255, 255, 0.055))) !important;
  background-size: 240% 240% !important;
  border: 1px solid color-mix(in srgb, var(--profile-section-primary, var(--profile-rank-primary)) 22%, transparent) !important;
  box-shadow: inset 0 0 14px rgba(255, 255, 255, 0.025),
        0 0 14px color-mix(in srgb, var(--profile-section-secondary, var(--profile-rank-tertiary)) 7%, transparent);
  animation: profileMetricChromaticFlow 13s ease-in-out infinite;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics > div:nth-child(2),
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics > div:nth-child(2) {animation-direction: reverse;
  animation-delay: -4s;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics > div:nth-child(3),
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics > div:nth-child(3) {animation-delay: -8s;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics strong,
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics strong {color: #ffffff !important;
  text-shadow: 0 0 11px color-mix(in srgb, var(--profile-section-primary, var(--profile-rank-primary)) 30%, transparent);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics span,
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics span {color: rgba(254, 246, 242, 0.82) !important;}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet .user-profile-modal-content {border-radius: 7px !important;}
}

@media (prefers-reduced-motion: reduce) {
body.theme-ruotsalaisbileet #userProfileModal .user-profile-main-metrics > div,
body.theme-ruotsalaisbileet #userProfileModal .profile-fairy-metrics > div,
body.theme-ruotsalaisbileet #userProfileModal .profile-bingo-complete {animation: none !important;}
}

body.theme-ruotsalaisbileet #userProfileModal .profile-stick-or-carrot-stat {min-height: 0;
  padding: 0.25rem 0.15rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;}

body.theme-ruotsalaisbileet #userProfileModal .profile-bingo-complete {--profile-bingo-complete-size: clamp(1rem, 2.8vw, 1.08rem);
  color: #ffffff !important;
  background-color: #8a562c !important;
  background-image: linear-gradient(135deg, #8a562c, #a56d3f) !important;
  background-size: 100% 100% !important;
  border-color: rgba(250, 226, 207, 0.34) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 5px 14px rgba(102, 59, 24, 0.2) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .profile-bingo-complete strong {display: inline-flex;
  align-items: center;
  color: #ffffff !important;
  font-size: var(--profile-bingo-complete-size);
  line-height: 1.1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);}

body.theme-ruotsalaisbileet #userProfileModal .profile-bingo-complete .material-symbols-outlined {display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  color: #ffffff !important;
  font-size: var(--profile-bingo-complete-size);
  line-height: 1;
  transform: translateY(-0.15em);
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements {border-color: color-mix(in srgb, var(--profile-rank-primary) 29%, transparent);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.28),
        inset 0 0 22px color-mix(in srgb, var(--profile-rank-secondary) 4%, transparent);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements-heading {color: color-mix(in srgb, var(--profile-rank-primary) 78%, white);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-entry,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements-empty {border-color: rgba(252, 235, 221, 0.12);
  background: rgba(14, 8, 4, 0.34);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-name {color: color-mix(in srgb, var(--profile-rank-primary) 76%, white);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-description,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements-empty {color: rgba(253, 246, 240, 0.76);}

body.theme-ruotsalaisbileet #topBar .topbar-profile-btn .app-bar-action-icon-wrap > .material-symbols-outlined {color: #645040;
  text-shadow: none;}

body.theme-ruotsalaisbileet #topBar #userRankContainer .topbar-profile-btn {place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #userRankContainer .topbar-profile-image {display: block !important;
  margin: 0 !important;
  transform-origin: center !important;}

body.theme-ruotsalaisbileet #topBar #userRankContainer .topbar-profile-btn {display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.62rem !important;
  overflow: hidden !important;}

body.theme-ruotsalaisbileet #topBar #userRankContainer .topbar-profile-btn .app-bar-action-icon-wrap {display: grid !important;
  place-items: center !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;}

body.theme-ruotsalaisbileet #topBar #userRankContainer .topbar-profile-image {width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  border: 0 !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-score-rank-segment {background-image: url("img/triangles.svg");}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-score-points-segment {color: #1c1612;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-score-points-segment > strong {color: #1c1612 !important;
  text-shadow: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-rewards-row .profile-stick-or-carrot-stat {min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0.2rem 0.08rem;
  gap: 0.2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-rewards-row {border-top-color: rgba(246, 204, 169, 0.11);}

body.theme-ruotsalaisbileet #topBar #userRankContainer .topbar-profile-image {border-color: transparent !important;
  border-radius: 7px !important;
  object-fit: contain !important;
  background: transparent !important;
  box-shadow: none !important;}

body.theme-ruotsalaisbileet #topBar #userRankContainer #userProfileBtnFallback.topbar-profile-fallback:not([hidden]) {display: grid !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  place-items: center !important;
  border-radius: 7px !important;
  color: #645040 !important;
  background: #fff !important;
  overflow: hidden !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements {background: linear-gradient(135deg, rgba(127, 85, 40, 0.96), rgba(190, 124, 53, 0.94)) !important;
  border-color: rgba(243, 191, 136, 0.42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 8px 24px rgba(79, 47, 13, 0.24),
    0 0 20px rgba(221, 145, 64, 0.13) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements-heading {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(60, 34, 7, 0.66);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous {--profile-section-primary: #bf9c80;
  --profile-section-secondary: #867256;
  background: linear-gradient(135deg, rgba(118, 98, 70, 0.97), rgba(126, 101, 80, 0.95)) !important;
  border-color: rgba(233, 209, 190, 0.3) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.13),
    0 8px 24px rgba(58, 45, 26, 0.22) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous > .user-profile-stat-heading {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.48);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous > .user-profile-main-metrics > div {background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous > .user-profile-main-metrics strong {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous > .user-profile-main-metrics span {color: rgba(255, 255, 255, 0.82) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour {--profile-section-primary: #f2b87a;
  --profile-section-secondary: #f2a181;
  background:
    linear-gradient(135deg, rgba(241, 178, 110, 0.99), rgba(244, 109, 126, 0.97) 55%, rgba(241, 162, 117, 0.95)) !important;
  border: 1px solid rgba(251, 235, 217, 0.3) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 6px 18px rgba(114, 69, 52, 0.22) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-heading {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(70, 37, 24, 0.58) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-metrics > div {background: rgba(255, 255, 255, 0.13) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-metrics strong {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(70, 37, 24, 0.5);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour-metrics span {color: rgba(255, 255, 255, 0.84) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies {--profile-section-primary: #f4ac90;
  --profile-section-secondary: #efb461;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 18%, rgba(246, 190, 168, 0.34), transparent 30%),
    radial-gradient(circle at 84% 22%, rgba(239, 178, 93, 0.24), transparent 34%),
    radial-gradient(circle at 70% 92%, rgba(241, 153, 118, 0.2), transparent 36%),
    linear-gradient(135deg, rgba(107, 56, 26, 0.98), rgba(151, 83, 43, 0.96) 47%, rgba(121, 81, 25, 0.96)) !important;
  background-size: 150% 150%, 145% 145%, 150% 150%, 220% 220% !important;
  border-color: rgba(246, 191, 169, 0.38) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 0 26px rgba(241, 147, 110, 0.1),
    0 8px 26px rgba(82, 43, 20, 0.3),
    0 0 24px rgba(239, 145, 91, 0.18) !important;
  animation: profileFairySectionGlow 10s ease-in-out infinite;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies .user-profile-stat-heading {color: #ffffff !important;
  text-shadow:
    0 0 10px rgba(246, 189, 167, 0.76),
    0 1px 3px rgba(48, 22, 7, 0.7) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies .profile-fairy-metrics > div {background: linear-gradient(135deg, rgba(246, 185, 160, 0.14), rgba(239, 177, 91, 0.1)) !important;
  border: 1px solid rgba(248, 206, 189, 0.17) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 14px rgba(240, 156, 108, 0.11) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies .profile-fairy-metrics strong {color: #ffffff !important;
  text-shadow: 0 0 10px rgba(242, 164, 118, 0.42);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies .profile-fairy-metrics span {color: rgba(253, 239, 231, 0.84) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo {--profile-section-primary: #ebb870;
  --profile-section-secondary: #a3804e;
  background: linear-gradient(135deg, rgba(151, 109, 49, 0.98), rgba(132, 98, 50, 0.96)) !important;
  border-color: rgba(240, 211, 170, 0.32) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 8px 24px rgba(87, 60, 23, 0.24) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo .user-profile-stat-heading {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(62, 41, 11, 0.58);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo .user-profile-main-metrics > div {background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo .user-profile-main-metrics strong {color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(62, 41, 11, 0.5);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo .user-profile-main-metrics span {color: rgba(253, 245, 234, 0.84) !important;}

@media (prefers-reduced-motion: reduce) {
body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies {animation: none !important;}
}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-modal-content {background-color: #120a06 !important;
  background-image: url("img/ruotsalais_profile_bg.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  border-color: rgba(246, 211, 162, 0.34) !important;
  box-shadow:
    0 0 26px rgba(240, 153, 102, 0.2),
    0 0 50px rgba(237, 167, 68, 0.1),
    0 24px 70px rgba(0, 0, 0, 0.68) !important;
  animation: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-modal-header,
body.theme-ruotsalaisbileet #userProfileModal .modal-body {background-image: none !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-modal-header {background-color: rgba(16, 8, 4, 0.5) !important;
  border-bottom-color: rgba(249, 226, 194, 0.18) !important;}

body.theme-ruotsalaisbileet #userProfileModal .modal-body {background-color: transparent !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-score-rank-card {border-color: rgba(251, 236, 215, 0.24);
  background: rgba(21, 11, 5, 0.48);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 8px 22px rgba(0, 0, 0, 0.3);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-score-rank-segment {background-color: rgba(32, 23, 11, 0.74);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-score-points-segment {background: rgba(255, 255, 255, 0.86);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-picture-frame,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-placement-badge {box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 7px 18px rgba(0, 0, 0, 0.28);}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievements {background: linear-gradient(135deg, rgba(127, 85, 40, 0.82), rgba(190, 124, 53, 0.76)) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-continuous {background: linear-gradient(135deg, rgba(118, 98, 70, 0.82), rgba(126, 101, 80, 0.78)) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-normal {background:
    radial-gradient(circle at 8% 8%, rgba(244, 179, 142, 0.12), transparent 41%),
    radial-gradient(circle at 94% 90%, rgba(221, 161, 112, 0.1), transparent 43%),
    linear-gradient(145deg, rgba(20, 14, 9, 0.76), rgba(56, 38, 28, 0.68)) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour {background: linear-gradient(135deg, rgba(241, 178, 110, 0.84), rgba(244, 109, 126, 0.8) 55%, rgba(241, 162, 117, 0.78)) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-fairies {background:
    radial-gradient(circle at 16% 18%, rgba(246, 190, 168, 0.29), transparent 30%),
    radial-gradient(circle at 84% 22%, rgba(239, 178, 93, 0.21), transparent 34%),
    radial-gradient(circle at 70% 92%, rgba(241, 153, 118, 0.17), transparent 36%),
    linear-gradient(135deg, rgba(107, 56, 26, 0.82), rgba(151, 83, 43, 0.78) 47%, rgba(121, 81, 25, 0.78)) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-stat-bingo {background: linear-gradient(135deg, rgba(151, 109, 49, 0.82), rgba(132, 98, 50, 0.78)) !important;}

body.theme-ruotsalaisbileet #userProfileModal .user-profile-category-points {background:
    radial-gradient(circle at 12% 8%, rgba(245, 195, 155, 0.06), transparent 34%),
    linear-gradient(145deg, rgba(14, 11, 6, 0.72), rgba(42, 30, 23, 0.66)) !important;
  border-color: rgba(221, 193, 154, 0.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 24px rgba(0, 0, 0, 0.24);}

@media (max-width: 575.98px) {
body.theme-ruotsalaisbileet #userProfileModal .user-profile-modal-content {background-position: center top !important;}
}

body.happy-hour-active.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour {background-image: linear-gradient(
    120deg,
    #b2713c 0%,
    #b2713c 18%,
    #e88d2c 48%,
    #f09b6a 72%,
    #b2713c 100%
  ) !important;
  background-size: 300% 300% !important;
  background-position: 0% 50%;
  animation: happyHourGradientFlow 8s ease-in-out infinite !important;}

@media (prefers-reduced-motion: reduce) {
body.happy-hour-active.theme-ruotsalaisbileet #userProfileModal .user-profile-happy-hour {animation: none !important;
    background-position: 50% 50% !important;}
}

/* =========================================================
   Ruotsalaisbileet: paletin kovennus
   ---------------------------------------------------------
   Yhteisissä legacy-komponenteissa on useita default-teeman
   violetti–vihreitä kovakoodattuja gradientteja. Tämä kerros
   varmistaa, ettei niitä vuoda Ruotsalaisbileet-huoneeseen.
   Kategoriakohtaiset tunnusvärit jätetään tarkoituksella ennalleen.
   ========================================================= */

body.theme-ruotsalaisbileet {
  --ruotsi-ui-deep: #2a170d;
  --ruotsi-ui-dark: #4a2714;
  --ruotsi-ui-mid: #8f4b24;
  --ruotsi-ui-warm: #c86d31;
  --ruotsi-ui-light: #e99a58;
  --ruotsi-ui-border: rgba(244, 198, 160, 0.38);
  --ruotsi-ui-border-strong: rgba(249, 218, 191, 0.62);
  --ruotsi-ui-glow: rgba(226, 139, 74, 0.22);
  --ruotsi-ui-gradient: linear-gradient(125deg, #4a2613, #7b3d1c, #b65d28, #713516);
  --ruotsi-ui-gradient-hover: linear-gradient(125deg, #643018, #9b4d21, #d87a38, #88411c);
  --ruotsi-ui-gradient-soft: linear-gradient(145deg, rgba(54, 31, 19, 0.96), rgba(30, 18, 10, 0.96));

  /* Korvaa default-teeman koko sovelluspalkin violetti–vihreät muuttujat. */
  --app-bar-section-line: rgba(244, 204, 171, 0.20);
  --app-bar-section-bg: linear-gradient(
    125deg,
    rgba(151, 88, 48, 0.34),
    rgba(94, 53, 28, 0.36)
  );
  --app-bar-section-bg-hover: linear-gradient(
    125deg,
    rgba(194, 108, 57, 0.52),
    rgba(128, 72, 37, 0.54)
  );
}

/* App bar / Ohjeet / Suodata / muut yhteiset palkkitoiminnot. */
body.theme-ruotsalaisbileet #topBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #topBar .app-bar-icon-action:focus-visible,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:hover,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus-visible,
body.theme-ruotsalaisbileet #customUserDropdown:hover,
body.theme-ruotsalaisbileet #customUserDropdown:focus-visible,
body.theme-ruotsalaisbileet .mission-filter-open-btn:hover,
body.theme-ruotsalaisbileet .mission-filter-open-btn:focus-visible {
  background: var(--app-bar-section-bg-hover) !important;
  border-color: var(--ruotsi-ui-border) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 239, 224, 0.09) !important;
}

body.theme-ruotsalaisbileet #topBar .app-bar-icon-action:hover .app-bar-action-icon-wrap > .material-symbols-outlined,
body.theme-ruotsalaisbileet #topBar .app-bar-icon-action:focus-visible .app-bar-action-icon-wrap > .material-symbols-outlined,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:hover .app-bar-action-icon-wrap > .material-symbols-outlined,
body.theme-ruotsalaisbileet #bottomBar .app-bar-icon-action:focus-visible .app-bar-action-icon-wrap > .material-symbols-outlined {
  filter: drop-shadow(0 0 7px rgba(240, 177, 122, 0.40));
}

/* Completed-listan ja saavutusten fallback-ikonit. */
body.theme-ruotsalaisbileet .completed-achievement-icon,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-ball {
  --achievement-accent: #c56a31;
  --achievement-accent-2: #7a3d1d;
  border-color: rgba(249, 218, 191, 0.48);
  background: linear-gradient(135deg, rgba(198, 105, 48, 0.92), rgba(112, 57, 27, 0.90));
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.28), 0 0 11px rgba(226, 139, 74, 0.18);
}

body.theme-ruotsalaisbileet .completed-achievement-icon-special-image,
body.theme-ruotsalaisbileet #userProfileModal .user-profile-achievement-ball.is-special-image-icon {
  background: linear-gradient(135deg, rgba(183, 91, 39, 0.94), rgba(224, 143, 75, 0.82), rgba(117, 59, 28, 0.90));
}

body.theme-ruotsalaisbileet .completed-achievement-special-image {
  filter: drop-shadow(0 0 4px rgba(255, 244, 232, 0.64))
          drop-shadow(0 0 9px rgba(235, 154, 85, 0.50));
}

/* Scoreboardin hero, feed-kehys ja lisätoiminnot. */
body.theme-ruotsalaisbileet .scoreboard-events-hero.is-happy-hour::before {
  background: none !important;
}

body.theme-ruotsalaisbileet .scoreboard-events-hero.is-happy-hour .scoreboard-events-hero-content,
body.theme-ruotsalaisbileet .rank-legend-highest-message {
  border-color: rgba(255, 222, 164, 0.54);
  background-image: linear-gradient(
    120deg,
    #a65327 0%,
    #a65327 18%,
    #e79232 48%,
    #d96a3c 72%,
    #a65327 100%
  ) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.38),
              inset 0 1px 0 rgba(255, 255, 255, 0.20),
              0 0 22px rgba(225, 141, 65, 0.16);
}

body.theme-ruotsalaisbileet .scoreboard-activity-section {
  border-color: rgba(244, 198, 160, 0.20);
  background: linear-gradient(145deg, rgba(38, 22, 12, 0.90), rgba(48, 29, 19, 0.90));
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.36), 0 0 28px rgba(211, 126, 69, 0.10);
}

body.theme-ruotsalaisbileet .scoreboard-activity-more-btn {
  border-color: var(--ruotsi-ui-border);
  background: linear-gradient(120deg, rgba(124, 63, 30, 0.88), rgba(77, 43, 24, 0.88));
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24), 0 0 18px rgba(226, 139, 74, 0.12);
}

body.theme-ruotsalaisbileet .scoreboard-activity-more-btn:hover,
body.theme-ruotsalaisbileet .scoreboard-activity-more-btn:focus-visible {
  border-color: var(--ruotsi-ui-border-strong);
}

body.theme-ruotsalaisbileet .scoreboard-activity-item.activity-happy-hour-started::after {
  background-image: linear-gradient(120deg, #a65327 0%, #a65327 18%, #e79232 48%, #d96a3c 72%, #a65327 100%);
}

body.theme-ruotsalaisbileet .scoreboard-activity-item.activity-achievement {
  --activity-accent: #dc8750;
  --activity-accent-2: #b8602d;
  --activity-icon-color: #f6c39a;
  background: linear-gradient(108deg, rgba(218, 119, 64, 0.18), rgba(158, 79, 37, 0.12) 58%, transparent 82%),
              rgba(23, 14, 10, 0.82);
}

/* Scoreboardin pistekehitys/statistiikka. */
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle:hover,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle:focus-visible,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle[aria-pressed="true"] {
  border-color: var(--ruotsi-ui-border) !important;
  background: var(--ruotsi-ui-gradient) !important;
  background-size: 280% 280% !important;
  color: #fff !important;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.28), inset 0 -2px 0 rgba(0, 0, 0, 0.16), 0 0 14px rgba(226, 139, 74, 0.12);
}

body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle:hover,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle:focus-visible,
body.theme-ruotsalaisbileet #scoreboardModal .scoreboard-history-toggle[aria-pressed="true"] {
  background: var(--ruotsi-ui-gradient-hover) !important;
  border-color: var(--ruotsi-ui-border-strong) !important;
}

body.theme-ruotsalaisbileet #scoreboardModal .score-history-metric-btn.is-active {
  border-color: var(--ruotsi-ui-border) !important;
  background: var(--ruotsi-ui-gradient) !important;
  background-size: 280% 280% !important;
  color: #fff !important;
}

body.theme-ruotsalaisbileet #scoreboardModal .score-history-happy-hour-legend {
  background: linear-gradient(115deg, rgba(181, 91, 42, 0.23), rgba(217, 139, 66, 0.18)), rgba(26, 16, 10, 0.82);
  box-shadow: inset 0 0 0 1px rgba(238, 178, 125, 0.46),
              inset 0 0 0 2px rgba(228, 133, 64, 0.08),
              0 0 11px rgba(193, 101, 48, 0.14);
}

body.theme-ruotsalaisbileet #scoreboardModal .score-history-happy-hour-legend-swatch {
  background: linear-gradient(135deg, #9c4c24 0%, #c7682f 45%, #e49a4e 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.38),
              0 0 8px rgba(196, 97, 43, 0.38),
              0 0 10px rgba(229, 151, 73, 0.16);
}

/* Rank-selite: paikalliset oletusmuuttujat eivät saa palauttaa violettia/vihreää. */
body.theme-ruotsalaisbileet .rank-legend-modal-content,
body.theme-ruotsalaisbileet .rank-legend-progress-card {
  --rank-primary: #e0a069;
  --rank-secondary: #c56839;
  --rank-tertiary: #d9ad62;
  --rank-glow: rgba(224, 145, 87, 0.28);
}

body.theme-ruotsalaisbileet .rank-legend-progress-card {
  border-color: rgba(232, 174, 128, 0.28);
  background: linear-gradient(135deg, rgba(255, 236, 218, 0.07), rgba(106, 58, 30, 0.07));
}

body.theme-ruotsalaisbileet .rank-legend-highest-message::before {
  background: linear-gradient(rgba(49, 22, 7, 0.08), rgba(72, 29, 11, 0.22)),
              repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.08) 0 2px, transparent 2px 18px);
}

/* Suodatusmodaalin yleinen chrome. Kategoriakohtaiset korttivärit säilyvät. */
body.theme-ruotsalaisbileet #filterModal .filter-modal-content {
  color: #fff7f0;
  border-color: rgba(244, 198, 160, 0.26);
  background: radial-gradient(circle at 8% 0%, rgba(228, 143, 82, 0.15), transparent 35%),
              radial-gradient(circle at 96% 4%, rgba(178, 91, 48, 0.15), transparent 36%),
              linear-gradient(145deg, rgba(34, 19, 10, 0.99), rgba(45, 28, 17, 0.99) 48%, rgba(55, 31, 18, 0.99));
  box-shadow: 0 28px 75px rgba(0, 0, 0, 0.58), 0 0 34px rgba(208, 125, 67, 0.10);
}

body.theme-ruotsalaisbileet #filterModal .filter-modal-header,
body.theme-ruotsalaisbileet #filterModal .filter-modal-footer {
  border-color: rgba(244, 204, 171, 0.14);
  background: rgba(34, 19, 10, 0.50);
}

body.theme-ruotsalaisbileet #filterModal .filter-section {
  border-color: rgba(244, 204, 171, 0.12);
  background: linear-gradient(120deg, rgba(255, 236, 218, 0.035), rgba(255, 255, 255, 0.012)), rgba(32, 18, 10, 0.30);
}

body.theme-ruotsalaisbileet #filterModal .filter-section-icon {
  border-color: rgba(230, 164, 110, 0.30);
  background: rgba(168, 84, 39, 0.16);
  color: #efb27c;
}

body.theme-ruotsalaisbileet #filterModal .filter-search-field-wrap > .material-symbols-outlined {
  color: rgba(239, 186, 143, 0.70);
}

body.theme-ruotsalaisbileet #filterModal .filter-search-input {
  border-color: rgba(232, 174, 128, 0.26);
  background: rgba(30, 17, 9, 0.66);
  color: #fff8f1;
}

body.theme-ruotsalaisbileet #filterModal .filter-search-input:focus {
  border-color: rgba(240, 183, 135, 0.68);
  background: rgba(40, 21, 10, 0.84);
  box-shadow: 0 0 0 3px rgba(216, 128, 68, 0.11);
}

body.theme-ruotsalaisbileet #filterModal .filter-search-result {
  border-color: rgba(222, 166, 119, 0.14);
  background: linear-gradient(100deg, rgba(191, 99, 46, 0.08), transparent 72%), rgba(30, 18, 11, 0.62);
}

body.theme-ruotsalaisbileet #filterModal .filter-search-result:hover,
body.theme-ruotsalaisbileet #filterModal .filter-search-result:focus-visible {
  border-color: rgba(232, 174, 128, 0.40);
  background: linear-gradient(100deg, rgba(199, 105, 49, 0.14), transparent 72%), rgba(42, 23, 12, 0.84);
}

body.theme-ruotsalaisbileet #filterModal .filter-search-more {
  border-color: rgba(232, 174, 128, 0.18);
}

body.theme-ruotsalaisbileet #filterModal .filter-search-more:hover,
body.theme-ruotsalaisbileet #filterModal .filter-search-more:focus-visible {
  border-color: rgba(232, 174, 128, 0.42);
  background: rgba(193, 100, 46, 0.12);
}

body.theme-ruotsalaisbileet #filterModal .filter-select-all-btn {
  border-color: rgba(235, 178, 132, 0.38);
  background: rgba(161, 80, 36, 0.20);
  color: #ffe1c7;
}

body.theme-ruotsalaisbileet #filterModal .filter-select-all-btn.is-complete,
body.theme-ruotsalaisbileet #filterModal .filter-select-all-btn:disabled {
  background: rgba(190, 104, 50, 0.20);
  color: #efbd93;
}

body.theme-ruotsalaisbileet #filterModal .filter-apply-btn {
  border-color: rgba(241, 190, 146, 0.36);
  background: linear-gradient(120deg, rgba(183, 88, 37, 0.92), rgba(113, 61, 31, 0.92));
  box-shadow: 0 0 18px rgba(221, 134, 70, 0.13);
}

/* Keppiä vai porkkanaa: itse porkkana-/onnistumisvärit saavat säilyä,
   mutta violetinvihreä runko ja boost-badge lämpenevät teemaan. */
body.theme-ruotsalaisbileet .stick-or-carrot-active-card {
  border-color: rgba(242, 194, 151, 0.26);
  background: linear-gradient(110deg, rgba(104, 51, 25, 0.92), rgba(58, 31, 17, 0.94) 58%, rgba(37, 22, 14, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 9px 26px rgba(0, 0, 0, 0.28), 0 0 20px rgba(216, 126, 67, 0.10);
}

body.theme-ruotsalaisbileet .stick-or-carrot-active-card::after {
  background: linear-gradient(100deg, rgba(52, 26, 15, 0.52), rgba(60, 32, 18, 0.18) 62%, rgba(0, 0, 0, 0.38));
}

body.theme-ruotsalaisbileet .stick-or-carrot-active-kicker {
  color: #f1bd91;
}

body.theme-ruotsalaisbileet .stick-or-carrot-multiplier.is-boost {
  color: #fff2e5;
  background: linear-gradient(120deg, rgba(169, 82, 35, 0.96), rgba(105, 57, 28, 0.96));
  border-color: rgba(242, 194, 151, 0.28);
}

/* Yleinen positiivinen toimintopainike. */
body.theme-ruotsalaisbileet .app-action-positive {
  background: var(--ruotsi-ui-gradient) !important;
  background-size: 220% 220% !important;
  border-color: var(--ruotsi-ui-border) !important;
  box-shadow: 0 7px 20px rgba(69, 34, 16, 0.28), 0 0 15px rgba(226, 139, 74, 0.10), inset 0 -2px 0 rgba(0, 0, 0, 0.18) !important;
}

body.theme-ruotsalaisbileet .app-action-positive:hover,
body.theme-ruotsalaisbileet .app-action-positive:focus-visible {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28), 0 0 18px rgba(230, 145, 80, 0.16) !important;
}

/* Achievement unlock + onnenpyörä. */
body.theme-ruotsalaisbileet .achievement-unlocked-modal-content,
body.theme-ruotsalaisbileet .achievement-wheel-modal-content {
  border-color: var(--ruotsi-ui-border);
  background: radial-gradient(circle at 18% 10%, rgba(222, 128, 70, 0.20), transparent 42%),
              radial-gradient(circle at 84% 88%, rgba(163, 82, 42, 0.17), transparent 44%),
              linear-gradient(145deg, rgba(46, 25, 14, 0.99), rgba(30, 18, 11, 0.99));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.50), 0 0 28px rgba(205, 111, 55, 0.12);
}

body.theme-ruotsalaisbileet .achievement-unlocked-icon-circle {
  background-color: rgba(48, 27, 17, 0.96);
  box-shadow: 0 0 0 5px rgba(220, 130, 70, 0.09), 0 0 26px rgba(210, 116, 59, 0.24);
}

body.theme-ruotsalaisbileet .achievement-unlocked-icon-circle.is-special-image-icon {
  background: radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.17), transparent 38%), linear-gradient(145deg, rgba(48, 29, 18, 0.97), rgba(73, 39, 22, 0.98));
}

body.theme-ruotsalaisbileet .achievement-unlocked-special-image {
  filter: drop-shadow(0 0 7px rgba(255, 245, 233, 0.60)) drop-shadow(0 0 13px rgba(235, 150, 78, 0.60));
}

body.theme-ruotsalaisbileet .achievement-unlocked-reason,
body.theme-ruotsalaisbileet #achievementUnlockedModal.is-multiple .achievement-unlocked-item {
  background: linear-gradient(125deg, rgba(172, 83, 37, 0.18), rgba(104, 57, 29, 0.17));
}

body.theme-ruotsalaisbileet .achievement-unlocked-points {
  color: #f1b278;
  text-shadow: 0 0 13px rgba(231, 145, 76, 0.30);
}

body.theme-ruotsalaisbileet .achievement-wheel-disc {
  background:
    repeating-conic-gradient(from -18deg, rgba(255, 255, 255, 0.54) 0deg 1.1deg, transparent 1.1deg 36deg),
    conic-gradient(from -18deg,
      #5f5149 0deg 36deg,
      #b85f2c 36deg 72deg,
      #5f5149 72deg 108deg,
      #d07a3c 108deg 144deg,
      #5f5149 144deg 180deg,
      #e19b4f 180deg 216deg,
      #5f5149 216deg 252deg,
      #b85f2c 252deg 288deg,
      #5f5149 288deg 324deg,
      #d07a3c 324deg 360deg);
  box-shadow: 0 0 0 5px rgba(224, 135, 74, 0.09), 0 0 26px rgba(208, 111, 54, 0.25);
}

body.theme-ruotsalaisbileet .achievement-wheel-result {
  background: linear-gradient(125deg, rgba(111, 54, 27, 0.94), rgba(67, 38, 22, 0.94));
}

body.theme-ruotsalaisbileet .achievement-wheel-result.is-win {
  box-shadow: 0 0 0 1px rgba(244, 190, 135, 0.16) inset;
}

/* Saavutukset-listan vihjenapit ja accordionit. */
body.theme-ruotsalaisbileet .achievement-list-card-hint-btn,
body.theme-ruotsalaisbileet #achievementsContainer .achievement-list-group-toggle,
body.theme-ruotsalaisbileet #achievementsContainer .achievement-list-group-toggle:not(.collapsed),
body.theme-ruotsalaisbileet #achievementsContainer .achievement-list-group-toggle.collapsed {
  border-color: rgba(238, 184, 140, 0.30) !important;
  background: linear-gradient(125deg, rgba(151, 76, 35, 0.78), rgba(87, 49, 27, 0.78)) !important;
  color: #fff5ec !important;
}

body.theme-ruotsalaisbileet .achievement-list-card.has-revealed-hint .achievement-list-card-description {
  background: linear-gradient(125deg, rgba(176, 89, 40, 0.16), rgba(111, 59, 29, 0.14));
  border-color: rgba(239, 187, 144, 0.18);
}

/* Ohjeiden lisätoiminnot. */
body.theme-ruotsalaisbileet .game-instructions-scroll-top-btn,
body.theme-ruotsalaisbileet .game-instructions-admin-btn,
body.theme-ruotsalaisbileet .game-instructions-push-btn {
  border-color: var(--ruotsi-ui-border);
  background: var(--ruotsi-ui-gradient);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 5px 14px rgba(0,0,0,0.28), 0 0 12px rgba(220, 132, 70, 0.14);
}

body.theme-ruotsalaisbileet .game-instructions-scroll-top-btn:hover,
body.theme-ruotsalaisbileet .game-instructions-scroll-top-btn:focus-visible,
body.theme-ruotsalaisbileet .game-instructions-admin-btn:hover,
body.theme-ruotsalaisbileet .game-instructions-admin-btn:focus-visible,
body.theme-ruotsalaisbileet .game-instructions-push-btn:not(:disabled):hover {
  background: var(--ruotsi-ui-gradient-hover);
  border-color: var(--ruotsi-ui-border-strong);
}

body.theme-ruotsalaisbileet .unique-achievement-admin-title-icon,
body.theme-ruotsalaisbileet .game-instructions-icon-demo.is-material,
body.theme-ruotsalaisbileet .game-instructions-icon-demo.is-hour-limit {
  border-color: rgba(239, 185, 139, 0.30);
  background: linear-gradient(135deg, rgba(174, 86, 37, 0.88), rgba(100, 56, 30, 0.88));
  color: #f7c49a;
}

/* Adminin valintatilat. */
body.theme-ruotsalaisbileet .admin-section-tab.is-active,
body.theme-ruotsalaisbileet .admin-happy-hour-duration-btn.is-selected,
body.theme-ruotsalaisbileet .admin-mission-toggle:has(input:checked) {
  border-color: rgba(246, 195, 141, 0.56);
  color: #fff0d5;
  background: linear-gradient(135deg, rgba(164, 78, 33, 0.86), rgba(104, 57, 27, 0.82));
  box-shadow: 0 0 14px rgba(226, 143, 73, 0.10);
}

/* Profiilikuvan muokkauspainike. */
body.theme-ruotsalaisbileet .user-profile-image-edit-btn {
  border-color: rgba(245, 205, 172, 0.30);
  background: linear-gradient(135deg, #9c5127, #65351d);
  box-shadow: 0 4px 13px rgba(0, 0, 0, 0.24), 0 0 12px rgba(220, 132, 70, 0.10);
}

/* Keijukainen/keräiltävä: muutetaan myös sen valoefektien oletuspaletti,
   jotta ruudulle ei ilmesty teemassa violetinvihreää hohdetta. */
body.theme-ruotsalaisbileet .fairy-catcher {
  --fairy-drop-shadow-1: rgba(255, 215, 151, 0.95);
  --fairy-drop-shadow-2: rgba(255, 151, 72, 0.84);
  --fairy-aura-color-1: rgba(255, 247, 231, 0.58);
  --fairy-aura-color-2: rgba(255, 197, 111, 0.19);
  --fairy-aura-color-3: rgba(255, 151, 91, 0.17);
  --fairy-aura-color-4: rgba(232, 117, 70, 0.18);
  --fairy-aura-color-5: rgba(199, 91, 49, 0.16);
  --fairy-aura-color-6: rgba(120, 55, 28, 0.07);
  --fairy-aura-shadow-1: rgba(238, 143, 76, 0.23);
  --fairy-aura-shadow-2: rgba(255, 186, 104, 0.20);
  --fairy-aura-shadow-3: rgba(211, 101, 52, 0.26);
  --fairy-orbit-one-inner: rgba(255, 255, 255, 0.98);
  --fairy-orbit-one-mid: rgba(255, 232, 193, 0.92);
  --fairy-orbit-one-outer: rgba(245, 158, 86, 0.46);
  --fairy-orbit-one-shadow: rgba(230, 132, 67, 0.54);
  --fairy-orbit-two-inner: rgba(255, 255, 255, 0.95);
  --fairy-orbit-two-mid: rgba(255, 220, 178, 0.86);
  --fairy-orbit-two-outer: rgba(220, 124, 63, 0.34);
  --fairy-orbit-two-shadow: rgba(201, 105, 51, 0.42);
  --fairy-core-spot-1: rgba(255, 178, 104, 0.90);
  --fairy-core-spot-2: rgba(255, 218, 144, 0.84);
  --fairy-core-color-1: #fff0da;
  --fairy-core-color-2: #f7b36e;
  --fairy-core-color-3: #df7d3d;
  --fairy-core-color-4: #c95f31;
  --fairy-core-color-5: #ffc06f;
  --fairy-core-color-6: #ffd85e;
  --fairy-core-shadow-1: rgba(255, 239, 216, 0.96);
  --fairy-core-shadow-2: rgba(247, 165, 91, 0.88);
  --fairy-core-shadow-3: rgba(229, 119, 61, 0.80);
  --fairy-core-shadow-4: rgba(190, 79, 39, 0.68);
  --fairy-core-inset-shadow: rgba(78, 31, 12, 0.56);
  --fairy-core-orbit-inner: rgba(255, 238, 214, 0.94);
  --fairy-core-orbit-mid: rgba(235, 151, 82, 0.52);
  --fairy-core-orbit-outer: rgba(235, 151, 82, 0);
  --fairy-core-orbit-shadow: rgba(216, 121, 61, 0.60);
  --fairy-spark-core: #f29a50;
  --fairy-spark-shadow-1: #d86e38;
  --fairy-spark-shadow-2: rgba(255, 193, 104, 0.76);
  --fairy-burst-ring: rgba(255, 198, 111, 0.96);
}

/* Keppiä vai porkkanaa -arvontapakan taustakortit. */
body.theme-ruotsalaisbileet .stick-or-carrot-draw-card-back,
body.theme-ruotsalaisbileet .stick-or-carrot-draw-card {
  --stick-or-carrot-draw-accent: #d48047;
  border-color: rgba(241, 191, 148, 0.30);
  background: linear-gradient(130deg, rgba(126, 61, 28, 0.97), rgba(64, 36, 21, 0.96)), url("img/triangles.svg");
  background-size: cover;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09), 0 12px 28px rgba(0, 0, 0, 0.34), 0 0 16px rgba(218, 126, 67, 0.09);
}

/* =========================================================
   Ruotsalaisbileet – korvaa yhteisten näkymien Sammakkoluola-taustat
   ========================================================= */
body.theme-ruotsalaisbileet .game-instructions-hero,
body.theme-ruotsalaisbileet .dedicated-live-room-picker {
  background-image: url("img/ruotsalais_background.jpg") !important;
}

body.theme-ruotsalaisbileet .game-instructions-hero {
  /* Ruotsalaisbileissä taustakuvaa ei tummenneta edes sisäreunan varjolla. */
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.20);
}

body.theme-ruotsalaisbileet .dedicated-live-room-picker {
  background: url("img/ruotsalais_background.jpg") center / cover no-repeat !important;
}

/* Dedicated liven huonevalitsin lataa live.css:n teeman jälkeen.
   Teemakohtainen suurempi spesifisyys pitää kortin ja painikkeen lämpiminä. */
body.theme-ruotsalaisbileet .dedicated-live-room-card {
  border-color: rgba(247, 205, 170, 0.30);
  background: linear-gradient(135deg, rgba(87, 43, 20, 0.94), rgba(123, 65, 28, 0.94));
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.42), 0 0 18px rgba(222, 137, 75, 0.12);
}

body.theme-ruotsalaisbileet .dedicated-live-room-card .btn {
  border-color: rgba(249, 216, 187, 0.38);
  background: linear-gradient(120deg, #8f4723, #d17c36);
  color: #fff;
}

body.theme-ruotsalaisbileet .dedicated-live-room-card .btn:hover,
body.theme-ruotsalaisbileet .dedicated-live-room-card .btn:focus-visible {
  border-color: rgba(255, 230, 208, 0.60);
  background: linear-gradient(120deg, #a95829, #e29345);
}


/* =========================================================
   Ruotsalaisbileet – viimeinen default-paletin vuotoauditointi
   ---------------------------------------------------------
   Kategoriakohtaiset tunnusvärit jätetään ennalleen, mutta kaikki
   yleisen käyttöliittymän violetti–vihreät korostukset lämmitetään.
   ========================================================= */
body.theme-ruotsalaisbileet #happyHourBanner {
  color: #3c210e;
  background: linear-gradient(120deg, #d26a2d 0%, #d26a2d 20%, #f0b33d 50%, #c9562f 80%, #d26a2d 100%);
  border-color: rgba(89, 45, 17, 0.28);
  text-shadow: 0 1px 0 rgba(255, 244, 224, 0.42);
}

body.theme-ruotsalaisbileet .notification-page-dot.is-active {
  background: #ffd4a4;
  box-shadow: 0 0 10px rgba(232, 145, 72, 0.66);
}

body.theme-ruotsalaisbileet .topbar-stick-or-carrot-btn:hover .material-symbols-outlined,
body.theme-ruotsalaisbileet .topbar-stick-or-carrot-btn:focus-visible .material-symbols-outlined {
  filter: drop-shadow(0 0 7px rgba(241, 177, 111, 0.50));
}

body.theme-ruotsalaisbileet .topbar-stick-or-carrot-btn.is-active {
  border-color: rgba(248, 195, 137, 0.58) !important;
  box-shadow: inset 0 0 12px rgba(205, 101, 41, 0.20),
              0 0 15px rgba(235, 151, 72, 0.25) !important;
}

body.theme-ruotsalaisbileet .topbar-stick-or-carrot-btn.is-active .material-symbols-outlined {
  color: #ffe0b6;
  filter: drop-shadow(0 0 7px rgba(241, 168, 91, 0.56));
}

body.theme-ruotsalaisbileet .stick-or-carrot-modal-content {
  border-color: rgba(246, 198, 159, 0.24) !important;
  box-shadow: 0 0 25px rgba(211, 122, 61, 0.14),
              0 18px 44px rgba(0, 0, 0, 0.38) !important;
}

body.theme-ruotsalaisbileet .overtake-modal-content {
  border-color: rgba(247, 199, 158, 0.34);
  background: radial-gradient(circle at 15% 5%, rgba(224, 128, 67, 0.18), transparent 34%),
              radial-gradient(circle at 88% 88%, rgba(177, 80, 32, 0.18), transparent 38%),
              linear-gradient(135deg, #4d2816, #3a2014 48%, #633017);
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.50), 0 0 32px rgba(213, 123, 61, 0.16);
}

body.theme-ruotsalaisbileet .overtake-greeting-input {
  caret-color: #f2b474;
  border-color: rgba(245, 202, 166, 0.44);
  background: rgba(42, 22, 12, 0.64);
}

body.theme-ruotsalaisbileet .overtake-greeting-input:focus {
  border-color: rgba(241, 174, 116, 0.90);
  background: rgba(56, 28, 13, 0.78);
  box-shadow: 0 0 0 0.2rem rgba(222, 132, 62, 0.18), inset 0 0 18px rgba(0, 0, 0, 0.20);
}

body.theme-ruotsalaisbileet .fairy-capture-display {
  --fairy-drop-shadow-1: rgba(255, 222, 173, 0.95);
  --fairy-drop-shadow-2: rgba(244, 151, 76, 0.84);
  --fairy-aura-color-1: rgba(255, 247, 231, 0.58);
  --fairy-aura-color-2: rgba(255, 197, 111, 0.19);
  --fairy-aura-color-3: rgba(255, 151, 91, 0.17);
  --fairy-aura-color-4: rgba(232, 123, 64, 0.18);
  --fairy-aura-color-5: rgba(201, 91, 43, 0.16);
  --fairy-aura-color-6: rgba(145, 60, 25, 0.08);
  --fairy-aura-shadow-1: rgba(229, 129, 60, 0.24);
  --fairy-aura-shadow-2: rgba(255, 186, 104, 0.20);
  --fairy-aura-shadow-3: rgba(211, 101, 52, 0.26);
  --fairy-orbit-one-mid: rgba(255, 232, 193, 0.92);
  --fairy-orbit-one-outer: rgba(245, 158, 86, 0.46);
  --fairy-orbit-one-shadow: rgba(230, 132, 67, 0.54);
  --fairy-orbit-two-mid: rgba(255, 220, 178, 0.86);
  --fairy-orbit-two-outer: rgba(220, 124, 63, 0.34);
  --fairy-orbit-two-shadow: rgba(201, 105, 51, 0.42);
}

body.theme-ruotsalaisbileet .scoreboard-happy-hour-frog {
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.82),
               0 0 11px rgba(255, 190, 104, 0.92),
               0 0 20px rgba(232, 123, 64, 0.68),
               0 0 29px rgba(190, 76, 38, 0.56);
  filter: drop-shadow(0 0 8px rgba(255, 181, 92, 0.90))
          drop-shadow(0 0 15px rgba(222, 103, 50, 0.56));
}

body.theme-ruotsalaisbileet .scoreboard-happy-hour-frog:hover,
body.theme-ruotsalaisbileet .scoreboard-happy-hour-frog:focus-visible {
  filter: drop-shadow(0 0 10px rgba(255, 197, 112, 0.96))
          drop-shadow(0 0 20px rgba(231, 119, 57, 0.82));
}

body.theme-ruotsalaisbileet .scoreboard-happy-hour-frog-capture-clone {
  filter: drop-shadow(0 0 9px rgba(255, 181, 92, 0.90))
          drop-shadow(0 0 18px rgba(222, 103, 50, 0.60));
}

body.theme-ruotsalaisbileet .scoreboard-activity-header .material-symbols-outlined {
  color: #e59a5e;
  filter: drop-shadow(0 0 8px rgba(218, 126, 67, 0.46));
}

body.theme-ruotsalaisbileet .rank-legend-modal-content {
  color: #fff7ef;
  border-color: rgba(242, 191, 150, 0.30);
  background: radial-gradient(circle at 8% 0%, rgba(224, 132, 71, 0.15), transparent 32%),
              radial-gradient(circle at 94% 8%, rgba(174, 77, 34, 0.14), transparent 36%),
              linear-gradient(145deg, #321c10, #402415 44%, #4e2813);
  box-shadow: 0 28px 75px rgba(0, 0, 0, 0.56), 0 0 35px rgba(214, 126, 63, 0.12);
}

body.theme-ruotsalaisbileet .rank-legend-modal-header {
  border-bottom-color: rgba(244, 204, 171, 0.14);
  background: rgba(48, 25, 13, 0.34);
}

body.theme-ruotsalaisbileet .rank-legend-list {
  border-color: rgba(242, 198, 159, 0.14);
  background: rgba(40, 21, 12, 0.26);
}

body.theme-ruotsalaisbileet .game-instructions-modal-content {
  border-color: rgba(246, 203, 168, 0.26);
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.44), 0 0 28px rgba(218, 126, 67, 0.13);
}

body.theme-ruotsalaisbileet .game-instructions-hero-logo {
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.82)) drop-shadow(0 0 12px rgba(232, 147, 75, 0.20));
}

body.theme-ruotsalaisbileet .game-instructions-letter-coin {
  background: radial-gradient(circle at 35% 30%, #ffd89e, #d98337 58%, #8e451f 100%);
  box-shadow: 0 0 12px rgba(219, 126, 54, 0.22);
}

body.theme-ruotsalaisbileet .game-instructions-letter-coin.is-fairy-points {
  border-color: rgba(255, 224, 192, 0.70);
  background: radial-gradient(circle at 35% 30%, #ffe1b5, #dc8741 58%, #954921 100%);
  box-shadow: 0 0 14px rgba(224, 132, 61, 0.28);
}

body.theme-ruotsalaisbileet .game-instructions-icon-demo.is-happy-hour {
  border-color: rgba(248, 196, 137, 0.36);
  color: #fff0d3;
  background: linear-gradient(135deg, rgba(181, 82, 31, 0.96), rgba(225, 139, 52, 0.92));
}

body.theme-ruotsalaisbileet .admin-happy-hour-add-btn {
  border-color: rgba(246, 195, 141, 0.46);
  color: #fff0d5;
  background: linear-gradient(135deg, rgba(164, 78, 33, 0.94), rgba(210, 126, 47, 0.90));
}

body.theme-ruotsalaisbileet .unique-achievement-admin-select:focus {
  border-color: rgba(235, 164, 99, 0.90);
  box-shadow: 0 0 0 0.2rem rgba(203, 112, 51, 0.20);
}

body.theme-ruotsalaisbileet #scoreboardModal .score-history-happy-hour-edge {
  stroke: rgba(222, 139, 73, 0.72);
}

body.theme-ruotsalaisbileet #scoreboardModal .score-history-happy-hour-edge.is-end {
  stroke: rgba(196, 87, 42, 0.70);
}

body.theme-ruotsalaisbileet .qr-collectible-modal-content {
  background: radial-gradient(circle at 50% 18%, rgba(229, 141, 70, 0.17), transparent 38%), #2d190e;
}

body.theme-ruotsalaisbileet .stick-or-carrot-action-btn:hover,
body.theme-ruotsalaisbileet .stick-or-carrot-action-btn:focus-visible {
  border-color: rgba(249, 207, 164, 0.52);
}

body.theme-ruotsalaisbileet .app-action-negative {
  background: linear-gradient(125deg, #32251e, #4b3327, #38271f) !important;
  border-color: rgba(231, 205, 184, 0.32) !important;
}

body.theme-ruotsalaisbileet .scoreboard-activity-achievement-special-image,
body.theme-ruotsalaisbileet .achievement-list-card-special-image {
  filter: drop-shadow(0 0 5px rgba(255, 247, 238, 0.66)) drop-shadow(0 0 10px rgba(226, 139, 74, 0.52));
}

body.theme-ruotsalaisbileet .achievement-list-card-icon.is-special-image-icon {
  background: linear-gradient(135deg, rgba(183, 91, 39, 0.94), rgba(224, 143, 75, 0.82), rgba(117, 59, 28, 0.90));
}

body.theme-ruotsalaisbileet .achievement-list-unused-hints {
  border-color: rgba(238, 184, 140, 0.30);
  background: linear-gradient(135deg, rgba(105, 58, 31, 0.84), rgba(151, 76, 35, 0.78));
  color: #fff2e6;
}

body.theme-ruotsalaisbileet .admin-mission-list-item:hover,
body.theme-ruotsalaisbileet .admin-mission-list-item:focus-within {
  border-color: rgba(232, 166, 112, 0.48);
  background: rgba(168, 83, 39, 0.14);
}
