*,:after,:before {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59,130,246,.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style:
}

:root {
  background-color: rgb(var(--theme-background));
  interpolate-size: allow-keywords;
  -webkit-tap-highlight-color: transparent;
  font-family: Poppins,sans-serif;
  --top-margin: .5rem;
  --side-margin: 1rem;
  --bottom-margin: 2rem;
  --header-height: 3.5rem;
  --bottom-header-height: 0px;
  --bottom-header-padding: env(safe-area-inset-bottom,16px);
  --bottom-nav-area: calc(var(--bottom-header-padding) + var(--bottom-header-height));
  --banner-height: 13.5rem;
  --banner-filter: none;
  --banner-overlay-gradient: none;
  --drawer-menu-width: 256px;
  --drawer-menu-min-width: 256px;
  --drawer-profile-width: 320px;
  --drawer-profile-min-width: 256px;
  --drawer-reader-width: 312px;
  --drawer-reader-min-width: 256px
}

:root {
  view-transition-name: none;
}

:root.mobile {
  --side-margin: 1rem;
  --top-margin: 1rem;
  --header-height: 3.5rem;
  --bottom-margin: 1.5rem;
  --bottom-header-height: 4rem;
  --banner-overlap: calc(var(--header-height) + var(--top-margin))!important
}

:root:not(.custom) {
  color: rgb(var(--color));
  color-scheme: dark light;
  --theme-primary: 255, 103, 64;
  --theme-primary-10: 230, 97, 62;
  --theme-primary-20: 188, 85, 59;
  --theme-status-red: 255, 64, 64;
  --theme-status-green: 4, 208, 0;
  --theme-status-yellow: 218, 117, 0;
  --theme-status-blue: 0, 201, 245;
  --theme-status-grey: 196, 196, 196;
  --theme-status-purple: 125, 64, 255;
  --theme-indication-blue: 75, 152, 241;
  --theme-danger: 255, 64, 64;
  --theme-danger-10: 219, 49, 49;
  --theme-danger-20: 191, 33, 33;
}

.dracula:not(.custom) {
  color-scheme: dark;
  --color: 255 255 255;
  --theme-background: 40 42 54;
  --theme-accent: 52 55 70;
  --theme-accent-hover: 66 70 91;
  --theme-accent-active: 43 45 57;
  --theme-accent-10: 47 51 59;
  --theme-accent-10-hover: 57 62 72;
  --theme-accent-10-active: 39 42 48;
  --theme-accent-20: 56 62 72;
  --theme-accent-20-hover: 73 81 96;
  --theme-accent-20-active: 49 54 62;
  --theme-accent-30: 64 71 84;
  --theme-accent-30-hover: 93 103 122;
  --theme-accent-30-active: 54 60 69;
  --theme-accent-40: 70 79 95;
  --theme-accent-40-hover: 112 128 155;
  --theme-accent-40-active: 61 68 81;
  --theme-accent-50: 78 89 108;
  --theme-accent-50-hover: 137 157 192;
  --theme-accent-50-active: 67 76 91;
  --theme-midTone: 126 144 172;
  --theme-contrast-1: 79 84 111;
  --theme-scrollbar-thumb: var(--theme-accent-20);
  --theme-scrollbar-thumb-hover: var(--theme-accent-30);
  --theme-button-accent: var(--theme-accent-20);
  --theme-button-accent-alt: var(--theme-accent);
  --theme-primary: 161 121 192;
  --theme-primary-10: 134 96 164;
  --theme-primary-20: 116 85 140;
  --theme-status-red: 255 85 85;
  --theme-status-yellow: 255 184 108;
  --theme-status-blue: 139 233 253;
  --theme-status-green: 80 250 123;
}

@media (any-pointer: fine) and (min-width:640px) {
  body {
      overflow-y:scroll!important
  }

  ::-webkit-scrollbar {
      height: 10px;
      width: 10px;
  }

  ::-webkit-scrollbar-track {
      background-color: transparent;
  }

  ::-webkit-scrollbar-thumb {
      background-color: rgb(var(--theme-scrollbar-thumb));
      border-radius: 2rem
  }

  ::-webkit-scrollbar-thumb:hover {
      background-color: rgb(var(--theme-scrollbar-thumb-hover));
  }
}

::view-transition {
	pointer-events: none;
}

html.no-transition *,
html.no-transition *::before,
html.no-transition *::after {
  transition: none !important;
}

.no-transition::before,
.no-transition::after {
  transition: none !important;
}

*,:after,:before {
  border: 0 solid #e5e7eb;
  box-sizing: border-box
}

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

html, body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100%;
}

