/* Box sizing rules */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Permanent+Marker&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

html:has(#admin) body:has(#admin) {
  padding: 0;
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
html:has(#admin) .page.admin-page main {
  padding-bottom: 100px;
}
html:has(#admin) .page.admin-page,
html:has(#admin) .page.admin-dashboard-page,
html:has(#admin) .page.admin-matches-page,
html:has(#admin) .page.admin-members-page {
  font-family: "Helvetica Neue";
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-grow: 1;
}
html:has(#admin) .page.admin-page > aside.sidebar,
html:has(#admin) .page.admin-dashboard-page > aside.sidebar,
html:has(#admin) .page.admin-matches-page > aside.sidebar,
html:has(#admin) .page.admin-members-page > aside.sidebar {
  width: 240px;
  background: #f1f1f1;
  max-height: 100dvh;
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  color: #333;
  font-size: 12px;
  letter-spacing: 0.2px;
  border-right: 1px solid #eae9ee;
}
html:has(#admin) .page.admin-page > aside.sidebar hr,
html:has(#admin) .page.admin-dashboard-page > aside.sidebar hr,
html:has(#admin) .page.admin-matches-page > aside.sidebar hr,
html:has(#admin) .page.admin-members-page > aside.sidebar hr {
  border-top: 2px solid #e9e9e9;
  border-bottom: 1px solid #f6f6f7;
  border-left: 0;
  border-right: 0;
  width: 100%;
}
html:has(#admin) .page.admin-page > main,
html:has(#admin) .page.admin-dashboard-page > main,
html:has(#admin) .page.admin-matches-page > main,
html:has(#admin) .page.admin-members-page > main {
  flex-grow: 1;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 100dvh;
}
html:has(#admin) .page.admin-page .component.sidebar-header,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-header,
html:has(#admin) .page.admin-matches-page .component.sidebar-header,
html:has(#admin) .page.admin-members-page .component.sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  margin-bottom: 5px;
}
html:has(#admin) .page.admin-page .component.sidebar-header .brand,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-header .brand,
html:has(#admin) .page.admin-matches-page .component.sidebar-header .brand,
html:has(#admin) .page.admin-members-page .component.sidebar-header .brand {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
html:has(#admin) .page.admin-page .component.sidebar-header .brand img,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-header .brand img,
html:has(#admin) .page.admin-matches-page .component.sidebar-header .brand img,
html:has(#admin) .page.admin-members-page .component.sidebar-header .brand img {
  width: 50px;
  height: 50px;
}
html:has(#admin) .page.admin-page .component.sidebar-header .active-user img,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-header .active-user img,
html:has(#admin) .page.admin-matches-page .component.sidebar-header .active-user img,
html:has(#admin) .page.admin-members-page .component.sidebar-header .active-user img {
  width: 25px;
  height: 25px;
  border-radius: 25px;
}
html:has(#admin) .page.admin-page .component.sidebar-search,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-search,
html:has(#admin) .page.admin-matches-page .component.sidebar-search,
html:has(#admin) .page.admin-members-page .component.sidebar-search {
  margin: 10px 0 15px;
  position: relative;
}
html:has(#admin) .page.admin-page .component.sidebar-search input,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-search input,
html:has(#admin) .page.admin-matches-page .component.sidebar-search input,
html:has(#admin) .page.admin-members-page .component.sidebar-search input {
  border: 1px solid lightgrey;
  border-radius: 4px;
  padding: 4px 36px 4px 24px;
  width: 100%;
}
html:has(#admin) .page.admin-page .component.sidebar-search ion-icon[name=search-outline],
html:has(#admin) .page.admin-dashboard-page .component.sidebar-search ion-icon[name=search-outline],
html:has(#admin) .page.admin-matches-page .component.sidebar-search ion-icon[name=search-outline],
html:has(#admin) .page.admin-members-page .component.sidebar-search ion-icon[name=search-outline] {
  position: absolute;
  top: 7px;
  left: 7px;
  font-size: 14px;
}
html:has(#admin) .page.admin-page .component.sidebar-search .component.hotkey-hint,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-search .component.hotkey-hint,
html:has(#admin) .page.admin-matches-page .component.sidebar-search .component.hotkey-hint,
html:has(#admin) .page.admin-members-page .component.sidebar-search .component.hotkey-hint {
  position: absolute;
  color: #7d808d;
  background: #eee;
  right: 7px;
  top: 7px;
  padding: 0px 4px;
  font-size: 10px;
  border-radius: 4px;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul {
  display: flex;
  flex-direction: column;
  row-gap: 1px;
  padding: 0;
  list-style: none;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li {
  min-height: 32px;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li[disabled] .indent-icon,
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li[disabled] a,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li[disabled] .indent-icon,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li[disabled] a,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li[disabled] .indent-icon,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li[disabled] a,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li[disabled] .indent-icon,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li[disabled] a {
  pointer-events: none;
  color: #bbb;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li ul,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li ul,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li ul,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li ul {
  margin-top: 1px;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li ul li a span,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li ul li a span,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li ul li a span,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li ul li a span {
  padding-left: 0.2ch;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li span.indent-icon,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li span.indent-icon,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li span.indent-icon,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li span.indent-icon {
  color: #666;
  padding-right: 0.9ch;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li a,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li a,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li a,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li a {
  height: 32px;
  width: 100%;
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 6px;
  padding-left: 10px;
  user-select: none;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li a > :first-child,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li a > :first-child,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li a > :first-child,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li a > :first-child {
  display: flex;
  justify-content: flex-startn;
  align-items: center;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li.active > a,
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li a:hover,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li.active > a,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li a:hover,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li.active > a,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li a:hover,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li.active > a,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li a:hover {
  background: #e3e3e3;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li.active > a ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-page .component.sidebar-linklist ul li a:hover ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li.active > a ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ul li a:hover ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li.active > a ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ul li a:hover ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li.active > a ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ul li a:hover ion-icon[name=chevron-forward-outline] {
  visibility: visible;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ion-icon,
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ion-icon,
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ion-icon,
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ion-icon {
  font-size: 1.6em;
  padding-right: 8px;
  padding-top: 1px;
}
html:has(#admin) .page.admin-page .component.sidebar-linklist ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-dashboard-page .component.sidebar-linklist ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-matches-page .component.sidebar-linklist ion-icon[name=chevron-forward-outline],
html:has(#admin) .page.admin-members-page .component.sidebar-linklist ion-icon[name=chevron-forward-outline] {
  font-size: 1em;
  visibility: hidden;
}
html:has(#admin) .page.admin-page main .component.content-header,
html:has(#admin) .page.admin-page main .component.content,
html:has(#admin) .page.admin-dashboard-page main .component.content-header,
html:has(#admin) .page.admin-dashboard-page main .component.content,
html:has(#admin) .page.admin-matches-page main .component.content-header,
html:has(#admin) .page.admin-matches-page main .component.content,
html:has(#admin) .page.admin-members-page main .component.content-header,
html:has(#admin) .page.admin-members-page main .component.content {
  padding-left: 20px;
  padding-right: 10px;
}
html:has(#admin) .page.admin-page main .component.content,
html:has(#admin) .page.admin-dashboard-page main .component.content,
html:has(#admin) .page.admin-matches-page main .component.content,
html:has(#admin) .page.admin-members-page main .component.content {
  padding-top: 20px;
  padding-bottom: 10px;
}
html:has(#admin) .page.admin-page main .component.content .component.flex-container,
html:has(#admin) .page.admin-dashboard-page main .component.content .component.flex-container,
html:has(#admin) .page.admin-matches-page main .component.content .component.flex-container,
html:has(#admin) .page.admin-members-page main .component.content .component.flex-container {
  column-gap: 10px;
}
html:has(#admin) .page.admin-page main .component.content-header,
html:has(#admin) .page.admin-dashboard-page main .component.content-header,
html:has(#admin) .page.admin-matches-page main .component.content-header,
html:has(#admin) .page.admin-members-page main .component.content-header {
  height: 55px;
  border-bottom: 1px solid #eae9ee;
  width: 100%;
  font-size: 14px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: sticky;
  top: 0;
  background: white;
  z-index: 1;
}
html:has(#admin) .page.admin-page main .component.content-header h1,
html:has(#admin) .page.admin-page main .component.content-header h2,
html:has(#admin) .page.admin-page main .component.content-header h3,
html:has(#admin) .page.admin-page main .component.content-header h4,
html:has(#admin) .page.admin-page main .component.content-header h5,
html:has(#admin) .page.admin-page main .component.content-header h6,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h1,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h2,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h3,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h4,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h5,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h6,
html:has(#admin) .page.admin-matches-page main .component.content-header h1,
html:has(#admin) .page.admin-matches-page main .component.content-header h2,
html:has(#admin) .page.admin-matches-page main .component.content-header h3,
html:has(#admin) .page.admin-matches-page main .component.content-header h4,
html:has(#admin) .page.admin-matches-page main .component.content-header h5,
html:has(#admin) .page.admin-matches-page main .component.content-header h6,
html:has(#admin) .page.admin-members-page main .component.content-header h1,
html:has(#admin) .page.admin-members-page main .component.content-header h2,
html:has(#admin) .page.admin-members-page main .component.content-header h3,
html:has(#admin) .page.admin-members-page main .component.content-header h4,
html:has(#admin) .page.admin-members-page main .component.content-header h5,
html:has(#admin) .page.admin-members-page main .component.content-header h6 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: normal;
}
html:has(#admin) .page.admin-page main .component.content-header h1 ion-icon,
html:has(#admin) .page.admin-page main .component.content-header h2 ion-icon,
html:has(#admin) .page.admin-page main .component.content-header h3 ion-icon,
html:has(#admin) .page.admin-page main .component.content-header h4 ion-icon,
html:has(#admin) .page.admin-page main .component.content-header h5 ion-icon,
html:has(#admin) .page.admin-page main .component.content-header h6 ion-icon,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h1 ion-icon,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h2 ion-icon,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h3 ion-icon,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h4 ion-icon,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h5 ion-icon,
html:has(#admin) .page.admin-dashboard-page main .component.content-header h6 ion-icon,
html:has(#admin) .page.admin-matches-page main .component.content-header h1 ion-icon,
html:has(#admin) .page.admin-matches-page main .component.content-header h2 ion-icon,
html:has(#admin) .page.admin-matches-page main .component.content-header h3 ion-icon,
html:has(#admin) .page.admin-matches-page main .component.content-header h4 ion-icon,
html:has(#admin) .page.admin-matches-page main .component.content-header h5 ion-icon,
html:has(#admin) .page.admin-matches-page main .component.content-header h6 ion-icon,
html:has(#admin) .page.admin-members-page main .component.content-header h1 ion-icon,
html:has(#admin) .page.admin-members-page main .component.content-header h2 ion-icon,
html:has(#admin) .page.admin-members-page main .component.content-header h3 ion-icon,
html:has(#admin) .page.admin-members-page main .component.content-header h4 ion-icon,
html:has(#admin) .page.admin-members-page main .component.content-header h5 ion-icon,
html:has(#admin) .page.admin-members-page main .component.content-header h6 ion-icon {
  font-size: 1.3em;
  margin-right: 8px;
}
html:has(#admin) .page.admin-page .component.content,
html:has(#admin) .page.admin-dashboard-page .component.content,
html:has(#admin) .page.admin-matches-page .component.content,
html:has(#admin) .page.admin-members-page .component.content {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
html:has(#admin) .component.flex-container {
  display: flex;
  flex-direction: row;
}
html:has(#admin) .component.flex-container > * {
  flex-basis: 50%;
}
html:has(#admin) .component.quick-graph {
  border: 1px solid #ddd;
  border-radius: 6px;
  min-height: 150px;
  padding: 10px 16px;
  color: #333;
  max-width: 450px;
}
html:has(#admin) .component.quick-graph header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
html:has(#admin) .component.quick-graph header > * {
  display: flex;
  align-items: center;
}
html:has(#admin) .component.quick-graph header > :first-child ion-icon {
  font-size: 1.2em;
  margin-right: 0.5ch;
}
html:has(#admin) .component.quick-graph .data {
  display: flex;
  margin-top: auto;
  flex-direction: column;
  margin-bottom: 6px;
}
html:has(#admin) .component.quick-graph .data .total {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 3px;
}
html:has(#admin) .component.quick-graph .data .meta {
  font-size: 12px;
  display: flex;
  column-gap: 1ch;
  align-items: center;
  white-space: nowrap;
}
html:has(#admin) .component.quick-graph .data .delta {
  display: flex;
  align-items: center;
  column-gap: 2px;
}
html:has(#admin) .component.quick-graph .data .delta ion-icon {
  font-size: 1.6em;
}
html:has(#admin) .component.quick-graph .data .delta.negative {
  color: var(--color-danger);
}
html:has(#admin) .component.quick-graph .data .delta.positive {
  color: var(--color-success);
}
html:has(#admin) .component.quick-graph .data .delta.stable {
  color: black;
}
html:has(#admin) .component.quick-graph .data .timeframe {
  color: #999;
}
html:has(#admin) .component.quick-graph .component.flex-container {
  column-gap: 2ch;
}
html:has(#admin) .component.vertical-spacer {
  height: 28px;
}
html:has(#admin) .component.vertical-spacer.variant-stretch {
  flex-grow: 1;
  flex-basis: 100%;
}
html:has(#admin) .component.segmented-button {
  background: #f1f1f1;
  display: inline-block;
  padding: 3px;
  border-radius: 4px;
  font-size: 12px;
}
html:has(#admin) .component.segmented-button > div {
  display: inline-block;
  border-radius: 4px;
  padding: 2px 10px;
  border: 1px solid transparent;
}
html:has(#admin) .component.segmented-button > div.selected {
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.08);
  background: white;
  border-color: #eae9ee;
}
html:has(#admin) .pill {
  background: #eee;
  border-radius: 15px;
  display: inline-block;
  width: max-content;
  border: 1px solid transparent;
}
html:has(#admin) .pill.active {
  border-color: black;
}
html:has(#admin) .pill.active a {
  color: black;
}
html:has(#admin) .pill:hover {
  background: #f0f0f0;
}
html:has(#admin) .pill a {
  text-decoration: none;
  color: #666;
  display: block;
  padding: 3px 15px;
}

@font-face {
  font-family: "arcoregular";
  src: url("/fonts/arco_for_osx-webfont-67ec67ceeb9ab8da4aa8390e9af693f5.woff2?vsn=d") format("woff2"), url("/fonts/arco_for_osx-webfont-c133335fd0fa6c88bece5f80c4838ab4.woff?vsn=d") format("woff");
  font-weight: normal;
  font-style: normal;
}
html:has(#pwa) {
  width: 100%;
}

html:has(#pwa) body {
  background: #182034;
  background-size: 900px;
  color: white;
  width: 100%;
  padding: 0;
  margin: 0;
  padding-bottom: 70px;
  font-family: "Helvetica Neue", sans-serif;
}
html:has(#pwa) .mahjongtile {
  width: 80px;
  height: 129px;
  display: inline-block;
  background-image: url("/images/hand_ui-c0c680209bb5bd19fd70c98f7b71b6c0.png?vsn=d");
  background-position: 0px 0px;
  background-repeat: no-repeat;
}
html:has(#pwa) .mahjongtile[data-tileface="0m"] {
  background-position: 0px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="0p"] {
  background-position: 0px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="0s"] {
  background-position: 0px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="1m"] {
  background-position: -80px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="1p"] {
  background-position: -80px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="1s"] {
  background-position: -80px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="2m"] {
  background-position: -160px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="2p"] {
  background-position: -160px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="2s"] {
  background-position: -160px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="3m"] {
  background-position: -240px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="3p"] {
  background-position: -240px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="3s"] {
  background-position: -240px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="4m"] {
  background-position: -320px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="4p"] {
  background-position: -320px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="4s"] {
  background-position: -320px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="5m"] {
  background-position: -400px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="5p"] {
  background-position: -400px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="5s"] {
  background-position: -400px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="6m"] {
  background-position: -480px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="6p"] {
  background-position: -480px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="6s"] {
  background-position: -480px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="7m"] {
  background-position: -560px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="7p"] {
  background-position: -560px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="7s"] {
  background-position: -560px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="8m"] {
  background-position: -640px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="8p"] {
  background-position: -640px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="8s"] {
  background-position: -640px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="9m"] {
  background-position: -720px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="9p"] {
  background-position: -720px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="9s"] {
  background-position: -720px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="10m"] {
  background-position: -800px -129px;
}
html:has(#pwa) .mahjongtile[data-tileface="10p"] {
  background-position: -800px -258px;
}
html:has(#pwa) .mahjongtile[data-tileface="10s"] {
  background-position: -800px 0;
}
html:has(#pwa) .mahjongtile[data-tileface="1z"] {
  background-position: 0px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface="2z"] {
  background-position: -80px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface="3z"] {
  background-position: -160px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface="4z"] {
  background-position: -240px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface="5z"] {
  background-position: -320px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface="6z"] {
  background-position: -400px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface="7z"] {
  background-position: -480px -387px;
}
html:has(#pwa) .mahjongtile[data-tileface=back] {
  background-position: -560px -387px;
}
html:has(#pwa) .page {
  padding: 1rem 0.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
html:has(#pwa) .page.fullwidth {
  padding: 0;
}
html:has(#pwa) .elo-display .elo-link {
  text-align: center;
  color: #e4a66b;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  justify-content: center;
  flex-direction: row;
  font-size: 44px;
  text-decoration: none;
  column-gap: 10px;
}
html:has(#pwa) .elo-display .elo-link > span:last-child {
  position: relative;
  top: -7px;
}
html:has(#pwa) .profile-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 20px;
  flex-wrap: wrap;
  padding: 0 10px;
}
html:has(#pwa) .profile-header .player-ranking {
  margin: 10px 0 0 0;
  background: #161826;
  border: 1px solid #29354d;
  padding: 10px;
  width: 100%;
  display: flex;
  min-height: 120px;
  justify-content: space-around;
}
html:has(#pwa) .profile-header .player-ranking:has(.profile-photo) {
  justify-content: space-between;
}
html:has(#pwa) .profile-header .player-ranking .elo {
  text-align: center;
  color: #e4a66b;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
html:has(#pwa) .profile-header .player-ranking .elo div {
  font-size: 1.2rem;
}
html:has(#pwa) .profile-header .player-ranking .elo div + div {
  font-size: 2.4rem;
  font-weight: bold;
}
html:has(#pwa) .profile-header .player-ranking .rank {
  position: relative;
  width: 100px;
  user-select: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
html:has(#pwa) .profile-header .player-ranking .rank img {
  width: 80px;
  height: 80px;
  position: absolute;
}
html:has(#pwa) .profile-header .player-ranking .rank.theme-green .rank-value,
html:has(#pwa) .profile-header .player-ranking .rank.theme-green .rank-title {
  -webkit-text-stroke: 3px rgb(58, 139, 40);
  text-shadow: 2px 2px rgb(63, 107, 38);
}
html:has(#pwa) .profile-header .player-ranking .rank.theme-red .rank-value,
html:has(#pwa) .profile-header .player-ranking .rank.theme-red .rank-title {
  -webkit-text-stroke: 3px rgb(139, 40, 40);
  text-shadow: 2px 2px rgb(107, 38, 38);
}
html:has(#pwa) .profile-header .player-ranking .rank .rank-value {
  font-family: "arcoregular";
  font-size: 46px;
  position: absolute;
  top: 5px;
  text-align: center;
  width: 100px;
}
html:has(#pwa) .profile-header .player-ranking .rank .rank-title {
  font-family: "arcoregular";
  font-size: 26px;
  position: absolute;
  top: 55px;
  text-align: center;
  width: 100px;
}
html:has(#pwa) .profile-header .profile-photo img {
  width: 100px;
  height: 100px;
}
html:has(#pwa) .nameplate {
  background: #161826;
  border: 1px solid #29354d;
  border-radius: 4px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.5rem;
  padding: 5px 0 0 0;
}
html:has(#pwa) .nameplate ion-icon {
  color: slategray;
  font-size: 1.25rem;
  padding-bottom: 0.2rem;
}
html:has(#pwa) .nameplate-sub a {
  text-decoration: none;
}
html:has(#pwa) .achievements {
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
html:has(#pwa) .achievement {
  width: 70px;
  height: 70px;
}
html:has(#pwa) .achievement[data-achievementid="1"] {
  background: url("/images/achievement-dummy-db550ed5b2386348bd317a0bd141bd3b.png?vsn=d") center center no-repeat;
  background-size: contain;
}
html:has(#pwa) button.add-achievement {
  width: 65px;
  height: 65px;
  background: transparent;
  border: 1px dashed slategray;
  border-radius: 4px;
}
html:has(#pwa) button.add-achievement::after {
  content: "+";
  color: slategray;
  font-size: 1.8rem;
}
html:has(#pwa) .achievement-placeholder {
  width: 65px;
  height: 65px;
  background: transparent;
  border: 1px dashed slategray;
  border-radius: 4px;
}
html:has(#pwa) .flex-space {
  background: transparent;
  flex-grow: 1;
  min-width: 5rem;
  height: 1rem;
}
html:has(#pwa) .elo-rating {
  font-size: 1.4rem;
  text-align: center;
  color: #e4a66b;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-style: normal;
}
html:has(#pwa) .elo-rating div:last-child {
  font-size: 2.7rem;
  font-weight: 900;
  letter-spacing: 0.5px;
}
html:has(#pwa) .kyu-dan-rating {
  width: 200px;
  height: 100px;
}
html:has(#pwa) .kyu-dan-rating[data-rating="9-kyu"] {
  background: url("/images/kyu-dan-dummy-c399f0f6b34bacd49cfe1ee1e601324d.png?vsn=d") center center no-repeat;
  background-size: contain;
}
html:has(#pwa) section {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  background: #161826;
  border: 1px solid #29354d;
  border-radius: 4px;
  padding: 10px;
}
html:has(#pwa) section h2 {
  margin: 0;
  font-family: "Permanent Marker", serif;
  font-weight: 400;
  font-style: normal;
  color: #e4a66b;
}
html:has(#pwa) section.small-interject {
  margin: 10px 40px 20px;
  padding: 5px 7px;
}
html:has(#pwa) section.small-interject p {
  padding: 0;
  margin: 0;
  font-size: 0.9em;
  text-wrap: pretty;
}
html:has(#pwa) .recent-match-details {
  padding-left: 3px;
  font-size: 0.9em;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
}
html:has(#pwa) .recent-match-details ion-icon {
  vertical-align: middle;
  position: relative;
  top: -2px;
}
html:has(#pwa) .recent-match-details a {
  text-decoration: none;
  vertical-align: middle;
}
html:has(#pwa) .recent-match-details a ion-icon {
  font-size: 18px;
}
html:has(#pwa) .recent-matches-display {
  margin-bottom: 20px;
}
html:has(#pwa) .recent-matches-display table {
  width: 100%;
  text-align: center;
}
html:has(#pwa) .recent-matches-display table thead th {
  background: #a72525;
}
html:has(#pwa) .recent-matches-display table tr td {
  border-bottom: 1px solid grey;
  padding: 10px 5px;
  font-size: 0.8em;
}
html:has(#pwa) .recent-matches-display table tr td:not(:has(> a)) {
  pointer-events: none;
}
html:has(#pwa) .recent-matches-display table td.highlight {
  font-weight: bold;
  font-size: 0.9em;
}
html:has(#pwa) .recent-matches-display table td > a {
  text-decoration: none;
  display: inline-block;
  width: 100%;
  height: 100%;
}
html:has(#pwa) .recent-matches-display table td.is-self {
  pointer-events: none;
}
html:has(#pwa) .yakuman-display .yakuman-hand {
  display: flex;
  column-gap: 1px;
}
html:has(#pwa) .yakuman-display .yakuman-hand .mahjongtile {
  zoom: 0.7;
}
html:has(#pwa) .chart-container {
  position: relative;
}
html:has(#pwa) #placementChart {
  height: 100px;
}
html:has(#pwa) nav.nav-mobile {
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 10px 10px 20px 10px;
  display: flex;
  box-shadow: 0 2 2 rgba(0, 0, 0, 0.1);
  border-top: 1px solid #666;
  justify-content: flex-start;
  flex-direction: row;
  background: #182034;
  z-index: 1000;
}
html:has(#pwa) nav.nav-mobile > .scroll-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
}
html:has(#pwa) nav.nav-mobile > .scroll-wrapper > * {
  scroll-snap-align: start;
}
html:has(#pwa) nav.nav-mobile a {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
  min-width: 85px;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  row-gap: 3px;
}
@media screen and (min-width: 550px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 16.6666666667%;
  }
}
@media screen and (min-width: 635px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 14.2857142857%;
  }
}
@media screen and (min-width: 720px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 12.5%;
  }
}
@media screen and (min-width: 805px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 11.1111111111%;
  }
}
@media screen and (min-width: 890px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 10%;
  }
}
@media screen and (min-width: 975px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 9.0909090909%;
  }
}
@media screen and (min-width: 1060px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 8.3333333333%;
  }
}
@media screen and (min-width: 1145px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 7.6923076923%;
  }
}
@media screen and (min-width: 1230px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 7.1428571429%;
  }
}
@media screen and (min-width: 1315px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 6.6666666667%;
  }
}
@media screen and (min-width: 1400px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 6.25%;
  }
}
@media screen and (min-width: 1485px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 5.8823529412%;
  }
}
@media screen and (min-width: 1570px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 5.5555555556%;
  }
}
@media screen and (min-width: 1655px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 5.2631578947%;
  }
}
@media screen and (min-width: 1740px) {
  html:has(#pwa) nav.nav-mobile a {
    flex-basis: 5%;
  }
}
html:has(#pwa) nav.nav-mobile a ion-icon {
  font-size: 2.2em;
  width: 30px;
  height: 30px;
}
html:has(#pwa) nav.nav-mobile a {
  font-family: sans-serif;
  font-size: 0.8em;
}
html:has(#pwa) nav.nav-mobile a.active, html:has(#pwa) nav.nav-mobile a.active ion-icon {
  color: #a72525;
  /* Fallback: Set a background color. */
  background-color: red;
  /* Create the gradient. */
  background-image: linear-gradient(173deg, hsl(0, 65%, 76%), #a72525);
  /* Set the background size and repeat properties. */
  background-size: 100%;
  background-repeat: repeat;
  /* Use the text as a mask for the background. */
  /* This will show the gradient as a text color rather than element bg. */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
}
html:has(#pwa) nav.nav-mobile a ion-icon.trophy-gold {
  background-color: #b8860b;
  background-image: linear-gradient(135deg, #fff0a0 0%, #ffd700 25%, #b8860b 50%, #ffd700 75%, #fff0a0 100%) !important;
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  color: gold;
}
html:has(#pwa) nav.nav-mobile a ion-icon.trophy-silver {
  background-color: #a8a8a8;
  background-image: linear-gradient(135deg, #f4f4f4 0%, #c8c8c8 25%, #888888 50%, #c8c8c8 75%, #f4f4f4 100%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  color: silver;
}
html:has(#pwa) nav.nav-mobile a ion-icon.trophy-bronze {
  background-color: #cd7f32;
  background-image: linear-gradient(135deg, #f4c07a 0%, #cd7f32 25%, #7a4010 50%, #cd7f32 75%, #f4c07a 100%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  color: #cd7f32;
}
html:has(#pwa) nav.nav-mobile a[disabled] {
  pointer-events: none;
  opacity: 0.3;
}
html:has(#pwa) nav.nav-mobile .profile-photo img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
html:has(#pwa) body:has(.pseudo-background #flash) table.component.leaderboard {
  margin-top: 310px !important;
}
html:has(#pwa) table.component.leaderboard {
  font-family: "Arial Rounded MT Bold", sans-serif;
  font-size: 1.3em;
  margin-top: 220px;
}
html:has(#pwa) table.component.leaderboard:not(:has(+ section.small-interject)) {
  margin-bottom: 50px;
}
html:has(#pwa) table.component.leaderboard thead {
  background: #161826;
}
html:has(#pwa) table.component.leaderboard thead th {
  text-align: left;
  height: 2.4em;
}
html:has(#pwa) table.component.leaderboard tr.not-qualified {
  color: #bbb;
}
html:has(#pwa) table.component.leaderboard td {
  height: calc(1lh + 20px);
}
html:has(#pwa) table.component.leaderboard td > * {
  display: flex;
  align-items: center;
  height: 100%;
}
html:has(#pwa) table.component.leaderboard td a {
  text-decoration: none;
}
html:has(#pwa) table.component.leaderboard td.rank > *,
html:has(#pwa) table.component.leaderboard td.arrow > * {
  justify-content: center;
}
html:has(#pwa) table.component.leaderboard th.points {
  text-align: right;
}
html:has(#pwa) table.component.leaderboard td.points > * {
  justify-content: flex-end;
}
html:has(#pwa) table.component.leaderboard td.player {
  font-family: "Helvetica Neue", sans-serif;
}
html:has(#pwa) table.component.leaderboard td.rank,
html:has(#pwa) table.component.leaderboard td.points {
  font-weight: bold;
}
html:has(#pwa) table.component.leaderboard th.rank,
html:has(#pwa) table.component.leaderboard td.rank,
html:has(#pwa) table.component.leaderboard th.arrow,
html:has(#pwa) table.component.leaderboard td.arrow {
  width: 40px;
}
html:has(#pwa) table.component.leaderboard tr td {
  background: #182034;
  border-bottom: 1px solid #444;
}
html:has(#pwa) table.component.leaderboard .profile-photo {
  border-radius: 50%;
  width: 35px;
  height: 35px;
  display: inline-block;
  background: slategray;
  border: 1px solid slategray;
  display: none;
}
html:has(#pwa) .page.page-leaderboard .pseudo-background {
  position: fixed;
  top: 0;
  width: 100%;
  background: #182034;
  z-index: -1;
  display: flex;
  flex-direction: column;
}
html:has(#pwa) .page.page-leaderboard .pseudo-background .logo {
  width: 140px;
  height: auto;
  align-self: center;
  margin: 20px 0 0 0;
}
html:has(#pwa) .page.page-leaderboard .pseudo-background h1 {
  font-family: "Arial Rounded MT Bold", sans-serif;
  align-self: center;
  margin: 0 0 20px 0;
}
html:has(#pwa) h1.page-title,
html:has(#pwa) h2.page-title,
html:has(#pwa) h3.page-title,
html:has(#pwa) h4.page-title,
html:has(#pwa) h5.page-title,
html:has(#pwa) h6.page-title {
  font-family: "Arial Rounded MT Bold", sans-serif;
  text-align: center;
  margin: 0;
}
html:has(#pwa) .component.player-select {
  display: flex;
  flex-direction: column;
}
html:has(#pwa) .component.player-select .wind-bar {
  background: darkred;
  font-weight: bold;
  padding: 0 10px;
  width: 100%;
  height: 35px;
  display: flex;
  align-items: center;
}
html:has(#pwa) .component.player-select .player-picker {
  background: lightgrey;
  height: 30px;
}
html:has(#pwa) .component.player-select .player-picker + div {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  height: 36px;
}
html:has(#pwa) .component.player-select .player-picker + div > * {
  width: 100%;
  height: 100%;
}
html:has(#pwa) .component.player-select select {
  border: 0;
  background: none;
  width: 100%;
  height: 100%;
  padding: 0 10px;
}
html:has(#pwa) .component.player-select .points-input {
  margin: 0;
  padding: 0;
}
html:has(#pwa) .component.player-select .points-input input {
  background: lightgrey;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  text-align: right;
  font-size: 1.1em;
  padding: 5px 5px;
}
html:has(#pwa) .component.player-select .yakuman-input {
  background: lightgrey;
  color: #444;
  padding: 5px 5px 5px 10px;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.7em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-basis: 200px;
}
html:has(#pwa) .save-match-tools {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  row-gap: 10px;
  margin-top: 20px;
  margin-bottom: 50px;
  position: fixed;
  background: darkred;
  padding: 0.5rem;
  bottom: 32px;
  width: calc(100% - 1rem);
}
html:has(#pwa) form:has(.save-match-tools) {
  position: relative;
  margin-bottom: 50px;
}
html:has(#pwa) .errors-found {
  display: none;
}
html:has(#pwa) .points-calculation {
  flex-grow: 1;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 2ch;
  flex-wrap: wrap;
}
html:has(#pwa) .points-calculation .headline {
  font-size: 0.7em;
}
html:has(#pwa) .points-calculation .value {
  font-family: "Arial Rounded MT Bold", sans-serif;
  font-size: 1em;
}
html:has(#pwa) button.save-match {
  padding: 4px 1ch;
  border: 0;
  background: green;
  border-radius: 4px;
  color: white;
  font-weight: bold;
  font-size: 0.8em;
  border-top: 2px solid rgb(73, 139, 73);
  border-left: 2px solid rgb(73, 139, 73);
  border-bottom: 2px solid darkgreen;
  border-right: 2px solid darkgreen;
  position: relative;
}
html:has(#pwa) button.save-match:active {
  top: 1px;
}
html:has(#pwa) button.save-match[disabled] {
  background: grey;
  border-color: #666;
  color: #c9c9c9;
}
html:has(#pwa) .settings-link {
  display: flex;
  justify-content: flex-end;
}
html:has(#pwa) .settings-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  column-gap: 5px;
  text-decoration: none;
  color: #737d94;
}
html:has(#pwa) .flash {
  background: darkgreen;
  margin: 20px;
  border-radius: 4px;
  padding: 0px 10px 10px;
}
html:has(#pwa) .flash .title {
  font-weight: bold;
  text-transform: uppercase;
  margin: 3px 0 0 0;
  font-size: 0.8em;
}
html:has(#pwa) .flash p {
  margin: 0;
}
html:has(#pwa) .flash button.close-button {
  float: right;
  border: 1px solid navy;
  border-radius: 4px;
  background: rgb(73, 139, 73);
  color: white;
  padding: 2px 15px;
  font-size: 0.9em;
  display: none;
}
html:has(#pwa) .component.tab-container:has([data-tab=tab-1]:checked) .content[data-tab=tab-1] {
  display: block;
}
html:has(#pwa) .component.tab-container:has([data-tab=tab-2]:checked) .content[data-tab=tab-2] {
  display: block;
}
html:has(#pwa) .component.tab-container .tabs {
  display: flex;
  column-gap: 5px;
}
html:has(#pwa) .component.tab-container .tab {
  display: inline-block;
  flex-basis: 50%;
  border: 1px solid white;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 0;
  padding: 10px;
}
html:has(#pwa) .component.tab-container .content {
  display: none;
  padding: 5px 10px;
  border: 1px solid white;
}
html:has(#pwa) .component.tab-container .content.fullwidth {
  padding: 0;
}
html:has(#pwa) ul.unclaimed-players {
  list-style: none;
  padding: 0;
  margin: 0;
}
html:has(#pwa) ul.unclaimed-players li {
  background: rgba(0, 0, 0, 0.3);
  padding: 9px 17px 9px 12px;
}
html:has(#pwa) ul.unclaimed-players li:nth-child(2n) {
  background: rgba(0, 0, 0, 0.7);
}
html:has(#pwa) ul.unclaimed-players li > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
html:has(#pwa) ul.unclaimed-players li button {
  font-weight: bold;
  background: green;
  border-radius: 4px;
  border: 4px solid green;
  padding: 1px 7px;
  color: white;
  transition: width 0.3s ease-in-out;
}
html:has(#pwa) ul.unclaimed-players li button.selected-for-verification {
  border-color: gold;
}
html:has(#pwa) .component.register-player {
  padding: 30px 20px 20px 20px;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
html:has(#pwa) .component.register-player input[type=text] {
  width: 100%;
  background: slategray;
  border: 1px solid grey;
  padding: 2px 7px;
}
html:has(#pwa) .component.register-player input[type=text]::placeholder {
  color: #fff;
}
html:has(#pwa) .component.register-player button {
  background: green;
  border: 0;
  border-radius: 4px;
  color: white;
  padding: 5px 10px;
  font-weight: bold;
  margin-top: 10px;
}
html:has(#pwa) .component.schedule-list {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  margin-bottom: 30px;
}
html:has(#pwa) .component.schedule-month-divider {
  background: darkred;
  padding: 5px 15px;
  border-radius: 4px;
  font-weight: bold;
  letter-spacing: 0.5px;
  margin-left: 20px;
  margin-top: 12px;
  margin-bottom: 2px;
}
html:has(#pwa) .component.schedule-month-divider.expired {
  background-color: #666;
  color: #808080;
}
html:has(#pwa) .component.schedule-month-divider:first-child {
  margin-top: 0;
}
html:has(#pwa) .component.schedule-month-divider:has(+ .component.schedule-day.upcoming) {
  margin-left: 40px;
}
html:has(#pwa) a.component.schedule-day {
  color: inherit;
  text-decoration: none;
}
html:has(#pwa) .component.schedule-day {
  display: flex;
  border: 5px solid darkred;
  border-radius: 10px;
  padding: 5px 25px 5px 15px;
  column-gap: 2ch;
  position: relative;
}
html:has(#pwa) .component.schedule-day.expired {
  border-color: #666;
  color: #666;
}
html:has(#pwa) .component.schedule-day .location {
  flex-grow: 1;
  font-size: 0.8em;
}
html:has(#pwa) .component.schedule-day .location .building {
  font-size: 2em;
  font-weight: bold;
}
html:has(#pwa) .component.schedule-day .day {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-family: "Arial Rounded MT Bold", sans-serif;
}
html:has(#pwa) .component.schedule-day.upcoming {
  margin-left: 20px;
}
html:has(#pwa) .component.schedule-day.upcoming::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid gold;
  border-right: 0;
  position: absolute;
  top: calc(50% - 30px);
  left: -20px;
}
html:has(#pwa) .component.schedule-day.upcoming::after {
  content: "Next";
  position: absolute;
  transform: rotate(-90deg);
  top: calc(50% - 10px);
  left: calc(-20px - 1ch);
  color: black;
  font-weight: bold;
  font-size: 0.8em;
}
html:has(#pwa) .component.schedule-day .attending {
  position: absolute;
  top: -2px;
  right: -2px;
  height: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-left: 3px solid darkred;
  border-bottom: 3px solid darkred;
  border-radius: 3px;
  padding: 0 10px 0 5px;
  background: darkred;
  font-size: 0.8em;
}
html:has(#pwa) .component.today-marker {
  background: darkred;
  height: 3px;
  width: 100%;
  margin: 1ch 0;
}

.debug-placeholder {
  filter: grayscale(1);
  opacity: 0.55;
}
.debug-placeholder,
.debug-placeholder * {
  pointer-events: none;
  user-select: none;
}

:root {
  --color-success: #198754;
  --color-warning: #ffc107;
  --color-danger: #dc3545;
}

.color-success {
  color: var(--color-success);
}

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

.rounded-link,
.profile-page .settings-link {
  font-size: 18px;
  height: 38px;
  width: 60%;
  margin: 0px auto 50px;
}
.rounded-link a,
.profile-page .settings-link a {
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid #ccc;
  border-radius: 25px;
  position: relative;
  user-select: none;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 5px;
  text-decoration: none;
}
.rounded-link a:active,
.profile-page .settings-link a:active {
  top: 1px;
}
.rounded-link a *,
.profile-page .settings-link a * {
  color: #eee;
  vertical-align: middle;
  text-align: center;
}
.rounded-link ion-icon,
.profile-page .settings-link ion-icon {
  font-size: 20.8px;
}

#pwa.page.profile-page .achievements-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  /* justify-content: flex-start; */
  /* flex-wrap: wrap; */
  /* flex-direction: row; */
  /* padding: 0 10px; */
  padding-bottom: 15px;
}
#pwa.page.profile-page .achievements-showcase .badge {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  height: 100px;
}
#pwa.page.profile-page .achievements-showcase .badge img {
  width: 150px;
  max-width: initial;
}
#pwa.page.profile-page .new-achievement-modal {
  position: absolute;
  /* background: lightblue; */
  top: 0;
  left: 0;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  z-index: 10;
  overflow: hidden;
}
#pwa.page.profile-page .new-achievement-modal::before {
  content: "";
  position: absolute;
  left: calc(50% - 62.5vh);
  top: calc(50% - 62.5vh);
  width: 125vh;
  width: 125dvh;
  height: 125vh;
  height: 125dvh;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.5) 0%, rgba(255, 255, 255, 0) 60%), repeating-conic-gradient(from 0deg, rgba(255, 215, 0, 0.04) 0deg 15deg, transparent 15deg 30deg);
  background-blend-mode: multiply;
  animation: spin-rays 30s linear infinite;
}
@keyframes spin-rays {
  to {
    transform: rotate(360deg);
  }
}
#pwa.page.profile-page .new-achievement-modal .title {
  text-align: center;
  position: relative;
  top: 10%;
  font-size: 48px;
  font-family: "Arial Rounded MT Bold";
  color: white;
  background: #182034;
  position: relative;
  padding: 20px 10px;
  line-height: 1;
  overflow: hidden;
}
#pwa.page.profile-page .new-achievement-modal .title::before, #pwa.page.profile-page .new-achievement-modal .title::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 10px;
  background-size: 58px 40px;
  background-image: repeating-linear-gradient(45deg, gold 0 10px, orange 10px 20px);
  z-index: 2;
}
#pwa.page.profile-page .new-achievement-modal .title::before {
  top: 0px;
  animation: stripeRight 180s linear infinite;
}
#pwa.page.profile-page .new-achievement-modal .title::after {
  bottom: 0px;
  animation: stripeLeft 180s linear infinite;
}
@keyframes stripeRight {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 4000px 0;
  }
}
@keyframes stripeLeft {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -4000px 0;
  }
}
#pwa.page.profile-page .new-achievement-modal .badges {
  position: absolute;
  top: calc(50% - 75px);
  display: flex;
  width: 80%;
  left: 10%;
  height: 125px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#pwa.page.profile-page .new-achievement-modal .badges:has(.badge:nth-child(2)) .badge {
  max-width: 250px;
  max-height: 250px;
}
#pwa.page.profile-page .new-achievement-modal .badges:has(.badge:nth-child(3)) .badge {
  max-width: 175px;
  max-height: 175px;
}
#pwa.page.profile-page .new-achievement-modal .badge {
  /* position: absolute; */
  /* top: calc(50% - 125px); */
  /* left: calc(50% - 125px); */
  width: 250px;
  height: 250px;
  /* height: 125px; */
  display: flex;
  align-items: center;
}
#pwa.page.profile-page .new-achievement-modal .badge img {
  /* background: pink; */
  max-height: 100%;
}
#pwa.page.profile-page .new-achievement-modal .description-panel {
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  background: #182034;
  border: 3px solid white;
  border-radius: 4px;
  padding: 15px;
  text-wrap: pretty;
  text-align: center;
  width: 70%;
  left: 15%;
  top: 70%;
}
#pwa.page.profile-page .new-achievement-modal .description-panel .details {
  display: none;
}
#pwa.page.profile-page .new-achievement-modal .description-panel .details[data-index="0"] {
  display: block;
}
#pwa.page.profile-page .new-achievement-modal .description-panel .badge-name {
  letter-spacing: 1px;
  text-wrap: balance;
  margin-bottom: 10px;
}
#pwa.page.profile-page .new-achievement-modal .description-panel p {
  margin: 0;
  font-size: 0.9em;
  text-wrap: balance;
}
#pwa.page.profile-page .new-achievement-modal .description-panel .close {
  position: absolute;
  right: -23px;
  border-radius: 200px;
  padding: 1px 10px 3px;
  bottom: -18px;
  background: #182034;
  color: white;
  font-size: 0.8em;
  border: 2px solid #aaa;
}

#pwa.page.profile-page:has(.new-achievement-modal) > * {
  opacity: 0.3;
}
#pwa.page.profile-page:has(.new-achievement-modal) .new-achievement-modal {
  opacity: 1;
}

.page.settings-page div.setting-section {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  border: 1px solid white;
  border-radius: 4px;
  padding: 15px 13px 15px 10px;
}
.page.settings-page div.setting-section input[type=checkbox] {
  zoom: 1.3;
}
.page.settings-page div.setting-section .setting-title {
  font-weight: bold;
}
.page.settings-page div.setting-section select {
  width: 150px;
}

html:not(:has(#pwa, #admin)) {
  /* latin */
}
@font-face {
  font-family: "Bad Script";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/badscript-latin-317384a2076211aa6cfd6a0110ab8746.woff2?vsn=d") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html:not(:has(#pwa, #admin)) {
  /* latin-ext */
}
@font-face {
  font-family: "Island Moments";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/island-moments-latin-ext-56dd24324fc3e1446584dd8da1ebc61e.woff2?vsn=d") format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
html:not(:has(#pwa, #admin)) {
  /* latin */
}
@font-face {
  font-family: "Island Moments";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/island-moments-latin-52bd63ffd9bfa1ca4bc432da8ee548aa.woff2?vsn=d") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
html:not(:has(#pwa, #admin)) {
  /* latin-ext */
}
@font-face {
  font-family: "Poetsen One";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/poetsen-one-latin-ext-90c0ebda96e030c80faabe54682f15f8.woff2?vsn=d") format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
html:not(:has(#pwa, #admin)) {
  /* latin */
}
@font-face {
  font-family: "Poetsen One";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/poetsen-one-latin-582ccc37da364b7f62a3376ae49fcd24.woff2?vsn=d") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Condiment";
  src: url("/fonts/condiment-93776fbec87261b2093e10d3dcb8fff2.woff2?vsn=d") format("woff2"), url("/fonts/condiment-52f41f6dcb9d96a1af17e36e8cc971cb.woff?vsn=d") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
html:not(:has(#pwa, #admin)) {
  /*
  This file was generated by the Surface compiler.
  */
  /* FourWindsFrankfurtWeb.Components.Card.render/1 (c6vbo) */
}
html:not(:has(#pwa, #admin)) .card[s-c6vbo] {
  @apply overflow-hidden shadow-md;
}
html:not(:has(#pwa, #admin)) .content[s-c6vbo] {
  @apply px-6 py-4 text-gray-700 text-base;
}
html:not(:has(#pwa, #admin)) .header[s-c6vbo] {
  @apply p-6 font-semibold text-2xl text-brand w-full bg-gray-200;
}
html:not(:has(#pwa, #admin)) .footer[s-c6vbo] {
  @apply px-6 py-4;
}
html:not(:has(#pwa, #admin)) {
  /* FourWindsFrankfurtWeb.Components.CardExamples.card_with_footer_example/1 (betuq) */
}
html:not(:has(#pwa, #admin)) .tag[s-betuq] {
  @apply bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2;
}
html:not(:has(#pwa, #admin)) {
  /* FourWindsFrankfurtWeb.Demo.render/1 (wo36p) */
}
html:not(:has(#pwa, #admin)) .tag[s-wo36p] {
  @apply bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700 mr-2;
}
html:not(:has(#pwa, #admin)) .scrollable-container {
  max-width: 100dvw;
  overflow: auto;
  max-width: 80dvw;
  margin-right: 10dvw;
  box-shadow: inset -25px 0px 25px -25px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 720px) {
  html:not(:has(#pwa, #admin)) .scrollable-container {
    box-shadow: none;
    margin-right: 0;
  }
}
html:not(:has(#pwa, #admin)) table.ranking,
html:not(:has(#pwa, #admin)) table.match-list {
  border-top: 1px solid rgb(226, 226, 226);
  border-left: 1px solid rgb(226, 226, 226);
  border-radius: 5px;
}
html:not(:has(#pwa, #admin)) table.ranking thead,
html:not(:has(#pwa, #admin)) table.match-list thead {
  border-radius: 5px;
}
html:not(:has(#pwa, #admin)) table.ranking thead tr:first-child th,
html:not(:has(#pwa, #admin)) table.match-list thead tr:first-child th {
  background: #d1232e;
  color: white;
}
html:not(:has(#pwa, #admin)) table.ranking thead tr:first-child th:first-child,
html:not(:has(#pwa, #admin)) table.match-list thead tr:first-child th:first-child {
  border-top-left-radius: 5px;
}
html:not(:has(#pwa, #admin)) table.ranking thead tr:first-child th:last-child,
html:not(:has(#pwa, #admin)) table.match-list thead tr:first-child th:last-child {
  border-top-right-radius: 5px;
}
html:not(:has(#pwa, #admin)) table.ranking tbody tr:last-child td:first-child,
html:not(:has(#pwa, #admin)) table.match-list tbody tr:last-child td:first-child {
  border-bottom-left-radius: 5px;
}
html:not(:has(#pwa, #admin)) table.ranking tbody tr:last-child td:last-child,
html:not(:has(#pwa, #admin)) table.match-list tbody tr:last-child td:last-child {
  border-bottom-right-radius: 5px;
}
html:not(:has(#pwa, #admin)) table.ranking th,
html:not(:has(#pwa, #admin)) table.ranking td,
html:not(:has(#pwa, #admin)) table.match-list th,
html:not(:has(#pwa, #admin)) table.match-list td {
  border-right: 1px solid rgb(226, 226, 226);
  border-bottom: 1px solid rgb(226, 226, 226);
  padding: 5px 15px;
  text-align: left;
}
html:not(:has(#pwa, #admin)) table.ranking .month td,
html:not(:has(#pwa, #admin)) table.match-list .month td {
  font-weight: bold;
  text-align: center;
  padding: 10px;
}
html:not(:has(#pwa, #admin)) table.match-list td {
  vertical-align: top;
  line-height: 1.2em;
}
html:not(:has(#pwa, #admin)) table.match-list td.player-cell .individual-score {
  font-size: 0.9em;
  color: #777;
}
html:not(:has(#pwa, #admin)) table.match-list td.player-cell[data-placement="1"] {
  font-weight: bold;
}
html:not(:has(#pwa, #admin)) table.match-list td.player-cell[data-placement="1"] .individual-score {
  color: black;
}
html:not(:has(#pwa, #admin)) table.match-list td.player-cell .uma {
  font-weight: bold;
  color: #d1232e;
  letter-spacing: 2px;
  font-size: 0.7em;
  vertical-align: bottom;
  padding-left: 0.5ch;
}
html:not(:has(#pwa, #admin)) table.match-list td.missing-player-cell {
  position: relative;
}
html:not(:has(#pwa, #admin)) table.match-list td.missing-player-cell::before {
  content: "";
  width: 90%;
  height: 3px;
  background: rgb(228, 22, 22);
  opacity: 0.3;
  position: absolute;
  top: 46%;
  left: 5%;
  border-radius: 2px;
  transform: rotate(159deg);
}
html:not(:has(#pwa, #admin)) table.match-list td.missing-player-cell::after {
  content: "";
  width: 90%;
  height: 3px;
  background: rgb(228, 22, 22);
  opacity: 0.3;
  position: absolute;
  top: 46%;
  left: 5%;
  border-radius: 2px;
  transform: rotate(21deg);
}
html:not(:has(#pwa, #admin)) table.match-list td.total-score {
  text-align: right;
  vertical-align: bottom;
  line-height: 1.4;
  font-size: 0.8em;
  color: #777;
}
html:not(:has(#pwa, #admin)) .component.infobox {
  background: #d9edf7;
  padding: 0 20px 20px 90px;
  max-width: 60dvw;
  border-radius: 4px;
  border: 1px solid #bce8f1;
  font-size: 1rem;
  color: #31708f;
  position: relative;
}
html:not(:has(#pwa, #admin)) .component.infobox::before {
  content: "";
  background: url("../images/light-bulb-f7ffca516e2276b5c2f3067c06915fb8.png?vsn=d") center center no-repeat;
  background-size: contain;
  filter: drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white) drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3));
  height: 80%;
  width: 50px;
  position: absolute;
  left: 20px;
  top: 10%;
}
@media screen and (min-width: 720px) {
  html:not(:has(#pwa, #admin)) .component.infobox.hidden-sm {
    display: none;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament {
  position: relative;
  padding-bottom: 100px;
}
html:not(:has(#pwa, #admin)) .page.tournament .background {
  /* background: #2a393f url('/images/mount-fuji-395047-24fc2c7396863ce505ba8bad0012d2a7.jpg?vsn=d'); */
  /* background: #262825 url('/images/golden-hour-f13b078455313ed9774bc06dfcda2969.jpg?vsn=d'); */
  background: #262825 url("/images/fireworks-unsplash-76499a5cfbf46f267966329cacfa12dc.jpg?vsn=d");
  background-size: cover;
  /* background-position-y: 0; */
  /* background-position-x: 30%; */
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
html:not(:has(#pwa, #admin)) .page.tournament > header {
  width: 100%;
  border-bottom: 1px solid black;
  display: flex;
  column-gap: 20px;
  justify-content: space-between;
  align-items: center;
  background: black;
  color: white;
  font-weight: bold;
  padding: 0 50px;
  margin-bottom: 50px;
  height: max-content;
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament > header {
    height: 64px;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament > header nav {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: space-between;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament > header nav {
    flex-direction: row;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament > header nav ul {
  font-weight: 1000;
  letter-spacing: 1px;
  height: 100%;
  margin: 0;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament > header nav ul {
    flex-direction: row;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament > header nav ul li {
  height: 100%;
  display: flex;
  align-items: center;
  margin: 10px 0;
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament > header nav ul li {
    margin: 0;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament > header nav ul li.active {
  position: relative;
}
html:not(:has(#pwa, #admin)) .page.tournament > header nav ul li.active::after {
  content: "";
  width: 100%;
  height: 3px;
  background: white;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  bottom: -1px;
  left: 0;
  position: absolute;
}
html:not(:has(#pwa, #admin)) .page.tournament > header ul {
  list-style: none;
  padding: 0;
  display: flex;
  column-gap: 50px;
}
html:not(:has(#pwa, #admin)) .page.tournament > header ul li a {
  text-decoration: none;
}
html:not(:has(#pwa, #admin)) .page.tournament > main {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 20px;
}
html:not(:has(#pwa, #admin)) .page.tournament .content {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 4px;
  padding: 20px;
  font-size: 1.1rem;
  max-width: 800px;
}
html:not(:has(#pwa, #admin)) .page.tournament .content p {
  margin: 0;
}
html:not(:has(#pwa, #admin)) .page.tournament .content h2 {
  font-size: 1em;
  line-height: 1.6;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts {
  display: flex;
  margin-bottom: 25px;
  font-size: 0.9em;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul li {
  margin-bottom: 10px;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul li:last-child {
  margin-bottom: 0;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul li span:first-child {
  font-weight: bold;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul li span {
  padding-right: 1ch;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul li > div.tabular {
  display: flex;
  column-gap: 5px;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts ul li > div.tabular > div:first-child {
  width: 60px;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts .left,
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts .right {
  min-height: 170px;
  position: relative;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts .left {
  flex-basis: 48%;
  border-right: 1px solid #cdcdcd;
}
html:not(:has(#pwa, #admin)) .page.tournament .content .quick-facts .right {
  flex-basis: 50%;
  padding-left: 5%;
}
html:not(:has(#pwa, #admin)) .page.tournament .monospace {
  font-family: monospace;
  background: rgba(242, 242, 235, 0.521);
  border-radius: 4px;
  padding: 1px 5px;
  border: 1px solid rgba(62, 54, 54, 0.383);
  font-size: 0.8em;
}
html:not(:has(#pwa, #admin)) .page.tournament .logo-rule {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
}
html:not(:has(#pwa, #admin)) .page.tournament .logo-rule img {
  width: 300px;
  z-index: 2;
  filter: drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white) drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3));
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form {
  padding: 40px;
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
  background: white;
  width: 600px;
  max-width: 100%;
  border: 1px solid #f9f9f9;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .header {
  background-image: url("/images/logo-fwf2-34be152442ec69d0a39572b33c69c462.png?vsn=d");
  background-position: top left;
  background-repeat: no-repeat;
  width: 100%;
  height: 200px;
  background-size: 200px;
  margin: -30px -30px 10px;
  display: flex;
  align-items: center;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .header span {
  display: inline-block;
  font-size: 24px;
  font-weight: bold;
  margin-left: 220px;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .header span {
    font-size: 38px;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form p.intro {
  margin: 40px 0px 30px;
  line-height: 1.7;
  border-bottom: 1px solid #eee;
  padding-bottom: 15px;
  padding-left: 10px;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .left-right {
  display: flex;
  justify-content: space-between;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .left-right > * {
  flex: 1 0 50%;
  max-width: calc(50% - 5px);
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .input-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .input-group label {
  white-space: nowrap;
  font-weight: bold;
  display: none;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .input-group input {
  width: 200px;
  border: 0;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid lightgrey;
  width: 100%;
  height: 40px;
  margin-top: 20px;
  padding-left: 10px;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .input-group input::placeholder {
  opacity: 0.8;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .sincerely {
  color: rgb(14, 14, 85);
  font-family: "Island Moments";
  font-size: 48px;
  font-style: italic;
  text-align: right;
  padding-right: 100px;
  padding-top: 20px;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .player-signature {
  color: rgb(14, 14, 85);
  font-family: "Bad Script";
  font-size: 32px;
  text-align: right;
  padding-right: 70px;
  position: relative;
  display: none;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .player-signature.stamped::after {
  content: "";
  position: absolute;
  background: transparent url("/images/completed-stamp-a74343db3168825a03cd8e27c1e90d1d.png?vsn=d");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  height: 230px;
  width: 330px;
  top: -120px;
  right: -10px;
  transition: height 0.6s cubic-bezier(0.7, 0, 0.84, 0), width 0.6s cubic-bezier(0.7, 0, 0.84, 0), top 0.6s cubic-bezier(0.7, 0, 0.84, 0), right 0.6s cubic-bezier(0.7, 0, 0.84, 0), filter 0.6s cubic-bezier(0.7, 0, 0.84, 0);
  filter: drop-shadow(30px 10px 4px rgba(0, 0, 0, 0.14));
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .player-signature.stamped.shrink::after {
  height: 130px;
  width: 230px;
  top: -60px;
  right: 40px;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0));
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form input {
  width: 100%;
  margin: 10px 0;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .submit-form button {
  position: relative;
  width: 200px;
  border: 1px solid lightgrey;
  box-shadow: 0 1px 1px 0 #ccc;
  background: #f6f6f6;
  font-weight: bold;
  letter-spacing: 1px;
  float: right;
  margin-right: 55px;
  margin-top: 20px;
  height: 40px;
  border-radius: 4px;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .submit-form button:hover {
  cursor: pointer;
}
html:not(:has(#pwa, #admin)) .page.tournament form.registration-form .submit-form button:active {
  top: 1px;
}
html:not(:has(#pwa, #admin)) .page.tournament table.tournament-schedule {
  border: 3px inset #a72525;
  width: 100%;
  margin: 20px 0;
  background: rgba(255, 255, 255, 0.7);
}
html:not(:has(#pwa, #admin)) .page.tournament table.tournament-schedule td {
  padding: 3px 7px;
}
html:not(:has(#pwa, #admin)) .page.tournament table.tournament-schedule td:first-child {
  text-align: right;
}
html:not(:has(#pwa, #admin)) .page.tournament table.tournament-schedule span.padded-time {
  padding-left: 1ch;
}
html:not(:has(#pwa, #admin)) svg.external {
  display: inline;
  width: 1em;
  height: 1em;
  top: 2px;
  position: relative;
  filL: inherit;
}
html:not(:has(#pwa, #admin)) h1.tournament-title,
html:not(:has(#pwa, #admin)) h2.tournament-title,
html:not(:has(#pwa, #admin)) h3.tournament-title,
html:not(:has(#pwa, #admin)) h4.tournament-title,
html:not(:has(#pwa, #admin)) h5.tournament-title,
html:not(:has(#pwa, #admin)) h6.tournament-title {
  font-size: 48px;
  filter: drop-shadow(2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(-2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px -2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.9));
  font-family: "Poetsen One";
  letter-spacing: -1px;
  /* Fallback: Set a background color. */
  background-color: red;
  /* Create the gradient. */
  background-image: linear-gradient(173deg, hsl(0, 65%, 76%), #a72525);
  /* Set the background size and repeat properties. */
  background-size: 100%;
  background-repeat: repeat;
  /* Use the text as a mask for the background. */
  /* This will show the gradient as a text color rather than element bg. */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
}
html:not(:has(#pwa, #admin)) .tournament-title-wrapper {
  position: relative;
  margin-bottom: 2em;
}
html:not(:has(#pwa, #admin)) span.tournament-subtitle {
  color: gold;
  font-family: "Condiment";
  font-size: 52px;
  font-style: italic;
  position: absolute;
  bottom: -0.8em;
  right: -1.7em;
  background-color: gold;
  filter: drop-shadow(2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(-2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px -2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.9));
  background-image: linear-gradient(173deg, sandybrown, gold);
  /* Set the background size and repeat properties. */
  background-size: 100%;
  background-repeat: repeat;
  /* Use the text as a mask for the background. */
  /* This will show the gradient as a text color rather than element bg. */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  padding-right: 1ch;
}
html:not(:has(#pwa, #admin)) a:has(.tournament-title) {
  text-decoration: none;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing + .page.tournament {
  display: none;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .logo img {
  width: 250px;
  height: auto;
  filter: drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white) drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3));
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament-listing .logo img {
    width: 400px;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .content {
  background: transparent;
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  html:not(:has(#pwa, #admin)) .page.tournament-listing .content {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list {
  width: 100%;
  margin-top: 60px;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list ul li {
  background: white;
  border-radius: 4px;
  padding: 10px 25px 14px 25px;
  position: relative;
  width: 100%;
  margin-bottom: 10px;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list ul li a {
  pointer-events: none;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list ul li::after {
  border-radius: 4px;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: black;
  opacity: 0.25;
  pointer-events: none;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list ul li.current::after {
  display: none;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list ul li.current a {
  pointer-events: initial;
}
html:not(:has(#pwa, #admin)) .page.tournament-listing .tournaments-list h4.tournament-title {
  margin: 0;
  font-size: 30px;
  white-space: nowrap;
  letter-spacing: 1px;
}
html:not(:has(#pwa, #admin)) .content.registrations-list {
  min-width: 60dvw;
}
html:not(:has(#pwa, #admin)) .content.registrations-list table {
  width: 100%;
}
html:not(:has(#pwa, #admin)) .content.registrations-list table th {
  text-align: left;
}
html:not(:has(#pwa, #admin)) .content.registrations-list table th:nth-child(1) {
  width: 30px;
}
html:not(:has(#pwa, #admin)) .content.registrations-list table th:nth-child(2) {
  width: 200px;
}
html:not(:has(#pwa, #admin)) .content.registrations-list table th:nth-child(3) {
  width: 100px;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper {
  margin: 20px 0;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper table {
  width: 100%;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper thead {
  text-align: left;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper thead th {
  border-bottom: 2px solid black;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper td {
  border-bottom: 1px solid black;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper tr:hover td {
  background: #f6f6f6;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper td.actions {
  padding: 10px 0;
}
html:not(:has(#pwa, #admin)) .component.table-wrapper td.actions > div {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
}
html:not(:has(#pwa, #admin)) a:has(> button) > button {
  border-radius: 3px;
  padding: 3px 10px;
  border: 1px solid black;
  background: white;
  color: black;
  position: relative;
}
html:not(:has(#pwa, #admin)) a:has(> button) > button:hover {
  cursor: pointer;
}
html:not(:has(#pwa, #admin)) a:has(> button) > button:active {
  top: 1px;
}
html:not(:has(#pwa, #admin)) a:has(> button).theme-positive > button {
  background: rgb(17, 155, 17);
  color: white;
  border-color: rgb(17, 155, 17);
}
html:not(:has(#pwa, #admin)) button {
  border-radius: 3px;
  border-radius: 3px;
  padding: 3px 10px;
  border: 1px solid black;
  background: white;
  color: black;
  position: relative;
}
html:not(:has(#pwa, #admin)) button:hover {
  cursor: pointer;
}
html:not(:has(#pwa, #admin)) button:active {
  top: 1px;
}
html:not(:has(#pwa, #admin)) button.theme-positive {
  background: rgb(17, 155, 17);
  color: white;
  border-color: rgb(17, 155, 17);
}
html:not(:has(#pwa, #admin)) a.link-button {
  position: relative;
  border: 1px solid black;
  border-radius: 4px;
  background: #f6f6f6;
  width: 100%;
  height: 100%;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: black;
}
html:not(:has(#pwa, #admin)) a.link-button:hover {
  background: #d0d0d0;
}
html:not(:has(#pwa, #admin)) a.link-button:active {
  top: 1px;
}
html:not(:has(#pwa, #admin)) a.link-button[data-method=delete] {
  background: rgb(213, 33, 33);
  color: white;
}
html:not(:has(#pwa, #admin)) a.link-button[data-method=delete]:hover {
  background: rgb(174, 25, 25);
}
html:not(:has(#pwa, #admin)) form.simple-form {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  margin: 10px 0;
  width: max-content;
}
html:not(:has(#pwa, #admin)) form.simple-form > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 10px;
}
html:not(:has(#pwa, #admin)) form.simple-form > div > label {
  width: 150px;
}
html:not(:has(#pwa, #admin)) form.simple-form > div > input {
  width: 300px;
}
html:not(:has(#pwa, #admin)) form.simple-form > div:has(input:focus) > label {
  font-weight: bold;
}
html:not(:has(#pwa, #admin)) form.simple-form .actions {
  margin-top: 20px;
}
html:not(:has(#pwa, #admin)) form.simple-form p {
  margin-top: 0;
  max-width: 460px;
  padding: 5px;
}
html:not(:has(#pwa, #admin)) form.simple-form hr {
  width: 100%;
  height: 1px;
  border: 0;
  border-top: 1px solid lightgrey;
}
html:not(:has(#pwa, #admin)) .simple-form.show-validation input:valid {
  background: palegreen !important;
}
html:not(:has(#pwa, #admin)) .simple-form.show-validation input:invalid {
  background: lightpink !important;
}
html:not(:has(#pwa, #admin)) .highlight-booleans [data-value=true] {
  background: palegreen;
  font-weight: bold !important;
  letter-spacing: 1px;
  padding-left: 0.5ch;
}
html:not(:has(#pwa, #admin)) .highlight-booleans [data-value=false] {
  background: lightpink;
  font-weight: bold !important;
  letter-spacing: 1px;
  padding-left: 0.5ch;
}
html:not(:has(#pwa, #admin)) ul.simple-list {
  list-style: none;
  margin: 20px 0;
  padding: 0;
  max-width: max-content;
}
html:not(:has(#pwa, #admin)) ul.simple-list li {
  border-bottom: 1px dotted black;
  margin-bottom: 10px;
}
html:not(:has(#pwa, #admin)) ul.simple-list li span {
  display: inline-block;
}
html:not(:has(#pwa, #admin)) ul.simple-list li span:first-child {
  font-weight: bold;
  width: 200px;
}
html:not(:has(#pwa, #admin)) ul.simple-list li span:last-child {
  font-weight: normal;
  margin-right: 10px;
}
html:not(:has(#pwa, #admin)) ul.simple-list li span:first-child:last-child {
  font-weight: normal;
}
html:not(:has(#pwa, #admin)) .component.datestamp {
  background: #d1232e;
  padding: 2px 4px 4px 4px;
  border-radius: 4px;
  max-width: max-content;
}
html:not(:has(#pwa, #admin)) .component.datestamp > div:nth-child(1) {
  color: white;
  font-weight: bold;
  text-align: center;
  padding: 0px 3px;
}
html:not(:has(#pwa, #admin)) .component.datestamp > div:nth-child(2) {
  color: black;
  background: white;
  border-radius: 3px;
  padding: 0px 3px;
  text-align: center;
}
html:not(:has(#pwa, #admin)) .component.datestamp.theme-positive {
  background: rgb(17, 155, 17);
}
html:not(:has(#pwa, #admin)) .admin-page {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
html:not(:has(#pwa, #admin)) .component.user-panel {
  border: 1px solid black;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 40px;
  max-width: max-content;
  padding: 20px 40px;
  margin: 40px auto 0;
}
html:not(:has(#pwa, #admin)) .component.user-panel span {
  letter-spacing: 1px;
  font-weight: bold;
}
html:not(:has(#pwa, #admin)) .component.user-panel img {
  border-radius: 50%;
}
html:not(:has(#pwa, #admin)) nav.admin-nav {
  background: black;
  color: white;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 1.3em;
  text-transform: uppercase;
  column-gap: 20px;
}
html:not(:has(#pwa, #admin)) nav.admin-nav a {
  text-decoration: none;
  color: white;
  display: inline-block;
  border-bottom: 3px solid transparent;
}
html:not(:has(#pwa, #admin)) nav.admin-nav a:visited {
  color: white;
}
html:not(:has(#pwa, #admin)) nav.admin-nav a.active {
  border-bottom: 3px solid white;
}
html:not(:has(#pwa, #admin)) body,
html:not(:has(#pwa, #admin)) html {
  font-family: "Helvetica Neue";
  margin: 0;
}
html:not(:has(#pwa, #admin)) {
  /* Target phoenix wrapper div as immedate first child of body. */
}
html:not(:has(#pwa, #admin)) body > div:first-child {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}
html:not(:has(#pwa, #admin)) .page {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header .row {
  position: relative;
}
@media screen and (min-width: 700px) {
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header .row:last-child {
    height: 70px;
  }
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header .row {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1000px) {
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header > .row:first-child {
    display: none;
  }
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header > .row:last-child a.logo {
  display: none;
}
@media screen and (min-width: 1000px) {
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header > .row:last-child {
    margin-top: 60px;
    justify-content: center;
  }
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header > .row:last-child a.logo {
    display: flex;
    position: absolute;
    left: 30px;
    top: -80px;
  }
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header a.logo {
  display: flex;
  flex-direction: column;
  text-transform: uppercase;
  text-decoration: none;
  color: black;
  font-weight: bold;
  font-size: 20px;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header a.logo img.logo {
  height: 230px;
  object-fit: contain;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav {
  width: 100%;
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  margin: 20px 0 10px 0;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav ul,
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li {
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li {
  background: #f9f9f9;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li:nth-child(2n) {
  background: #fdfdfd;
}
html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li a {
  text-decoration: none;
  display: inline-block;
  width: 100%;
  padding: 10px 5px 10px 5%;
}
@media screen and (min-width: 700px) {
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav ul,
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li {
    display: inline;
    padding: 10px 0;
    margin: 0;
    width: auto;
  }
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li {
    padding-right: 30px;
    background: none;
  }
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li:nth-child(2n) {
    background: none;
  }
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li:last-child {
    padding-right: 0;
  }
  html:not(:has(#pwa, #admin)) .page:not(.tournament) > header nav li a {
    font-size: 18px;
    text-decoration: underline;
    display: inline;
    padding: 0;
  }
}
html:not(:has(#pwa, #admin)) .page > main {
  width: 100%;
  padding: 0 10px;
  flex-grow: 1;
}
@media screen and (min-width: 720px) {
  html:not(:has(#pwa, #admin)) .page > main {
    width: 80%;
    padding: 0;
  }
}
html:not(:has(#pwa, #admin)) .page > footer {
  width: 100%;
  margin-top: 20px;
  padding: 0 40px;
  height: 80px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 720px) {
  html:not(:has(#pwa, #admin)) .page > footer {
    height: 40px;
    padding: 0;
  }
}
html:not(:has(#pwa, #admin)) h1 {
  text-align: center;
  margin-bottom: 20px;
}
html:not(:has(#pwa, #admin)) h1 .headline {
  font-size: 40px;
  margin: 0;
}
html:not(:has(#pwa, #admin)) h1 .subline {
  font-size: 20px;
  font-weight: normal;
}
html:not(:has(#pwa, #admin)) section.section-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
}
html:not(:has(#pwa, #admin)) table.rules {
  border-right: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  margin-top: 20px;
  margin-bottom: 20px;
}
html:not(:has(#pwa, #admin)) table.rules tr {
  background: #f9f9f9;
}
html:not(:has(#pwa, #admin)) table.rules tr:nth-child(2n) {
  background: #fdfdfd;
}
html:not(:has(#pwa, #admin)) table.rules td {
  border-top: 1px solid #dfdfdf;
  border-left: 1px solid #dfdfdf;
  padding: 5px 10px;
}
html:not(:has(#pwa, #admin)) .rulesheet-wrc {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
html:not(:has(#pwa, #admin)) .rulesheet-wrc a {
  max-width: 1000px;
  border: 1px solid black;
  padding: 5px;
  margin: 5px;
}
html:not(:has(#pwa, #admin)) div.coming-soon {
  font-size: 20px;
  color: #666;
  border: 1px solid #888;
  border-radius: 5px;
  padding: 10px 20px;
  display: inline-block;
  margin: 30px 0;
}
html:not(:has(#pwa, #admin)) .player-entry-form fieldset,
html:not(:has(#pwa, #admin)) .score-entry-form fieldset {
  padding: 20px 30px;
  border-radius: 5px;
}
html:not(:has(#pwa, #admin)) .player-entry-form .buttons,
html:not(:has(#pwa, #admin)) .score-entry-form .buttons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 30px;
  column-gap: 10px;
}
html:not(:has(#pwa, #admin)) .player-entry-form .buttons button,
html:not(:has(#pwa, #admin)) .score-entry-form .buttons button {
  width: 180px;
  height: 35px;
  border-radius: 5px;
  border-style: solid;
}
html:not(:has(#pwa, #admin)) .player-entry-form .buttons button:hover,
html:not(:has(#pwa, #admin)) .score-entry-form .buttons button:hover {
  cursor: pointer;
}
html:not(:has(#pwa, #admin)) .player-entry-form .buttons button[type=reset],
html:not(:has(#pwa, #admin)) .score-entry-form .buttons button[type=reset] {
  width: 110px;
}
html:not(:has(#pwa, #admin)) .player-entry-form .buttons button[type=submit],
html:not(:has(#pwa, #admin)) .score-entry-form .buttons button[type=submit] {
  background: #7fc31c;
  border: 1px solid #7fc31c;
  color: white;
}
html:not(:has(#pwa, #admin)) .score-player-entry {
  display: flex;
  column-gap: 10px;
  flex-direction: column;
  row-gap: 5px;
  flex-wrap: wrap;
  padding-bottom: 15px;
  border-bottom: 1px solid lightgrey;
}
@media screen and (min-width: 1000px) {
  html:not(:has(#pwa, #admin)) .score-player-entry {
    flex-direction: row;
    border-bottom: 0;
    padding-bottom: 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
html:not(:has(#pwa, #admin)) .score-player-entry + .score-player-entry {
  margin-top: 12px;
}
html:not(:has(#pwa, #admin)) .score-player-entry > div {
  flex-basis: 100%;
  display: flex;
  column-gap: 10px;
}
@media screen and (min-width: 1000px) {
  html:not(:has(#pwa, #admin)) .score-player-entry > div {
    flex-basis: unset;
  }
}
html:not(:has(#pwa, #admin)) .score-player-entry > div input[type=text],
html:not(:has(#pwa, #admin)) .score-player-entry > div select {
  flex-grow: 1;
}
@media screen and (min-width: 1000px) {
  html:not(:has(#pwa, #admin)) .score-player-entry > div input[type=text],
  html:not(:has(#pwa, #admin)) .score-player-entry > div select {
    flex-grow: unset;
  }
}
@media screen and (min-width: 1000px) {
  html:not(:has(#pwa, #admin)) .score-player-entry > div input[type=text] {
    max-width: 140px;
  }
}
html:not(:has(#pwa, #admin)) .score-player-entry .player-entry > b {
  white-space: nowrap;
}
html:not(:has(#pwa, #admin)) .score-entry-form .password-entry {
  display: flex;
  align-items: center;
  flex-basis: 100%;
  column-gap: 10px;
}
html:not(:has(#pwa, #admin)) .score-entry-form .password-entry input[type=password] {
  flex-grow: 1;
  max-width: 200px;
}
html:not(:has(#pwa, #admin)) fieldset input.score {
  text-align: right;
}
html:not(:has(#pwa, #admin)) .flash {
  border: 1px solid grey;
  background: lightgrey;
  padding: 10px 20px;
  border-radius: 5px;
  max-width: 400px;
  margin: 0 auto;
  position: relative;
}
html:not(:has(#pwa, #admin)) .flash.flash-info {
  border-color: #b8daff;
  background: #cce5ff;
}
html:not(:has(#pwa, #admin)) .flash.flash-info .title {
  color: #004085;
}
html:not(:has(#pwa, #admin)) .flash.flash-error {
  border-color: #f5c6cb;
  background: #f8d7da;
}
html:not(:has(#pwa, #admin)) .flash.flash-error .title {
  color: #721c24;
}
html:not(:has(#pwa, #admin)) .flash.flash-success {
  border-color: #c3e6cb;
  background: #d4edda;
}
html:not(:has(#pwa, #admin)) .flash.flash-success .title {
  color: #155724;
}
html:not(:has(#pwa, #admin)) .flash button.close-button {
  width: 80%;
  margin: 10px 10% 0;
  background: white;
  border: 1px solid grey;
  border-radius: 3px;
  position: relative;
}
html:not(:has(#pwa, #admin)) .flash button.close-button:hover {
  cursor: pointer;
}
html:not(:has(#pwa, #admin)) .flash button.close-button:active {
  top: 1px;
}
html:not(:has(#pwa, #admin)) .flash p.title {
  font-weight: bold;
}
html:not(:has(#pwa, #admin)) .flash p {
  margin: 0;
}
html:not(:has(#pwa, #admin)) span.fwf-role {
  color: #56ddb7;
  font-weight: bold;
  letter-spacing: 0.5px;
}
html:not(:has(#pwa, #admin)) .current-user {
  font-size: 16px;
}
html:not(:has(#pwa, #admin)) .current-user img {
  border-radius: 50%;
  height: 1.5em;
  display: inline;
  vertical-align: middle;
}
html:not(:has(#pwa, #admin)) .nickname {
  color: #56ddb7;
  font-weight: bold;
  letter-spacing: 0.5px;
}

.tournament-banner-wrapper {
  display: flex;
  justify-content: center;
  margin: 50px 0 20px 0;
}

.component.tournament-banner {
  background: url("/images/golden-hour-f13b078455313ed9774bc06dfcda2969.jpg?vsn=d");
  height: 440px;
  width: 639px;
  background-size: 1100px;
  background-position: center -50px;
  background-color: pink;
  border-radius: 4px;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
}
.component.tournament-banner img {
  width: 250px;
  height: auto;
  filter: drop-shadow(1px 0px 0px white) drop-shadow(-1px 0px 0px white) drop-shadow(0px 1px 0px white) drop-shadow(0px -1px 0px white) drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3));
}
.component.tournament-banner .tournament-title {
  position: relative;
  margin-bottom: 2em;
}
.component.tournament-banner .tournament-title .primary {
  font-size: 40px;
  filter: drop-shadow(2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(-2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px -2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.9));
  font-family: "Poetsen One";
  letter-spacing: -1px;
  background-color: red;
  background-image: linear-gradient(173deg, hsl(0, 65%, 76%), #a72525);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
}
.component.tournament-banner .tournament-title .secondary {
  color: gold;
  font-family: "Condiment";
  font-size: 40px;
  font-style: italic;
  position: absolute;
  bottom: -1em;
  right: -1.7em;
  background-color: gold;
  filter: drop-shadow(2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(-2px 0px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(0px -2px 0px rgba(0, 0, 0, 0.25)) drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.9));
  background-image: linear-gradient(173deg, sandybrown, gold);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
  padding-right: 1ch;
}

/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_modern-reset.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_pwa.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/admin/_admin-dashboard-page.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/helpers/_debug.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/helpers/_variables.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/pages/_profile.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/pages/_settings.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/app.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_fonts.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_components.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_ranking-table.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_match-list-table.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_infobox.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_tournament-page.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_tournament-listing.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_tournament-registration.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_table.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_buttons.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_forms.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_list.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_datestamp.scss%22,%22file:///Users/alexis/dev/fourwindsfrankfurt.club/four_winds_frankfurt/assets/css/_admin.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;ACAQ;ADCR;AAAA;AAAA;EAGI;;;AAGJ;AACA;EACI;EACA;EACA;;;AAGJ;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUI;;;AAGJ;AACA;AAAA;EAEI;;;AAGJ;AACA;EACI;EACA;;;AAGJ;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOI;;;AAGJ;AACA;AAAA;AAAA;AAAA;EAII;;;AAGJ;AACA;EACI;EACA;;;AAGJ;AACA;AAAA;EAEI;EACA;;;AAGJ;AACA;AAAA;AAAA;AAAA;EAII;;;AAGJ;AACA;EACI;;;AAGJ;AACA;EACI;;;AEvFJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAKN;AAAA;AAAA;AAAA;EACE;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;;AAEE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAGJ;AAAA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAKR;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACE;EACA;;AAMJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;;AAIA;AAAA;AAAA;AAAA;EACE;;AAMJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;AAKR;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAGJ;EACE;;AAGJ;EACE;;AACA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;;;AD7UF;EACE;EACA,KACE;EAEF;EACA;;AAGF;EACE;;;AAOA;EACE;EACA;EACA;EACA;EAIA;EACA;EACA;EAEA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AATF;EACE;;AAGF;EACE;;AAGF;EACE;;AAKF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AAIJ;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAKA;AAAA;EAEE;EACA;;AAKF;AAAA;EAEE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACE;EACA;;AAKN;EACE;EACA;EACA;EAGA;EACA;EACA;EAEA;EACA;;AAGA;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EAIA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;;AACA;EACE;;AAKN;EACE;;AACA;EACE;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AAEF;EACE;EAEA;EACA;EACA;;AAEF;EACE;;AAMJ;EACE;EACA;;AAEA;EACE;;AAKN;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AADF;EAfJ;IAgBM;;;AAIJ;EACE;EACA;EACA;;AAvBJ;EA0BE;EACA;;AAEA;EAEE;AACA;EACA;AAEA;EACA;AAEA;EACA;EACA;AAEA;AACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAKF;EACE;EACA;EACA;;AAKN;EACE;;AAGF;EACE;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AACA;EACE;EACA;;AAGJ;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;;AAGF;AAAA;AAAA;AAAA;EAIE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAUF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAIN;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EAEA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;;AAIJ;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;;AAIF;EACE;;AAGJ;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAKN;EACE;EACA;EACA;;AACA;EACE;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAKR;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;;AAEF;EACE;;AAGJ;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AACA;EACE;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;;;AEjgCJ;EACE;EACA;;AACA;AAAA;EAEE;EACA;;;ACNJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;ACXF;AAAA;EAEE;EACA;EACA;EACA;;AACA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;EACE;;AAGJ;AAAA;EACE;EACA;EACA;;AAEF;AAAA;EACE;;;AAKF;EACE;EACA;AACA;AACA;AACA;AACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAKN;EACE;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;EAMF;EACA;;AAEA;EACE;IACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;IAAO;;EACP;IAAK;;;AAGP;EACE;IAAO;;EACP;IAAK;;;AAGT;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAGJ;AACE;AACA;AACA;EACA;EACA;AACA;EACA;EACA;;AACA;AACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAQN;EACE;;AAEF;EACE;;;AC9NF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAIJ;EACE;;;ACJJ;ACHA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;;ADJJ;ACiBA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;;ADxBJ;AC2BA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;;ADlCJ;ACqCA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;;AD5CJ;AC+CA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EAEA;EACA;EACA;;AD/DJ;AEbA;AAAA;AAAA;AAIA;;AAEE;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AFHJ;AEMA;;AAEE;EACE;;AFTJ;AEYA;;AAEE;EACE;;ACxBJ;EACI;EACA;EACA;EAEA;EAEA;;AAEA;EATJ;IAUQ;IACA;;;AAIR;AAAA;EAEI;EACA;EAEA,eAtBY;;AAwBZ;AAAA;EACI,eAzBQ;;AA6BR;AAAA;EACI;EACA;;AAGJ;AAAA;EACI,wBAnCI;;AAsCR;AAAA;EACI,yBAvCI;;AA4CR;AAAA;EACI,2BA7CI;;AAgDR;AAAA;EACI,4BAjDI;;AAqDZ;AAAA;AAAA;AAAA;EAEI;EACA;EACA;EACA;;AAGJ;AAAA;EACI;EACA;EACA;;AC/DJ;EACI;EACA;;AAIA;EACI;EACA;;AAIJ;EACI;;AAEA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EAEA;;AAIR;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;ACrER;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA,QACI;EAEJ;EACA;EACA;EACA;EACA;;AAIA;EADJ;IAEQ;;;AC1BZ;EACI;EACA;;AAEA;AACI;AACA;EACA;EACA;AAEA;AACA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAGJ;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EAhBJ;IAiBQ;;;AAGJ;EACI;EACA;EACA;EACA;EAEA;;AAEA;EARJ;IASQ;;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EAPJ;IAQQ;;;AAGJ;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;;;AAIR;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAMhB;EACI;EACA;EACA;EACA;;AAGI;EACI;;AAMhB;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EAEA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAEA;EACE;;AACA;EACE;;AAIJ;EACI;;AAGJ;EACI;;AAIR;EACE;EACA;;AACA;EACE;;AAIJ;AAAA;EAEI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EAEA;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAuBA;EACI;EACA;EAGA,QACI;;AAKZ;EACI;EACA;EAEA;EACA;EACA;EACA;;AAGA;EACI;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;;AAGA;EACI;EACA;EACA;EACA;EACA;;AAEA;EAPJ;IAQQ;;;AAMZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EAKA;;AAEA;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAGA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAOZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EAEA;;AAGJ;EACI;EACA;EACA;EACA;EAEA;;AAKR;EACI;EACA;;AAGJ;EAGI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAKZ;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;;AAKR;EACI;EACA;EACA;EACA;EACA;EACA;;AAUA;AAAA;AAAA;AAAA;AAAA;AAAA;EACI;EACA,QACI;EACJ;EACA;AAEA;EACA;AAEA;EACA;AAEA;EACA;EACA;AAEA;AACA;EACA;EACA;EACA;EACA;;AAKR;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QACU;EACJ;AAEA;EACA;EACA;AAEA;AACA;EACA;EACA;EACA;EACA;EACA;;AAGR;EACI;;AC/eJ;EACI;;AAIA;EACI;EACA;EAEA,QACI;;AAEJ;EAPJ;IAQQ;;;AAIR;EACI;EACA;EACA;EAEA;EACA;EACA;;AAEA;EATJ;IAUQ;IACA;IACA;;;AAIR;EACI;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAKV;EACI;EACA;EACA;EACA;;AC9EZ;EACI;;AAEA;EACI;;AAEA;EACI;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AClBhB;EACI;;AAEA;EACI;;AAGJ;EACI;;AAEA;EACI;;AAIR;EACI;;AAIA;EACI;;AAIR;EACI;;AAEA;EACI;EACA;EACA;;AC9BR;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAKJ;EACI;EACA;EACA;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAEA;EACI;;AC5EZ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIA;EACI;;AAKZ;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAUJ;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;ACxEJ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;ACzBZ;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;ACtBR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AdnBV;AAAA;EAEE;EACA;;AArBJ;AAwBE;;AACA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGE;EADF;IAEI;;;AALN;EASE;EACA;EACA;EACA;;AAIA;EADF;IAEI;;;AAKF;EACE;;AAGF;EALF;IAMI;IACA;;EAEA;IACE;IACA;IACA;IACA;;;AAKN;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAEA;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;;;AAOV;EACE;EACA;EACA;;AAEA;EALF;IAMI;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVF;IAWI;IACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EAEA;EACA;;AAEA;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EACE;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAIJ;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;;AAEA;EAVF;IAWI;IACA;IACA;IACA;IACA;;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAGF;AAAA;EAEE;;AAEA;EAJF;AAAA;IAKI;;;AAKF;EADF;IAEI;;;AAMJ;EACE;;AAMJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAMJ;EACE;;AAIJ;EACE;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIJ;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAIF;EACE;EACA;;AACA;EACE;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;EACA;EACA;EACA;EACA%22,%22file%22:%22app.css%22%7D */
