/* [next]/internal/font/google/vt323_526c82d2.module.css [app-client] (css) */
@font-face {
  font-family: VT323;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/42b07301cbfb88de-s.d68c2a3c.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: VT323;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/674d141a92451548-s.6d749737.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: VT323;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/0c8c4ded07fff55c-s.p.5c4452a7.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: VT323 Fallback;
  src: local(Arial);
  ascent-override: 89.16%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 89.73%;
}

.vt323_526c82d2-module__VYnk3W__className {
  font-family: VT323, VT323 Fallback;
  font-style: normal;
  font-weight: 400;
}

.vt323_526c82d2-module__VYnk3W__variable {
  --font-vt323: "VT323", "VT323 Fallback";
}

/* [next]/internal/font/google/press_start_2p_8c0f28f.module.css [app-client] (css) */
@font-face {
  font-family: "Press Start 2P";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/cdf703449fd42bc8-s.665aa8c9.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Press Start 2P";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/3f10656f33c57dec-s.1b5b6537.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: "Press Start 2P";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/56eb15be423b6220-s.23b201d9.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: "Press Start 2P";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/96074e70a40501da-s.8c31978f.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Press Start 2P";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/de161955856a921d-s.p.25da2b95.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Press Start 2P Fallback";
  src: local(Arial);
  ascent-override: 44.58%;
  descent-override: 0.0%;
  line-gap-override: 0.0%;
  size-adjust: 224.32%;
}

.press_start_2p_8c0f28f-module__RzNPZa__className {
  font-family: "Press Start 2P", "Press Start 2P Fallback";
  font-style: normal;
  font-weight: 400;
}

.press_start_2p_8c0f28f-module__RzNPZa__variable {
  --font-press-start: "Press Start 2P", "Press Start 2P Fallback";
}

/* [next]/internal/font/google/dancing_script_5f3779a4.module.css [app-client] (css) */
@font-face {
  font-family: Dancing Script;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/a351b98f0b5fbe50-s.2735a460.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Dancing Script;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/4f9ba88d44743181-s.9a7acbc1.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Dancing Script;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5d14f12cc996866d-s.p.c70e96ee.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Dancing Script Fallback;
  src: local(Arial);
  ascent-override: 112.99%;
  descent-override: 34.39%;
  line-gap-override: 0.0%;
  size-adjust: 81.43%;
}

.dancing_script_5f3779a4-module__ddJInq__className {
  font-family: Dancing Script, Dancing Script Fallback;
  font-style: normal;
  font-weight: 700;
}

.dancing_script_5f3779a4-module__ddJInq__variable {
  --font-dancing: "Dancing Script", "Dancing Script Fallback";
}

/* [next]/internal/font/google/archivo_black_90e10df4.module.css [app-client] (css) */
@font-face {
  font-family: Archivo Black;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/316b6682b406c2db-s.26901079.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Archivo Black;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5e4d537aaa9e154b-s.p.01f07175.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Archivo Black Fallback;
  src: local(Arial);
  ascent-override: 70.78%;
  descent-override: 16.93%;
  line-gap-override: 0.0%;
  size-adjust: 124.05%;
}

.archivo_black_90e10df4-module___IHFKq__className {
  font-family: Archivo Black, Archivo Black Fallback;
  font-style: normal;
  font-weight: 400;
}

.archivo_black_90e10df4-module___IHFKq__variable {
  --font-archivo-black: "Archivo Black", "Archivo Black Fallback";
}