body {
  line-height: inherit;
  margin: 0
}

blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
  margin: 0
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style-type: none
}

button,input,optgroup,select,textarea {
  color: inherit;
  font-family: inherit;
  font-feature-settings: inherit;
  font-size: 100%;
  font-variation-settings: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0
}

button {
  background-color: transparent;
  background-image: none;
}

nav {
  display: flex;
  flex-direction: column;
  background-color: var(--theme-accent);
  height: 100%;
  z-index: 7;
}

nav .shade {
  background-color: #222;
  height: 100vh;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  opacity: .46;
  transition: opacity .2s ease;
}

main {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-width: 0px;
}

header {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  --nav-anim-attr: .15s ease-in-out;
  transition: margin var(--nav-anim-attr), transform 75ms ease-out;
  width: 100%;
  z-index: 6;
}

header .header-main {
  max-height: var(--header-height);
  min-height: var(--header-height);
  display: flex;
  justify-content: center;
}

header .header-main .header {
  width: 100%;
  max-width: 1440px;
  padding-left: var(--side-margin);
  padding-right: var(--side-margin);
  z-index: 1;
  display: flex;
  flex-grow: 1;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
}

header .header-main .header-background {
  background-color: rgb(var(--theme-background));
  border-bottom: 1px solid rgb(var(--theme-primary));
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}

.header-sentinel {
  content: "";
  display: block;
  height: var(--header-height);
  width: 100%;
  position: absolute;
  top: 0;
  pointer-events: none;
  visibility: hidden;
}

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

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;
  text-decoration: inherit
}

b,strong {
  font-weight: bolder
}

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

small {
  font-size: 80%
}

#content {
  display: flex;
  flex-grow: 1;
  color: var(--color);
}

#view {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

.header-logo {
  min-width: fit-content;
  display: flex;
  margin-right: auto;
}

#content[data-drawer-active="true"] .header-logo{
  display: none;
}

#content[data-drawer-active="false"] nav .shade {
  display: none;
}


.drawer {
  background-color: rgb(var(--theme-accent));
  box-shadow: inset -25px 0 9px -25px #0000001a;
  flex-grow: 1;
  flex-shrink: 0;
  height: 100vh;
  left: 0;
  max-width: var(--drawer-menu-width);
  min-width: 256px;
  position: fixed;
  top: 0;
  width: var(--drawer-menu-width);
  margin-left: calc(-1 * var(--drawer-menu-width));
  transition: margin-left 150ms ease-in-out;
}

#content[data-drawer-active="true"] .drawer {
  margin-left: 0;
}

#content[data-skip-transition] .drawer {
  transition: none;
}

@media (min-width: 48rem) {
  .shade {
    height: 100%;
  }
  .drawer {
    height: 100%;
  }
}

@media (min-width: 64rem) {
  #content[data-drawer-active="true"] header {
    max-width: calc(100% - var(--drawer-menu-width));
  }
  nav {
    z-index: auto;
  }
  .shade {
    display: none;
  }
  .drawer {
    height: auto;
    position: static;
  }
}

.drawer-contain {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.drawer-logo {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  margin: 0 1rem;
  padding: .5rem 0;

}

@media (min-width: 64rem) {
  .drawer-contain {
    position: sticky;
    top: 0;
  }
}

.header-height {
  height: var(--header-height);
}

.content {
  flex-grow: 1;
}

.content > * {
  margin-bottom: 2rem;
  margin-bottom: calc(var(--bottom-nav-area) + var(--bottom-margin));
  margin-top: 0;
  margin-top: var(--top-margin);
  padding-left: var(--side-margin);
  padding-right: var(--side-margin)
}

.btn {
  --opacity: 1;
  display: flex;
  align-items: center; 
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border-radius: .25rem;
  transition: filter .1s ease-out,color .1s ease-out,min-width .2s ease-out;
}

.btn.small {
  min-height: 1.5rem;
  min-width: 1.5rem;
}

.btn.medium {
  min-height: 2rem;
  min-width: 2rem;
}

.btn.large {
  min-height: 2.5rem;
  min-width: 2.5rem;
}

.btn.extra-large {
  min-height: 3rem;
  min-width: 3rem;
}

.btn.btn-header {
  margin-right: .5rem;
}

.btn.btn-text {
  padding-left: .75rem;
  padding-right: .75rem;
}

.btn .btn-text {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  width: 100%;
  pointer-events: none;
}

.btn.btn-radio {
  border-radius: 0;
}

.btn.btn-radio:not(.active):hover::before {
  background-color: rgb(var(--theme-accent-10));
}

.btn.btn-radio:first-child {
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}

.btn.btn-radio:last-child {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem;
}

.page-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 60rem;
  width: 100%;
}

.page-container.wide {
  max-width: 90rem;
}

.layout-container {
  --banner-overlap: calc(var(--header-height) + var(--top-margin));
  --banner-top: calc(var(--banner-overlap)*-1);
  display: grid;
  position: relative;
}

.layout-container.guess-game {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: 
    "info"
    "answers"
    "tracker";
  gap: 1rem;

  @media (min-width: 40rem) {
    grid-template-columns: 1fr minmax(0, 40rem) 1fr;
    grid-template-areas: 
      "left info right"
      "left answers right"
      "left tracker right";
  }
}

.game-info {
  grid-area: info;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.game-info .game-title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2rem;
  margin-bottom: .5rem;
  text-align: center;
}

.game-info .game-stats {
  display: flex;
  justify-content: space-evenly;
}

.game-info .game-content {
  width: 100%;
}

.game-content.quote-game {
  justify-content: center;
  display: grid;
  gap: .5rem;
  grid-template-columns: 1fr;
  grid-template-areas:
    "quote-question"
    "quote-text"
    "va-name"
    "audio-player";

  @media (min-width: 40rem) {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "quote-question quote-question"
      "quote-text quote-text"
      "va-name audio-player";
  }
}

.quote-game[data-hint-lang="true"] {
  grid-template-areas:
    "quote-question"
    "quote-text"
    "lang-radio"
    "va-name"
    "audio-player";

  @media (min-width: 40rem) {
    grid-template-areas:
      "quote-question quote-question"
      "quote-text quote-text"
      "lang-radio lang-radio"
      "va-name audio-player";
  }
}

.quote-game:has(>.result) {
  grid-template-areas:
    "quote-question"
    "quote-text"
    "result"
    "lang-radio"
    "va-name"
    "audio-player";

  @media (min-width: 40rem) {
    grid-template-areas:
      "quote-question quote-question"
      "quote-text quote-text"
      "result result"
      "lang-radio lang-radio"
      "va-name audio-player";
  }
}

.quote-game .quote-question {
  grid-area: quote-question;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  margin-bottom: .5rem;
  text-align: center;
  opacity: .75;
}

.quote-game .quote {
  grid-area: quote-text;
  width: 100%;
  min-height: 2rem;
  text-align: center;
  font-style: italic;
}

.quote-game .result {
  grid-area: result;
  justify-self: center;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  row-gap: .5rem;
  width: fit-content;
}

.result > .result-title {
  display: inline;
  font-size: 1.3rem;
}

.result > .result-answer {
  display: flex;
  flex-basis: 100%;
  flex-direction: row;
  justify-content: center;
  column-gap: .8rem;
}

.result .avatar-border {
  position: relative;
  width: 80px;              
  height: 80px;
}

.result .avatar-border::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 2px solid #3498db; 
  border-radius: 50%;
  z-index: 0; 
}

.result .avatar {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain; 
}

.result .result-answer-info {
  display: flex;
  flex-direction: column;
  row-gap: .3rem;
}

.result .answer-name {
  font-size: 1.2rem;
}

.result .nb-tries {
  font-size: .9rem;
}

.result .nb-tries .nth{
  font-size: 1rem;
}

.result .answer-stats {
  font-size: .8rem;
  text-decoration: underline;
}

.result .btn {
  justify-self: center;
  width: 100%;
}

.result .btn::before {
  background-color: rgb(var(--theme-accent-10));
}

.quote-game .lang-radio {
  grid-area: lang-radio;
  justify-self: center;
  margin-bottom: .5rem;
  width: 100%;
  display: none;
}

.quote-game[data-hint-lang="true"] .lang-radio {
  display: inline-flex;
}

.lang-radio>.btn-radio {
  flex-grow: 1;
}

.quote-game .hint-one, .quote-game .hint-two {
  display: flex;
  justify-content: center;

  .btn {
    width: 100%;
  }
}

.quote-game .hint-one {
  grid-area: va-name;
  min-height: 2rem;
}

.va-name-btn::before {
  background-color: rgb(var(--theme-accent-10));
}

.quote-game .hint-two {
  grid-area: audio-player;
  min-height: 2rem;
}
  
.quote-game .audio-player {
  justify-self: center;
  display: grid;
}

.audio-player.simple {
  grid-template-columns: 40px 1fr;
  grid-template-areas: 
    "play volume";
  gap: .5rem;
  align-items: center;
}

.audio-player.simple .play-pause {
  grid-area: play;
}