/* [next]/internal/font/google/dm_mono_6103501f.module.css [app-client] (css) */
@font-face {
  font-family: DM Mono;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/ba8e772932784a28-s.7bb0ada4.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Mono;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/7546fe8f902b88b8-s.p.5f7c9333.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/b12e986493c137cf-s.4b5f6188.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/36363bfb06833f56-s.p.d8302362.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/b2fa3ef4ca165ab4-s.e316a4a9.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: DM Mono;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a73419dd2ba2d841-s.p.f2813c2a.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: DM Mono Fallback;
  src: local(Arial);
  ascent-override: 73.71%;
  descent-override: 23.03%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.dm_mono_6103501f-module__o1D0AG__className {
  font-family: DM Mono, DM Mono Fallback;
  font-style: normal;
}

.dm_mono_6103501f-module__o1D0AG__variable {
  --font-dm-mono: "DM Mono", "DM Mono Fallback";
}

/* [next]/internal/font/google/inter_b12e0931.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_b12e0931-module__M7Gwja__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_b12e0931-module__M7Gwja__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [project]/packages/web/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }

    ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --spacing: .25rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::-webkit-file-upload-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  ::-webkit-file-upload-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:-moz-any([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup option:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:-moz-any([multiple], [size])) optgroup option:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:is([multiple], [size])) optgroup option:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup option:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :where(select:-moz-any([multiple], [size])) optgroup option:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :where(select:is([multiple], [size])) optgroup option:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::-webkit-file-upload-button {
    margin-right: 4px;
  }

  :not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::file-selector-button {
    margin-right: 4px;
  }

  :not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::file-selector-button {
    margin-right: 4px;
  }

  :-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::-webkit-file-upload-button {
    margin-left: 4px;
  }

  :-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::file-selector-button {
    margin-left: 4px;
  }

  :is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::file-selector-button {
    margin-left: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  input:where([type="button"], [type="reset"], [type="submit"]) {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  ::file-selector-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: -webkit-sticky;
    position: sticky;
  }

  .start:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--spacing);
  }

  .start:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--spacing);
  }

  .start:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    left: var(--spacing);
  }

  .start:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing);
  }

  .start:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing);
  }

  .start:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    right: var(--spacing);
  }

  .end:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    right: var(--spacing);
  }

  .end:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    right: var(--spacing);
  }

  .end:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    right: var(--spacing);
  }

  .end:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing);
  }

  .end:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing);
  }

  .end:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    left: var(--spacing);
  }

  .top-5 {
    top: calc(var(--spacing) * 5);
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .flex-shrink, .shrink {
    flex-shrink: 1;
  }

  .grow {
    flex-grow: 1;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .rounded {
    border-radius: .25rem;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .break-all {
    word-break: break-all;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .line-through {
    -webkit-text-decoration-line: line-through;
    text-decoration-line: line-through;
  }

  .underline {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 1px 2px -1px var(--tw-shadow-color, rgba(0, 0, 0, .1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgba(0, 0, 0, .1))) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, rgba(0, 0, 0, .06)));
    --tw-drop-shadow: drop-shadow(0 1px 2px rgba(0, 0, 0, .1)) drop-shadow(0 1px 1px rgba(0, 0, 0, .06));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, -webkit-text-decoration-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
}

:root, [data-theme="retro"] {
  --bg-page: #000;
  --bg-panel: #000;
  --bg-hover: #0a0a0a;
  --bg-input: #000;
  --border: #1a4a1a;
  --border-strong: #3f3;
  --border-focus: gold;
  --text-primary: #3f3;
  --text-secondary: #1a8a1a;
  --text-muted: #555;
  --text-heading: #fff;
  --color-primary: #3f3;
  --color-accent: #fa0;
  --color-gold: gold;
  --color-danger: #f44;
  --color-blue: #48f;
  --color-purple: #a4f;
  --color-pink: #ff69b4;
  --price-up: #3f3;
  --price-down: #f44;
  --price-neutral: #888;
  --panel-title: #fa0;
  --btn-bg: #000;
  --btn-hover-text: #0a0a0a;
  --bg-overlay: rgba(0, 0, 0, .9);
  --rarity-common: #888;
  --rarity-uncommon: #3f3;
  --rarity-rare: #48f;
  --rarity-ultra: #a4f;
  --rarity-grail: gold;
  --grade-10: gold;
  --grade-9: #4f4;
  --grade-8: #48f;
  --grade-low: #888;
  --card-bg: #0a0a0a;
  --card-back-border: #333;
  --card-back-bg1: #0a0a0a;
  --card-back-bg2: #111;
  --card-back-logo: #333;
  --scroll-track: #0a0a0a;
  --scroll-thumb: #1a4a1a;
  --scroll-thumb-hover: #3f3;
  --overlay-bg: rgba(0, 0, 0, .95);
  --link-color: #3f3;
  --placeholder: rgba(51, 255, 51, .4);
  --scanlines: none;
  --h1-glow: 0 0 10px rgba(51, 255, 51, .5);
  --link-glow: 0 0 10px #3f3;
  --grail-glow: 0 0 6px rgba(255, 215, 0, .3);
  --panel-radius: 8px;
  --btn-radius: 6px;
  --modal-radius: 10px;
  --btn-border-width: 1px;
  --modal-border-width: 2px;
  --pack-border: #44a;
  --pack-bg: linear-gradient(135deg, #0a0a2a, #1a0a3a);
  --pack-hover-border: #88f;
  --pack-hover-bg: #0a0a3a;
  --collector-bg: linear-gradient(170deg, #0d0a06 0%, #12100a 50%, #0d0a06 100%);
  --collector-border: #431;
  --event-color: #f44;
  --card-back-grail: #4a3800;
  --card-back-ultra: #2a1144;
  --card-back-rare: #124;
}

[data-theme="riso"] {
  --bg-page: #d8c8a8;
  --bg-panel: #f0e4cf;
  --bg-hover: #e8d8b8;
  --bg-input: #f0e4cf;
  --border: #120a05;
  --border-strong: #120a05;
  --border-focus: #c84d10;
  --text-primary: #120a05;
  --text-secondary: #3a2820;
  --text-muted: #8a7e6a;
  --text-heading: #120a05;
  --color-primary: #120a05;
  --color-accent: #c84d10;
  --color-gold: #a06b14;
  --color-danger: #c24a14;
  --color-blue: #3a6db5;
  --color-purple: #8c4a9a;
  --color-pink: #c24a14;
  --price-up: #3bb370;
  --price-down: #c24a14;
  --price-neutral: #8a7e6a;
  --panel-title: #c84d10;
  --btn-bg: #f0e4cf;
  --btn-hover-text: #f0e4cf;
  --bg-overlay: rgba(18, 10, 5, .75);
  --rarity-common: #8a7e6a;
  --rarity-uncommon: #3bb370;
  --rarity-rare: #3a6db5;
  --rarity-ultra: #8c4a9a;
  --rarity-grail: #a06b14;
  --grade-10: #a06b14;
  --grade-9: #3bb370;
  --grade-8: #3a6db5;
  --grade-low: #8a7e6a;
  --card-bg: #f0e4cf;
  --card-back-border: #120a05;
  --card-back-bg1: #f0e4cf;
  --card-back-bg2: #e8d8b8;
  --card-back-logo: #120a05;
  --scroll-track: #d8c8a8;
  --scroll-thumb: rgba(18, 16, 5, .353);
  --scroll-thumb-hover: #120a05;
  --overlay-bg: transparent;
  --link-color: #120a05;
  --placeholder: rgba(18, 17, 5, .467);
  --scanlines: none;
  --h1-glow: none;
  --link-glow: none;
  --grail-glow: 0 0 6px rgba(255, 201, 74, .33);
  --panel-radius: 0px;
  --btn-radius: 0px;
  --modal-radius: 0px;
  --btn-border-width: 2px;
  --modal-border-width: 3px;
  --pack-border: #120a05;
  --pack-bg: #f0e4cf;
  --pack-hover-border: #c84d10;
  --pack-hover-bg: #e8d8b8;
  --collector-bg: #f0e4cf;
  --collector-border: #120a05;
  --event-color: #c24a14;
  --card-back-grail: #a06b14;
  --card-back-ultra: #8c4a9a;
  --card-back-rare: #3a6db5;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  background-color: var(--bg-page);
  width: 100%;
  min-height: 100%;
  color: var(--text-primary);
  font-family: VT323, monospace;
  font-size: 22px;
  line-height: 1.5;
  overflow-x: clip;
}

body {
  position: relative;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: "Press Start 2P", cursive;
}

h1 {
  margin-bottom: 20px;
  font-size: 24px;
}

h2 {
  margin-bottom: 16px;
  font-size: 24px;
}

h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

a {
  color: var(--link-color);
  text-decoration: none;
  transition: color .2s;
}

button {
  letter-spacing: 1px;
  font-family: VT323, monospace;
  font-size: 18px;
}

input, textarea, select {
  background-color: var(--bg-input);
  color: var(--text-primary);
  border: 1px solid var(--border-strong);
  border-radius: var(--btn-radius);
  padding: 8px 12px;
  font-family: VT323, monospace;
  font-size: 18px;
}

input::placeholder, textarea::placeholder {
  color: var(--placeholder);
}

input:focus, textarea:focus, select:focus {
  border-color: var(--border-focus);
  outline: none;
}

.btn {
  background-color: var(--btn-bg);
  color: var(--color-primary);
  border: var(--btn-border-width) solid var(--color-primary);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border-radius: var(--btn-radius);
  margin: 2px;
  padding: 10px 18px;
  font-size: 20px;
  font-weight: bold;
  transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s;
  display: inline-block;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 6px;
}

@supports (color: color-mix(in lab, red, red)) {
  .btn {
    box-shadow: 0 0 6px color-mix(in srgb, currentColor 25%, transparent);
  }
}

.btn:hover:not(.btn-disabled) {
  background-color: var(--color-primary);
  color: var(--btn-hover-text);
  box-shadow: 0 0 12px var(--color-primary);
  filter: brightness(1.1);
  transform: translateY(-1px);
}

@keyframes btnPressGlobal {
  0% {
    filter: brightness(1.6);
    transform: scale(.96);
    box-shadow: 0 0 20px, inset 0 0 10px;
  }

  50% {
    filter: brightness(1.2);
    transform: scale(1.01);
  }

  100% {
    filter: brightness();
    transform: scale(1);
  }
}

.btn:active:not(.btn-disabled) {
  animation: .3s ease-out forwards btnPressGlobal;
}

.btn-buy {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.btn-buy:hover {
  background-color: var(--color-primary);
  color: var(--btn-hover-text);
}

.btn-sell {
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.btn-sell:hover {
  background-color: var(--color-accent);
  color: var(--btn-hover-text);
}

.btn-gold {
  border-color: var(--color-gold);
  color: var(--color-gold);
}

.btn-gold:hover {
  background-color: var(--color-gold);
  color: var(--btn-hover-text);
}

.btn-danger {
  border-color: var(--color-danger);
  color: var(--color-danger);
}

.btn-danger:hover {
  background-color: var(--color-danger);
  color: var(--btn-hover-text);
}

.btn-disabled {
  opacity: .3;
  cursor: default;
  pointer-events: none;
}

.btn-disabled:hover {
  background-color: var(--btn-bg);
}

.btn-small {
  box-shadow: none;
  padding: 6px 12px;
  font-size: 18px;
}

[data-theme="riso"] .btn {
  font-family: var(--font-archivo-black), "Arial Black", sans-serif;
  letter-spacing: 1.5px;
  text-shadow: none;
  box-shadow: 3px 3px 0 var(--border);
}

[data-theme="riso"] .btn:hover {
  box-shadow: 4px 4px 0 var(--color-accent);
  transform: translate(-1px, -1px);
}

[data-theme="riso"] .btn-small {
  letter-spacing: 1px;
  font-size: 11px;
}

[data-theme="riso"] .panel {
  box-shadow: 4px 4px 0 var(--color-accent);
  border-width: 2.5px;
}

.panel {
  background-color: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: var(--panel-radius);
  margin-bottom: 10px;
  padding: 12px;
  position: relative;
}

.panel:before {
  display: none;
}

.panel-title {
  color: var(--panel-title);
  border-bottom: 1px solid var(--border);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
  padding-bottom: 4px;
  font-family: "Press Start 2P", cursive;
  font-size: 10px;
}

.card-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 18px;
}

.card-table th, .card-table td {
  text-align: left;
  border-bottom: 1px solid var(--bg-hover);
  color: var(--text-primary);
  padding: 3px 4px;
}

.card-table th {
  color: var(--text-secondary);
  background-color: rgba(0, 0, 0, 0);
  font-size: 14px;
  font-weight: normal;
}

.card-table tr:hover {
  background-color: var(--bg-hover);
}

.rarity-common {
  color: var(--rarity-common);
}

.rarity-uncommon {
  color: var(--rarity-uncommon);
}

.rarity-rare {
  color: var(--rarity-rare);
}

.rarity-ultra {
  color: var(--rarity-ultra);
}

.rarity-grail {
  color: var(--rarity-grail);
  text-shadow: var(--grail-glow);
  font-weight: bold;
}

.modal {
  background-color: var(--bg-overlay);
  z-index: 100;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px 0;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.modal-content {
  background-color: var(--bg-panel);
  border: var(--modal-border-width) solid var(--border-strong);
  text-align: center;
  border-radius: var(--modal-radius);
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  margin: auto;
  padding: 24px;
  position: relative;
  overflow-y: auto;
}

.modal-close-x {
  z-index: 10;
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  padding: 2px 4px;
  font-size: 24px;
  line-height: 1;
  transition: color .15s;
  position: absolute;
  top: 6px;
  right: 8px;
}

.modal-close-x:hover {
  color: var(--color-danger);
}

.grade-slab {
  border: 3px solid var(--color-primary);
  text-align: center;
  background-color: var(--card-bg);
  border-radius: var(--panel-radius);
  margin: 10px;
  padding: 16px 24px;
  display: inline-block;
}

.grade-10 {
  border-color: var(--grade-10);
  color: var(--grade-10);
  box-shadow: 0 0 16px var(--grade-10), 0 0 32px var(--grade-10);
}

@supports (color: color-mix(in lab, red, red)) {
  .grade-10 {
    box-shadow: 0 0 16px color-mix(in srgb, var(--grade-10) 30%, transparent), 0 0 32px color-mix(in srgb, var(--grade-10) 15%, transparent);
  }
}

.grade-9 {
  border-color: var(--grade-9);
  color: var(--grade-9);
  box-shadow: 0 0 12px var(--grade-9), 0 0 24px var(--grade-9);
}

@supports (color: color-mix(in lab, red, red)) {
  .grade-9 {
    box-shadow: 0 0 12px color-mix(in srgb, var(--grade-9) 25%, transparent), 0 0 24px color-mix(in srgb, var(--grade-9) 10%, transparent);
  }
}

.grade-8 {
  border-color: var(--grade-8);
  color: var(--grade-8);
  box-shadow: 0 0 10px var(--grade-8), 0 0 20px var(--grade-8);
}

@supports (color: color-mix(in lab, red, red)) {
  .grade-8 {
    box-shadow: 0 0 10px color-mix(in srgb, var(--grade-8) 20%, transparent), 0 0 20px color-mix(in srgb, var(--grade-8) 8%, transparent);
  }
}

.grade-low {
  border-color: var(--grade-low);
  color: var(--grade-low);
  box-shadow: 0 0 8px var(--grade-low);
}

@supports (color: color-mix(in lab, red, red)) {
  .grade-low {
    box-shadow: 0 0 8px color-mix(in srgb, var(--grade-low) 15%, transparent);
  }
}

.action-toast {
  z-index: 200;
  pointer-events: none;
  font-family: "Press Start 2P", monospace;
  font-size: 14px;
  animation: 1.5s ease-out forwards toastFloat;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes toastFloat {
  0% {
    opacity: 1;
    bottom: 40%;
    transform: translateX(-50%)scale(1);
  }

  50% {
    opacity: 1;
    transform: translateX(-50%)scale(1.1);
  }

  100% {
    opacity: 0;
    bottom: 65%;
    transform: translateX(-50%)scale(.8);
  }
}

.inv-item {
  border-bottom: 1px solid var(--bg-hover);
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  font-size: 18px;
  transition: background .1s;
  display: flex;
}

.inv-item:hover {
  background-color: var(--bg-hover);
}

.inv-scroll {
  max-height: 65vh;
  overflow-y: auto;
}

.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.inv-scroll::-webkit-scrollbar {
  width: 10px;
}

.inv-scroll::-webkit-scrollbar-track {
  background-color: var(--scroll-track);
}

.inv-scroll::-webkit-scrollbar-thumb {
  background-color: var(--scroll-thumb);
}

.inv-scroll::-webkit-scrollbar-thumb:hover {
  background-color: var(--scroll-thumb-hover);
}

.pack-visual {
  border: 2px solid var(--pack-border);
  background: var(--pack-bg);
  cursor: pointer;
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  min-width: 0;
  padding: 6px 4px 4px;
  transition: background-color .15s, border-color .15s, transform .15s;
  display: flex;
}

.pack-visual:hover {
  border-color: var(--pack-hover-border);
  background: var(--pack-hover-bg);
  box-shadow: 0 0 14px rgba(100, 100, 255, .3);
}

.travel-grid {
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  display: grid;
}

.travel-btn {
  background-color: var(--bg-panel);
  border: 1px solid var(--border);
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
  border-radius: var(--btn-radius);
  padding: 10px;
  font-family: VT323, monospace;
  font-size: 18px;
  transition: background-color .1s, border-color .1s, color .1s;
}

.travel-btn:hover {
  border-color: var(--border-strong);
  background-color: var(--bg-hover);
}

.travel-btn:active {
  transform: scale(.95);
}

.travel-btn-collector {
  background: var(--collector-bg);
  box-shadow: inset 0 0 20px rgba(255, 170, 0, .03), 0 0 8px rgba(255, 170, 0, .05);
  border: 1px solid var(--collector-border) !important;
}

.travel-btn-collector:not(:disabled):hover {
  box-shadow: inset 0 0 30px rgba(255, 215, 0, .06), 0 0 12px rgba(255, 215, 0, .1);
  border-color: var(--color-gold) !important;
}

@keyframes collector-shimmer {
  0%, 100% {
    opacity: 0;
    background-position: -200% 0;
  }

  50% {
    opacity: 1;
    background-position: 200% 0;
  }
}

.price-up {
  color: var(--price-up);
}

.price-down {
  color: var(--price-down);
}

.price-neutral {
  color: var(--price-neutral);
}

.shark-warning {
  color: var(--color-danger);
  border-color: var(--color-danger);
}

.event-label {
  color: var(--event-color);
  margin-right: 8px;
  font-family: "Press Start 2P", monospace;
  font-size: 13px;
}

@keyframes cardReveal {
  0% {
    opacity: 0;
    transform: rotateY(90deg);
  }

  100% {
    opacity: 1;
    transform: rotateY(0);
  }
}

.card-3d-wrapper {
  perspective: 800px;
}

.card-3d-wrapper .card-frame, .card-3d-wrapper .card-slab {
  transform-style: preserve-3d;
  transition: transform .25s;
  transform: rotateX(2deg)rotateY(-1deg);
}

.card-3d-wrapper:hover .card-frame, .card-3d-wrapper:hover .card-slab {
  transform: rotateX(-2deg)rotateY(3deg)scale(1.03);
}

.card-frame {
  border: 3px solid var(--rarity-uncommon);
  background: var(--card-bg);
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 130px;
  height: 195px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, .5), -1px -1px 3px rgba(255, 255, 255, .03);
}

.card-frame-uncommon {
  border-color: var(--rarity-uncommon);
  background: linear-gradient(180deg, var(--card-bg) 0%, var(--bg-panel) 100%);
}

.card-frame-rare {
  border-color: var(--rarity-rare);
  background: linear-gradient(180deg, var(--card-bg) 0%, var(--bg-panel) 100%);
}

.card-frame-rare:after {
  content: "";
  pointer-events: none;
  background: repeating-linear-gradient(135deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 8px, rgba(68, 136, 255, .04) 8px, rgba(68, 136, 255, .04) 16px);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.card-frame-ultra {
  border-color: var(--rarity-ultra);
  background: linear-gradient(180deg, var(--card-bg) 0%, var(--bg-panel) 100%);
  box-shadow: 0 0 12px rgba(170, 68, 255, .2);
}

.card-frame-ultra:after {
  content: "";
  pointer-events: none;
  will-change: transform;
  background: conic-gradient(rgba(0, 0, 0, 0) 0deg, rgba(170, 68, 255, .06) 90deg, rgba(0, 0, 0, 0) 180deg);
  animation: 6s linear infinite card-ultra-swirl;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.card-frame-grail {
  border-color: var(--rarity-grail);
  background: linear-gradient(180deg, var(--card-bg) 0%, var(--bg-panel) 100%);
  box-shadow: 0 0 16px rgba(255, 215, 0, .25), inset 0 0 20px rgba(255, 215, 0, .05);
}

.card-frame-grail:before {
  content: "";
  pointer-events: none;
  z-index: 1;
  will-change: background-position;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 215, 0, .15) 50%, rgba(0, 0, 0, 0) 100%) 0 0 / 200% 100%;
  animation: 3s ease-in-out infinite card-holo-sweep;
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: -2px;
  right: -2px;
}

.card-frame-grail:after {
  content: "";
  pointer-events: none;
  z-index: 1;
  background: conic-gradient(rgba(255, 0, 0, .05), rgba(255, 165, 0, .05), rgba(255, 255, 0, .05), rgba(0, 255, 0, .05), rgba(0, 100, 255, .05), rgba(130, 0, 255, .05), rgba(255, 0, 0, .05));
  animation: 4s linear infinite card-holo-rotate;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.card-emoji {
  z-index: 2;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .5));
  font-size: 48px;
  line-height: 1;
}

.card-name {
  text-align: center;
  z-index: 2;
  text-overflow: ellipsis;
  max-width: 100%;
  padding: 4px 6px;
  font-family: "Press Start 2P", monospace;
  font-size: 8px;
  line-height: 1.3;
  overflow: hidden;
}

.card-rarity-badge {
  z-index: 2;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 1px solid;
  padding: 2px 4px;
  font-family: "Press Start 2P", monospace;
  font-size: 7px;
}

.card-category {
  color: var(--text-muted);
  z-index: 2;
  font-family: VT323, monospace;
  font-size: 12px;
  position: absolute;
  top: 4px;
  left: 6px;
}

.card-frame-sm {
  width: 72px;
  height: 108px;
}

.card-frame-sm .card-emoji {
  font-size: 22px;
}

.card-frame-sm .card-name {
  padding: 1px 2px;
  font-size: 5px;
  line-height: 1.2;
}

.card-frame-sm .card-rarity-badge, .card-frame-sm .card-category {
  display: none;
}

.card-frame-lg {
  width: 180px;
  height: 270px;
}

.card-frame-lg .card-emoji {
  font-size: 64px;
}

.card-frame-lg .card-name {
  font-size: 11px;
}

.card-particles {
  pointer-events: none;
  z-index: 3;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.card-particle {
  background: var(--rarity-grail);
  opacity: 0;
  will-change: transform, opacity;
  border-radius: 50%;
  width: 2px;
  height: 2px;
  animation: 3s ease-in-out infinite card-particle-float;
  position: absolute;
}

.card-particle:first-child {
  animation-delay: 0s;
  left: 20%;
}

.card-particle:nth-child(2) {
  animation-delay: .6s;
  left: 40%;
}

.card-particle:nth-child(3) {
  animation-delay: 1.2s;
  left: 60%;
}

.card-particle:nth-child(4) {
  animation-delay: 1.8s;
  left: 80%;
}

.card-particle:nth-child(5) {
  animation-delay: 2.4s;
  left: 30%;
}

.card-particle:nth-child(6) {
  animation-delay: .3s;
  left: 70%;
}

.holo-card {
  transform-style: preserve-3d;
  transform: rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg));
  will-change: transform;
  border-radius: 2px;
  transition: transform .4s, box-shadow .4s;
}

.holo-card--active {
  transition: transform 50ms, box-shadow .2s;
}

.holo-card__shine {
  z-index: 4;
  pointer-events: none;
  border-radius: inherit;
  mix-blend-mode: color-dodge;
  opacity: 0;
  background: repeating-linear-gradient(110deg, rgba(255, 0, 0, .094) 0%, rgba(255, 136, 0, .094) 7%, rgba(255, 255, 0, .094) 14%, rgba(0, 255, 0, .094) 21%, rgba(0, 136, 255, .094) 28%, rgba(136, 0, 255, .094) 35%, rgba(255, 0, 255, .094) 42%, rgba(255, 0, 0, .094) 49%) 0 0 / 200% 200%, repeating-linear-gradient(82deg, rgba(255, 0, 0, .063) 0%, rgba(255, 136, 0, .063) 8%, rgba(255, 255, 0, .063) 16%, rgba(0, 255, 0, .063) 24%, rgba(0, 136, 255, .063) 32%, rgba(136, 0, 255, .063) 40%, rgba(255, 0, 0, .063) 48%) 0 0 / 160% 160%;
  background-position: calc(((50% - var(--pointer-x, 50%)) * 2)  + 50%) calc(((50% - var(--pointer-y, 50%)) * 2)  + 50%), calc(((50% - var(--pointer-x, 50%)) * -1.5)  + 50%) calc(((50% - var(--pointer-y, 50%)) * -1.5)  + 50%);
  transition: opacity .3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.holo-card__shine:after {
  content: "";
  mix-blend-mode: overlay;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 1px, rgba(255, 255, 255, .04) 1px, rgba(255, 255, 255, .04) 2px);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.holo-card--active .holo-card__shine {
  opacity: 1;
}

.holo-card__glare {
  z-index: 5;
  pointer-events: none;
  border-radius: inherit;
  mix-blend-mode: overlay;
  opacity: 0;
  background: radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .12) 20%, transparent 60%);
  transition: opacity .3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.holo-card--active .holo-card__glare {
  opacity: 1;
}

.holo-card__glare:after {
  content: "";
  background: radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(255, 255, 255, .08) 0%, transparent 50%);
  mix-blend-mode: soft-light;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.holo-card--active {
  box-shadow: 0 5px 20px rgba(0, 0, 0, .3), 0 0 30px rgba(100, 200, 255, .08);
}

@media (max-width: 360px) {
  .holo-card__shine, .holo-card__glare {
    display: none;
  }
}

.card-slab-glow-gold {
  animation: 2s ease-in-out infinite alternate card-slab-glow;
}

.card-reveal-container {
  perspective: 600px;
  display: inline-block;
}

.card-reveal-inner {
  transform-style: preserve-3d;
  transition: transform .6s;
  position: relative;
}

.card-reveal-inner.flipped {
  transform: rotateY(180deg);
}

.card-reveal-front, .card-reveal-back {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.card-reveal-back {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.card-reveal-front {
  transform: rotateY(180deg);
}

.card-back {
  border: 3px solid var(--card-back-border);
  background: repeating-linear-gradient(45deg, var(--card-back-bg1), var(--card-back-bg1) 4px, var(--card-back-bg2) 4px, var(--card-back-bg2) 8px);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 130px;
  height: 195px;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
}

.card-back:hover {
  border-color: var(--text-muted);
  box-shadow: 0 0 10px rgba(255, 255, 255, .1);
}

.card-back-lg {
  width: 180px;
  height: 270px;
}

.card-back-logo {
  color: var(--card-back-logo);
  text-align: center;
  letter-spacing: 2px;
  font-family: "Press Start 2P", monospace;
  font-size: 10px;
}

.card-back-holy-grail {
  border-color: #f4f;
  animation: 3s ease-in-out infinite card-holy-grail-shimmer;
  box-shadow: 0 0 15px rgba(255, 68, 255, .3), 0 0 30px rgba(255, 215, 0, .15);
}

.card-back-grail {
  border-color: var(--card-back-grail);
  box-shadow: 0 0 8px rgba(255, 215, 0, .1);
}

.card-back-ultra {
  border-color: var(--card-back-ultra);
  box-shadow: 0 0 6px rgba(170, 68, 255, .08);
}

.card-back-rare {
  border-color: var(--card-back-rare);
}

.pack-sequence-overlay {
  background: var(--overlay-bg);
  z-index: 150;
  flex-direction: column;
  justify-content: safe center;
  align-items: center;
  padding: 40px 0 20px;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-y: auto;
}

.pack-cards-row {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 20px;
  display: flex;
}

@media (max-width: 600px) {
  .pack-sequence-overlay {
    padding: 20px 8px 16px;
  }

  .pack-cards-row {
    gap: 8px;
    padding: 10px 4px;
  }
}

@keyframes card-slide-in {
  0% {
    opacity: 0;
    transform: translateY(60px)scale(.8);
  }

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

@keyframes card-holo-sweep {
  0%, 100% {
    background-position: -200% 0;
  }

  50% {
    background-position: 200% 0;
  }
}

@keyframes card-holo-rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes card-ultra-swirl {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes card-particle-float {
  0% {
    opacity: 0;
    transform: translateY(100%)scale(0);
  }

  20% {
    opacity: .8;
  }

  50% {
    opacity: .6;
    transform: translateY(-50%)scale(1);
  }

  100% {
    opacity: 0;
    transform: translateY(-200%)scale(0);
  }
}

@keyframes card-slab-glow {
  0% {
    box-shadow: 0 0 8px rgba(255, 215, 0, .1);
  }

  100% {
    box-shadow: 0 0 16px rgba(255, 215, 0, .25);
  }
}

@keyframes card-grail-pulse {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.02);
  }
}

@keyframes card-holy-grail-shimmer {
  0% {
    filter: hue-rotate() brightness(1.1);
    transform: scale(1);
  }

  25% {
    filter: hue-rotate(90deg) brightness(1.2);
    transform: scale(1.02);
  }

  50% {
    filter: hue-rotate(180deg) brightness(1.3);
    transform: scale(1.03);
  }

  75% {
    filter: hue-rotate(270deg) brightness(1.2);
    transform: scale(1.02);
  }

  100% {
    filter: hue-rotate(360deg) brightness(1.1);
    transform: scale(1);
  }
}

.card-frame-holy_grail {
  border-color: #f4f !important;
  box-shadow: 0 0 20px rgba(255, 68, 255, .4), 0 0 40px rgba(255, 215, 0, .2), inset 0 0 15px rgba(255, 68, 255, .1) !important;
}

.card-particles-holy .card-particle {
  background: linear-gradient(45deg, #f4f, gold, #4ff, #f4f) 0 0 / 300% 300% !important;
  width: 5px !important;
  height: 5px !important;
  animation: 3s ease-in-out infinite card-particle-orbit, 2s linear infinite card-holy-particle-color !important;
}

@keyframes card-holy-particle-color {
  0% {
    background-position: 0%;
  }

  50% {
    background-position: 100%;
  }

  100% {
    background-position: 0%;
  }
}

@keyframes card-reveal-flash {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes card-crt-glitch {
  0% {
    filter: none;
    transform: translate(0);
  }

  20% {
    filter: hue-rotate(90deg);
    transform: translate(-2px, 1px);
  }

  40% {
    filter: hue-rotate(180deg);
    transform: translate(2px, -1px);
  }

  60% {
    filter: hue-rotate(270deg);
    transform: translate(-1px, -1px);
  }

  80% {
    filter: hue-rotate(360deg);
    transform: translate(1px, 2px);
  }

  100% {
    filter: none;
    transform: translate(0);
  }
}

.card-reveal-flash {
  pointer-events: none;
  z-index: 200;
  animation: .4s ease-out forwards card-reveal-flash;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.card-reveal-flash-holy_grail {
  background: radial-gradient(circle, rgba(255, 68, 255, .5) 0%, rgba(255, 215, 0, .3) 40%, rgba(0, 0, 0, 0) 70%);
}

.card-reveal-flash-grail {
  background: radial-gradient(circle, rgba(255, 215, 0, .4) 0%, rgba(0, 0, 0, 0) 70%);
}

.card-reveal-flash-ultra {
  background: radial-gradient(circle, rgba(170, 68, 255, .3) 0%, rgba(0, 0, 0, 0) 70%);
}

.card-reveal-flash-rare {
  background: radial-gradient(circle, rgba(68, 136, 255, .2) 0%, rgba(0, 0, 0, 0) 70%);
}

@keyframes screen-shake-sm {
  0%, 100% {
    transform: translate(0);
  }

  25% {
    transform: translate(-2px, 1px);
  }

  50% {
    transform: translate(2px, -1px);
  }

  75% {
    transform: translate(-1px, 2px);
  }
}

@keyframes screen-shake-lg {
  0%, 100% {
    transform: translate(0);
  }

  10% {
    transform: translate(-4px, 2px);
  }

  30% {
    transform: translate(3px, -3px);
  }

  50% {
    transform: translate(-2px, 4px);
  }

  70% {
    transform: translate(4px, -1px);
  }

  90% {
    transform: translate(-3px, 2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-frame-grail:before, .card-frame-grail:after, .card-frame-ultra:after, .card-particle, .card-slab-glow-gold {
    animation: none !important;
  }

  .card-3d-wrapper .card-frame, .card-3d-wrapper .card-slab {
    transform: none !important;
  }

  .card-reveal-inner {
    transition: none !important;
  }

  .card-reveal-flash {
    display: none !important;
  }
}

@keyframes skeleton-pulse {
  0%, 100% {
    opacity: .35;
  }

  50% {
    opacity: .65;
  }
}

@keyframes fadeUp {
  0% {
    opacity: 1;
    bottom: 40%;
    transform: translateX(-50%)scale(1);
  }

  50% {
    opacity: 1;
    transform: translateX(-50%)scale(1.1);
  }

  100% {
    opacity: 0;
    bottom: 65%;
    transform: translateX(-50%)scale(.8);
  }
}

.hide-mobile {
  display: table-cell;
}

button:disabled {
  opacity: .3;
  cursor: default;
  pointer-events: none;
}

@media (max-width: 600px) {
  .hide-mobile {
    display: none;
  }

  html, body {
    font-size: 18px;
  }

  h1 {
    margin-bottom: 16px;
    font-size: 18px;
  }

  h2 {
    margin-bottom: 12px;
    font-size: 18px;
  }

  h3 {
    margin-bottom: 10px;
    font-size: 14px;
  }

  .panel {
    margin-bottom: 8px;
    padding: 8px;
  }

  .btn {
    padding: 4px 10px;
    font-size: 14px;
  }

  .card-table th, .card-table td {
    font-size: 14px;
  }

  .travel-grid {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .travel-btn {
    padding: 8px;
  }

  .modal-content {
    width: 96%;
    max-width: 96vw;
    padding: 16px;
  }
}

@media (max-width: 400px) {
  html, body {
    font-size: 14px;
  }

  h1 {
    margin-bottom: 12px;
    font-size: 14px;
  }

  h2 {
    margin-bottom: 10px;
    font-size: 14px;
  }

  h3 {
    margin-bottom: 8px;
    font-size: 14px;
  }

  .panel-title {
    font-size: 10px;
  }

  .btn {
    padding: 4px 10px;
    font-size: 14px;
  }

  .btn-small {
    padding: 3px 8px;
    font-size: 10px;
  }

  .card-table th, .card-table td, .travel-btn {
    font-size: 14px;
  }

  .modal-content {
    width: 98%;
    max-width: 98vw;
    padding: 12px;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes scaleIn {
  0% {
    opacity: 0;
    transform: scale(0);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes goldPulse {
  0%, 100% {
    box-shadow: 0 0 8px rgba(255, 215, 0, .25);
  }

  50% {
    box-shadow: 0 0 20px rgba(255, 215, 0, .5), 0 0 40px rgba(255, 215, 0, .2);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }

  100% {
    background-position: 200px 0;
  }
}

@keyframes scanLine {
  0% {
    opacity: 0;
    top: -4px;
  }

  5% {
    opacity: 1;
  }

  95% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    top: calc(100% - 4px);
  }
}

@keyframes scanResultReveal {
  0% {
    opacity: 0;
    transform: scale(.5);
  }

  60% {
    transform: scale(1.15);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes counterfeitStamp {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(3)rotate(-22deg);
  }

  40% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(.9)rotate(-10deg);
  }

  60% {
    transform: translate(-50%, -50%)scale(1.05)rotate(-14deg);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1)rotate(-12deg);
  }
}

@keyframes cardDispose {
  0% {
    opacity: 1;
    filter: none;
    transform: scale(1)rotate(0);
  }

  50% {
    opacity: .7;
    filter: grayscale(80%);
    transform: scale(.7)rotate(5deg);
  }

  100% {
    opacity: 0;
    filter: grayscale() blur(4px);
    transform: scale(0)rotate(15deg);
  }
}

@keyframes scanPulse {
  0%, 100% {
    box-shadow: 0 0 15px 6px rgba(176, 68, 255, .7), 0 0 30px 12px rgba(176, 68, 255, .3);
  }

  50% {
    box-shadow: 0 0 20px 8px rgba(176, 68, 255, .9), 0 0 40px 16px rgba(176, 68, 255, .5);
  }
}

.scan-line {
  z-index: 10;
  background: #b044ff;
  border-radius: 2px;
  height: 4px;
  animation: 2.4s ease-in-out forwards scanLine, .6s ease-in-out infinite scanPulse;
  position: absolute;
  left: 0;
  right: 0;
  box-shadow: 0 0 15px 6px rgba(176, 68, 255, .7), 0 0 30px 12px rgba(176, 68, 255, .3), 0 0 4px 2px rgba(255, 255, 255, .5);
}

.scan-result-authentic {
  animation: 1s ease-out forwards scanResultReveal;
}

.scan-stamp-counterfeit {
  opacity: 0;
  z-index: 20;
  pointer-events: none;
  color: #f22;
  letter-spacing: 2px;
  text-shadow: 0 0 8px rgba(255, 0, 0, .6), 0 2px 4px rgba(0, 0, 0, .8);
  border: 3px solid #f22;
  border-radius: 4px;
  padding: 4px 10px;
  font-family: "Press Start 2P", monospace;
  font-size: 16px;
  font-weight: 900;
  animation: 1.2s cubic-bezier(.22, 1, .36, 1) forwards counterfeitStamp;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)scale(3)rotate(-18deg);
}

.scan-card-dispose {
  animation: 1.6s ease-in forwards cardDispose;
}

@keyframes pregradeLine {
  0% {
    opacity: 0;
    top: -4px;
  }

  5% {
    opacity: 1;
  }

  95% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    top: calc(100% - 4px);
  }
}

@keyframes pregradePulse {
  0%, 100% {
    box-shadow: 0 0 15px 6px rgba(0, 180, 255, .7), 0 0 30px 12px rgba(0, 180, 255, .3);
  }

  50% {
    box-shadow: 0 0 20px 8px rgba(0, 180, 255, .9), 0 0 40px 16px rgba(0, 180, 255, .5);
  }
}

.pregrade-line {
  z-index: 10;
  background: #00b4ff;
  border-radius: 2px;
  height: 4px;
  animation: 2.4s ease-in-out forwards pregradeLine, .6s ease-in-out infinite pregradePulse;
  position: absolute;
  left: 0;
  right: 0;
  box-shadow: 0 0 15px 6px rgba(0, 180, 255, .7), 0 0 30px 12px rgba(0, 180, 255, .3), 0 0 4px 2px rgba(255, 255, 255, .5);
}

.pregrade-result {
  animation: 1s ease-out forwards scanResultReveal;
}

[data-theme="riso"] [style*="Press Start 2P"] {
  text-transform: uppercase;
  font-family: var(--font-archivo-black), "Arial Black", sans-serif !important;
  letter-spacing: 1.5px !important;
}

[data-theme="riso"] [style*="VT323"] {
  letter-spacing: -.01em;
  font-family: var(--font-dm-mono), ui-monospace, "SFMono-Regular", Menlo, monospace !important;
}

[data-theme="riso"] .panel-title, [data-theme="riso"] h1, [data-theme="riso"] h2, [data-theme="riso"] h3 {
  font-family: var(--font-archivo-black), "Arial Black", sans-serif !important;
}

@keyframes slabjack-rip {
  0% {
    opacity: 0;
    transform: rotate(-4deg)scale(.3);
  }

  12% {
    opacity: 1;
    transform: rotate(-2deg)scale(1.2);
  }

  80% {
    opacity: 1;
    transform: rotate(-3deg)scale(1.04);
  }

  100% {
    opacity: 0;
    transform: rotate(-6deg)scale(1);
  }
}

@keyframes slabjack-grailHunt {
  0% {
    opacity: 0;
    transform: rotate(3deg)scale(.4);
  }

  55% {
    opacity: 1;
    transform: rotate(6deg)scale(1.18);
  }

  100% {
    opacity: 1;
    transform: rotate(3deg)scale(1);
  }
}

@keyframes slabjack-settle-bar {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

@keyframes grailrush-trail-flicker {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  33% {
    opacity: .9;
    transform: scale(.97, 1.04);
  }

  66% {
    opacity: .96;
    transform: scale(1.03, .98);
  }
}

@keyframes grailrush-common-shake {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  15% {
    opacity: 1;
    transform: translateX(-6px);
  }

  30% {
    opacity: .95;
    transform: translateX(6px);
  }

  45% {
    opacity: .78;
    transform: translateX(-5px);
  }

  60% {
    opacity: .52;
    transform: translateX(4px);
  }

  78% {
    opacity: .22;
    transform: translateX(-2px);
  }

  100% {
    opacity: 0;
    transform: translateX(0);
  }
}

@keyframes grailrush-grail-catch {
  0% {
    filter: brightness() saturate();
    opacity: 1;
    box-shadow: 0 0 20px rgba(247, 201, 72, .667), inset 0 0 12px rgba(247, 201, 72, .2);
  }

  25% {
    filter: brightness(2.6) saturate(1.35);
    opacity: 1;
    box-shadow: 0 0 70px rgba(255, 255, 255, .533), 0 0 110px #f7c948, inset 0 0 24px #fff2ae;
  }

  55% {
    filter: brightness(1.8) saturate(1.15);
    opacity: .8;
    box-shadow: 0 0 48px rgba(247, 201, 72, .867), inset 0 0 18px rgba(247, 201, 72, .4);
  }

  100% {
    filter: brightness(1.1);
    opacity: 0;
    box-shadow: 0 0 rgba(0, 0, 0, 0), inset 0 0 rgba(0, 0, 0, 0);
  }
}

@keyframes grailrush-countPop {
  0% {
    opacity: 0;
    transform: scale(.4);
  }

  30% {
    opacity: 1;
    transform: scale(1.3);
  }

  60% {
    opacity: 1;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}

@keyframes grailrush-sparcle-common {
  0% {
    background-color: #fff;
    transform: rotate(45deg)scale(1.35)translateZ(0);
    box-shadow: 0 0 #fde655;
  }

  30% {
    background-color: rgba(255, 255, 255, .2);
    transform: rotate(45deg)scale(1.15)translateZ(0);
    box-shadow: 0 0 0 18px #fde655;
  }

  50% {
    background-color: rgba(255, 255, 255, 0);
    transform: rotate(45deg)scale(.85)translateZ(0);
    box-shadow: 0 0 0 80px #d47946;
  }

  70% {
    box-shadow: 0 0 0 54px #7a2c1f;
  }

  100% {
    background-color: rgba(122, 44, 31, 0);
    transform: rotate(45deg)scale(.25)translateZ(0);
    box-shadow: 0 0 rgba(122, 44, 31, 0);
  }
}

@keyframes grailrush-sparcle-grail {
  0% {
    background-color: #fff;
    transform: rotate(45deg)scale(1.5)translateZ(0);
    box-shadow: 0 0 #fff5c8;
  }

  25% {
    background-color: rgba(255, 255, 255, .35);
    transform: rotate(45deg)scale(1.3)translateZ(0);
    box-shadow: 0 0 0 22px #fde655;
  }

  45% {
    background-color: rgba(255, 255, 255, 0);
    transform: rotate(45deg)scale(1)translateZ(0);
    box-shadow: 0 0 0 72px #f7c948;
  }

  65% {
    box-shadow: 0 0 0 108px #3dd5ff;
  }

  82% {
    box-shadow: 0 0 0 66px #8a4dff;
  }

  100% {
    background-color: rgba(74, 26, 122, 0);
    transform: rotate(45deg)scale(.3)translateZ(0);
    box-shadow: 0 0 rgba(74, 26, 122, 0);
  }
}

@keyframes grailrush-shockwave-common {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(.2);
  }

  18% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1.2);
  }

  60% {
    opacity: .4;
    transform: translate(-50%, -50%)scale(2.4);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(3.2);
  }
}

@keyframes grailrush-shockwave-grail {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(.2);
  }

  15% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1.4);
  }

  55% {
    opacity: .55;
    transform: translate(-50%, -50%)scale(2.8);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(4);
  }
}

@keyframes grailrush-holy-pulse {
  0%, 100% {
    filter: brightness(1.05) saturate(1.1);
    box-shadow: 0 0 24px #fff, 0 0 48px rgba(255, 59, 224, .8), 0 0 72px rgba(61, 224, 255, .6), inset 0 0 14px rgba(255, 59, 224, .4);
  }

  50% {
    filter: brightness(1.35) saturate(1.25);
    box-shadow: 0 0 34px #fff, 0 0 68px rgba(255, 59, 224, .933), 0 0 100px rgba(61, 224, 255, .8), inset 0 0 18px rgba(255, 59, 224, .533);
  }
}

@keyframes grailrush-holy-catch {
  0% {
    filter: brightness(1.1) saturate(1.2);
    opacity: 1;
    box-shadow: 0 0 24px #fff, 0 0 48px rgba(255, 59, 224, .8), 0 0 72px rgba(61, 224, 255, .6), inset 0 0 14px rgba(255, 59, 224, .4);
  }

  30% {
    filter: brightness(3.2) saturate(1.6);
    opacity: 1;
    box-shadow: 0 0 90px #fff, 0 0 140px #ff3be0, 0 0 200px #3de0ff, inset 0 0 30px #fff;
  }

  60% {
    filter: brightness(2.2) saturate(1.3);
    opacity: .85;
    box-shadow: 0 0 70px rgba(255, 255, 255, .867), 0 0 110px rgba(255, 59, 224, .867), 0 0 150px rgba(61, 224, 255, .8), inset 0 0 22px rgba(255, 59, 224, .6);
  }

  100% {
    filter: brightness(1.2);
    opacity: 0;
    box-shadow: 0 0 rgba(0, 0, 0, 0), inset 0 0 rgba(0, 0, 0, 0);
  }
}

@keyframes grailrush-sparcle-holy {
  0% {
    background-color: #fff;
    transform: rotate(45deg)scale(1.8)translateZ(0);
    box-shadow: 0 0 #fff;
  }

  22% {
    background-color: rgba(255, 255, 255, .5);
    transform: rotate(45deg)scale(1.5)translateZ(0);
    box-shadow: 0 0 0 28px #fff;
  }

  40% {
    background-color: rgba(255, 255, 255, 0);
    transform: rotate(45deg)scale(1.2)translateZ(0);
    box-shadow: 0 0 0 96px #ff3be0;
  }

  60% {
    box-shadow: 0 0 0 140px #3de0ff;
  }

  80% {
    box-shadow: 0 0 0 96px #a178ff;
  }

  100% {
    background-color: rgba(161, 120, 255, 0);
    transform: rotate(45deg)scale(.3)translateZ(0);
    box-shadow: 0 0 rgba(161, 120, 255, 0);
  }
}

@keyframes grailrush-shockwave-holy {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(.2);
  }

  12% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1.6);
  }

  45% {
    opacity: .6;
    transform: translate(-50%, -50%)scale(3.4);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(5.2);
  }
}

@keyframes grailrush-holy-flash {
  0% {
    opacity: 0;
    transform: scale(.25);
  }

  12% {
    opacity: 1;
    transform: scale(1.02);
  }

  55% {
    opacity: .9;
    transform: scale(1.06);
  }

  100% {
    opacity: 0;
    transform: scale(1.12);
  }
}

@keyframes grailrush-holy-stamp {
  0% {
    opacity: 0;
    transform: scale(.4)rotate(-8deg);
  }

  14% {
    opacity: 1;
    transform: scale(1.18)rotate(-3deg);
  }

  30% {
    transform: scale(1)rotate(-5deg);
  }

  70% {
    opacity: 1;
    transform: scale(1.02)rotate(-5deg);
  }

  100% {
    opacity: 0;
    transform: scale(1.08)rotate(-6deg);
  }
}

@keyframes arcadeBulb {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 10px;
  }

  50% {
    opacity: .35;
    box-shadow: 0 0 4px;
  }
}

@keyframes arcadeBlink {
  0%, 49% {
    opacity: 1;
  }

  50%, 100% {
    opacity: .2;
  }
}

@keyframes arcadeFlicker {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .88;
  }
}

@keyframes arcadeStampIn {
  0% {
    opacity: 0;
    transform: scale(2.2)rotate(-14deg);
  }

  60% {
    opacity: 1;
    transform: scale(.94)rotate(-6deg);
  }

  100% {
    opacity: 1;
    transform: scale(1)rotate(-8deg);
  }
}

@keyframes arcadePopIn {
  0% {
    opacity: 0;
    transform: scale(.7);
  }

  70% {
    opacity: 1;
    transform: scale(1.08);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes arcadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(18px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 480px) {
  .arcade-marquee {
    padding: 18px 12px 10px !important;
  }

  .arcade-led-large .arcade-led-value {
    letter-spacing: 1px !important;
    font-size: 36px !important;
  }

  .arcade-led-medium .arcade-led-value {
    letter-spacing: 1px !important;
    font-size: 20px !important;
  }

  .arcade-led-small .arcade-led-value {
    font-size: 13px !important;
  }

  .arcade-led-large, .arcade-led-medium {
    padding: 10px 12px !important;
  }

  .arcade-led-small {
    padding: 5px 9px !important;
  }

  .arcade-statline {
    gap: 8px !important;
    padding: 5px 8px !important;
  }

  .arcade-statline .arcade-statline-label {
    letter-spacing: 1.5px !important;
    font-size: 9px !important;
  }

  .arcade-statline .arcade-statline-value {
    font-size: 12px !important;
  }

  .arcade-statline-big .arcade-statline-label {
    font-size: 10px !important;
  }

  .arcade-statline-big .arcade-statline-value {
    font-size: 15px !important;
  }

  .arcade-cabinet-button {
    letter-spacing: 1px !important;
    padding: 10px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 719px) {
  .game-cabinet-frame {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
  }
}

@keyframes cabinetScanScroll {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-50%);
  }
}

@keyframes cabinetIconBob {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-4px);
  }
}

@keyframes slabSpinY {
  from {
    transform: rotateY(0);
  }

  to {
    transform: rotateY(360deg);
  }
}

.slab-intro-overlay {
  z-index: 9999;
  perspective: 2200px;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.slab-intro-black {
  background: #000;
  transition: opacity .7s ease-out;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.slab-intro-phase-4 .slab-intro-black, .slab-intro-phase-5 .slab-intro-black {
  opacity: 0;
}

.slab-intro-card {
  aspect-ratio: 18 / 30;
  width: min(82vw, 49.2dvh);
  max-width: 720px;
  transform-style: preserve-3d;
  transform-origin: center;
  background: #000;
  border: 2px solid #3f3;
  border-radius: 14px;
  transition: border-color .55s ease-out, box-shadow .55s ease-out, opacity .55s ease-out;
  position: relative;
  box-shadow: 0 0 22px rgba(51, 255, 51, .32);
}

.slab-intro-phase-0 .slab-intro-card {
  animation: 4.5s linear forwards slabIntroSpinZoom;
}

.slab-intro-phase-1 .slab-intro-card, .slab-intro-phase-2 .slab-intro-card {
  transform: scale(1)rotateY(0);
}

.slab-intro-phase-2 .slab-intro-card, .slab-intro-phase-3 .slab-intro-card, .slab-intro-phase-4 .slab-intro-card, .slab-intro-phase-5 .slab-intro-card {
  box-shadow: none;
  border-color: rgba(0, 0, 0, 0);
}

.slab-intro-phase-3 .slab-intro-card, .slab-intro-phase-4 .slab-intro-card, .slab-intro-phase-5 .slab-intro-card {
  opacity: 0;
  pointer-events: none;
}

@keyframes slabIntroSpinZoom {
  0% {
    transform: scale(.18)rotateY(0);
  }

  33% {
    transform: scale(.18)rotateY(720deg);
  }

  78% {
    transform: scale(1)rotateY(1260deg);
  }

  100% {
    transform: scale(1)rotateY(1440deg);
  }
}

.slab-intro-card-body {
  background: radial-gradient(#143614 0%, #0a1a0a 80%), #0a1a0a;
  border: 2px solid rgba(51, 255, 51, .35);
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  transition: opacity .55s ease-out;
  display: flex;
  position: absolute;
  top: 27%;
  bottom: 5%;
  left: 7%;
  right: 7%;
  overflow: hidden;
  box-shadow: inset 0 0 24px rgba(51, 255, 51, .12);
}

.slab-intro-card-art {
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(51, 255, 51, .35));
  width: 72%;
  height: 72%;
}

.slab-intro-card-emoji {
  filter: drop-shadow(0 0 12px rgba(51, 255, 51, .4));
  font-size: max(80px, min(22vh, 220px));
  line-height: 1;
}

.slab-intro-phase-2 .slab-intro-card-body, .slab-intro-phase-3 .slab-intro-card-body, .slab-intro-phase-4 .slab-intro-card-body, .slab-intro-phase-5 .slab-intro-card-body {
  opacity: 0;
}

.slab-intro-label {
  --slab-card-w: min(82vw, calc(82dvh * 18 / 30), 720px);
  --slab-card-h: calc(var(--slab-card-w) * 30 / 18);
  top: calc(50dvh - var(--slab-card-h) / 2 + var(--slab-card-h) * .05);
  left: calc(50vw - var(--slab-card-w) / 2 + var(--slab-card-w) * .07);
  width: calc(var(--slab-card-w) * .86);
  height: calc(var(--slab-card-h) * .18);
  transform-origin: 50% 250%;
  opacity: 1;
  background: #000;
  border: 2px solid #3f3;
  border-radius: 4px;
  transition: top 1.4s cubic-bezier(.4, 0, .2, 1), left 1.4s cubic-bezier(.4, 0, .2, 1), width 1.4s cubic-bezier(.4, 0, .2, 1), height 1.4s cubic-bezier(.4, 0, .2, 1), border-color .6s ease-out .8s, background-color .6s ease-out .8s;
  position: fixed;
  overflow: hidden;
}

.slab-intro-phase-0 .slab-intro-label {
  animation: 4.5s linear forwards slabIntroSpinZoom;
}

.slab-intro-phase-1 .slab-intro-label, .slab-intro-phase-2 .slab-intro-label {
  transform: scale(1)rotateY(0);
}

.slab-intro-phase-3 .slab-intro-label, .slab-intro-phase-4 .slab-intro-label, .slab-intro-phase-5 .slab-intro-label {
  top: var(--label-end-top, 19px);
  left: var(--label-end-left, calc(max(0px, (100vw - 720px) / 2)  + 13px));
  width: var(--label-end-width, calc(min(720px, 100vw)  - 26px));
  background: none;
  border-color: rgba(0, 0, 0, 0);
  height: 200px;
  overflow: visible;
  transform: scale(1)rotateY(0);
}

.slab-intro-overlay.slab-intro-phase-5 {
  z-index: 50;
}

.slab-intro-logo {
  justify-content: center;
  align-items: center;
  width: max(180px, min(38vh, 360px));
  transition: top .8s cubic-bezier(.4, 0, .2, 1), left .8s cubic-bezier(.4, 0, .2, 1), width .8s cubic-bezier(.4, 0, .2, 1), transform .8s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.slab-intro-phase-3 .slab-intro-logo, .slab-intro-phase-4 .slab-intro-logo, .slab-intro-phase-5 .slab-intro-logo {
  top: var(--hud-logo-top, 18px);
  left: var(--hud-logo-left, 4px);
  width: var(--hud-logo-width, 193px);
  transform: translate(0);
}

.slab-intro-logo video, .slab-intro-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.slab-intro-phase-3 .slab-intro-logo {
  animation: 2s ease-out forwards slabIntroLogoGlow;
}

@keyframes slabIntroLogoGlow {
  0% {
    filter: drop-shadow(0 0 7px rgba(255, 200, 50, .4));
  }

  25% {
    filter: drop-shadow(0 0 22px rgba(255, 215, 0, .55));
  }

  45% {
    filter: drop-shadow(0 0 56px rgba(255, 230, 130, .75));
  }

  58% {
    filter: drop-shadow(0 0 105px rgba(255, 245, 200, .88));
  }

  64% {
    filter: drop-shadow(0 0 155px rgba(255, 255, 255, .95)) brightness(2);
  }

  72% {
    filter: drop-shadow(0 0 120px rgba(255, 255, 255, .85)) brightness(1.5);
  }

  80% {
    filter: drop-shadow(0 0 100px rgba(255, 255, 255, .85)) brightness(1.35);
  }

  90% {
    filter: drop-shadow(0 0 100px rgba(255, 255, 255, .7)) brightness(1.25);
  }

  100% {
    filter: none;
  }
}

.slab-intro-logo-halo {
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  background: radial-gradient(closest-side, rgba(255, 240, 180, .78) 0%, rgba(255, 220, 110, .42) 20%, rgba(255, 195, 60, .2) 38%, rgba(255, 175, 35, .08) 58%, rgba(255, 160, 20, .02) 78%, rgba(0, 0, 0, 0) 100%);
  width: 1100px;
  height: 700px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)scale(.3);
}

.slab-intro-phase-3 .slab-intro-logo-halo {
  animation: 2s ease-out forwards slabIntroLogoLamp;
}

@keyframes slabIntroLogoLamp {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(.3);
  }

  25% {
    opacity: .28;
    transform: translate(-50%, -50%)scale(.5);
  }

  45% {
    opacity: .55;
    transform: translate(-50%, -50%)scale(.8);
  }

  58% {
    opacity: .72;
    transform: translate(-50%, -50%)scale(1.05);
  }

  64% {
    opacity: .85;
    transform: translate(-50%, -50%)scale(1.2);
  }

  72% {
    opacity: .78;
    transform: translate(-50%, -50%)scale(1.12);
  }

  80% {
    opacity: .7;
    transform: translate(-50%, -50%)scale(1.05);
  }

  90% {
    opacity: .55;
    transform: translate(-50%, -50%)scale(1.08);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%)scale(1.25);
  }
}

[data-slab-intro-active="1"] .intro-cascade-item {
  opacity: 0;
}

[data-slab-intro-cascade="1"] .intro-cascade-item {
  animation: .55s cubic-bezier(.4, 0, .2, 1) forwards slabIntroCascadeIn;
  animation-delay: var(--cascade-delay, 0s);
}

[data-slab-intro-active="1"] .intro-cascade-stagger > * {
  opacity: 0;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > * {
  animation: .25s cubic-bezier(.4, 0, .2, 1) forwards slabIntroCascadeIn;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :first-child {
  animation-delay: 0s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(2) {
  animation-delay: 40ms;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(3) {
  animation-delay: 80ms;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(4) {
  animation-delay: .12s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(5) {
  animation-delay: .16s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(6) {
  animation-delay: .2s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(7) {
  animation-delay: .24s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(8) {
  animation-delay: .28s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(9) {
  animation-delay: .32s;
}

[data-slab-intro-cascade="1"] .intro-cascade-stagger > :nth-child(n+10) {
  animation-delay: .36s;
}

@keyframes slabIntroCascadeIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

body[data-slab-intro-active="1"]:not([data-slab-intro-cascade="1"]) .game-cabinet-frame {
  visibility: hidden !important;
}

body[data-slab-intro-active="1"] .game-cabinet-frame {
  box-shadow: none !important;
  background: none !important;
  border-color: rgba(0, 0, 0, 0) !important;
}

body[data-slab-intro-active="1"] .cabinet-hud-logo {
  visibility: hidden;
}

body[data-slab-intro-cascade="1"] .game-cabinet-frame {
  transition: border-color .15s ease-out, box-shadow .15s ease-out, background .15s ease-out;
  border-color: var(--cabinet-border-color) !important;
  box-shadow: var(--cabinet-glow) !important;
  background: var(--bg-page, #000) !important;
}

.route-progress-container {
  z-index: 2147483647;
  pointer-events: none;
  height: 3px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.route-progress-bar {
  background: linear-gradient(90deg, var(--color-primary, #3f3), var(--link-color, #00ff41));
  height: 100%;
  box-shadow: 0 0 10px rgba(51, 255, 51, .5), 0 0 5px rgba(51, 255, 51, .3);
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__a366de62._.css.map*/