.audio-player.simple .volume-container {
  grid-area: volume;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: .25rem;
}

.answers.classic {
  overflow-x: auto;
  width: 100%;;
  scrollbar-width: thin;
}

.game-answers {
  grid-area: answers;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  @media (min-width: 40rem) {
    
    
  }
}

.guessbox {
  display: flex;
  margin-bottom: 2rem;
  width: 100%;
  max-width: 22.5rem;
}

.answers-container {
  display: flex;
  width: 100%;
  flex-direction: column-reverse;
  row-gap: 1rem;
}

.classic-container {
  display: flex;
  flex-direction: column;
  min-width: 40rem; 
}

.classic-guess {
  display: flex;
  gap: 8px;
  padding: 2px 4px;
}

.tile {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  overflow: hidden;
  padding: 5px;
  --result-color: white;
}

.tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--result-color);
}

.tile .svg-background {
  position: absolute;
  inset: 0;
  display: flex;
  padding: 5px;
  justify-content: space-evenly;
  align-items: center;
  pointer-events: none;
}

.tile .svg-background[data-patch='1'],
.tile .svg-background[data-patch='2'] {
  align-items: flex-start;
}

.tile .svg-background[data-patch='0'] {
  display: none;
}

.tile .svg-background[data-patch='-1'],
.tile .svg-background[data-patch='-2'] {
  align-items: flex-end;
}

.tile.square{
  flex-basis: 12.5%;
  aspect-ratio: 10/10.5;
}

.tile.rect{
  display: none;
  flex-basis: 25%;
  aspect-ratio: 20/10.5;
}

.tile .avatar {
  width: 60px;              
  height: 60px;
}

.tile span {
  position: relative;
  color: black;
}

.tile img {
  position: relative;
}

.classic-guess .avatar {
  width: 100%;              
  height: 100%;
}

.classic-guess .avatar:not(:only-child) {
  width: 50%;              
  height: 50%;
}

[data-patch='-1'] svg,
[data-patch='-2'] svg {
  align-items: flex-end;
  transform: rotate(90deg);
}

[data-patch='1'] svg,
[data-patch='2'] svg {
  align-items: flex-start;
  transform: rotate(-90deg);
}

[data-result='true'] {
  --result-color: rgb(var(--theme-status-green));
}

[data-result='partial'] {
  --result-color: rgb(var(--theme-status-yellow));
}

[data-result='false'] {
  --result-color: rgb(var(--theme-status-red));
}

.guess {
  position: relative;
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  padding: .5rem;
  column-gap: 1rem;
  font-weight: 1000;
  align-items: center;
  border-radius: 8px;
  overflow: hidden;
}

.guess::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--result-color);
}

.guess span {
  position: relative;
}

.guess .avatar-border {
  position: relative;
  width: 70px;              
  height: 70px;
}

.avatar-border.small {
  width: 60px;              
  height: 60px;
}

.guess .avatar-border::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 2px solid #3498db; 
  border-radius: 50%;
  z-index: 0; 
}

.guess .avatar {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain; 
}

.input-form {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  margin-top: auto;
  margin-bottom: auto;
  border-radius: .5rem;
  width: 100%;
}

.input-form input {
  color: currentColor;
  background: none;
  border-radius: inherit;
  padding: .25rem 1rem;
  position: relative;
  width: 100%;
}

.input-form input::placeholder {
  color: var(--color);
}

.input-form .input-border {
  border-radius: inherit;
  inset: 0;
  opacity: 1;
  position: absolute;
  transition: all var(--search-anim-attr);
  z-index: -1;
}

.input-form .search-icon {
  position: absolute;
  height: 1.5rem;
  right: .5rem;
  top: .25rem;
  width: 1.5rem;
  align-items: center;
  border-radius: .25rem;
  display: flex;
  justify-content: center;
}

.input-form .search-hint {
  display: none;
  gap: .25rem;
  opacity: .75;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
  transition: opacity var(--nav-search-anim-attr);

  @media (min-width: 48rem) {
    display: flex;
  }
}

.input-form .hint-icon {
  background-color: rgb(var(--theme-accent-20));
  border-radius: .25rem;
  font-size: .875rem;
  line-height: 1.25rem;
  padding-left: .25rem;
  padding-right: .25rem;
}

.popover {
  position: relative;
  inset: auto;
  top: calc(anchor(bottom) + .25rem);
  left: anchor(left);
  right: anchor(right);
  width: auto;
}

#guess-input {
  anchor-name: --guess-input;
}

.popover.suggestions {
  background-color: rgb(var(--theme-accent-20));
  position-anchor: --guess-input;
  border-radius: .5rem;
  max-height: 312px;
  padding: .5rem .25rem;
}

.suggestions li.active {
  background-color: rgb(var(--theme-accent-10-active));
}

.icon {
  align-items: center;
  display: inline-flex;
  flex-shrink: 0;
  height: 1.5rem;
  width: 1.5rem;
  justify-content: center;
  line-height: 1;
  text-indent: 0;
  transition: color .3s cubic-bezier(.25,.8,.5,1), transform 0.25s ease-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.icon.hidden {
  display: none;
}

.icon.small {
  height: 1rem;
  width: 1rem;
}

.icon.large {
  height: 2rem;
  width: 2rem;
}

.radio-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.radio-content.radio-text {
  width: 100%;
  font-size: .875rem;
  line-height: 1.25rem;
  user-select: none;
  white-space: nowrap;
}

.radio-content.radio-icon {
  min-height: 2.5rem;
  min-width: 2.5rem;
}

.toggle-group {
  display: inline-flex;
  position: relative;
  anchor-scope: all;
}

.toggle-group::before {
  content: "";
  position: absolute;
  position-anchor: --btn;
  inset: anchor(top) anchor(right) anchor(bottom) anchor(left);
  background-color: rgb(var(--theme-contrast-1));
  border-radius: .25rem;
  z-index: 1;
  transition: .2s;
}

.toggle-group .btn-radio:is(:active, .active) {
  anchor-name: --btn;
}

.toggle-group:has(.btn-radio:active) .btn-radio.active:not(:active) {
  anchor-name: none;
}

.checkbox:focus-visible {
  outline: 2px solid rgb(var(--theme-primary));
  outline-offset: 2px;
  border-radius: 4px;
}

.checkbox .icon {
  align-items: center;
  display: inline-flex;
}

.disabled {
  pointer-events: none;
  opacity: .2;
}

.input-form::after {
  filter: brightness(var(--input-filter));
  opacity: var(--input-opacity);
  background-color: rgb(var(--theme-accent));
  border-radius: .5rem;
  content: " ";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all var(--search-anim-attr);
  width: 100%;
  z-index: -1;
}

.btn-accent {
  --main-color: rgb(var(--theme-accent-20) / var(--opacity));
  --text-color: rgb(var(--color));
}

.btn::before, .btn::after {
  content: "";
  position: absolute;
  inset: 0;
  transition: all .1s ease-out;
}

.btn-radio::before {
  background-color: rgb(var(--theme-accent));
  z-index: 0;
  transition: none;
}

.modal {
  position: fixed;
  inset: auto;
  background-color: rgb(var(--theme-background));
  padding: 1.5rem;
  top: 50%;
  left: 50%;
  overflow: auto;
  overscroll-behavior: contain;
  transform: translate(-50%, -50%);

  @media (min-width: 48rem) {
    position: relative;
    top: calc(anchor(bottom) + .5rem);
    right: anchor(right);
    left: auto;
    transform: translate(0, 0);
  }
  @media (min-width: 64rem) {
    right: calc(anchor(right) - 1rem);
  }

}

.modal::backdrop {
  background-color: rgb(0 0 0 / 0.4);
  transition: background-color .5s cubic-bezier(0,1.2,1,1)
}

@font-face {
  font-display: swap;
  font-family: Poppins;
  font-style: normal;
  font-weight: 400;
  src: url(./fonts/poppins/poppins-v19-400.woff2) format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Poppins;
  font-style: normal;
  font-weight: 500;
  src: url(./fonts/poppins/poppins-v19-500.woff2) format("woff2");
}

@font-face {
  font-display: swap;
  font-family: Poppins;
  font-style: normal;
  font-weight: 700;
  src: url(./fonts/poppins/poppins-v19-700.woff2) format("woff2");
}

@keyframes headShake {
  0% { transform: translateX(0); }
  6.5% { transform: translateX(-6px) rotateY(-9deg); }
  18.5% { transform: translateX(5px) rotateY(7deg); }
  31.5% { transform: translateX(-3px) rotateY(-5deg); }
  43.5% { transform: translateX(2px) rotateY(3deg); }
  50%, 100% { transform: translateX(0); }
}

@keyframes tada {
  0% { transform: scaleX(1); }
  10%,20% { transform: scale(0.9) rotate(-3deg); }
  30%,50%,70%,90% { transform: scale(1.1) rotate(3deg); }
  40%,60%,80% { transform: scale(1.1) rotate(-3deg); }
  100% { transform: scaleX(1); }
}

.headShake {
  animation: headShake 0.8s ease-in-out;
}

.tada {
  animation: tada 1s;
}