/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --font-weight-medium: 500;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --blur-xs: 4px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .isolate {
    isolation: isolate;
  }
  .z-50 {
    z-index: 50;
  }
  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .-mb-4 {
    margin-bottom: calc(var(--spacing) * -4);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .table-row {
    display: table-row;
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-7 {
    width: calc(var(--spacing) * 7);
    height: calc(var(--spacing) * 7);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-9 {
    width: calc(var(--spacing) * 9);
    height: calc(var(--spacing) * 9);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-\[calc\(100\%-1px\)\] {
    height: calc(100% - 1px);
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .caption-bottom {
    caption-side: bottom;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .animate-caret-blink {
    animation: caret-blink 1.25s ease-out infinite;
  }
  .grid-rows-\[auto_1fr\] {
    grid-template-rows: auto 1fr;
  }
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
  .place-items-center {
    place-items: center;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
    border-radius: min(var(--radius-md), 10px);
  }
  .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
    border-radius: min(var(--radius-md), 12px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-b-xl {
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-border {
    border-color: var(--border);
  }
  .border-input {
    border-color: var(--input);
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-black\/10 {
    background-color: color-mix(in srgb, #000 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }
  .bg-destructive\/10 {
    background-color: var(--destructive);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
    }
  }
  .bg-foreground {
    background-color: var(--foreground);
  }
  .bg-muted {
    background-color: var(--muted);
  }
  .bg-muted\/50 {
    background-color: var(--muted);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }
  .bg-popover {
    background-color: var(--popover);
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .bg-secondary {
    background-color: var(--secondary);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-clip-padding {
    background-clip: padding-box;
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-\[3px\] {
    padding: 3px;
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .align-middle {
    vertical-align: middle;
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .text-balance {
    text-wrap: balance;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-destructive {
    color: var(--destructive);
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-foreground\/60 {
    color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--foreground) 60%, transparent);
    }
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-popover-foreground {
    color: var(--popover-foreground);
  }
  .text-primary {
    color: var(--primary);
  }
  .text-primary-foreground {
    color: var(--primary-foreground);
  }
  .text-secondary-foreground {
    color: var(--secondary-foreground);
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-foreground\/10 {
    --tw-ring-color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--foreground) 10%, transparent);
    }
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .duration-1000 {
    --tw-duration: 1000ms;
    transition-duration: 1000ms;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .paused {
    animation-play-state: paused;
  }
  .running {
    animation-play-state: running;
  }
  .group-data-\[size\=sm\]\/alert-dialog-content\:grid {
    &:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
      display: grid;
    }
  }
  .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2 {
    &:is(:where(.group\/alert-dialog-content)[data-size="sm"] *) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:bg-transparent {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      background-color: transparent;
    }
  }
  .group-data-horizontal\/tabs\:h-8 {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      height: calc(var(--spacing) * 8);
    }
  }
  .group-data-vertical\/tabs\:h-fit {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      height: fit-content;
    }
  }
  .group-data-vertical\/tabs\:w-full {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      width: 100%;
    }
  }
  .group-data-vertical\/tabs\:flex-col {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      flex-direction: column;
    }
  }
  .group-data-vertical\/tabs\:justify-start {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      justify-content: flex-start;
    }
  }
  .after\:absolute {
    &::after {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .after\:bg-foreground {
    &::after {
      content: var(--tw-content);
      background-color: var(--foreground);
    }
  }
  .after\:opacity-0 {
    &::after {
      content: var(--tw-content);
      opacity: 0%;
    }
  }
  .after\:transition-opacity {
    &::after {
      content: var(--tw-content);
      transition-property: opacity;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .group-data-horizontal\/tabs\:after\:inset-x-0 {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      &::after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-horizontal\/tabs\:after\:bottom-\[-5px\] {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      &::after {
        content: var(--tw-content);
        bottom: -5px;
      }
    }
  }
  .group-data-horizontal\/tabs\:after\:h-0\.5 {
    &:is(:where(.group\/tabs):where([data-orientation="horizontal"]) *) {
      &::after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 0.5);
      }
    }
  }
  .group-data-vertical\/tabs\:after\:inset-y-0 {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      &::after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0);
      }
    }
  }
  .group-data-vertical\/tabs\:after\:-right-1 {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      &::after {
        content: var(--tw-content);
        right: calc(var(--spacing) * -1);
      }
    }
  }
  .group-data-vertical\/tabs\:after\:w-0\.5 {
    &:is(:where(.group\/tabs):where([data-orientation="vertical"]) *) {
      &::after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 0.5);
      }
    }
  }
  .first\:rounded-l-lg {
    &:first-child {
      border-top-left-radius: var(--radius-lg);
      border-bottom-left-radius: var(--radius-lg);
    }
  }
  .first\:border-l {
    &:first-child {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .last\:rounded-r-lg {
    &:last-child {
      border-top-right-radius: var(--radius-lg);
      border-bottom-right-radius: var(--radius-lg);
    }
  }
  .hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\] {
    &:hover {
      @media (hover: hover) {
        background-color: var(--secondary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklch,var(--secondary),var(--foreground) 5%);
        }
      }
    }
  }
  .hover\:bg-destructive\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
        }
      }
    }
  }
  .hover\:bg-muted {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
      }
    }
  }
  .hover\:bg-muted\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--muted);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--muted) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-primary\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--primary);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--primary) 80%, transparent);
        }
      }
    }
  }
  .hover\:text-foreground {
    &:hover {
      @media (hover: hover) {
        color: var(--foreground);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .focus-visible\:border-destructive\/40 {
    &:focus-visible {
      border-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--destructive) 40%, transparent);
      }
    }
  }
  .focus-visible\:border-ring {
    &:focus-visible {
      border-color: var(--ring);
    }
  }
  .focus-visible\:ring-3 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-\[3px\] {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus-visible\:ring-destructive\/20 {
    &:focus-visible {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .focus-visible\:ring-ring\/50 {
    &:focus-visible {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .focus-visible\:outline-1 {
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
    }
  }
  .focus-visible\:outline-ring {
    &:focus-visible {
      outline-color: var(--ring);
    }
  }
  .active\:not-aria-\[haspopup\]\:translate-y-px {
    &:active {
      &:not(*[aria-haspopup]) {
        --tw-translate-y: 1px;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .disabled\:pointer-events-none {
    &:disabled {
      pointer-events: none;
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .in-data-\[slot\=button-group\]\:rounded-lg {
    :where(*[data-slot="button-group"]) & {
      border-radius: var(--radius-lg);
    }
  }
  .has-disabled\:opacity-50 {
    &:has(*:disabled) {
      opacity: 50%;
    }
  }
  .has-aria-expanded\:bg-muted\/50 {
    &:has(*[aria-expanded="true"]) {
      background-color: var(--muted);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
  }
  .has-aria-invalid\:border-destructive {
    &:has(*[aria-invalid="true"]) {
      border-color: var(--destructive);
    }
  }
  .has-aria-invalid\:ring-3 {
    &:has(*[aria-invalid="true"]) {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .has-aria-invalid\:ring-destructive\/20 {
    &:has(*[aria-invalid="true"]) {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .has-data-\[icon\=inline-end\]\:pr-1 {
    &:has(*[data-icon="inline-end"]) {
      padding-right: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[icon\=inline-end\]\:pr-1\.5 {
    &:has(*[data-icon="inline-end"]) {
      padding-right: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[icon\=inline-end\]\:pr-2 {
    &:has(*[data-icon="inline-end"]) {
      padding-right: calc(var(--spacing) * 2);
    }
  }
  .has-data-\[icon\=inline-start\]\:pl-1 {
    &:has(*[data-icon="inline-start"]) {
      padding-left: calc(var(--spacing) * 1);
    }
  }
  .has-data-\[icon\=inline-start\]\:pl-1\.5 {
    &:has(*[data-icon="inline-start"]) {
      padding-left: calc(var(--spacing) * 1.5);
    }
  }
  .has-data-\[icon\=inline-start\]\:pl-2 {
    &:has(*[data-icon="inline-start"]) {
      padding-left: calc(var(--spacing) * 2);
    }
  }
  .has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\] {
    &:has(*[data-slot="alert-dialog-media"]) {
      grid-template-rows: auto auto 1fr;
    }
  }
  .has-data-\[slot\=alert-dialog-media\]\:gap-x-4 {
    &:has(*[data-slot="alert-dialog-media"]) {
      column-gap: calc(var(--spacing) * 4);
    }
  }
  .aria-disabled\:pointer-events-none {
    &[aria-disabled="true"] {
      pointer-events: none;
    }
  }
  .aria-disabled\:opacity-50 {
    &[aria-disabled="true"] {
      opacity: 50%;
    }
  }
  .aria-expanded\:bg-muted {
    &[aria-expanded="true"] {
      background-color: var(--muted);
    }
  }
  .aria-expanded\:bg-secondary {
    &[aria-expanded="true"] {
      background-color: var(--secondary);
    }
  }
  .aria-expanded\:text-foreground {
    &[aria-expanded="true"] {
      color: var(--foreground);
    }
  }
  .aria-expanded\:text-secondary-foreground {
    &[aria-expanded="true"] {
      color: var(--secondary-foreground);
    }
  }
  .aria-invalid\:border-destructive {
    &[aria-invalid="true"] {
      border-color: var(--destructive);
    }
  }
  .aria-invalid\:ring-3 {
    &[aria-invalid="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .aria-invalid\:ring-destructive\/20 {
    &[aria-invalid="true"] {
      --tw-ring-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .data-\[active\=true\]\:z-10 {
    &[data-active="true"] {
      z-index: 10;
    }
  }
  .data-\[active\=true\]\:border-ring {
    &[data-active="true"] {
      border-color: var(--ring);
    }
  }
  .data-\[active\=true\]\:ring-3 {
    &[data-active="true"] {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .data-\[active\=true\]\:ring-ring\/50 {
    &[data-active="true"] {
      --tw-ring-color: var(--ring);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent);
      }
    }
  }
  .data-\[active\=true\]\:aria-invalid\:border-destructive {
    &[data-active="true"] {
      &[aria-invalid="true"] {
        border-color: var(--destructive);
      }
    }
  }
  .data-\[active\=true\]\:aria-invalid\:ring-destructive\/20 {
    &[data-active="true"] {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
        }
      }
    }
  }
  .data-\[size\=default\]\:max-w-xs {
    &[data-size="default"] {
      max-width: var(--container-xs);
    }
  }
  .data-\[size\=sm\]\:max-w-xs {
    &[data-size="sm"] {
      max-width: var(--container-xs);
    }
  }
  .data-\[state\=selected\]\:bg-muted {
    &[data-state="selected"] {
      background-color: var(--muted);
    }
  }
  .data-\[variant\=line\]\:rounded-none {
    &[data-variant="line"] {
      border-radius: 0;
    }
  }
  .supports-backdrop-filter\:backdrop-blur-xs {
    @supports (backdrop-filter: var(--tw)) {
      --tw-backdrop-blur: blur(var(--blur-xs));
      -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
      backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:justify-end {
    @media (width >= 40rem) {
      justify-content: flex-end;
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2 {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        grid-row: span 2 / span 2;
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        place-items: start;
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        text-align: left;
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2 {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        &:is(:where(.group\/alert-dialog-content):has(*[data-slot="alert-dialog-media"]) *) {
          grid-column-start: 2;
        }
      }
    }
  }
  .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\] {
    @media (width >= 40rem) {
      &:is(:where(.group\/alert-dialog-content)[data-size="default"] *) {
        &:has(*[data-slot="alert-dialog-media"]) {
          grid-template-rows: auto 1fr;
        }
      }
    }
  }
  .data-\[size\=default\]\:sm\:max-w-sm {
    &[data-size="default"] {
      @media (width >= 40rem) {
        max-width: var(--container-sm);
      }
    }
  }
  .md\:text-pretty {
    @media (width >= 48rem) {
      text-wrap: pretty;
    }
  }
  .dark\:border-input {
    &:is(.dark *) {
      border-color: var(--input);
    }
  }
  .dark\:bg-destructive\/20 {
    &:is(.dark *) {
      background-color: var(--destructive);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
      }
    }
  }
  .dark\:bg-input\/30 {
    &:is(.dark *) {
      background-color: var(--input);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--input) 30%, transparent);
      }
    }
  }
  .dark\:text-muted-foreground {
    &:is(.dark *) {
      color: var(--muted-foreground);
    }
  }
  .dark\:hover\:bg-destructive\/30 {
    &:is(.dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--destructive) 30%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-input\/50 {
    &:is(.dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--input);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--input) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-muted\/50 {
    &:is(.dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--muted);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--muted) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:text-foreground {
    &:is(.dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--foreground);
        }
      }
    }
  }
  .dark\:focus-visible\:ring-destructive\/40 {
    &:is(.dark *) {
      &:focus-visible {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:has-aria-invalid\:ring-destructive\/40 {
    &:is(.dark *) {
      &:has(*[aria-invalid="true"]) {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:aria-invalid\:border-destructive\/50 {
    &:is(.dark *) {
      &[aria-invalid="true"] {
        border-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--destructive) 50%, transparent);
        }
      }
    }
  }
  .dark\:aria-invalid\:ring-destructive\/40 {
    &:is(.dark *) {
      &[aria-invalid="true"] {
        --tw-ring-color: var(--destructive);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
        }
      }
    }
  }
  .dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40 {
    &:is(.dark *) {
      &[data-active="true"] {
        &[aria-invalid="true"] {
          --tw-ring-color: var(--destructive);
          @supports (color: color-mix(in lab, red, red)) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
          }
        }
      }
    }
  }
  .data-open\:animate-in {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      animation: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-open\:fade-in-0 {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      --tw-enter-opacity: calc(0/100);
      --tw-enter-opacity: 0;
    }
  }
  .data-open\:zoom-in-95 {
    &:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) {
      --tw-enter-scale: calc(95*1%);
      --tw-enter-scale: .95;
    }
  }
  .data-closed\:animate-out {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      animation: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none);
    }
  }
  .data-closed\:fade-out-0 {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      --tw-exit-opacity: calc(0/100);
      --tw-exit-opacity: 0;
    }
  }
  .data-closed\:zoom-out-95 {
    &:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) {
      --tw-exit-scale: calc(95*1%);
      --tw-exit-scale: .95;
    }
  }
  .data-active\:bg-background {
    &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
      background-color: var(--background);
    }
  }
  .data-active\:text-foreground {
    &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
      color: var(--foreground);
    }
  }
  .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm {
    &:is(:where(.group\/tabs-list)[data-variant="default"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        background-color: transparent;
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100 {
    &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        &::after {
          content: var(--tw-content);
          opacity: 100%;
        }
      }
    }
  }
  .dark\:data-active\:border-input {
    &:is(.dark *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        border-color: var(--input);
      }
    }
  }
  .dark\:data-active\:bg-input\/30 {
    &:is(.dark *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        background-color: var(--input);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--input) 30%, transparent);
        }
      }
    }
  }
  .dark\:data-active\:text-foreground {
    &:is(.dark *) {
      &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
        color: var(--foreground);
      }
    }
  }
  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent {
    &:is(.dark *) {
      &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
        &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
          border-color: transparent;
        }
      }
    }
  }
  .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent {
    &:is(.dark *) {
      &:is(:where(.group\/tabs-list)[data-variant="line"] *) {
        &:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) {
          background-color: transparent;
        }
      }
    }
  }
  .data-horizontal\:flex-col {
    &:where([data-orientation="horizontal"]) {
      flex-direction: column;
    }
  }
  .\[\&_svg\]\:pointer-events-none {
    & svg {
      pointer-events: none;
    }
  }
  .\[\&_svg\]\:shrink-0 {
    & svg {
      flex-shrink: 0;
    }
  }
  .\[\&_tr\]\:border-b {
    & tr {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
    }
  }
  .\[\&_tr\:last-child\]\:border-0 {
    & tr:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0 {
    &:has([role=checkbox]) {
      padding-right: calc(var(--spacing) * 0);
    }
  }
  .\*\:\[a\]\:underline {
    :is(& > *) {
      &:is(a) {
        text-decoration-line: underline;
      }
    }
  }
  .\*\:\[a\]\:underline-offset-3 {
    :is(& > *) {
      &:is(a) {
        text-underline-offset: 3px;
      }
    }
  }
  .\*\:\[a\]\:hover\:text-foreground {
    :is(& > *) {
      &:is(a) {
        &:hover {
          @media (hover: hover) {
            color: var(--foreground);
          }
        }
      }
    }
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --scroll-fade-t {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-b {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-s {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-e {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0px;
}
@property --scroll-fade-mask {
  syntax: "*";
  inherits: false;
}
@property --shimmer-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 20deg;
}
@property --shimmer-image {
  syntax: "*";
  inherits: false;
}
@property --shimmer-text-fill {
  syntax: "*";
  inherits: false;
}
@media (prefers-reduced-motion: reduce) {
  .shimmer {
    animation: none;
    background-image: none;
    -webkit-text-fill-color: currentColor;
  }
}
:root,.dark {
  --background: #090e25;
  --foreground: #f5f2ff;
  --card: #121831;
  --card-foreground: #f5f2ff;
  --popover: #161b37;
  --popover-foreground: #f5f2ff;
  --primary: #ffe36a;
  --primary-foreground: #10142b;
  --secondary: #282445;
  --secondary-foreground: #f5f2ff;
  --muted: #1b213d;
  --muted-foreground: #b4b7cf;
  --accent: #8160e2;
  --accent-foreground: #fff;
  --destructive: #ff8e9c;
  --border: #32364f;
  --input: #343a58;
  --ring: #b69cff;
  --radius: .65rem;
  --font-sans: 'Segoe UI',Arial,sans-serif;
  --font-heading: var(--font-sans);
  --font-mono: Consolas,monospace;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font: 16px/1.65 'Segoe UI',Arial,sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
button,a,input {
  touch-action: manipulation;
}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline: 3px solid #c9b3ff;
  outline-offset: 4px;
}
button {
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
  opacity: .5;
}
p {
  color: #bdc1d7;
  margin: 1rem 0;
}
h1,h2,h3 {
  font-weight: 750;
  line-height: 1.12;
  letter-spacing: -.035em;
  color: #f7f3ff;
}
h1 {
  font-size: clamp(2.5rem,5vw,4.9rem);
  margin: 1.3rem 0;
}
h1 span {
  color: #ffe36a;
}
h2 {
  font-size: 1.65rem;
  margin: 1rem 0;
}
h3 {
  font-size: 1.2rem;
}
small {
  font-size: 1rem;
  color: #9e9abf;
  font-weight: 400;
}
svg {
  flex-shrink: 0;
}
.local-notice {
  background: #2c224d;
  color: #d8c9ff;
  text-align: center;
  font: 600 .75rem/2.1 var(--font-mono);
  letter-spacing: .1em;
  padding: 3px 12px;
}
.site-header {
  max-width: 1320px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 18px 52px;
  border-bottom: 1px solid #2a2f48;
}
.brand {
  display: block;
  width: 190px;
  height: 71px;
  object-fit: contain;
}
.site-header nav {
  display: flex;
  gap: 32px;
  flex: 1;
  justify-content: center;
}
.site-header nav a {
  font-size: .95rem;
  color: #aeb4cf;
  padding: 13px 0;
  position: relative;
}
.site-header nav a[aria-current] {
  color: #fff;
}
.site-header nav a[aria-current]:after {
  content: '';
  height: 3px;
  background: #ffe36a;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.language-switch {
  background: transparent !important;
  border: 1px solid #3c405e !important;
  min-width: 87px;
  height: 42px !important;
  color: #fff !important;
}
.language-switch span {
  color: #8f94b1;
}
.page {
  max-width: 1216px;
  padding: 48px 0 76px;
  margin: auto;
  min-height: 72vh;
}
.overview {
  display: grid;
  grid-template-columns: 1.38fr 1fr;
  gap: 74px;
  align-items: start;
}
.section-number {
  font: 600 .78rem/1.4 var(--font-mono);
  letter-spacing: .15em;
  color: #a79bbc;
}
.tournament-intro h1 {
  margin: 20px 0 24px;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #584279;
  background: #271d40;
  color: #dbc9ff;
  border-radius: 999px;
  padding: 6px 13px;
  font-size: .84rem;
  font-weight: 650;
}
.status-pill>span,.connected>span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b69cff;
}
.intro-copy {
  max-width: 565px;
  font-size: 1.08rem;
  line-height: 1.7;
}
.tournament-facts {
  display: flex;
  gap: 42px;
  margin: 30px 0 4px;
  border-top: 1px solid #2a2f48;
  padding-top: 22px;
}
.tournament-facts div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tournament-facts span {
  color: #929ab9;
  font-size: .86rem;
}
.tournament-facts strong {
  font-size: 1.9rem;
  font-weight: 600;
}
.tournament-facts .date {
  font-size: .96rem;
  max-width: 185px;
}
.account-panel {
  position: relative;
  border: 1px solid #494162;
  background: #16182f;
  padding: 30px 30px 25px;
  border-radius: 16px;
  box-shadow: 8px 8px 0 #191331;
}
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.panel-heading svg {
  color: #a78bdc;
}
.account-panel h2 {
  font-size: 1.55rem;
}
.link-emblem {
  height: 57px;
  width: 57px;
  background: #2d2546;
  border: 1px solid #5e4c81;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  color: #c6a8ff;
  margin: 22px 0;
}
.button,button.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 48px;
  border-radius: 8px;
  padding: 11px 20px;
  font-size: .95rem;
  font-weight: 750;
}
.primary {
  background: #ffe36a !important;
  color: #101329 !important;
  border: 0 !important;
}
.primary:hover {
  background: #ffea93 !important;
}
.account-panel .primary {
  width: 100%;
  margin-top: 12px;
}
.quiet {
  background: transparent !important;
  color: #b9bfd7 !important;
  box-shadow: none !important;
  border: 0 !important;
  font-size: .88rem !important;
}
.micro {
  font-size: .78rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #989db9;
}
.board-section {
  margin-top: 56px;
  border-top: 1px solid #3e3659;
  padding-top: 22px;
}
.board-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tournament-tabs {
  margin: 14px 0 23px;
  background: transparent !important;
  gap: 8px !important;
  height: auto !important;
  padding: 0 !important;
}
.tournament-tabs button {
  height: 44px !important;
  font-size: 1.03rem !important;
  padding: 9px 19px !important;
  border-radius: 7px !important;
  color: #aaaec8 !important;
  background: transparent !important;
}
.tournament-tabs button[data-active],.tournament-tabs button[data-state=active] {
  background: #34244f !important;
  color: #ecddff !important;
}
.board-section table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
}
th {
  background: #141a33;
  color: #969fbf !important;
  font-weight: 500 !important;
  font-size: .83rem;
  text-align: left;
  padding: 15px 20px !important;
}
td {
  padding: 18px 20px !important;
  border-bottom: 1px solid #2c3049;
}
.rank {
  font: 1rem var(--font-mono);
  color: #a396bd;
}
.score {
  color: #ffe36a;
  font-weight: 700;
}
.player-name {
  font-weight: 650;
}
.empty-state {
  text-align: center;
  padding: 40px 16px 30px;
  border-bottom: 1px solid #282d46;
}
.empty-state>svg {
  color: #8f79b5;
  margin: 0 auto 14px;
}
.empty-state h3 {
  margin: 0;
}
.empty-state p {
  font-size: .94rem;
  margin: .7rem;
}
.data-note {
  font-size: .82rem;
  display: flex;
  gap: 8px;
  align-items: center;
  color: #8e96b6;
  margin-top: 18px;
}
.rules-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 38px;
  padding: 16px 0;
}
.rules-grid p,.rules-grid li {
  font-size: .95rem;
  color: #bac0d6;
}
.rules-grid ol {
  padding-left: 20px;
}
.prize-panel {
  display: flex;
  gap: 26px;
  background: #15192f;
  padding: 30px;
  border: 1px solid #373347;
  border-radius: 12px;
}
.prize-panel>svg {
  color: #ffe36a;
  margin-top: 10px;
}
.prize-panel h3 {
  margin: 7px 0;
}
.prize-panel p {
  max-width: 780px;
}
.muted {
  font-size: .88rem;
  color: #999fbb;
}
.feedback {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 16px 20px;
  border: 1px solid #5a487c;
  background: #241e3c;
  border-radius: 9px;
  margin-bottom: 26px;
  font-size: .95rem;
}
.feedback.error {
  border-color: #8c4b60;
  background: #301b2d;
  color: #ffd7e0;
}
.feedback .quiet {
  margin-left: auto;
}
.feedback.success {
  color: #bbedd3;
  border-color: #386252;
  background: #152c2a;
}
.account-layout {
  display: grid;
  grid-template-columns: 1.18fr 1fr;
  gap: 70px;
  align-items: start;
}
.account-layout h1 {
  font-size: clamp(2.4rem,4vw,3.8rem);
}
.account-layout section>p {
  max-width: 535px;
}
.steps {
  padding-left: 23px;
  color: #c0c3d8;
}
.steps li {
  padding: 9px 0;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #dac6ff;
  font-weight: 600;
  border-bottom: 1px solid #614877;
  padding-bottom: 4px;
}
.field-label {
  display: block;
  font-size: .9rem;
  color: #d6d9e8;
  margin: 18px 0 12px;
}
.code-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 380px;
}
.code-slot {
  width: 52px !important;
  height: 64px !important;
  border-color: #6e6288 !important;
  background: #0c1126;
  font: 1.7rem var(--font-mono);
}
.connected {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #c9aaff;
  font-size: .88rem;
}
.account-email {
  overflow-wrap: anywhere;
  color: #f2ebff;
}
.player-stats {
  display: flex;
  gap: 30px;
  margin: 24px 0;
}
.player-stats>div {
  display: flex;
  flex-direction: column;
}
.player-stats strong {
  font-size: 2rem;
  color: #ffe36a;
}
.player-stats span {
  font-size: .83rem;
  color: #a9b0ce;
}
.account-panel .quiet {
  display: flex;
  margin: 12px auto 0;
}
.legal {
  max-width: 810px;
  margin: auto;
}
.legal h1 {
  font-size: 3.5rem;
}
.legal h2 {
  font-size: 1.5rem;
  margin: 35px 0 12px;
}
.legal ul {
  padding-left: 23px;
  color: #bdc1d7;
}
.legal li {
  margin: 15px 0;
}
.legal a:not(.button) {
  color: #ddc5ff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.danger {
  background: #742c43 !important;
  color: #fff !important;
  border: 1px solid #b66379 !important;
  min-height: 44px;
}
.delete-modal {
  max-width: 460px !important;
  background: #191c36 !important;
  color: #f4efff !important;
  padding: 25px !important;
}
.delete-modal p {
  color: #bec2da !important;
  font-size: 1rem;
}
.admin-actions {
  display: flex;
  gap: 16px;
  margin: 25px 0;
}
.claim {
  border: 1px solid #494059;
  border-radius: 8px;
  margin: 14px 0;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.claim>div {
  display: flex;
  gap: 10px;
  margin-left: auto;
}
.game-intro {
  display: grid;
  grid-template-columns: 1fr 330px;
  gap: 100px;
  margin-top: 20px;
  align-items: center;
}
.game-intro h1 {
  font-size: clamp(2.5rem,4.5vw,4rem);
}
.game-screenshot {
  border: 1px solid #61527d;
  border-radius: 26px;
  width: 100%;
  height: auto;
  box-shadow: 14px 14px 0 #211738;
}
.game-intro p {
  font-size: 1.05rem;
}
footer {
  max-width: 1216px;
  margin: auto;
  border-top: 1px solid #33364e;
  padding: 26px 0 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  color: #9aa2c0;
  font-size: .85rem;
}
.footer-brand {
  color: #e4deef;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 750;
  letter-spacing: .05em;
}
footer>div {
  display: flex;
  gap: 25px;
}
footer>span {
  font: .7rem var(--font-mono);
  letter-spacing: .13em;
}
@media (max-width:1320px) {
  .page,footer {
    margin-left: 40px;
    margin-right: 40px;
  }
  .site-header {
    padding-left: 40px;
    padding-right: 40px;
  }
  .overview {
    gap: 45px;
  }
}
@media (max-width:900px) {
  .overview,.account-layout {
    gap: 28px;
    grid-template-columns: 1fr 1fr;
  }
  .site-header {
    gap: 20px;
  }
  .site-header nav {
    gap: 18px;
  }
  .brand {
    width: 155px;
  }
  .account-panel {
    padding: 22px;
  }
  .tournament-facts {
    gap: 20px;
    flex-wrap: wrap;
  }
  .rules-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .game-intro {
    gap: 40px;
    grid-template-columns: 1fr 260px;
  }
  footer>span {
    display: none;
  }
}
@media (max-width:680px) {
  .page {
    margin: 0;
    padding: 30px 20px 48px;
  }
  .site-header {
    padding: 10px 20px 0;
    gap: 10px;
    flex-wrap: wrap;
  }
  .brand {
    width: 147px;
    height: 55px;
  }
  .language-switch {
    margin-left: auto;
  }
  .site-header nav {
    order: 3;
    flex-basis: 100%;
    justify-content: flex-start;
    gap: 28px;
  }
  .site-header nav a {
    padding: 10px 0 15px;
    font-size: .93rem;
  }
  .overview,.account-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  h1 {
    font-size: 3.45rem;
  }
  .tournament-intro h1 {
    margin: 15px 0 20px;
  }
  .intro-copy {
    font-size: 1rem;
  }
  .tournament-facts {
    gap: 26px;
    margin: 24px 0 0;
  }
  .account-panel {
    padding: 24px;
    box-shadow: 5px 5px 0 #221839;
  }
  .link-emblem {
    float: right;
    margin: 8px 0 8px 12px;
    width: 46px;
    height: 46px;
  }
  .account-panel p {
    font-size: .95rem;
  }
  .account-panel .micro {
    font-size: .78rem;
  }
  .board-section {
    margin-top: 38px;
  }
  .board-title {
    gap: 10px;
  }
  .section-number {
    font-size: .71rem;
  }
  .refresh {
    font-size: .8rem !important;
    padding-right: 0 !important;
  }
  .tournament-tabs {
    gap: 0 !important;
    width: 100%;
  }
  .tournament-tabs button {
    padding: 8px 14px !important;
    font-size: .95rem !important;
  }
  .board-section table {
    font-size: .88rem;
  }
  th,td {
    padding: 13px 11px !important;
  }
  .empty-state {
    padding: 32px 6px;
  }
  .empty-state h3 {
    font-size: 1.12rem;
  }
  .empty-state p {
    font-size: .87rem;
  }
  .data-note {
    font-size: .76rem;
    align-items: flex-start;
  }
  .prize-panel {
    padding: 20px;
    gap: 16px;
  }
  .prize-panel>svg {
    width: 29px;
  }
  .feedback {
    align-items: flex-start;
    padding: 15px;
    flex-wrap: wrap;
  }
  .feedback .quiet {
    margin-left: 0;
  }
  .account-layout h1 {
    font-size: 2.7rem;
  }
  .code-grid {
    max-width: 300px;
    gap: 12px;
  }
  .code-slot {
    width: 44px !important;
    height: 58px !important;
  }
  .legal h1 {
    font-size: 2.65rem;
  }
  .legal h2 {
    font-size: 1.3rem;
  }
  .game-intro {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .game-screenshot {
    max-width: 290px;
    margin: 15px auto;
  }
  .game-intro h1 {
    font-size: 2.7rem;
  }
  footer {
    margin: 0 20px;
    padding: 25px 0;
    flex-wrap: wrap;
    gap: 20px;
  }
  footer>div {
    flex-wrap: wrap;
    gap: 13px 22px;
  }
  .admin-actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .claim {
    align-items: flex-start;
    flex-direction: column;
  }
  .claim>div {
    margin-left: 0;
  }
}
@media (prefers-reduced-motion:reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
.age-access-panel {
  max-width: 540px;
}
.age-access-panel form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.age-access-panel h3 {
  font-size: 1.35rem;
}
.age-input {
  width: 120px;
  min-height: 48px;
  border: 1px solid #847398;
  background: #0c1126;
  color: #fff;
  border-radius: 7px;
  padding: 8px 12px;
  font-size: 1.25rem;
}
.age-input:focus {
  outline: 2px solid #ffe36a;
  outline-offset: 3px;
}
.age-access-panel>.text-link {
  display: block;
  margin-top: 20px;
}
.age-access-panel .micro {
  margin-top: 20px;
}
.beta-page {
  max-width: 1216px;
  margin: 0 auto;
  padding: 58px 0 76px;
  min-height: 72vh;
}
.beta-page h1 {
  font-size: clamp(2.65rem,5vw,4.75rem);
  line-height: 1.075;
  letter-spacing: -.055em;
}
.beta-page h2 {
  font-size: clamp(1.7rem,3vw,2.5rem);
  letter-spacing: -.04em;
  line-height: 1.15;
}
.beta-page h2 span {
  color: #aeb6d7;
}
.beta-page h3 {
  line-height: 1.35;
}
.beta-page button,.beta-page input,.beta-page textarea,.beta-page select {
  font: inherit;
}
.beta-page button:focus-visible,.beta-page a:focus-visible,.beta-page input:focus-visible,.beta-page textarea:focus-visible,.beta-page select:focus-visible,.beta-page summary:focus-visible,.beta-table-wrap:focus-visible {
  outline: 3px solid #ffe36a;
  outline-offset: 4px;
}
.beta-page input,.beta-page textarea,.beta-page select {
  max-width: 100%;
  min-width: 0;
}
.beta-page fieldset {
  padding: 0;
  border: 0;
  margin: 0;
  min-width: 0;
}
.beta-page fieldset:disabled {
  opacity: .6;
}
.beta-page .beta-small {
  font-size: .8rem;
  line-height: 1.65;
  color: #adb3ce;
}
.beta-page a:not(.beta-button):not(.beta-quiet-link) {
  text-underline-offset: 4px;
}
.beta-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.beta-skip {
  position: fixed;
  top: 10px;
  left: 16px;
  transform: translateY(-160%);
  z-index: 100;
  background: #ffe36a;
  color: #10142b;
  padding: 12px 18px;
  border-radius: 8px;
}
.beta-skip:focus {
  transform: none;
}
.beta-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font: .7rem/1.5 var(--font-mono);
  letter-spacing: .12em;
  color: #d6c8ff;
  padding: 8px 13px;
  border: 1px solid #584976;
  background: #201b38;
  border-radius: 999px;
}
.beta-kicker>span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffe36a;
}
.beta-eyebrow {
  display: block;
  font: .71rem/1.5 var(--font-mono);
  letter-spacing: .13em;
  color: #b0a4cb;
}
.beta-hero {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(0,1fr);
  gap: 50px;
  align-items: center;
  padding: 0 10px 34px 0;
  position: relative;
}
.beta-hero h1 {
  margin: 25px 0 20px;
}
.beta-hero .beta-lead {
  font-size: 1.15rem;
  color: #f2edff;
  max-width: 470px;
}
.beta-hero-description {
  max-width: 510px;
  font-size: 1.03rem;
  line-height: 1.85;
}
.beta-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 28px;
}
.beta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 46px;
  border-radius: 9px;
  padding: 11px 20px;
  font-size: .94rem;
  font-weight: 700;
  border: 1px solid #4b4567;
  cursor: pointer;
  text-align: center;
  line-height: 1.5;
  text-decoration: none;
  white-space: normal;
}
.beta-primary {
  background: #ffe36a;
  color: #10142b !important;
  border-color: #ffe36a;
  font-weight: 750;
  box-shadow: 0 3px 0 #9c8a3b;
}
.beta-primary:hover {
  background: #ffea93;
  border-color: #ffea93;
}
.beta-secondary {
  background: #1b203b;
  color: #f3f0ff;
  border: 1px solid #514969;
}
.beta-secondary:hover {
  background: #282443;
}
.beta-full {
  width: 100%;
}
.beta-link-button {
  color: #d5c1ff;
  background: none;
  border: none;
  padding: 7px 0;
  min-height: 40px;
  text-align: left;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.beta-quiet-link {
  color: #d2c5ea;
  font-size: .93rem;
  padding: 10px 0;
}
.beta-facts {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  margin-top: 27px;
  color: #aab2ce;
  font: .74rem/1.7 var(--font-mono);
}
.beta-facts span+span::before {
  content: ' / ';
  padding: 0 14px;
  color: #6d6788;
}
.beta-game-figure {
  position: relative;
  margin: 0;
  padding: 15px 30px 0;
  text-align: center;
  justify-self: center;
  width: 100%;
  max-width: 390px;
}
.beta-game-figure>img {
  position: relative;
  display: block;
  max-width: 100%;
  width: 280px;
  height: auto;
  margin: auto;
  border-radius: 21px;
  border: 1px solid #5f5883;
  box-shadow: 12px 14px 0 #1d1832,0 22px 50px #020614;
  transform: rotate(3deg);
}
.beta-game-figure figcaption {
  position: relative;
  margin: 27px 0 0;
  color: #989fbd;
  font-size: .72rem;
}
.beta-image-glow {
  position: absolute;
  inset: 10% -5% 8%;
  background: radial-gradient(ellipse,#5942a44a 0,#26336e28 42%,transparent 70%);
  filter: blur(18px);
  pointer-events: none;
}
.beta-how {
  padding: 37px 0 40px;
  margin-top: 20px;
  border-top: 1px solid #333249;
  border-bottom: 1px solid #333249;
}
.beta-how h2 {
  margin: 12px 0 25px;
  font-size: 1.85rem;
}
.beta-how-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 42px;
}
.beta-how-grid article>span {
  display: block;
  color: #ffe36a;
  font: 1rem/1.5 var(--font-mono);
  margin-bottom: 12px;
}
.beta-how-grid h3 {
  font-size: 1.15rem;
  margin: 0;
}
.beta-how-grid p {
  font-size: .91rem;
  line-height: 1.8;
  margin: 9px 0 0;
}
.beta-join-grid {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  align-items: start;
  gap: 74px;
  margin-top: 66px;
}
.beta-join-copy {
  position: sticky;
  top: 30px;
  padding-top: 10px;
}
.beta-join-copy>p {
  max-width: 460px;
}
.beta-notes {
  border-left: 2px solid #8f75c0;
  padding: 1px 0 1px 20px;
  margin-top: 30px;
}
.beta-notes p {
  font-size: .94rem;
}
.beta-notes h3 {
  margin: 7px 0 0;
  font-size: 1.05rem;
}
.beta-inline-help {
  margin-top: 30px;
}
.beta-card {
  padding: 31px;
  background: linear-gradient(155deg,#191c35,#121831);
  border: 1px solid #48425f;
  border-radius: 17px;
  box-shadow: 7px 7px 0 #1c1730;
}
.beta-card h2 {
  font-size: 2rem;
  margin: 12px 0;
}
.beta-card>p {
  font-size: .96rem;
}
.beta-form-card {
  scroll-margin-top: 24px;
}
.beta-availability {
  font-size: .86rem;
  padding: 12px 14px;
  background: #0f142c;
  border: 1px solid #353851;
  border-radius: 8px;
  color: #c5c6de;
  line-height: 1.6;
  display: block;
  margin: 21px 0;
}
.beta-availability .beta-link-button {
  display: block;
  font-size: .87rem;
}
.beta-live-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b6e8c7;
  margin-right: 8px;
  vertical-align: middle;
}
.beta-label {
  display: block;
  font-weight: 650;
  font-size: .88rem;
  color: #e6e2f3;
  margin: 18px 0 8px;
}
.beta-label em {
  font-style: normal;
  font-weight: 400;
  color: #a5acc7;
}
.beta-label>span {
  color: #d7c1ff;
}
.beta-input {
  display: block;
  width: 100%;
  padding: 12px 13px;
  min-height: 48px;
  border: 1px solid #575270;
  background: #0b1027;
  color: #fff;
  border-radius: 8px;
  line-height: 1.5;
  box-shadow: none;
}
.beta-input::placeholder {
  color: #858eac;
  font-size: .88rem;
  opacity: 1;
}
.beta-input:disabled {
  opacity: .6;
}
.beta-field-help {
  font-size: .78rem !important;
  margin: 7px 0 18px !important;
  color: #adb3ca !important;
  line-height: 1.6;
}
.beta-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 21px 0;
  cursor: pointer;
  font-size: .86rem;
  color: #d0d2e4;
  line-height: 1.7;
}
.beta-checkbox input[type=checkbox],.beta-admin-table input[type=checkbox] {
  accent-color: #ffe36a;
  min-width: 19px;
  width: 19px;
  height: 19px;
  margin: 4px 0 0;
  flex-shrink: 0;
  cursor: pointer;
}
.beta-privacy-short {
  margin: 20px 0;
  padding: 15px 16px;
  border-radius: 9px;
  background: #0b1126;
  border: 1px solid #333951;
}
.beta-privacy-short p {
  font-size: .75rem;
  line-height: 1.85;
  margin: 0;
  color: #aeb6d0;
}
.beta-privacy-short p+p {
  margin-top: 10px;
}
.beta-privacy-short strong {
  color: #dadbea;
}
.beta-privacy-short a {
  color: #d9c4ff;
  text-decoration: underline;
}
.beta-privacy-full {
  scroll-margin-top: 25px;
}
.beta-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.beta-alert {
  padding: 15px 18px;
  border: 1px solid #5a5077;
  border-radius: 9px;
  background: #211d38;
  font-size: .9rem;
  color: #e5dbfc;
  margin: 20px 0;
}
.beta-error {
  border-color: #a45e73;
  background: #361d30;
  color: #ffdae5;
}
.beta-good {
  background: #163031;
  border-color: #437a67;
  color: #c7f2d6;
}
.beta-round-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #293a38;
  color: #bbf1ce;
  font-size: 1.7rem;
  margin-bottom: 10px;
}
.beta-receipt {
  padding: 17px;
  border: 1px solid #4a4960;
  border-radius: 10px;
  margin: 25px 0;
  background: #10172f;
}
.beta-receipt h3 {
  margin: 0;
}
.beta-receipt p {
  font-size: .87rem;
}
.beta-code {
  width: 100%;
  resize: vertical;
  word-break: break-all;
  font-family: var(--font-mono) !important;
  font-size: .86rem !important;
  background: #0c1027;
  color: #e8e0ff;
  border: 1px solid #5a5276;
  padding: 12px;
  border-radius: 7px;
  margin-bottom: 14px;
  line-height: 1.8;
}
.beta-faq {
  margin-top: 74px;
  max-width: 850px;
}
.beta-faq h2 {
  font-size: 1.9rem;
}
.beta-faq details {
  border-bottom: 1px solid #35364d;
  padding: 18px 0;
}
.beta-faq summary,.beta-admin-settings summary,.beta-maintenance summary {
  cursor: pointer;
  font-weight: 600;
  color: #e3dff2;
  line-height: 1.6;
  min-height: 30px;
}
.beta-faq details p {
  font-size: .95rem;
}
.beta-withdraw-layout {
  max-width: 720px;
  margin: 15px auto;
}
.beta-withdraw-layout h1 {
  font-size: clamp(2.3rem,4vw,3.5rem);
}
.beta-withdraw-layout .beta-card {
  margin: 30px 0;
}
.beta-header {
  max-width: 1320px;
}
.beta-footer {
  max-width: 1216px;
}
.beta-footer>div {
  flex-wrap: wrap;
}
.beta-banner {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 24px 28px;
  border: 1px solid #62517d;
  border-radius: 13px;
  background: linear-gradient(110deg,#29203e,#141a33);
  margin-bottom: 36px;
}
.beta-banner strong {
  display: block;
  font-size: 1.32rem;
  margin: 5px 0;
}
.beta-banner p {
  font-size: .9rem;
  margin: 5px 0 0;
}
.beta-banner .beta-button {
  flex-shrink: 0;
}
.beta-admin-heading {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
}
.beta-admin-heading h1 {
  font-size: clamp(2rem,4vw,3.4rem);
}
.beta-admin-heading .text-link {
  font-size: .85rem;
  flex-shrink: 0;
}
.beta-admin-access {
  box-shadow: none;
  padding: 23px 26px;
}
.beta-admin-access p {
  font-size: .9rem;
}
.beta-toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 15px;
}
.beta-user-email {
  overflow-wrap: anywhere;
  color: #c6c9dc;
  font-size: .9rem;
}
.beta-admin-settings {
  border: 1px solid #47415e;
  background: #11172e;
  padding: 22px 26px;
  border-radius: 12px;
  margin: 28px 0;
}
.beta-admin-settings form {
  max-width: 780px;
}
.beta-admin-settings .beta-tag {
  font-size: .74rem;
  margin-left: 10px;
  padding: 4px 9px;
  background: #302442;
  border: 1px solid #594673;
  border-radius: 999px;
}
.beta-admin-guide {
  border-left: 2px solid #ffe36a;
  padding-left: 19px;
  margin: 30px 0;
}
.beta-admin-guide p {
  font-size: .9rem;
  max-width: 870px;
}
.beta-table-toolbar {
  justify-content: flex-start;
  align-items: flex-end;
  margin: 24px 0;
}
.beta-table-toolbar .beta-label {
  margin: 0;
  min-width: 220px;
}
.beta-table-toolbar .beta-label select {
  margin-top: 7px;
}
.beta-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #383b53;
  border-radius: 9px;
}
.beta-admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}
.beta-admin-table td {
  font-size: .88rem;
  vertical-align: middle;
}
.beta-admin-table th,.beta-admin-table td {
  padding: 13px 14px !important;
}
.beta-admin-table th:first-child {
  width: 45px;
}
.beta-row-email {
  display: block;
  overflow-wrap: anywhere;
  font-weight: 550;
  max-width: 310px;
}
.beta-admin-table small {
  display: block;
  font-size: .75rem;
  color: #a5abc5;
  margin-top: 5px;
  overflow-wrap: anywhere;
  max-width: 310px;
}
.beta-status-select {
  min-width: 165px;
  font-size: .84rem !important;
  min-height: 43px;
}
.beta-row-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
}
.beta-row-actions .beta-link-button {
  font-size: .81rem;
  min-height: 33px;
}
.beta-danger-text {
  color: #ffb2c1;
}
.beta-danger {
  background: #6d2e43;
  color: #fff;
  border-color: #af6e82;
}
.beta-pagination {
  justify-content: space-between;
}
.beta-pagination span {
  font-size: .87rem;
  color: #b7bcd4;
}
.beta-empty {
  padding: 22px;
}
.beta-delete-confirm {
  border-color: #a46078;
  margin: 26px 0;
}
.beta-delete-confirm h2 {
  font-size: 1.5rem;
}
.beta-invitation {
  margin: 30px 0;
}
.beta-invitation textarea {
  resize: vertical;
  font-size: .88rem;
  line-height: 1.85;
}
.beta-maintenance {
  margin-top: 35px;
  padding-top: 25px;
  border-top: 1px solid #36354c;
}
.beta-maintenance p {
  font-size: .89rem;
  max-width: 760px;
}
.site-header nav {
  gap: 25px;
}
@media (max-width:1320px) {
  .beta-page {
    margin: 0 40px;
  }
  .beta-join-grid {
    gap: 45px;
  }
  .beta-hero {
    gap: 25px;
  }
}
@media (max-width:920px) {
  .beta-join-grid {
    gap: 30px;
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  }
  .beta-card {
    padding: 25px;
  }
  .beta-game-figure {
    padding: 15px;
  }
  .beta-game-figure>img {
    width: 240px;
  }
  .beta-hero {
    gap: 20px;
  }
  .beta-hero h1 {
    font-size: 3.35rem;
  }
  .beta-how-grid {
    gap: 25px;
  }
  .beta-admin-heading {
    display: block;
  }
  .beta-admin-heading .text-link {
    margin-bottom: 10px;
  }
  .site-header nav {
    gap: 16px;
  }
}
@media (max-width:680px) {
  .beta-page {
    margin: 0;
    padding: 35px 20px 55px;
  }
  .beta-hero {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 32px;
  }
  .beta-hero h1 {
    font-size: clamp(2.6rem,9.6vw,3.9rem);
    margin-top: 20px;
  }
  .beta-hero-description {
    font-size: .98rem;
  }
  .beta-hero .beta-lead {
    font-size: 1.08rem;
  }
  .beta-hero-actions {
    gap: 19px;
  }
  .beta-game-figure {
    padding: 12px 15px 0;
    max-width: 300px;
  }
  .beta-game-figure>img {
    width: 225px;
    transform: rotate(2deg);
  }
  .beta-game-figure figcaption {
    font-size: .68rem;
  }
  .beta-how {
    padding: 28px 0;
    margin-top: 35px;
  }
  .beta-how h2 {
    font-size: 1.65rem;
  }
  .beta-how-grid {
    grid-template-columns: 1fr;
    gap: 23px;
  }
  .beta-how-grid article {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 12px;
  }
  .beta-how-grid article>span {
    grid-row: 1/3;
    align-self: start;
  }
  .beta-how-grid article h3 {
    font-size: 1.12rem;
  }
  .beta-how-grid article p {
    margin-top: 5px;
    line-height: 1.7;
  }
  .beta-join-grid {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 37px;
  }
  .beta-join-copy {
    position: static;
    padding: 0;
  }
  .beta-join-copy h2 {
    font-size: 2rem;
  }
  .beta-notes {
    margin-top: 23px;
  }
  .beta-card {
    padding: 24px 20px;
    border-radius: 13px;
    box-shadow: 4px 5px 0 #1b1631;
  }
  .beta-card h2 {
    font-size: 1.9rem;
  }
  .beta-privacy-short {
    padding: 13px;
  }
  .beta-checkbox {
    font-size: .83rem;
    gap: 10px;
  }
  .beta-label {
    font-size: .88rem;
  }
  .beta-page input,.beta-page select,.beta-page textarea {
    font-size: 16px;
  }
  .beta-faq {
    margin-top: 43px;
  }
  .beta-faq h2 {
    font-size: 1.65rem;
  }
  .beta-faq summary {
    font-size: .94rem;
  }
  .beta-footer {
    margin: 0 20px;
  }
  .beta-footer>div {
    gap: 13px 21px;
  }
  .beta-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 21px;
    margin-bottom: 26px;
    gap: 17px;
  }
  .beta-banner .beta-button {
    width: 100%;
  }
  .beta-banner strong {
    font-size: 1.2rem;
  }
  .site-header nav {
    gap: 20px;
  }
  .site-header nav a {
    font-size: .85rem;
  }
  .beta-header nav {
    gap: 27px;
  }
  .beta-admin-heading h1 {
    font-size: 2.4rem;
  }
  .beta-admin-access {
    padding: 20px;
  }
  .beta-admin-settings {
    padding: 19px;
  }
  .beta-table-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .beta-table-toolbar .beta-label {
    min-width: 0;
  }
  .beta-pagination {
    gap: 12px;
  }
  .beta-pagination .beta-button {
    padding: 10px 13px;
  }
  .beta-pagination span {
    font-size: .77rem;
  }
  .beta-withdraw-layout h1 {
    font-size: 2.6rem;
  }
  .beta-withdraw-layout .beta-card {
    margin-top: 24px;
  }
}
@media (max-width:360px) {
  .beta-page {
    padding-left: 16px;
    padding-right: 16px;
  }
  .beta-hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
  .beta-quiet-link {
    text-align: center;
  }
  .beta-hero h1 {
    font-size: 2.58rem;
  }
  .beta-card {
    padding: 20px 16px;
  }
  .site-header nav {
    gap: 14px;
  }
  .site-header nav a {
    font-size: .8rem;
  }
  .beta-header nav {
    gap: 22px;
  }
  .beta-header nav a {
    font-size: .85rem;
  }
  .beta-facts span+span::before {
    padding: 0 9px;
  }
  .beta-facts {
    font-size: .68rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .beta-game-figure>img {
    transform: none;
  }
  html:focus-within {
    scroll-behavior: auto;
  }
}
#beta-access > .beta-alert {
  display: block;
  margin: 20px 0;
  line-height: 1.7;
}
#beta-access .beta-how-grid .beta-button {
  margin-top: 16px;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
@media (max-width:680px) {
  #beta-access .beta-how-grid article>.beta-button {
    grid-column: 2;
    justify-self: start;
    width: auto;
  }
}
@font-face {
  font-family: LightOutDisplay;
  src: url('/play/Ramabhadra.ttf') format('truetype');
  font-display: swap;
  font-weight: 800;
}
@font-face {
  font-family: LightOutCondensed;
  src: url('/play/BarlowCondensed-SemiBold.ttf') format('truetype');
  font-display: swap;
  font-weight: 600;
}
.lo-play {
  --lo-cyan: #40e8ff;
  --lo-violet: #b140ff;
  --lo-yellow: #ffe969;
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  background: #03051b;
  color: #f6f6ff;
  font: 15px/1.5 'Segoe UI', Arial, sans-serif;
}
.lo-play::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, #04041b22, #03051bca 27%, #03051bce 73%, #04041b22), url('/play/background.png') center 15%/100% auto;
  opacity: 0.72;
  pointer-events: none;
}
.lo-play::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(ellipse at 54% 6%, #1423bb35, transparent 43%), linear-gradient(0deg, #020516 3%, transparent 70%);
  pointer-events: none;
}
.lo-play * {
  box-sizing: border-box;
}
.lo-play button, .lo-play a {
  -webkit-tap-highlight-color: transparent;
}
.lo-play button {
  font: inherit;
  color: inherit;
}
.lo-play h1, .lo-play h2, .lo-play h3, .lo-play p {
  margin: 0;
}
.lo-play button:disabled {
  opacity: 1;
}
.lo-play button:focus-visible, .lo-play a:focus-visible {
  outline: 3px solid #fff59c;
  outline-offset: 5px;
}
.lo-play button {
  border: 0;
}
.lo-play h2 {
  letter-spacing: 0;
}
.lo-play p {
  color: #c1caef;
}
.lo-play img {
  display: block;
  user-select: none;
}
.lo-play a {
  color: inherit;
}
.lo-play svg {
  width: 21px;
  height: 21px;
  stroke-width: 2.3;
}
.lo-header {
  height: 94px;
  max-width: none;
  margin: 0;
  padding: 8px max(30px, calc((100vw - 1450px) /2));
  display: flex;
  align-items: center;
  gap: 30px;
  background: linear-gradient(180deg, #02051bec, #070925e0);
  border-bottom: 1px solid #4473ff;
  box-shadow: 0 2px 0 #00c9ff55, 0 5px 20px #000bfa55;
  position: relative;
  z-index: 5;
}
.lo-brand {
  width: 230px;
  flex: none;
}
.lo-brand img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 3px 7px #000a);
}
.lo-nav {
  display: flex;
  align-items: center;
  margin: auto;
  border: 1px solid #2141b6;
  border-radius: 15px;
  background: #020821bb;
  padding: 3px;
  gap: 3px;
}
.lo-nav button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 20px;
  border-radius: 11px;
  background: transparent;
  color: #9cbaf4;
  white-space: nowrap;
  font-family: LightOutCondensed, sans-serif;
  font-size: 19px;
  line-height: 1;
}
.lo-nav button.is-current {
  background: linear-gradient(135deg, #4711d0, #100d6a);
  box-shadow: inset 0 0 0 1px #af85ff, inset 0 0 15px #5840ff, 0 0 9px #6346ff;
  color: #fff;
}
.lo-nav button:hover {
  color: #fff;
  background-color: #222065;
}
.lo-nav .is-current svg {
  fill: #fff;
  stroke: #d5e4ff;
  filter: drop-shadow(0 0 4px #50b4ff);
}
.lo-header-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}
.lo-language {
  background: none;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap;
}
.lo-language span {
  color: #7996d1;
  margin-left: 3px;
}
.lo-profile {
  display: grid;
  place-items: center;
  border: 1px solid #88e9ff !important;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 28%, #1558b7, #030941 70%);
  box-shadow: 0 0 0 2px #173add, 0 0 13px #076aff;
}
.lo-profile svg {
  width: 24px;
  height: 24px;
  fill: #9fcfff;
  color: #add8ff;
}
.lo-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  padding: 10px 21px;
  border: 2px solid #eaffb6 !important;
  border-radius: 13px !important;
  background: linear-gradient( 180deg, #a4ff33 0%, #3bc500 18%, #087600 51%, #075c02 85%, #38c510 100% ) !important;
  box-shadow: inset 0 0 0 2px #38ff21, inset 0 0 12px #aeff5488, 0 0 0 3px #2abc0766, 0 0 17px #5fff2770, 0 6px 12px #0008;
  color: #fff !important;
  font-family: LightOutCondensed, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  text-shadow: 0 2px 2px #153d00;
  transition: transform 0.16s, filter 0.16s;
  white-space: nowrap;
}
.lo-cta:hover {
  filter: brightness(1.18);
  transform: translateY(-2px);
}
.lo-cta:active {
  transform: translateY(1px) scale(0.98);
}
.lo-header-cta {
  font-size: 19px !important;
  padding: 9px 18px;
  min-height: 47px;
}
.lo-header-cta svg {
  width: 15px;
}
.lo-main {
  max-width: 1450px;
  margin: auto;
  padding: 40px 34px 0;
  position: relative;
}
.lo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.85fr) minmax( 200px, 0.65fr );
  gap: 26px;
  align-items: center;
  padding: 0 0 30px;
}
.lo-hero-copy {
  padding-bottom: 5px;
  position: relative;
}
.lo-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #98b3f5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.4px;
}
.lo-eyebrow > span {
  width: 6px;
  height: 6px;
  background: #79f76d;
  border-radius: 50%;
  box-shadow: 0 0 9px #63ff4c;
}
.lo-hero h1 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  white-space: nowrap;
  height: 126px;
  letter-spacing: -3px;
  line-height: 1.1;
  margin: 5px 0 16px;
  filter: drop-shadow(0 7px 0 #16034a) drop-shadow(0 0 8px #3f006e);
}
.lo-title-word {
  font-family: LightOutDisplay, sans-serif;
  font-size: clamp(36px, 4.3vw, 64px);
  font-weight: 800;
  color: #ffdf27;
  -webkit-text-stroke: 1.4px #fff790;
  paint-order: stroke fill;
  text-shadow: 0 3px #ffaf00, 0 6px #c35300, 2px 7px #671284, -2px -2px #7e26bd, 5px 0 #b63cff, -5px 0 #c03aff, 0 -5px #bc3cff, 0 10px #b324ff;
}
.lo-title-seven {
  font: 800 140px/1 LightOutDisplay, sans-serif;
  color: #23e2ff !important;
  -webkit-text-stroke: 2px #c3ffff;
  paint-order: stroke fill;
  letter-spacing: -8px;
  padding-right: 8px;
  transform: rotate(-4deg);
  text-shadow: 0 5px #058de5, 0 10px #02458f, 4px 12px #751abe, -5px -2px #b731ff, 7px -4px #b631ff, 0 -8px #b43fff, 0 15px #9226e1;
}
.lo-hero h2 {
  font: 600 clamp(18px, 1.62vw, 23px)/1.3 LightOutCondensed, sans-serif;
  color: #fff;
  text-shadow: 0 0 9px #a879ff80;
  max-width: 650px;
}
.lo-hero p {
  font-size: 14px;
  max-width: 500px;
  margin: 12px 0 18px;
  line-height: 1.6;
  color: #c6d5ff;
}
.lo-hero-facts {
  display: flex;
  gap: 25px;
}
.lo-hero-facts span {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 600 14px LightOutCondensed, sans-serif;
  color: #bbdaff;
}
.lo-hero-facts svg {
  color: #ffe365;
  fill: #ffb800;
  width: 28px;
  height: 28px;
  filter: drop-shadow(0 0 5px #ffb23b77);
}
.lo-panel {
  position: relative;
  padding: 6px;
  border: 1px solid #aafbff;
  border-radius: 25px;
  background: linear-gradient( 128deg, #086dff, #06d6ff 38%, #813aff 77%, #e361ff );
  box-shadow: 0 0 0 2px #292aff, 0 0 0 4px #0439a9, 0 0 10px 4px #002bffbb, inset 0 0 8px #c0fdff;
  isolation: isolate;
}
.lo-panel::before {
  content: '';
  position: absolute;
  inset: 3px;
  border: 1px solid #d4fcff;
  border-radius: 21px;
  pointer-events: none;
  box-shadow: 0 0 7px #12dfff, inset 0 0 5px #f47eff;
}
.lo-panel-inner {
  position: relative;
  height: 100%;
  background: linear-gradient(130deg, #050e35fa, #03071d 60%, #0e092efa);
  border-radius: 18px;
  border: 2px solid #131455;
  padding: 23px;
  box-shadow: inset 0 0 0 1px #4964ba66, inset 0 0 24px #08034d;
}
.lo-kicker {
  font: 600 19px/1.2 LightOutCondensed, sans-serif;
  color: #e7eaff;
  letter-spacing: 0.3px;
}
.lo-clock-panel .lo-panel-inner {
  text-align: center;
  padding: 28px 18px 24px;
}
.lo-clock-panel {
  margin-top: 16px;
}
.lo-clock-panel .lo-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.lo-live-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #8b9bc0;
  border-radius: 50%;
  flex-shrink: 0;
}
.lo-live-dot.is-live {
  background: #50ff8a;
  box-shadow: 0 0 8px #50ff8a;
  animation: lo-breathe 2.3s infinite;
}
.lo-clock-digits {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  margin: 19px 0 17px;
}
.lo-clock-digits > div {
  display: flex;
  flex-direction: column;
  width: 90px;
  min-height: 95px;
  justify-content: center;
  border: 1px solid #746aff;
  border-radius: 13px;
  background: linear-gradient(145deg, #242093, #090b45 60%, #240e65);
  box-shadow: inset 0 0 15px #2421a9;
}
.lo-clock-digits strong {
  font: 600 47px/1.1 LightOutCondensed, sans-serif;
  text-shadow: 0 2px 5px #7175ff;
}
.lo-clock-digits span {
  color: #d3ddff;
  font-size: 12px;
  margin-top: 2px;
}
.lo-clock-digits > b {
  font-size: 28px;
  color: #779ff1;
  margin-top: -10px;
}
.lo-clock-state {
  color: #9db4e2;
  font-size: 11px;
}
.lo-trophy-panel .lo-panel-inner {
  text-align: center;
  padding: 17px 13px 20px;
}
.lo-trophy-panel img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  margin: -8px auto -4px;
  filter: drop-shadow(0 0 16px #ffa33e6b);
  animation: lo-trophy-float 5s ease-in-out infinite;
}
.lo-trophy-panel strong {
  display: block;
  font-family: LightOutDisplay, sans-serif;
  font-size: 29px;
  color: #ffe653;
  text-shadow: 0 3px #b46313, 0 0 14px #ff8012;
  line-height: 1.4;
}
.lo-trophy-panel p {
  font-size: 12px;
  line-height: 1.55;
  margin: 3px 0 0;
}
.lo-trophy-panel .lo-kicker {
  font-size: 17px;
}
.lo-level-strip {
  border-radius: 22px;
  margin-bottom: 30px;
}
.lo-level-strip::before {
  border-radius: 19px;
}
.lo-levels {
  padding: 8px !important;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  border-radius: 16px;
}
.lo-level {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 15px 7px 12px;
  min-height: 123px;
  border-radius: 16px;
  border: 1px solid #3946a7 !important;
  background: linear-gradient(145deg, #09123f, #040b28);
  box-shadow: inset 0 0 12px #020718;
  color: #8b9ac9 !important;
  transition: background 0.2s, transform 0.2s;
}
.lo-level strong {
  font: 600 19px/1 LightOutCondensed, sans-serif;
}
.lo-level > span:last-child {
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.lo-level.is-selected {
  color: #fff !important;
  background: radial-gradient( ellipse at top, #087efa 0%, #2025dc 45%, #121558 100% );
  border: 2px solid #b6ffff !important;
  box-shadow: 0 0 0 2px #113bff, 0 0 13px #009dff, inset 0 0 11px #18d0ff;
  transform: translateY(-1px);
}
.lo-level:enabled:hover {
  transform: translateY(-3px);
  border-color: #6fe8ff !important;
}
.lo-level.is-complete:not(.is-selected) {
  color: #d4e8ff !important;
  background: linear-gradient(135deg, #092647, #09102f);
}
.lo-level-icon {
  width: 31px !important;
  height: 31px !important;
  color: #7282bd;
  fill: #6075b333;
}
.lo-level.is-complete .lo-level-icon {
  color: #90ffaf;
  fill: none;
}
.lo-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 9px);
  gap: 2px;
}
.lo-mini-grid i {
  width: 9px;
  height: 9px;
  background: linear-gradient(#32ecff, #1297ed);
  border-radius: 2px;
  border: 1px solid #b0f8ff;
}
.lo-available-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #24fc72;
  box-shadow: 0 0 6px #24fc7280;
}
.lo-level-stars {
  color: #ffe252 !important;
  letter-spacing: 2px;
  font-size: 15px !important;
}
.lo-play-layout {
  display: grid;
  grid-template-columns: minmax(420px, 1.45fr) minmax(350px, 1.1fr) minmax( 220px, 0.7fr );
  gap: 21px;
  align-items: stretch;
}
.lo-play-layout > .lo-panel {
  min-width: 0;
  scroll-margin-top: 25px;
}
.lo-play-layout .lo-panel-inner {
  padding: 19px 18px;
}
.lo-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px;
}
.lo-section-heading h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 600 22px/1.15 LightOutCondensed, sans-serif;
  color: #fff;
  white-space: nowrap;
}
.lo-section-heading svg {
  color: #60e8ff;
  filter: drop-shadow(0 0 6px #157aff);
  width: 23px;
  height: 23px;
}
.lo-scores-panel h2 svg {
  color: #ffe145;
  filter: drop-shadow(0 0 5px #ffbd00);
}
.lo-mode-badge {
  font: 600 11px LightOutCondensed, sans-serif;
  letter-spacing: 1px;
  color: #95adf4;
  border: 1px solid #253579;
  padding: 5px 7px;
  border-radius: 6px;
  white-space: nowrap;
}
.lo-game-content {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(135px, 0.8fr);
  gap: 19px;
}
.lo-board-wrap {
  min-width: 0;
}
.lo-board {
  display: grid;
  position: relative;
  grid-template-columns: repeat(var(--board-width), 1fr);
  gap: 3px;
  padding: 8px;
  border-radius: 17px;
  border: 1px solid #4971c8;
  background: linear-gradient(135deg, #17205a, #030b24);
  box-shadow: inset 0 0 0 3px #060b25, 0 0 0 1px #060712;
  outline-offset: 5px;
  aspect-ratio: 1;
  align-items: center;
}
.lo-cell {
  position: relative;
  isolation: isolate;
  aspect-ratio: 871/916;
  width: 100%;
  padding: 0 !important;
  background: none !important;
  border-radius: 14px;
  transition: transform 0.12s;
  touch-action: manipulation;
}
.lo-cell img {
  width: 100%;
  height: auto;
  pointer-events: none;
}
.lo-cell .lo-bulb-on {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.16s;
  will-change: auto;
}
.lo-cell.is-on .lo-bulb-on {
  opacity: 1;
}
.lo-cell:enabled:hover {
  transform: scale(1.045);
  z-index: 2;
}
.lo-cell:enabled:active {
  transform: scale(0.92);
}
.lo-cell:disabled {
  cursor: default;
}
.lo-cell.is-hint {
  z-index: 3;
  outline: 2px solid #fffcb8;
  box-shadow: 0 0 16px #ffe02c;
  animation: lo-hint-pulse 1.3s ease-in-out infinite;
}
.lo-tap-ring {
  position: absolute;
  inset: 15%;
  border: 3px solid #e9ffff;
  border-radius: 50%;
  z-index: 4;
  pointer-events: none;
  animation: lo-ripple 0.5s ease-out both;
}
.lo-hint-pointer {
  position: absolute;
  right: -5px;
  top: -5px;
  background: #ffdc4a;
  color: #0b1532;
  border: 2px solid #fff7b4;
  border-radius: 50%;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  box-shadow: 0 0 9px #ffee56;
}
.lo-hint-pointer svg {
  width: 18px;
  height: 18px;
}
.lo-board-caption {
  font-size: 10px;
  text-align: center;
  line-height: 1.4;
  color: #9db2df;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}
.lo-board-caption .lo-live-dot {
  background: #4da5ff;
  width: 5px;
  height: 5px;
}
.lo-board-paused {
  position: absolute;
  inset: 0;
  z-index: 8;
  background: #03051ddc;
  backdrop-filter: blur(6px);
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.lo-board-paused > svg {
  width: 35px;
  height: 35px;
  color: #5fe5ff;
}
.lo-board-paused strong {
  font: 600 25px LightOutCondensed, sans-serif;
}
.lo-board-paused .lo-cta {
  font-size: 17px !important;
  min-height: 40px;
  padding: 6px 10px;
}
.lo-game-controls {
  padding-top: 3px;
  display: flex;
  flex-direction: column;
}
.lo-game-controls > .lo-kicker {
  color: #8096d5;
  font-size: 16px;
}
.lo-game-controls > p {
  font-size: 12px;
  line-height: 1.5;
  margin: 5px 0 14px;
  color: #dce5ff;
}
.lo-move-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px 9px;
  padding: 8px 8px 10px;
  border: 1px solid #8c34e4;
  border-radius: 12px;
  background: linear-gradient(135deg, #16092e, #080b26);
  box-shadow: inset 0 0 18px #6c13bb22;
}
.lo-move-counter svg {
  color: #ffdb41;
  fill: #ffaa1c;
  width: 25px;
  height: 25px;
}
.lo-move-counter strong {
  font: 600 38px/1.15 LightOutCondensed, sans-serif;
  color: #efb3ff;
}
.lo-move-counter span {
  width: 100%;
  text-align: center;
  font-size: 9px;
  color: #aaa5d6;
  letter-spacing: 1px;
}
.lo-game-controls > .lo-optimal {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 10px;
  color: #9cacd4;
  margin: 10px 0 15px;
}
.lo-optimal b {
  font-weight: 600;
  color: #ffeba3;
  font-size: 12px;
}
.lo-start {
  width: 100%;
  font-size: 19px !important;
  min-height: 45px;
  padding: 8px !important;
  margin-top: auto;
  gap: 7px;
}
.lo-start svg {
  width: 16px;
}
.lo-tools {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 12px 0 7px;
}
.lo-tools button {
  width: 35px;
  height: 33px;
  display: grid;
  place-items: center;
  border: 1px solid #354587 !important;
  border-radius: 9px;
  background: #111741;
}
.lo-tools svg {
  width: 17px;
  height: 17px;
  color: #bcd8ff;
}
.lo-tools button:hover {
  background: #272061;
}
.lo-tools button:disabled {
  opacity: 0.4;
}
.lo-assist-note {
  font-size: 9px;
  color: #abbadd;
  text-align: center;
  min-height: 15px;
}
.lo-score-tabs {
  display: flex;
  border: 1px solid #234dc8;
  border-radius: 20px;
  padding: 2px;
  margin-bottom: 14px;
  font-size: 11px;
  gap: 6px;
  text-align: center;
  color: #6ddfff;
}
.lo-score-tabs span {
  flex: 1;
  padding: 6px 2px;
}
.lo-score-tabs span:first-child {
  background: linear-gradient(#174eff, #1526b4);
  border-radius: 18px;
  color: #fff;
  box-shadow: inset 0 0 0 1px #43d0ff, 0 0 7px #063ded;
}
.lo-score-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 60px 42px;
  align-items: center;
  gap: 8px;
  min-height: 35px;
  padding: 5px 8px;
  border-radius: 8px;
  font-size: 12px;
  color: #d9e5ff;
}
.lo-score-row:nth-child(even) {
  background: #0b164185;
}
.lo-score-row > span:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.lo-score-row b {
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.lo-score-row > span:nth-child(2), .lo-score-row > strong {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.lo-score-row > strong {
  font-weight: 600;
}
.lo-score-row.is-current {
  border: 1px solid #a05aff;
  background: linear-gradient(90deg, #242361bb, #30095177);
  color: #fff;
}
.lo-place {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: none;
  font-style: normal;
  color: #a3bde7;
  font-size: 11px;
  background: #102047;
  border-radius: 50%;
}
.lo-place.is-complete {
  color: #ffed87;
  background: #4a3510;
}
.lo-place svg {
  width: 13px;
  height: 13px;
}
.lo-table-head {
  font-size: 10px;
  min-height: 30px;
  color: #8ea9e8;
  background: none !important;
}
.lo-table-head span {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
}
.lo-table-head span:first-child {
  justify-content: flex-start;
}
.lo-table-head svg {
  width: 12px;
  height: 12px;
}
.lo-assisted-icon {
  width: 11px !important;
  height: 11px !important;
  color: #efdf8f;
}
.lo-local-note {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 7px;
  font-size: 10px;
  line-height: 1.5 !important;
  color: #8299c8 !important;
  margin-top: 16px !important;
}
.lo-local-note svg {
  width: 13px;
  height: 13px;
  flex: none;
  margin-top: 1px;
}
.lo-progress-total {
  text-align: center;
  margin-top: 22px;
}
.lo-progress-total strong {
  font: 800 38px/1 LightOutDisplay, sans-serif;
  color: #ffef99;
  text-shadow: 0 0 16px #ffd94555;
}
.lo-progress-total strong > span {
  font-size: 25px;
  color: #b8bce3;
}
.lo-progress-total p {
  font-size: 11px;
  margin-top: 4px;
}
.lo-progress-bar {
  height: 12px;
  border: 1px solid #778cca;
  box-shadow: inset 0 0 0 2px #0a0e25;
  border-radius: 5px;
  margin: 15px 0 19px;
  background: #172244;
  overflow: hidden;
  padding: 2px;
}
.lo-progress-bar > span {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #037fff, #45f2ff);
  box-shadow: 0 0 10px #3cf3ff;
  transition: width 0.65s;
}
.lo-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.lo-stat-grid > div {
  border: 1px solid #2851a2;
  border-radius: 10px;
  padding: 10px 7px;
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 3px 5px;
  background: linear-gradient(135deg, #0a1640, #02071c);
}
.lo-stat-grid svg {
  grid-row: span 2;
  color: #ffe663;
}
.lo-stat-grid > div:nth-child(2) svg {
  color: #d795ff;
}
.lo-stat-grid > div:last-child svg {
  color: #5dcaff;
}
.lo-stat-grid strong {
  font: 600 20px/1 LightOutCondensed, sans-serif;
  white-space: nowrap;
}
.lo-stat-grid small {
  font: 600 12px LightOutCondensed, sans-serif;
  color: #919fce;
}
.lo-stat-grid span {
  font-size: 8px;
  color: #aec0e7;
}
.lo-progress-panel blockquote {
  text-align: center;
  color: #d9a8ff;
  font-style: italic;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.5;
  margin: 22px 2px 12px;
}
.lo-text-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  background: none;
  color: #91b9ec !important;
  font-size: 10px !important;
  text-align: center;
  margin: 0 auto;
}
.lo-text-button svg {
  width: 13px;
  height: 13px;
}
.lo-text-button:hover {
  color: #fff !important;
}
.lo-continue {
  display: flex;
  align-items: center;
  gap: 23px;
  margin: 30px 0 27px;
  padding: 22px 27px;
  border: 1px solid #253472;
  border-radius: 18px;
  background: linear-gradient(100deg, #14153c88, #130d3080);
  position: relative;
}
.lo-continue > img {
  height: 91px;
  width: auto;
  filter: drop-shadow(0 0 14px #1897ff66);
}
.lo-continue .lo-kicker {
  font-size: 12px;
  letter-spacing: 1.4px;
  color: #9589d6;
}
.lo-continue h2 {
  font: 600 28px LightOutCondensed, sans-serif;
  margin: 2px 0 3px;
}
.lo-continue p {
  font-size: 12px;
  color: #a8b7dd;
}
.lo-outline-cta {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #4f7ac2;
  border-radius: 11px;
  padding: 12px 18px;
  margin-left: auto;
  font: 600 17px LightOutCondensed, sans-serif;
  color: #b9e5ff !important;
  white-space: nowrap;
  background: #10245755;
  transition: background 0.2s;
}
.lo-outline-cta:hover {
  background: #21458a;
}
.lo-outline-cta svg {
  width: 18px;
  height: 18px;
}
.lo-footer {
  max-width: none;
  margin: 0;
  padding: 19px max(34px, calc((100vw - 1382px) /2));
  border-top: 1px solid #3153a4;
  background: #04091d;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  box-shadow: 0 -2px 15px #032ded33;
  font-size: 10px;
  color: #a2b7df;
}
.lo-footer img {
  width: 116px;
  height: auto;
}
.lo-footer > span {
  font-size: 10px;
  letter-spacing: 0.6px;
}
.lo-footer > div {
  margin-left: auto;
  display: flex;
  gap: 20px;
}
.lo-footer button {
  background: none;
  font-size: 10px;
  padding: 0;
}
.lo-footer small {
  font-size: 9px;
  color: #6f81a6;
  white-space: nowrap;
}
.lo-footer a:hover, .lo-footer button:hover {
  color: #fff;
}
.lo-storage-notice {
  padding: 12px;
  border: 1px solid #e3a453;
  border-radius: 9px;
  margin-top: 20px !important;
  font-size: 12px;
}
.lo-dialog {
  padding: 0;
  border: 1px solid #b7eaff;
  border-radius: 25px;
  background: linear-gradient(135deg, #13d2ff, #7328eb, #d547ff);
  color: #fff;
  box-shadow: 0 0 0 3px #3624aa, 0 0 28px #163effb3;
  max-width: min(460px, calc(100vw - 32px));
  width: 460px;
  max-height: calc(100svh - 40px);
  margin: auto;
  overflow: auto;
}
.lo-dialog::backdrop {
  background: #010317bf;
  backdrop-filter: blur(6px);
}
.lo-dialog-content {
  background: linear-gradient(135deg, #0b1647, #080b25 70%);
  border-radius: 20px;
  margin: 5px;
  padding: 40px 29px 30px;
  text-align: center;
}
.lo-dialog h2 {
  font: 600 37px/1.1 LightOutCondensed, sans-serif;
  color: #fff;
  margin: 12px 0 16px;
}
.lo-dialog p {
  font-size: 14px;
  line-height: 1.7;
}
.lo-close {
  position: absolute;
  right: 15px;
  top: 15px;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background: #152250 !important;
  color: #aecafa !important;
}
.lo-dialog .lo-eyebrow {
  justify-content: center;
}
.lo-dialog .lo-cta {
  margin: 24px auto 15px;
}
.lo-dialog .lo-text-button {
  font-size: 13px !important;
}
.lo-victory-stars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 8px 0 25px;
}
.lo-victory-stars svg {
  width: 53px;
  height: 53px;
  color: #344474;
  transform: rotate(-9deg);
}
.lo-victory-stars svg:nth-child(2) {
  width: 72px;
  height: 72px;
  transform: translateY(-8px);
}
.lo-victory-stars svg:nth-child(3) {
  transform: rotate(9deg);
}
.lo-victory-stars svg.lit {
  color: #fff38c;
  fill: #ffd327;
  filter: drop-shadow(0 0 12px #faaa0888);
  animation: lo-star-in 0.6s cubic-bezier(0.17, 0.8, 0.34, 1.35) both;
}
.lo-victory-stars svg:nth-child(2) {
  animation-delay: 0.1s;
}
.lo-victory-stars svg:nth-child(3) {
  animation-delay: 0.2s;
}
.lo-victory-result {
  display: flex;
  gap: 25px;
  justify-content: center;
  margin-top: 20px;
  color: #d9d9ff;
}
.lo-victory-result span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 15px;
}
.lo-victory-result svg {
  color: #ffe760;
}
.lo-dialog-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  margin: 0 auto 19px;
  border: 1px solid #429cf9;
  border-radius: 19px;
  background: radial-gradient(circle, #334dc3, #0c173b);
  box-shadow: 0 0 20px #2b43ea77;
}
.lo-dialog-icon svg {
  width: 34px;
  height: 34px;
  color: #70e8ff;
}
.lo-rules {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
  padding: 20px 0;
  margin: 0;
  font-size: 12px;
  color: #c6d5ff;
}
.lo-rules li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.lo-rules svg {
  color: #ffdd5a;
  fill: #bd8e22;
  width: 17px;
  height: 17px;
}
.lo-board.is-won {
  box-shadow: 0 0 30px #6aff7777;
}
.lo-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.lo-atmosphere i {
  position: absolute;
  left: 2%;
  top: 24%;
  width: 70px;
  height: 70px;
  border: 1px solid #6865ff;
  border-radius: 10px;
  transform: rotate(24deg);
  background: #1d12ac11;
  box-shadow: inset 0 0 16px #3a45f166, 0 0 12px #3a33fc77;
  animation: lo-float 12s ease-in-out infinite;
}
.lo-atmosphere i:nth-child(2) {
  left: 94%;
  top: 44%;
  width: 55px;
  height: 55px;
  animation-delay: -5s;
}
.lo-atmosphere i:nth-child(3) {
  left: 6%;
  top: 68%;
  width: 35px;
  height: 35px;
  animation-delay: -8s;
}
.lo-atmosphere i:nth-child(4) {
  left: 91%;
  top: 6%;
  width: 25px;
  height: 25px;
  animation-delay: -2s;
}
.lo-atmosphere i:nth-child(5) {
  left: 47%;
  top: 21%;
  width: 4px;
  height: 4px;
  background: #a4e7ff;
  border: 0;
  animation-delay: -3s;
}
.lo-atmosphere i:nth-child(6) {
  left: 68%;
  top: 65%;
  width: 4px;
  height: 4px;
  background: #ed94ff;
  border: 0;
  animation-delay: -7s;
}
@keyframes lo-float {
  0%, 100% {
    transform: translateY(0) rotate(24deg);
    opacity: 0.55;
  }
  50% {
    transform: translateY(-20px) rotate(35deg);
    opacity: 0.9;
  }
}
@keyframes lo-trophy-float {
  0%, 100% {
    transform: translateY(0) rotate(-3deg);
  }
  50% {
    transform: translateY(-5px) rotate(3deg);
  }
}
@keyframes lo-ripple {
  0% {
    transform: scale(0.3);
    opacity: 1;
  }
  100% {
    transform: scale(1.9);
    opacity: 0;
  }
}
@keyframes lo-hint-pulse {
  0%, 100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.28);
  }
}
@keyframes lo-breathe {
  50% {
    opacity: 0.45;
  }
}
@keyframes lo-star-in {
  from {
    opacity: 0;
    scale: 0.4;
  }
  to {
    opacity: 1;
    scale: 1;
  }
}
@media (min-width: 1600px) {
  .lo-main {
    padding-top: 52px;
  }
  .lo-hero {
    padding-bottom: 39px;
  }
  .lo-play-layout {
    gap: 25px;
  }
  .lo-game-content {
    gap: 24px;
  }
  .lo-hero h1 {
    height: 140px;
    margin-bottom: 20px;
  }
}
@media (max-width: 1250px) {
  .lo-header {
    gap: 18px;
    padding: 8px 25px;
  }
  .lo-brand {
    width: 186px;
  }
  .lo-nav button {
    padding: 12px 13px;
    font-size: 17px;
  }
  .lo-header-actions {
    gap: 12px;
  }
  .lo-header-cta {
    padding: 9px 12px;
    font-size: 17px !important;
  }
  .lo-main {
    padding: 30px 27px 0;
  }
  .lo-hero {
    grid-template-columns: minmax(0, 1.5fr) minmax(245px, 0.9fr) minmax( 175px, 0.62fr );
    gap: 20px;
  }
  .lo-title-word {
    font-size: 4.2vw;
  }
  .lo-title-seven {
    font-size: 125px;
  }
  .lo-hero h1 {
    height: 113px;
    gap: 5px;
  }
  .lo-hero h2 {
    font-size: 18px;
  }
  .lo-hero-facts {
    gap: 16px;
  }
  .lo-hero-facts span {
    font-size: 12px;
  }
  .lo-trophy-panel strong {
    font-size: 25px;
  }
  .lo-play-layout {
    grid-template-columns: minmax(390px, 1.2fr) minmax(320px, 1fr);
    gap: 22px;
  }
  .lo-progress-panel {
    grid-column: 1/-1;
  }
  .lo-progress-panel > .lo-panel-inner {
    display: grid;
    grid-template-columns: 170px 105px 1fr 240px;
    gap: 8px 18px;
    align-items: center;
  }
  .lo-progress-panel .lo-section-heading {
    margin: 0;
    grid-row: 1/3;
  }
  .lo-progress-total {
    margin: 0;
    grid-row: 1/3;
  }
  .lo-progress-bar {
    margin: 0;
    grid-column: 3;
    grid-row: 2;
  }
  .lo-stat-grid {
    grid-template-columns: repeat(4, 1fr);
    grid-column: 3;
    grid-row: 1;
  }
  .lo-progress-panel blockquote {
    margin: 0;
    grid-column: 4;
    grid-row: 1;
  }
  .lo-progress-panel .lo-text-button {
    grid-column: 4;
    grid-row: 2;
  }
  .lo-footer {
    padding: 18px 28px;
  }
  .lo-footer small {
    display: none;
  }
}
@media (max-width: 980px) {
  .lo-header {
    height: auto;
    min-height: 87px;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 24px 13px;
  }
  .lo-brand {
    width: 180px;
  }
  .lo-header-actions {
    margin-left: auto;
  }
  .lo-nav {
    order: 3;
    flex-basis: 100%;
    max-width: 600px;
    justify-content: center;
  }
  .lo-nav button {
    flex: 1;
    padding: 11px 13px;
  }
  .lo-hero {
    grid-template-columns: 1fr 1fr;
    gap: 23px;
  }
  .lo-hero-copy {
    grid-column: 1/-1;
    text-align: center;
    max-width: 650px;
    justify-self: center;
  }
  .lo-eyebrow, .lo-hero-facts {
    justify-content: center;
  }
  .lo-hero h1 {
    justify-content: center;
    margin: 12px 0 23px;
    gap: 15px;
    height: 133px;
  }
  .lo-title-word {
    font-size: 66px;
  }
  .lo-title-seven {
    font-size: 151px;
  }
  .lo-hero h2 {
    font-size: 24px;
  }
  .lo-hero p {
    max-width: 520px;
    margin: 13px auto 18px;
  }
  .lo-hero-facts {
    gap: 30px;
  }
  .lo-hero-facts span {
    font-size: 14px;
  }
  .lo-clock-panel {
    margin-top: 0;
  }
  .lo-clock-panel .lo-panel-inner {
    padding: 19px;
  }
  .lo-clock-digits {
    margin: 12px 0;
  }
  .lo-clock-digits > div {
    min-height: 78px;
    width: 90px;
  }
  .lo-clock-digits strong {
    font-size: 38px;
  }
  .lo-trophy-panel .lo-panel-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 20px;
  }
  .lo-trophy-panel img {
    width: 109px;
    height: 109px;
    margin: 0;
  }
  .lo-trophy-panel strong {
    font-size: 28px;
  }
  .lo-trophy-panel .lo-kicker {
    font-size: 17px;
  }
  .lo-trophy-panel p {
    font-size: 11px;
  }
  .lo-play-layout {
    grid-template-columns: 1fr 1fr;
  }
  .lo-game-panel {
    grid-column: 1/-1;
  }
  .lo-game-content {
    grid-template-columns: minmax(0, 1fr) minmax(200px, 0.8fr);
    gap: 35px;
    padding: 0 15px 10px;
  }
  .lo-board {
    max-width: 370px;
  }
  .lo-game-controls {
    justify-content: center;
    padding-top: 12px;
  }
  .lo-game-controls > .lo-kicker {
    font-size: 21px;
  }
  .lo-game-controls > p {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .lo-move-counter {
    max-width: 260px;
  }
  .lo-move-counter strong {
    font-size: 53px;
  }
  .lo-move-counter span {
    font-size: 11px;
  }
  .lo-game-controls > .lo-optimal {
    font-size: 13px;
    margin: 15px 0 22px;
  }
  .lo-optimal b {
    font-size: 15px;
  }
  .lo-start {
    max-width: 260px;
    margin: 0;
    font-size: 22px !important;
    min-height: 52px;
  }
  .lo-tools {
    justify-content: flex-start;
    gap: 12px;
  }
  .lo-tools button {
    width: 43px;
    height: 41px;
  }
  .lo-assist-note {
    text-align: left;
    font-size: 11px;
  }
  .lo-scores-panel {
    grid-column: 1;
  }
  .lo-progress-panel {
    grid-column: 2;
  }
  .lo-progress-panel > .lo-panel-inner {
    display: block;
  }
  .lo-progress-panel .lo-section-heading {
    margin-bottom: 20px;
  }
  .lo-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lo-progress-bar {
    margin: 17px 0;
  }
  .lo-progress-total {
    margin-top: 28px;
  }
  .lo-progress-panel blockquote {
    margin: 20px 0 15px;
  }
  .lo-levels {
    gap: 8px;
  }
  .lo-level {
    min-height: 111px;
    padding: 13px 3px 10px;
    gap: 11px;
  }
  .lo-level strong {
    font-size: 17px;
  }
  .lo-level > span:last-child {
    font-size: 9px;
  }
  .lo-level-icon {
    width: 27px !important;
    height: 27px !important;
  }
  .lo-continue {
    padding: 18px;
    gap: 17px;
  }
  .lo-continue h2 {
    font-size: 26px;
  }
  .lo-outline-cta {
    font-size: 15px;
    padding: 11px 13px;
  }
}
@media (max-width: 600px) {
  .lo-play {
    font-size: 14px;
  }
  .lo-play::before {
    background-size: auto 1200px;
    background-position: center top;
    opacity: 0.52;
  }
  .lo-header {
    padding: 8px 17px 9px;
    gap: 9px;
    min-height: 112px;
  }
  .lo-brand {
    width: 149px;
  }
  .lo-header-actions {
    gap: 12px;
  }
  .lo-profile {
    width: 35px;
    height: 35px;
  }
  .lo-profile svg {
    width: 21px;
    height: 21px;
  }
  .lo-language {
    font-size: 11px !important;
  }
  .lo-header-cta {
    display: none;
  }
  .lo-nav {
    border-radius: 12px;
    padding: 2px;
    margin: 0;
    width: 100%;
    gap: 0;
  }
  .lo-nav button {
    padding: 10px 4px;
    font-size: 14px;
    gap: 5px;
    border-radius: 9px;
  }
  .lo-nav svg {
    width: 17px;
    height: 17px;
  }
  .lo-main {
    padding: 25px 17px 0;
  }
  .lo-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 19px;
    padding-bottom: 23px;
  }
  .lo-hero-copy {
    width: 100%;
    padding: 0;
  }
  .lo-eyebrow {
    font-size: 9px;
    letter-spacing: 1.3px;
  }
  .lo-hero h1 {
    height: 93px;
    gap: 7px;
    margin: 10px 0 16px;
    letter-spacing: -2px;
  }
  .lo-title-word {
    font-size: clamp(30px, 10.2vw, 56px);
    -webkit-text-stroke: 1px #fff59b;
    text-shadow: 0 2px #ffad0b, 0 4px #bc5b0d, 2px 5px #611383, -2px -2px #ba42ff, 3px 0 #b63cff, -3px 0 #c03aff, 0 -3px #bc3cff, 0 7px #b324ff;
  }
  .lo-title-seven {
    font-size: 111px;
    letter-spacing: -5px;
    padding-right: 5px;
    -webkit-text-stroke: 1.4px #d1ffff;
    text-shadow: 0 4px #058de5, 0 7px #02458f, 3px 8px #751abe, -3px -2px #b731ff, 5px -3px #b631ff, 0 -5px #b43fff, 0 10px #9226e1;
  }
  .lo-hero h2 {
    font-size: 20px;
    line-height: 1.2;
    max-width: 370px;
    margin: auto;
  }
  .lo-hero p {
    font-size: 12px;
    max-width: 310px;
    margin: 11px auto 14px;
  }
  .lo-hero-facts {
    gap: 21px;
  }
  .lo-hero-facts span {
    font-size: 11px;
    gap: 5px;
  }
  .lo-hero-facts svg {
    width: 22px;
    height: 22px;
  }
  .lo-clock-panel {
    display: none;
  }
  .lo-trophy-panel {
    display: none;
  }
  .lo-level-strip {
    margin: 0 -2px 24px;
    border-radius: 19px;
    padding: 5px;
  }
  .lo-level-strip::before {
    border-radius: 16px;
  }
  .lo-levels {
    display: flex;
    gap: 8px;
    padding: 7px !important;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #274ca9 #080d2c;
    scroll-snap-type: x proximity;
    border-radius: 12px;
  }
  .lo-level {
    min-width: 87px;
    flex: 0 0 87px;
    min-height: 103px;
    gap: 10px;
    border-radius: 12px;
    scroll-snap-align: center;
    padding: 12px 2px 10px;
  }
  .lo-level strong {
    font-size: 17px;
  }
  .lo-level > span:last-child {
    font-size: 9px;
  }
  .lo-level-icon {
    width: 24px !important;
    height: 24px !important;
  }
  .lo-play-layout {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  .lo-panel {
    border-radius: 21px;
    padding: 5px;
  }
  .lo-panel::before {
    border-radius: 18px;
  }
  .lo-panel-inner {
    border-radius: 15px;
  }
  .lo-play-layout .lo-panel-inner {
    padding: 18px 13px 15px;
  }
  .lo-section-heading {
    margin-bottom: 17px;
    gap: 6px;
  }
  .lo-section-heading h2 {
    font-size: 21px;
    gap: 8px;
  }
  .lo-mode-badge {
    font-size: 10px;
    padding: 4px 6px;
  }
  .lo-game-content {
    display: flex;
    flex-direction: column;
    gap: 17px;
    padding: 0;
  }
  .lo-board {
    max-width: none;
    padding: 8px;
    gap: 4px;
    aspect-ratio: 1;
  }
  .lo-board-caption {
    font-size: 10px;
    margin-top: 10px;
  }
  .lo-game-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 14px;
    align-items: center;
    padding-top: 0;
  }
  .lo-game-controls > .lo-kicker {
    display: none;
  }
  .lo-game-controls > p:not(.lo-optimal) {
    display: none;
  }
  .lo-move-counter {
    grid-column: 1;
    grid-row: 1/3;
    max-width: none;
    min-height: 77px;
    padding: 10px 6px;
    column-gap: 8px;
  }
  .lo-move-counter strong {
    font-size: 36px;
  }
  .lo-move-counter svg {
    width: 24px;
    height: 24px;
  }
  .lo-move-counter span {
    font-size: 9px;
  }
  .lo-game-controls > .lo-optimal {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-size: 10px;
    line-height: 1.1;
    gap: 4px;
  }
  .lo-optimal b {
    font-size: 12px;
  }
  .lo-start {
    grid-column: 2;
    grid-row: 2;
    font-size: 18px !important;
    min-height: 43px;
    padding: 7px !important;
    max-width: none;
    gap: 6px;
  }
  .lo-start svg {
    width: 15px;
  }
  .lo-tools {
    grid-column: 1;
    grid-row: 3;
    justify-content: center;
    gap: 10px;
    margin: 9px 0 0;
  }
  .lo-tools button {
    width: 35px;
    height: 34px;
  }
  .lo-assist-note {
    grid-column: 2;
    grid-row: 3;
    font-size: 9px;
    text-align: left;
    margin-top: 8px;
  }
  .lo-scores-panel {
    order: 3;
  }
  .lo-progress-panel {
    order: 2;
  }
  .lo-progress-panel .lo-panel-inner {
    display: grid;
    grid-template-columns: 1fr 85px;
    gap: 14px 13px;
  }
  .lo-progress-panel .lo-section-heading {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }
  .lo-progress-total {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  .lo-progress-total strong {
    font-size: 28px;
  }
  .lo-progress-total strong > span {
    font-size: 19px;
  }
  .lo-progress-total p {
    font-size: 8px;
    white-space: nowrap;
  }
  .lo-progress-bar {
    grid-column: 1/-1;
    grid-row: 2;
    margin: 0;
    height: 11px;
  }
  .lo-stat-grid {
    grid-column: 1/-1;
    grid-row: 3;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }
  .lo-stat-grid > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 11px 4px;
    text-align: center;
    border-radius: 9px;
  }
  .lo-stat-grid svg {
    width: 21px;
    height: 21px;
  }
  .lo-stat-grid strong {
    font-size: 22px;
  }
  .lo-stat-grid span {
    font-size: 8px;
  }
  .lo-progress-panel blockquote {
    grid-column: 1/-1;
    grid-row: 4;
    margin: 0;
    font-size: 11px;
  }
  .lo-progress-panel .lo-text-button {
    grid-column: 1/-1;
    grid-row: 5;
    font-size: 10px !important;
  }
  .lo-score-tabs {
    margin-top: 5px;
  }
  .lo-score-row {
    min-height: 38px;
    font-size: 12px;
    grid-template-columns: 1fr 65px 43px;
  }
  .lo-score-row .lo-place {
    width: 24px;
    height: 24px;
  }
  .lo-table-head {
    font-size: 10px;
  }
  .lo-local-note {
    font-size: 10px;
    margin-top: 17px !important;
  }
  .lo-continue {
    display: grid;
    grid-template-columns: 45px 1fr;
    gap: 12px;
    padding: 18px 14px;
    margin: 26px 0 23px;
    border-radius: 15px;
  }
  .lo-continue > img {
    height: 72px;
    width: auto;
  }
  .lo-continue .lo-kicker {
    font-size: 10px;
    letter-spacing: 0.7px;
  }
  .lo-continue h2 {
    font-size: 23px;
    line-height: 1.2;
    margin: 4px 0;
  }
  .lo-continue p {
    font-size: 11px;
  }
  .lo-outline-cta {
    grid-column: 1/-1;
    margin: 5px 0 0;
    justify-content: center;
    font-size: 17px;
    min-height: 46px;
  }
  .lo-footer {
    padding: 19px 18px 24px;
    gap: 12px 18px;
    justify-content: space-between;
  }
  .lo-footer img {
    width: 106px;
  }
  .lo-footer > span {
    font-size: 8px;
    display: block;
  }
  .lo-footer > div {
    margin: 0;
    width: 100%;
    justify-content: center;
    gap: 28px;
    font-size: 11px;
  }
  .lo-footer > div button {
    font-size: 11px;
  }
  .lo-footer small {
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 2px;
  }
  .lo-dialog-content {
    padding: 35px 22px 24px;
  }
  .lo-dialog h2 {
    font-size: 32px;
  }
  .lo-dialog p {
    font-size: 13px;
  }
  .lo-atmosphere i {
    animation: none;
  }
  .lo-cell {
    border-radius: 11px;
  }
  .lo-game-panel {
    scroll-margin-top: 15px !important;
  }
}
@media (max-width: 359px) {
  .lo-header {
    padding: 8px 12px;
  }
  .lo-brand {
    width: 130px;
  }
  .lo-nav button {
    font-size: 12px;
  }
  .lo-nav svg {
    width: 15px;
  }
  .lo-main {
    padding: 22px 12px 0;
  }
  .lo-hero h1 {
    gap: 4px;
    height: 82px;
  }
  .lo-title-seven {
    font-size: 95px;
  }
  .lo-hero h2 {
    font-size: 18px;
  }
  .lo-hero-facts {
    gap: 12px;
  }
  .lo-game-content {
    gap: 14px;
  }
  .lo-section-heading h2 {
    font-size: 19px;
  }
  .lo-mode-badge {
    font-size: 9px;
  }
  .lo-start {
    font-size: 16px !important;
  }
  .lo-tools {
    gap: 7px;
  }
  .lo-game-controls {
    gap: 6px 10px;
  }
  .lo-stat-grid span {
    font-size: 7px;
  }
  .lo-footer > span {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lo-play *, .lo-play *::before, .lo-play *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.lo-mobile-time {
  display: none;
}
.lo-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.lo-title-art {
  width: 100% !important;
  height: auto !important;
  max-height: 180px;
  overflow: visible;
  filter: drop-shadow(0 2px 2px #af24f770);
}
.lo-hero h1 {
  height: auto;
  min-height: 126px;
  max-width: 670px;
  filter: drop-shadow(0 5px 3px #020518);
  margin: 4px 0 15px;
  letter-spacing: 0;
}
.lo-panel {
  box-shadow: 0 0 0 1px #2954ff, 0 0 14px #084bff99, 5px -3px 17px #a520ff44;
}
@media (max-width: 980px) {
  .lo-hero h1 {
    min-height: 100px;
    max-width: 650px;
    margin: 10px auto 17px;
  }
}
@media (max-width: 600px) {
  .lo-hero h1 {
    min-height: 85px;
    margin: 5px 0 13px;
  }
  .lo-title-art {
    max-height: 121px;
  }
}
@media (max-width: 600px) {
  .lo-mobile-time {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: -5px 0 15px;
    color: #dca0ff;
  }
  .lo-mobile-time svg {
    width: 16px;
    height: 16px;
  }
  .lo-mobile-time span {
    font: 600 25px/1 LightOutCondensed, sans-serif;
    font-variant-numeric: tabular-nums;
  }
  .lo-mobile-time small {
    font-size: 9px;
    letter-spacing: 1px;
    color: #9caed3;
    margin-left: 3px;
  }
}
.lo-game-panel.is-won .lo-board {
  box-shadow: 0 0 30px #6aff7755;
}
.lo-progress-bar {
  display: block;
  width: 100%;
  appearance: none;
  color: #44dfff;
}
.lo-progress-bar::-webkit-progress-bar {
  background: #172244;
  border-radius: 3px;
}
.lo-progress-bar::-webkit-progress-value {
  background: linear-gradient(90deg, #037fff, #45f2ff);
  border-radius: 3px;
  box-shadow: 0 0 10px #3cf3ff;
  transition: width 0.65s;
}
.lo-progress-bar::-moz-progress-bar {
  background: linear-gradient(90deg, #037fff, #45f2ff);
  border-radius: 3px;
  box-shadow: 0 0 10px #3cf3ff;
}
.neon-site {
  font: 15px/1.55 'Segoe UI', Arial, sans-serif;
  background: #02051a;
  --neon-cyan: #2aeaff;
  --neon-pink: #e34bff;
}
.neon-site::before {
  background: linear-gradient(90deg, #00041922, #02051abc 18%, #02051ad9 80%, #00041922), url('/play/background.png') center top/100% auto;
  opacity: 0.85;
}
.neon-site::after {
  background: radial-gradient(ellipse at 40% 8%, #1036e731, transparent 45%), linear-gradient(0deg, #020519, transparent 55%);
}
.neon-skip {
  position: absolute;
  top: -100px;
  left: 20px;
  z-index: 100;
  background: #062477;
  color: white;
  padding: 12px;
}
.neon-skip:focus {
  top: 10px;
}
.neon-header {
  height: 83px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 4px max(30px, calc((100vw - 1450px) /2));
  background: linear-gradient(#01041eeb, #050923e8);
  border-bottom: 1px solid #32b8ff;
  box-shadow: 0 2px 12px #123be9ad;
  position: relative;
  z-index: 5;
}
.neon-brand {
  width: 230px;
  flex-shrink: 0;
}
.neon-brand img {
  width: 100%;
  height: auto;
  max-height: 77px;
  object-fit: contain;
}
.neon-header nav {
  margin: auto;
  display: flex;
  align-items: center;
  border: 1px solid #2a57b9;
  border-radius: 15px;
  background: #020720d9;
  overflow: hidden;
  padding: 2px;
  gap: 2px;
}
.neon-header nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 21px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #97baf2;
  font-weight: 800;
  font-size: 14px;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}
.neon-header nav a[aria-current], .neon-header nav a:hover {
  color: white;
  background: linear-gradient(135deg, #300ab4, #060d43);
  border-color: #7055ff;
  box-shadow: inset 0 0 9px #402eff, 0 0 8px #5526f7;
}
.neon-header nav svg {
  width: 24px;
  height: 24px;
  stroke-width: 2;
}
.neon-header nav a[aria-current] svg {
  fill: #e2ecff;
  filter: drop-shadow(0 0 6px #624aff);
}
.neon-header-actions {
  display: flex;
  align-items: center;
  gap: 17px;
}
.neon-language {
  background: none;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 5px;
  white-space: nowrap;
}
.neon-language span {
  color: #93abe4;
}
.neon-profile {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #8bedff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #1b3cd1, 0 0 11px #3159ff;
  background: radial-gradient(circle at 50% 20%, #143ab7, #060d38 70%);
}
.neon-profile svg {
  width: 25px;
  height: 25px;
  fill: #a5c9ff;
  color: #b9d9ff;
}
.neon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font: 800 16px/1.2 'Segoe UI', Arial, sans-serif !important;
  min-height: 49px;
  padding: 12px 22px;
  border-radius: 14px;
  border: 2px solid #edffc5 !important;
  color: #fff !important;
  background: linear-gradient( #76fb3d, #288a05 30%, #086301 72%, #31d012 ) !important;
  box-shadow: inset 0 0 0 2px #40ff19, inset 0 0 9px #beff65, 0 0 0 2px #128c05, 0 0 15px #5aff2990, 0 5px 8px #0008;
  text-shadow: 0 2px 1px #174d08;
  transition: transform 0.18s, filter 0.18s;
  white-space: normal;
  text-align: center;
  text-decoration: none !important;
}
.neon-button:hover {
  filter: brightness(1.16);
  transform: translateY(-2px);
}
.neon-button:active {
  transform: translateY(1px);
}
.neon-button svg {
  width: 19px;
  height: 19px;
}
.neon-header-play {
  font-size: 15px !important;
  min-height: 45px;
  padding: 9px 20px;
  white-space: nowrap;
}
.neon-main {
  max-width: 1480px;
  margin: 0 auto;
  padding: 29px 40px 40px;
  position: relative;
  z-index: 1;
  min-height: calc(100svh - 164px);
}
.neon-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(240px, 1fr) minmax( 200px, 0.75fr );
  gap: 22px;
  align-items: center;
  margin-bottom: 25px;
}
.neon-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  letter-spacing: 1.3px;
  font-weight: 800;
  color: #95bcff;
}
.neon-eyebrow i, .neon-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: #56ff26;
  border-radius: 50%;
  box-shadow: 0 0 8px #48ff34;
  flex-shrink: 0;
}
.neon-hero-copy h1 {
  margin: 6px 0 3px;
  line-height: 1;
}
.neon-title {
  width: 100%;
  height: auto;
  max-height: 228px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 7px 8px #030015);
}
.neon-hero h2 {
  font: 800 clamp(14px, 1.25vw, 20px)/1.4 'Segoe UI', Arial, sans-serif;
  letter-spacing: 0;
  color: white;
  text-shadow: 0 0 8px #4c34c9;
}
.neon-hero-copy > p {
  font-size: 15px;
  color: #b9d2f8;
  line-height: 1.6;
  max-width: 590px;
  margin: 8px 0 15px;
}
.neon-hero-actions {
  display: flex;
  align-items: center;
  gap: 19px;
  margin: 17px 0 21px;
}
.neon-quiet-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font: 600 13px/1.4 'Segoe UI', Arial, sans-serif !important;
  background: none;
  border: 0;
  color: #b9dfff !important;
}
.neon-quiet-link svg {
  width: 17px;
  height: 17px;
}
.neon-quiet-link:hover {
  color: white !important;
  text-decoration: underline;
}
.neon-facts {
  display: flex;
  gap: 24px;
}
.neon-facts > span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  line-height: 1.3;
  font-weight: 800;
  color: #b8dbff;
}
.neon-facts svg {
  width: 26px;
  height: 26px;
  color: #ffe750;
  fill: #eea710;
  filter: drop-shadow(0 0 4px #ffc522aa);
}
.neon-facts > span:last-child svg {
  fill: #1faaf8;
  color: #5cf1ff;
}
.neon-panel {
  position: relative;
  border: 1px solid #96ebff;
  background: linear-gradient( 125deg, #009fff 0%, #04d9ff 35%, #5232fd 68%, #f547ff 92%, #38aaff );
  border-radius: 25px;
  padding: 6px;
  box-shadow: 0 0 0 2px #1529bf, 0 0 0 4px #0753cbbd, -4px 4px 15px #037dff88, 4px -3px 15px #b42eff90;
}
.neon-panel::before {
  content: '';
  position: absolute;
  inset: 3px;
  border: 1px solid #ddf8ff;
  border-radius: 21px;
  box-shadow: 0 0 4px #adf3ff;
  pointer-events: none;
}
.neon-inner {
  position: relative;
  background: linear-gradient(130deg, #030d33, #020519 72%);
  border: 1px solid #101251;
  border-radius: 18px;
  padding: 23px 21px;
  height: 100%;
  box-shadow: inset 0 0 13px #18369966;
}
.neon-kicker {
  display: block;
  font-weight: 850;
  font-size: 15px;
  color: #f1efff;
  line-height: 1.3;
  text-align: center;
}
.neon-modes-stat {
  align-self: center;
}
.neon-modes-stat > .neon-inner {
  text-align: center;
  padding: 27px 17px 21px;
}
.neon-number-display {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 22px 0 15px;
}
.neon-number-display > span {
  display: grid;
  place-items: center;
  border: 1px solid #7c59ff;
  border-radius: 14px;
  width: 72px;
  height: 96px;
  font: 900 62px/1 'Segoe UI', Arial, sans-serif;
  background: linear-gradient(140deg, #22139b, #0b0b36 80%);
  box-shadow: inset 0 0 14px #3132c666;
  text-shadow: 0 0 8px #5536dc;
}
.neon-modes-stat strong {
  font-size: 19px;
  font-weight: 900;
  color: #ffed8a;
}
.neon-modes-stat p {
  font-size: 13px;
  line-height: 1.7;
  margin: 10px 0 14px;
  color: #c5d9fd;
}
.neon-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #62deff !important;
  font-size: 11px;
  font-weight: 700;
}
.neon-inline-link svg {
  width: 14px;
  height: 14px;
}
.neon-hero-trophy {
  text-align: center;
}
.neon-hero-trophy > .neon-inner {
  padding: 13px 15px 19px;
}
.neon-hero-trophy img {
  height: 126px;
  width: 126px;
  object-fit: contain;
  margin: 0 auto 3px;
  filter: drop-shadow(0 4px 13px #bc22ff);
  animation: neon-trophy 6s ease-in-out infinite;
}
.neon-hero-trophy .neon-kicker {
  font-size: 15px;
}
.neon-hero-trophy strong {
  display: block;
  font-size: 30px;
  font-weight: 950;
  letter-spacing: -1px;
  color: #fff069;
  -webkit-text-stroke: 1px #fffca3;
  paint-order: stroke fill;
  text-shadow: 0 3px #db7a0b, 0 5px #521043, 0 0 9px #ffad1288;
  margin: 3px 0 5px;
}
.neon-hero-trophy p {
  font-size: 13px;
  line-height: 1.6;
}
.neon-three-stars {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 12px 0 0;
}
.neon-three-stars svg {
  fill: #ffd62e;
  stroke: #fff7ad;
  filter: drop-shadow(0 0 7px #ffac00);
}
.neon-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 2px 14px;
}
.neon-section-title h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 800 20px/1.25 'Segoe UI', Arial, sans-serif;
  letter-spacing: 0;
}
.neon-section-title h2 svg {
  color: #5ceeff;
  filter: drop-shadow(0 0 6px #5b58ff);
}
.neon-section-title > span, .neon-section-title > div {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 11px;
  color: #91b4e3;
}
.neon-section-title > div button {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  background: #081640;
  border: 1px solid #335dde;
  border-radius: 8px;
  color: #b8d9ff;
}
.neon-section-title > div button:hover {
  background: #1934a4;
}
.neon-section-title > div > span {
  margin-right: 8px;
}
.neon-section-title button svg {
  width: 16px;
  height: 16px;
}
.neon-modes {
  scroll-margin-top: 25px;
  margin: 29px 0 31px;
}
.neon-modes > .neon-panel > .neon-inner {
  padding: 8px;
}
.neon-mode-rail {
  display: flex;
  overflow-x: auto;
  gap: 12px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #304caa transparent;
  padding: 3px 2px 5px;
}
.neon-mode {
  min-width: 142px;
  flex: 1 0 142px;
  min-height: 133px;
  padding: 16px 5px 12px;
  background: linear-gradient(145deg, #08143e, #030920);
  border: 1px solid #3940a1 !important;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  scroll-snap-align: start;
  transition: background 0.2s, box-shadow 0.2s;
}
.neon-mode:hover, .neon-mode.is-featured {
  border-color: #91efff !important;
  background: linear-gradient(135deg, #1836e0, #112578 65%, #110633);
  box-shadow: inset 0 0 10px #067afc, 0 0 5px #60e6ff;
}
.neon-mode-icon {
  color: var(--mode-color);
  filter: drop-shadow(0 0 7px var(--mode-color));
  line-height: 1;
}
.neon-mode-icon svg {
  width: 34px;
  height: 34px;
  stroke-width: 2;
}
.neon-mode strong {
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0;
}
.neon-mode small {
  font-size: 10px;
  display: flex;
  align-items: center;
  color: #93afdd;
  gap: 3px;
}
.neon-mode small svg {
  width: 12px;
  height: 12px;
}
.neon-demo {
  scroll-margin-top: 22px;
}
.neon-demo-intro {
  font-size: 13px;
  color: #9bbbe5 !important;
  margin: -3px 2px 20px !important;
}
.neon-site .lo-play-embedded {
  background: none;
}
.neon-site .lo-play-embedded .lo-main {
  max-width: none;
  padding: 0;
}
.neon-site .lo-level-strip {
  margin-bottom: 22px;
}
.neon-site .lo-level {
  min-height: 88px;
  gap: 5px;
  padding: 10px 4px;
}
.neon-site .lo-level strong {
  font: 800 13px 'Segoe UI', Arial, sans-serif;
}
.neon-site .lo-level-icon, .neon-site .lo-mini-grid {
  width: 22px;
  height: 22px;
}
.neon-site .lo-mini-grid {
  grid-template-columns: repeat(3, 5px);
  grid-template-rows: repeat(3, 5px);
  gap: 2px;
}
.neon-site .lo-level > span:last-child {
  font-size: 9px;
}
.neon-site .lo-panel {
  border-radius: 25px;
  padding: 6px;
  border: 1px solid #8ddbff;
  background: linear-gradient( 135deg, #009cff, #09d9ff 30%, #443aff 68%, #ed5bff 92%, #24aaff );
  box-shadow: 0 0 0 2px #112cbf, 0 0 0 4px #054dc6aa, -3px 3px 11px #037dff77, 3px -2px 12px #be33ff77;
}
.neon-site .lo-panel::before {
  inset: 3px;
  border: 1px solid #effbff;
  border-radius: 21px;
  box-shadow: none;
}
.neon-site .lo-panel-inner {
  border-radius: 18px;
  background: linear-gradient(125deg, #030d32, #02061d 65%);
  box-shadow: inset 0 0 12px #193ac44d;
}
.neon-site .lo-section-heading h2 {
  font: 800 17px/1.2 'Segoe UI', Arial, sans-serif;
  letter-spacing: 0;
}
.neon-site .lo-play-layout {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(220px, 0.65fr);
  gap: 23px;
}
.neon-site .lo-game-content {
  grid-template-columns: minmax(0, 1fr) minmax(128px, 0.6fr);
  gap: 16px;
}
.neon-site .lo-game-panel .lo-panel-inner {
  padding: 20px 16px;
}
.neon-site .lo-mobile-time {
  margin: -3px 0 12px;
  font-size: 12px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 7px;
  color: #d1a3ff;
}
.neon-site .lo-mobile-time span {
  font: 800 20px 'Segoe UI', Arial, sans-serif;
}
.neon-site .lo-mobile-time svg {
  width: 17px;
  height: 17px;
}
.neon-site .lo-mobile-time small {
  font-size: 9px;
  color: #90a7d1;
}
.neon-site .lo-cta {
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  min-height: 46px;
  padding: 10px !important;
}
.neon-site .lo-mode-badge {
  font-size: 9px;
}
.neon-site .lo-game-controls > p {
  font-size: 12px;
}
.neon-site .lo-kicker {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
}
.neon-site .lo-local-note {
  font-size: 10px;
}
.neon-site .lo-board {
  gap: 3px;
  padding: 5px;
}
.neon-site .lo-progress-total {
  margin-top: 18px;
}
.neon-site .lo-score-row {
  font-size: 11px;
  min-height: 34px;
  padding: 5px 6px;
  gap: 4px;
  grid-template-columns: minmax(0, 1fr) 49px 35px;
}
.neon-site .lo-progress-panel blockquote {
  font-size: 11px;
}
.neon-site .lo-stat-grid strong {
  font-family: 'Segoe UI', Arial, sans-serif;
  font-size: 18px;
}
.neon-connect {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: 24px;
  margin: 34px 0;
}
.neon-community-card > .neon-inner {
  display: flex;
  align-items: center;
  gap: 19px;
  padding: 24px 28px;
  overflow: hidden;
}
.neon-community-card > .neon-inner > svg {
  width: 47px;
  height: 47px;
  color: #2cdaff;
  filter: drop-shadow(0 0 9px #337cff);
}
.neon-community-card > .neon-inner > div {
  flex: 1;
  position: relative;
  z-index: 1;
}
.neon-community-card img {
  height: 210px;
  width: 140px;
  object-fit: contain;
  transform: rotate(9deg);
  filter: drop-shadow(0 0 10px #116bb366);
  animation: neon-trophy 8s ease-in-out infinite;
}
.neon-connect h2 {
  font: 800 24px/1.2 'Segoe UI', Arial, sans-serif;
  margin: 9px 0 10px;
}
.neon-connect p {
  font-size: 13px;
  line-height: 1.6;
  color: #b0c9f1;
  margin: 0 0 20px;
}
.neon-community-card .neon-button {
  font-size: 13px !important;
  padding: 11px 16px;
  min-height: 45px;
}
.neon-tournament-card > .neon-inner {
  padding: 22px 25px;
}
.neon-tournament-card > .neon-inner > svg {
  width: 32px;
  height: 32px;
  stroke: #ffdf53;
  filter: drop-shadow(0 0 6px #db71ff);
}
.neon-tournament-card h2 {
  font-size: 23px;
}
.neon-outline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #707eff;
  border-radius: 11px;
  color: #d5e1ff !important;
  background: linear-gradient(135deg, #1c2273, #140d34);
  padding: 11px 17px;
  box-shadow: inset 0 0 9px #6b2fc433;
  font-size: 12px;
  font-weight: 800;
}
.neon-outline-button:hover {
  background: #2d2887;
}
.neon-outline-button svg {
  width: 17px;
  height: 17px;
}
.neon-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
  padding: 0 18px 5px;
}
.neon-info > div {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 5px 10px;
}
.neon-info svg {
  color: #89abed;
  width: 24px;
  height: 24px;
  grid-row: span 2;
}
.neon-info h3 {
  font-size: 14px;
  letter-spacing: 0;
  margin: 0;
  color: #d0e3ff;
}
.neon-info p {
  font-size: 11px;
  line-height: 1.5;
  color: #86a4cf;
  margin: 0;
}
.neon-info a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.neon-info a svg {
  width: 12px;
  height: 12px;
}
.neon-footer {
  max-width: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin: 0;
  padding: 15px max(35px, calc((100vw - 1400px) /2));
  border-top: 1px solid #295bd7;
  background: #030820;
  box-shadow: 0 -2px 14px #073cbd66;
  color: #a4c7ee;
  min-height: 76px;
}
.neon-footer-brand {
  display: flex;
  align-items: center;
  gap: 20px;
}
.neon-footer-brand img {
  width: 125px;
  height: auto;
}
.neon-footer-brand > span {
  font-size: 10px;
  letter-spacing: 0.4px;
}
.neon-footer-links {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 11px;
}
.neon-footer a:hover {
  color: white;
}
.neon-page-heading {
  margin: 5px 0 30px;
}
.neon-page-heading > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #8aadde;
  margin-bottom: 20px;
}
.neon-page-heading > a svg {
  width: 15px;
  height: 15px;
}
.neon-page-heading h1 {
  font: 900 clamp(30px, 4vw, 54px)/1.2 'Segoe UI', Arial, sans-serif;
  color: #fff189;
  text-shadow: 0 3px #d28318, 0 5px #601d8a;
  margin: 7px 0 0;
  letter-spacing: -1px;
}
.neon-page-heading .neon-eyebrow {
  font-size: 10px;
}
.neon-services .site-embedded, .neon-services .beta-embedded {
  padding: 0;
  margin: 0;
  max-width: none;
  min-height: 0;
}
.neon-services .overview, .neon-services .account-layout {
  gap: 35px;
}
.neon-services h1 {
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -1px;
}
.neon-services .legal > h1, .neon-services .tournament-intro h1 {
  display: none;
}
.neon-services .section-number {
  color: #74aeef;
  font: 700 10px 'Segoe UI', Arial, sans-serif;
  letter-spacing: 1.2px;
}
.neon-services p {
  line-height: 1.7;
  margin: 12px 0;
}
.neon-services .account-panel, .neon-services .board-section, .neon-services .beta-notes, .neon-services .beta-faq, .neon-services .beta-how-grid > article, .neon-services .legal, .neon-services .beta-signup-card {
  background: linear-gradient(135deg, #07133e, #030921);
  border: 1px solid #71ceff;
  border-radius: 20px;
  box-shadow: 0 0 0 3px #1837a7, inset 0 0 0 3px #15265b, 0 0 13px #2568fa66, 3px -3px 13px #a739ff77;
  padding: 27px;
}
.neon-services .legal {
  max-width: 1000px;
  padding: 34px 42px;
  margin: auto;
}
.neon-services .legal h2 {
  color: #cee7ff;
  font-size: 22px;
  margin: 27px 0 14px;
}
.neon-services .legal h3 {
  color: #dbdeff;
}
.neon-services .legal ul {
  padding-left: 24px;
}
.neon-services .legal li {
  margin: 12px 0;
}
.neon-services .legal .section-number {
  display: none;
}
.neon-services .legal a {
  color: #82dfff !important;
}
.neon-services .legal > p:first-of-type {
  margin-top: 0;
}
.neon-services .status-pill {
  background: #111559;
  border: 1px solid #5b73cf;
  color: #c7e4ff;
  font-size: 12px;
}
.neon-services .primary, .neon-services .beta-primary {
  color: white !important;
  border: 1px solid #d4ff9a !important;
  background: linear-gradient(#59c81b, #126b03) !important;
  box-shadow: inset 0 0 0 2px #31d724, 0 0 9px #30ee5555;
  border-radius: 11px;
  min-height: 46px;
  text-shadow: 0 1px #235213;
  font-weight: 800;
}
.neon-services .primary:hover, .neon-services .beta-primary:hover {
  filter: brightness(1.16);
}
.neon-services .primary:disabled, .neon-services .beta-primary:disabled {
  filter: saturate(0.2);
  opacity: 0.55;
}
.neon-services .text-link {
  color: #89daff;
  border-color: #405cc3;
}
.neon-services .code-slot, .neon-services input, .neon-services textarea {
  background: #071032;
  border-color: #4772cf !important;
  color: white;
}
.neon-services .tournament-tabs {
  padding: 4px !important;
  border: 1px solid #2352cc;
  border-radius: 15px;
  background: #030c32 !important;
}
.neon-services .tournament-tabs button {
  border-radius: 11px !important;
  color: #97ccff !important;
  font-size: 14px !important;
}
.neon-services .tournament-tabs button[data-active], .neon-services .tournament-tabs button[data-state='active'] {
  background: linear-gradient(#285df6, #182a8b) !important;
  box-shadow: inset 0 0 0 1px #42caff, 0 0 7px #3576fd;
  color: white !important;
}
.neon-services .board-section {
  margin-top: 30px;
  padding: 25px;
}
.neon-services .board-section th {
  background: #0c1b47;
  color: #8fb9f4 !important;
}
.neon-services .board-section td {
  border-color: #1d356b;
}
.neon-services .empty-state {
  border-color: #293e77;
}
.neon-services .empty-state > svg {
  color: #ffe663;
}
.neon-services .tournament-facts {
  border-color: #274490;
}
.neon-services .tournament-facts strong {
  color: #e3c4ff;
}
.neon-services .beta-hero {
  padding-top: 0;
  gap: 35px;
}
.neon-services .beta-hero h1 {
  font-size: 42px;
  line-height: 1.2;
}
.neon-services .beta-hero h1 > span {
  color: #ffe769;
}
.neon-services .beta-game-figure {
  max-width: 260px;
  justify-self: center;
}
.neon-services .beta-how-grid {
  gap: 25px;
}
.neon-services .beta-how-grid > article {
  padding: 23px;
}
.neon-services .beta-how-grid h3 {
  font-size: 22px;
  color: white;
}
.neon-services .beta-how-grid > article > span {
  color: #9ce7ff;
  border-color: #5860c3;
  background: #192265;
}
.neon-services .beta-how h2, .neon-services .beta-notes h2, .neon-services .beta-faq h2 {
  font-size: 28px;
  color: #f5f2ff;
}
.neon-services .beta-notes, .neon-services .beta-faq {
  margin-top: 30px;
}
.neon-services .beta-faq details {
  border-color: #2c4688;
}
.neon-services .beta-faq summary {
  color: #d8e7ff;
}
.neon-services .embedded-online-controls {
  margin-top: 20px;
  text-align: right;
}
.neon-services .beta-hero-description {
  color: #bdd3f8;
}
.neon-services .local-notice {
  display: none;
}
.neon-mode-dialog {
  width: 450px;
  max-width: calc(100vw - 28px);
  max-height: calc(100svh - 36px);
  padding: 5px;
  border: 2px solid #9be7ff;
  border-radius: 25px;
  background: linear-gradient(135deg, #04c7ff, #d340ff);
  box-shadow: 0 0 0 2px #252aba, 0 0 28px #2862e788;
  color: white;
  margin: auto;
  overflow: auto;
}
.neon-mode-dialog::backdrop {
  background: #010319d4;
  backdrop-filter: blur(5px);
}
.neon-mode-dialog .neon-inner {
  text-align: center;
  padding: 32px 28px 27px;
}
.neon-mode-dialog-icon {
  margin: 10px auto 20px;
  width: 80px;
  height: 80px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle, #233bb2, #060c32);
  border: 1px solid #587efa;
  border-radius: 20px;
  box-shadow: 0 0 16px #6835ff88;
}
.neon-mode-dialog-icon svg {
  width: 46px;
  height: 46px;
  filter: drop-shadow(0 0 7px currentColor);
}
.neon-mode-dialog .neon-eyebrow {
  justify-content: center;
  font-size: 9px;
}
.neon-mode-dialog h2 {
  font-size: 32px;
  font-weight: 850;
  line-height: 1.2;
  margin: 12px 0 16px;
  letter-spacing: 0;
  color: #ffe892;
}
.neon-mode-dialog p {
  color: #bfd5f5;
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 24px;
}
.neon-mode-dialog .neon-button {
  width: 100%;
  font-size: 14px !important;
}
.neon-mode-dialog .neon-quiet-link {
  margin: 20px auto 0;
}
.neon-dialog-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #152557;
  color: #cde2ff;
  z-index: 2;
}
.neon-dialog-close svg {
  width: 18px;
  height: 18px;
}
.neon-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.neon-atmosphere > img {
  position: absolute;
  left: -110px;
  top: 120px;
  width: 220px;
  height: auto;
  transform: rotate(28deg);
  filter: hue-rotate(158deg) saturate(0.9) drop-shadow(0 0 20px #3153ee);
  opacity: 0.65;
}
.neon-atmosphere i {
  position: absolute;
  width: 70px;
  height: 70px;
  border: 2px solid #6797ff;
  border-radius: 12px;
  background: #3324ae22;
  box-shadow: inset 0 0 14px #3e38ff, 0 0 10px #194bff;
  left: 4%;
  top: 95px;
  transform: rotate(-23deg);
  animation: neon-float 12s ease-in-out infinite;
}
.neon-atmosphere i:nth-child(2) {
  left: 92%;
  top: 200px;
  width: 45px;
  height: 45px;
  border-color: #c861ff;
  box-shadow: inset 0 0 15px #7846eb, 0 0 15px #972ff3;
  animation-delay: -3s;
}
.neon-atmosphere i:nth-child(3) {
  left: 1%;
  top: 630px;
  width: 41px;
  height: 41px;
  animation-delay: -5s;
}
.neon-atmosphere i:nth-child(4) {
  left: 96%;
  top: 800px;
  width: 61px;
  height: 61px;
  animation-delay: -8s;
}
.neon-atmosphere i:nth-child(5) {
  left: 3%;
  top: 1400px;
  width: 30px;
  height: 30px;
  animation-delay: -2s;
}
.neon-atmosphere i:nth-child(6) {
  left: 96%;
  top: 1500px;
  width: 45px;
  height: 45px;
  animation-delay: -7s;
}
@keyframes neon-float {
  50% {
    transform: translateY(-17px) rotate(-7deg);
    filter: brightness(1.3);
  }
}
@keyframes neon-trophy {
  50% {
    transform: translateY(-5px) rotate(3deg);
  }
}
@media (min-width: 1550px) {
  .neon-hero {
    padding: 8px 15px 10px;
  }
  .neon-atmosphere > img {
    left: -70px;
  }
}
@media (max-width: 1250px) {
  .neon-header {
    gap: 17px;
    padding: 7px 23px;
  }
  .neon-brand {
    width: 190px;
  }
  .neon-header nav a {
    padding: 13px 13px;
    font-size: 12px;
    gap: 7px;
  }
  .neon-header nav svg {
    width: 20px;
    height: 20px;
  }
  .neon-header-actions {
    gap: 11px;
  }
  .neon-header-play {
    font-size: 12px !important;
    padding: 9px 13px;
  }
  .neon-main {
    padding: 25px 29px 35px;
  }
  .neon-hero {
    grid-template-columns: minmax(0, 1.6fr) minmax(200px, 0.9fr) minmax( 170px, 0.68fr );
    gap: 20px;
  }
  .neon-kicker {
    font-size: 13px;
  }
  .neon-hero-copy > p {
    font-size: 13px;
  }
  .neon-facts {
    gap: 12px;
  }
  .neon-facts span {
    font-size: 9px;
  }
  .neon-facts svg {
    width: 23px;
  }
  .neon-hero-actions {
    gap: 12px;
    flex-wrap: wrap;
  }
  .neon-hero .neon-button {
    font-size: 14px !important;
  }
  .neon-number-display > span {
    height: 81px;
    width: 60px;
    font-size: 54px;
  }
  .neon-modes-stat > .neon-inner {
    padding: 20px 11px;
  }
  .neon-hero-trophy > .neon-inner {
    padding: 12px 10px;
  }
  .neon-hero-trophy img {
    height: 103px;
    width: 103px;
  }
  .neon-hero-trophy .neon-kicker {
    font-size: 12px;
  }
  .neon-hero-trophy strong {
    font-size: 26px;
  }
  .neon-hero-trophy p {
    font-size: 12px;
  }
  .neon-site .lo-play-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
  .neon-site .lo-progress-panel {
    grid-column: 1/-1;
  }
  .neon-site .lo-progress-panel > .lo-panel-inner {
    display: grid;
    grid-template-columns: 165px 100px 1fr 220px;
    gap: 10px 15px;
    align-items: center;
  }
  .neon-site .lo-progress-total {
    margin: 0;
  }
  .neon-site .lo-game-content {
    grid-template-columns: minmax(0, 1fr) minmax(132px, 0.6fr);
  }
  .neon-connect h2 {
    font-size: 21px;
  }
  .neon-community-card > .neon-inner {
    padding: 22px 20px;
  }
  .neon-community-card img {
    height: 155px;
    width: 105px;
  }
  .neon-community-card > .neon-inner > svg {
    display: none;
  }
  .neon-footer-brand > span {
    font-size: 8px;
  }
  .neon-footer-links {
    gap: 16px;
  }
}
@media (max-width: 980px) {
  .neon-header {
    height: auto;
    min-height: 80px;
    flex-wrap: wrap;
    gap: 9px;
    padding: 8px 22px 12px;
  }
  .neon-brand {
    width: 180px;
  }
  .neon-header-actions {
    margin-left: auto;
  }
  .neon-header nav {
    order: 3;
    flex-basis: 100%;
    justify-content: center;
    max-width: 650px;
    margin: 0 auto;
    gap: 3px;
  }
  .neon-header nav a {
    flex: 1;
    font-size: 13px;
    padding: 12px;
  }
  .neon-hero {
    grid-template-columns: 1fr 1fr;
    gap: 23px;
    max-width: 740px;
    margin: 0 auto 28px;
  }
  .neon-hero-copy {
    grid-column: 1/-1;
    text-align: center;
    max-width: 660px;
    justify-self: center;
  }
  .neon-hero-copy .neon-eyebrow {
    justify-content: center;
  }
  .neon-title {
    height: auto;
    max-height: 228px;
    object-position: center;
  }
  .neon-hero h2 {
    font-size: 21px;
  }
  .neon-hero-copy > p {
    max-width: 520px;
    margin: 10px auto 15px;
    font-size: 15px;
  }
  .neon-hero-actions, .neon-facts {
    justify-content: center;
  }
  .neon-facts {
    gap: 25px;
  }
  .neon-facts span {
    font-size: 10px;
  }
  .neon-modes-stat > .neon-inner {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 0 10px;
    align-items: center;
    text-align: left;
    padding: 19px;
  }
  .neon-modes-stat .neon-kicker {
    grid-column: 1/-1;
    text-align: center;
    margin-bottom: 12px;
  }
  .neon-number-display {
    grid-column: 1;
    grid-row: 2/5;
    margin: 0;
    gap: 6px;
  }
  .neon-number-display > span {
    height: 78px;
    width: 47px;
    font-size: 46px;
  }
  .neon-modes-stat strong {
    font-size: 15px;
  }
  .neon-modes-stat p {
    font-size: 11px;
    margin: 5px 0;
  }
  .neon-inline-link {
    font-size: 9px;
  }
  .neon-hero-trophy > .neon-inner {
    display: grid;
    grid-template-columns: 95px 1fr;
    align-items: center;
    padding: 18px 15px;
  }
  .neon-hero-trophy img {
    width: 90px;
    height: 90px;
    grid-row: 1/5;
  }
  .neon-hero-trophy .neon-kicker {
    font-size: 11px;
  }
  .neon-hero-trophy strong {
    font-size: 25px;
    margin: 0;
  }
  .neon-hero-trophy p {
    font-size: 11px;
  }
  .neon-three-stars {
    margin: 7px 0 0;
  }
  .neon-three-stars svg {
    width: 16px;
    height: 16px;
  }
  .neon-site .lo-play-layout {
    grid-template-columns: 1fr 1fr;
  }
  .neon-site .lo-game-panel {
    grid-column: 1/-1;
  }
  .neon-site .lo-game-content {
    grid-template-columns: minmax(0, 1fr) minmax(200px, 0.7fr);
    gap: 24px;
    padding: 0 15px 10px;
  }
  .neon-site .lo-progress-panel {
    grid-column: 2;
  }
  .neon-site .lo-progress-panel > .lo-panel-inner {
    display: block;
  }
  .neon-site .lo-progress-total {
    margin-top: 22px;
  }
  .neon-site .lo-score-row {
    font-size: 12px;
    min-height: 37px;
  }
  .neon-site .lo-section-heading h2 {
    font-size: 18px;
  }
  .neon-site .lo-cta {
    font-size: 17px !important;
  }
  .neon-site .lo-game-controls > p {
    font-size: 15px;
  }
  .neon-connect {
    grid-template-columns: 1fr 1fr;
  }
  .neon-community-card img {
    display: none;
  }
  .neon-connect .neon-eyebrow {
    font-size: 8px;
  }
  .neon-connect h2 {
    font-size: 22px;
  }
  .neon-connect p {
    font-size: 12px;
  }
  .neon-community-card .neon-button {
    font-size: 11px !important;
    padding: 10px;
  }
  .neon-info {
    gap: 20px;
    padding: 0 3px;
  }
  .neon-info h3 {
    font-size: 12px;
  }
  .neon-info p {
    font-size: 10px;
  }
  .neon-footer {
    padding: 16px 28px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 13px;
  }
  .neon-footer-brand > span {
    font-size: 10px;
  }
  .neon-footer-links {
    justify-content: center;
  }
  .neon-services .overview, .neon-services .account-layout {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .neon-services .legal {
    padding: 28px;
  }
  .neon-services .beta-how-grid {
    grid-template-columns: 1fr;
  }
  .neon-services .beta-hero h1 {
    font-size: 32px;
  }
}
@media (max-width: 600px) {
  .neon-header {
    padding: 8px 16px 10px;
    gap: 9px;
  }
  .neon-brand {
    width: 155px;
  }
  .neon-header-play {
    display: none;
  }
  .neon-header-actions {
    gap: 10px;
  }
  .neon-language {
    font-size: 10px !important;
  }
  .neon-profile {
    width: 35px;
    height: 35px;
  }
  .neon-profile svg {
    width: 22px;
    height: 22px;
  }
  .neon-header nav {
    border-radius: 12px;
    gap: 0;
  }
  .neon-header nav a {
    padding: 10px 4px;
    gap: 5px;
    font-size: 10px;
    border-radius: 9px;
  }
  .neon-header nav svg {
    width: 18px;
    height: 18px;
  }
  .neon-main {
    padding: 21px 17px 29px;
  }
  .neon-hero {
    gap: 18px;
    margin-bottom: 24px;
  }
  .neon-hero-copy {
    min-width: 0;
    width: 100%;
  }
  .neon-eyebrow {
    font-size: 8px;
    letter-spacing: 1px;
  }
  .neon-hero-copy h1 {
    margin: 9px -4px 7px;
  }
  .neon-title {
    max-height: 160px;
    width: 100%;
    height: auto;
  }
  .neon-hero h2 {
    font-size: 14px;
    line-height: 1.5;
    max-width: 340px;
    margin: auto;
  }
  .neon-hero-copy > p {
    font-size: 12px;
    line-height: 1.6;
    max-width: 320px;
    margin: 9px auto 14px;
  }
  .neon-hero-actions {
    flex-direction: column;
    gap: 12px;
    margin: 15px 0 19px;
  }
  .neon-hero .neon-button {
    width: min(260px, 100%);
    font-size: 15px !important;
    min-height: 48px;
  }
  .neon-quiet-link {
    font-size: 12px !important;
  }
  .neon-facts {
    gap: 13px;
  }
  .neon-facts > span {
    font-size: 7px;
    gap: 5px;
  }
  .neon-facts svg {
    width: 23px;
    height: 23px;
  }
  .neon-panel {
    border-radius: 20px;
    padding: 5px;
  }
  .neon-panel::before {
    border-radius: 16px;
    inset: 3px;
  }
  .neon-inner {
    border-radius: 13px;
    padding: 15px;
  }
  .neon-modes-stat > .neon-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 15px 7px;
    gap: 3px;
    min-height: 204px;
  }
  .neon-modes-stat .neon-kicker {
    font-size: 9px;
    margin: 0 0 4px;
  }
  .neon-number-display {
    gap: 5px;
    margin: 5px 0;
  }
  .neon-number-display > span {
    width: 36px;
    height: 52px;
    border-radius: 9px;
    font-size: 33px;
  }
  .neon-modes-stat strong {
    font-size: 11px;
  }
  .neon-modes-stat p {
    font-size: 9px;
    line-height: 1.5;
    margin: 3px 0;
  }
  .neon-inline-link {
    font-size: 8px;
    margin-top: 5px;
  }
  .neon-hero-trophy > .neon-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 6px;
    min-height: 204px;
  }
  .neon-hero-trophy img {
    width: 73px;
    height: 73px;
  }
  .neon-hero-trophy .neon-kicker {
    font-size: 9px;
    margin-top: 3px;
  }
  .neon-hero-trophy strong {
    font-size: 23px;
    margin: 3px 0;
  }
  .neon-hero-trophy p {
    font-size: 9px;
  }
  .neon-three-stars {
    margin-top: 7px;
    gap: 5px;
  }
  .neon-three-stars svg {
    width: 15px;
    height: 15px;
  }
  .neon-modes {
    margin: 26px 0;
  }
  .neon-section-title {
    align-items: flex-start;
    margin-bottom: 13px;
    gap: 8px;
  }
  .neon-section-title h2 {
    font-size: 14px;
    gap: 7px;
    line-height: 1.35;
  }
  .neon-section-title h2 svg {
    width: 18px;
    height: 18px;
  }
  .neon-section-title > div {
    gap: 5px;
  }
  .neon-section-title > div > span {
    display: none;
  }
  .neon-section-title > div button {
    width: 25px;
    height: 25px;
    border-radius: 7px;
  }
  .neon-mode-rail {
    gap: 8px;
  }
  .neon-mode {
    flex-basis: 109px;
    min-width: 109px;
    min-height: 111px;
    border-radius: 11px;
    padding: 12px 4px;
    gap: 9px;
  }
  .neon-mode strong {
    font-size: 10px;
  }
  .neon-mode-icon svg {
    width: 27px;
    height: 27px;
  }
  .neon-mode small {
    font-size: 8px;
  }
  .neon-modes > .neon-panel > .neon-inner {
    padding: 5px;
  }
  .neon-demo > .neon-section-title {
    display: block;
  }
  .neon-demo > .neon-section-title > span {
    font-size: 9px;
    margin-top: 8px;
  }
  .neon-demo-intro {
    font-size: 11px;
    margin: 0 2px 18px !important;
  }
  .neon-site .lo-level-strip {
    margin: 0 0 20px;
  }
  .neon-site .lo-level {
    min-width: 78px;
    flex-basis: 78px;
    min-height: 79px;
    padding: 9px 3px;
    gap: 6px;
  }
  .neon-site .lo-level strong {
    font-size: 11px;
  }
  .neon-site .lo-level > span:last-child {
    font-size: 8px;
  }
  .neon-site .lo-panel {
    border-radius: 20px;
    padding: 5px;
  }
  .neon-site .lo-panel::before {
    border-radius: 16px;
  }
  .neon-site .lo-panel-inner {
    border-radius: 13px;
  }
  .neon-site .lo-play-layout {
    display: flex;
    gap: 23px;
  }
  .neon-site .lo-section-heading h2 {
    font-size: 15px;
  }
  .neon-site .lo-mode-badge {
    font-size: 8px;
  }
  .neon-site .lo-game-panel .lo-panel-inner {
    padding: 16px 12px;
  }
  .neon-site .lo-game-content {
    display: flex;
    padding: 0;
    gap: 14px;
  }
  .neon-site .lo-board {
    padding: 5px;
    gap: 3px;
  }
  .neon-site .lo-mobile-time {
    justify-content: center;
    margin: -3px 0 12px;
  }
  .neon-site .lo-mobile-time span {
    font-size: 21px;
  }
  .neon-site .lo-cta {
    font-size: 11px !important;
    padding: 8px 5px !important;
    min-height: 43px;
  }
  .neon-site .lo-game-controls {
    gap: 8px 12px;
  }
  .neon-site .lo-game-controls > .lo-optimal {
    font-size: 10px;
  }
  .neon-site .lo-game-controls > .lo-optimal b {
    font-size: 11px;
  }
  .neon-site .lo-board-caption {
    font-size: 9px;
  }
  .neon-site .lo-progress-panel > .lo-panel-inner {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 13px 10px;
  }
  .neon-site .lo-progress-total {
    margin: 0;
  }
  .neon-site .lo-progress-total p {
    font-size: 8px;
  }
  .neon-site .lo-stat-grid strong {
    font-size: 18px;
  }
  .neon-site .lo-stat-grid small {
    font-size: 10px;
  }
  .neon-site .lo-stat-grid span {
    font-size: 7px;
  }
  .neon-site .lo-scores-panel .lo-panel-inner {
    padding: 17px 12px;
  }
  .neon-site .lo-score-row {
    font-size: 11px;
    grid-template-columns: minmax(0, 1fr) 50px 37px;
    min-height: 37px;
  }
  .neon-connect {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 28px 0;
  }
  .neon-community-card > .neon-inner {
    padding: 22px 17px;
  }
  .neon-connect h2 {
    font-size: 23px;
  }
  .neon-connect p {
    font-size: 12px;
  }
  .neon-connect .neon-eyebrow {
    font-size: 8px;
  }
  .neon-community-card .neon-button {
    font-size: 11px !important;
    min-height: 43px;
    width: 100%;
  }
  .neon-tournament-card > .neon-inner {
    padding: 20px 18px;
  }
  .neon-tournament-card > .neon-inner > svg {
    width: 29px;
    height: 29px;
  }
  .neon-tournament-card h2 {
    font-size: 22px;
  }
  .neon-outline-button {
    font-size: 11px;
    min-height: 43px;
  }
  .neon-info {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 3px 8px;
  }
  .neon-info h3 {
    font-size: 13px;
  }
  .neon-info p {
    font-size: 11px;
  }
  .neon-footer {
    padding: 20px 15px;
    gap: 16px;
  }
  .neon-footer-brand {
    flex-direction: column;
    gap: 9px;
  }
  .neon-footer-brand img {
    width: 123px;
  }
  .neon-footer-brand > span {
    font-size: 8px;
  }
  .neon-footer-links {
    font-size: 10px;
    gap: 9px 17px;
    flex-wrap: wrap;
  }
  .neon-page-heading {
    margin: 0 0 25px;
  }
  .neon-page-heading h1 {
    font-size: 31px;
    letter-spacing: -0.8px;
  }
  .neon-page-heading > a {
    margin-bottom: 16px;
  }
  .neon-services h1 {
    font-size: 28px;
  }
  .neon-services .account-panel, .neon-services .legal, .neon-services .beta-notes, .neon-services .beta-faq, .neon-services .beta-how-grid > article {
    padding: 21px 17px;
    border-radius: 17px;
  }
  .neon-services .account-layout h1 {
    font-size: 28px;
  }
  .neon-services .legal h2 {
    font-size: 21px;
  }
  .neon-services .legal p, .neon-services .legal li {
    font-size: 13px;
    overflow-wrap: anywhere;
  }
  .neon-services .legal .button {
    font-size: 12px;
    padding: 10px;
  }
  .neon-services .account-panel p {
    font-size: 13px;
  }
  .neon-services .board-section {
    padding: 17px 12px;
    border-radius: 17px;
  }
  .neon-services .board-title {
    flex-wrap: wrap;
  }
  .neon-services .tournament-tabs button {
    font-size: 11px !important;
    padding: 9px 11px !important;
  }
  .neon-services .rules-grid p, .neon-services .rules-grid li {
    font-size: 13px;
  }
  .neon-services .board-section th, .neon-services .board-section td {
    padding: 10px 6px !important;
    font-size: 10px;
  }
  .neon-services .empty-state h3 {
    font-size: 17px;
  }
  .neon-services .empty-state p {
    font-size: 12px;
  }
  .neon-services .beta-hero {
    gap: 20px;
  }
  .neon-services .beta-hero h1 {
    font-size: 29px;
  }
  .neon-services .beta-how h2, .neon-services .beta-notes h2, .neon-services .beta-faq h2 {
    font-size: 24px;
  }
  .neon-services .beta-how-grid {
    gap: 21px;
  }
  .neon-services .beta-game-figure {
    max-width: 240px;
  }
  .neon-services .beta-how-grid p {
    font-size: 13px;
  }
  .neon-services .beta-hero-description, .neon-services .beta-lead {
    font-size: 14px;
  }
  .neon-services .beta-facts {
    flex-wrap: wrap;
  }
  .neon-services .beta-button {
    white-space: normal;
  }
  .neon-mode-dialog .neon-inner {
    padding: 32px 22px 25px;
  }
  .neon-mode-dialog h2 {
    font-size: 28px;
  }
  .neon-mode-dialog p {
    font-size: 13px;
  }
  .neon-mode-dialog .neon-button {
    font-size: 12px !important;
  }
  .neon-atmosphere > img {
    display: none;
  }
  .neon-atmosphere i {
    opacity: 0.5;
    animation: none;
  }
}
@media (max-width: 359px) {
  .neon-main {
    padding-left: 12px;
    padding-right: 12px;
  }
  .neon-header {
    padding-left: 12px;
    padding-right: 12px;
  }
  .neon-brand {
    width: 138px;
  }
  .neon-header nav a {
    font-size: 9px;
    gap: 4px;
  }
  .neon-header nav svg {
    width: 16px;
    height: 16px;
  }
  .neon-facts {
    gap: 8px;
  }
  .neon-facts > span {
    font-size: 6.5px;
  }
  .neon-facts svg {
    width: 21px;
  }
  .neon-section-title h2 {
    font-size: 13px;
  }
  .neon-site .lo-section-heading h2 {
    font-size: 13px;
  }
  .neon-hero h2 {
    font-size: 12px;
  }
  .neon-site .lo-start svg {
    width: 12px;
  }
  .neon-site .lo-start {
    gap: 4px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .neon-site *, .neon-site *::before, .neon-site *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.neon-services .account-panel, .neon-services .board-section, .neon-services .beta-notes, .neon-services .beta-faq, .neon-services .beta-how-grid > article, .neon-services .legal, .neon-services .beta-signup-card {
  border: 4px solid transparent;
  background: linear-gradient(135deg, #07133e, #030921) padding-box, linear-gradient(135deg, #27eaff, #1752dc 55%, #c45bff) border-box;
  box-shadow: 0 0 0 1px #9acbff, 0 0 0 3px #1739b6, 0 0 12px #1464ee88, 3px -3px 12px #a739ff88;
}
.neon-services .panel-heading {
  margin-bottom: 17px;
}
.neon-services .age-access-panel h3 {
  margin: 0 0 7px;
}
.neon-services .age-access-panel .micro {
  font-size: 11px;
  line-height: 1.6;
}
.neon-services .steps {
  list-style: decimal;
  margin: 18px 0;
  padding-left: 22px;
}
.neon-services .beta-how-grid > article > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  margin-bottom: 15px;
  border: 1px solid #6984fc;
}
@media (max-width: 600px) {
  .neon-header nav a {
    min-height: 42px;
  }
  .neon-services .panel-heading {
    margin-bottom: 15px;
  }
  .neon-language {
    min-height: 40px;
  }
}
.neon-site {
  --motion-fast: 150ms;
  --motion-panel: 260ms;
  --motion-celebrate: 620ms;
  --motion-ease: cubic-bezier(0.2, 0.75, 0.25, 1);
  --motion-press: cubic-bezier(0.2, 0.8, 0.3, 1);
  --arcade-line: #5369af;
  --arcade-muted: #a9bee7;
  font-variant-numeric: tabular-nums;
}
.neon-site::before {
  opacity: 0.62;
  transition: opacity var(--motion-panel) var(--motion-ease);
}
.neon-header {
  gap: 24px;
}
.neon-header nav {
  position: relative;
  isolation: isolate;
}
.neon-header nav a {
  position: relative;
  z-index: 1;
  transition: color var(--motion-fast);
}
.neon-header nav a[aria-current] {
  background: transparent;
  box-shadow: none;
  border-color: transparent;
}
.neon-nav-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--nav-width, 0px);
  height: var(--nav-height, 0px);
  transform: translate(var(--nav-x, 0px), var(--nav-y, 0px));
  border: 1px solid #7665ff;
  border-radius: 11px;
  background: linear-gradient(130deg, #3420b3, #0b1644);
  box-shadow: inset 0 0 12px #6b41ff55;
  pointer-events: none;
  transition: transform var(--motion-panel) var(--motion-ease), width var(--motion-panel) var(--motion-ease), height var(--motion-panel) var(--motion-ease);
}
.neon-main {
  padding-top: 34px;
}
.neon-main:focus {
  outline: none;
}
.neon-panel {
  padding: 4px;
  border-color: #60d8ff;
  box-shadow: 0 0 0 1px #182f92, 0 0 0 3px #103f8966, -2px 2px 12px #037dff45, 2px -2px 12px #b42eff4d;
}
.neon-panel::before {
  inset: 2px;
  border-color: #c4f5ffb3;
  box-shadow: none;
}
.neon-inner {
  background: linear-gradient(135deg, #061032, #03071e 75%);
  box-shadow: none;
}
.neon-hero {
  gap: 26px;
  margin-bottom: 36px;
}
.neon-hero-copy > p {
  font-size: 16px;
  max-width: 540px;
  margin-top: 12px;
  line-height: 1.65;
}
.neon-title {
  max-height: 232px;
}
.neon-kicker {
  letter-spacing: 0.03em;
}
.neon-modes-stat p, .neon-hero-trophy p {
  color: #b8cdf1;
}
.neon-atmosphere, .neon-connect, .neon-info {
  transition: opacity var(--motion-panel) var(--motion-ease);
}
.neon-atmosphere i, .neon-hero-trophy img, .neon-community-card img {
  animation: none;
}
.neon-atmosphere i {
  opacity: 0.45;
}
.neon-atmosphere i:nth-child(n + 3) {
  opacity: 0.22;
}
.neon-atmosphere > img {
  opacity: 0.45;
}
.neon-focus::before {
  opacity: 0.24;
}
.neon-focus .neon-atmosphere {
  opacity: 0.12;
}
.neon-focus .neon-connect, .neon-focus .neon-info {
  opacity: 0.7;
}
.neon-focus .lo-scores-panel, .neon-focus .lo-progress-panel {
  box-shadow: 0 0 0 1px #20366c;
  border-color: #4c6296;
}
.neon-section-title h2 {
  letter-spacing: 0.01em;
}
.neon-demo > .neon-section-title h2 {
  font-size: 25px;
}
.neon-demo-intro {
  max-width: 760px;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 22px !important;
}
.neon-demo, .neon-modes, .neon-hero {
  scroll-margin-top: 20px;
}
.neon-mode {
  border-color: #2b3d74 !important;
  min-height: 128px;
}
.neon-mode strong {
  line-height: 1.35;
}
.neon-mode small {
  font-size: 11px;
}
.neon-mode-icon {
  filter: drop-shadow( 0 0 4px var(--mode-color) );
  @supports (color: color-mix(in lab, red, red)) {
    filter: drop-shadow( 0 0 4px color-mix(in srgb, var(--mode-color) 45%, transparent) );
  }
}
.neon-mode:hover, .neon-mode.is-featured {
  background: linear-gradient(135deg, #103fb0, #101f62 75%);
  box-shadow: inset 0 0 8px #237bf855;
}
.neon-section-title > div button {
  width: 36px;
  height: 36px;
}
.neon-site :is( .neon-button, .neon-outline-button, .neon-profile, .neon-dialog-close, .lo-cta, .lo-tools button ) {
  transition: transform var(--motion-fast) var(--motion-press), filter var(--motion-fast), border-color var(--motion-fast), background-color var(--motion-fast);
  touch-action: manipulation;
}
.neon-site :is(.neon-button, .lo-cta) {
  position: relative;
}
.neon-site :is(.neon-button, .lo-cta)::after {
  content: '';
  position: absolute;
  inset: 2px 9px auto;
  height: 1px;
  background: #f1ffd6;
  opacity: 0.45;
  pointer-events: none;
  transition: opacity var(--motion-fast);
}
.neon-site :is(.neon-button, .lo-cta):is(:hover, :focus-visible)::after {
  opacity: 1;
}
.neon-site :is(.neon-button, .lo-cta):active {
  transform: translateY(1px) scale(0.99);
}
.neon-site :is(.neon-button, .lo-cta, .neon-outline-button):disabled, .neon-site :is(.button, .beta-button)[aria-busy='true'] {
  opacity: 0.52;
  filter: saturate(0.4);
  transform: none;
  cursor: not-allowed;
}
.neon-site :is(a, button):not(.lo-cell):focus-visible {
  outline: 2px solid #fff3a3;
  outline-offset: 4px;
}
.neon-mode-rail {
  padding: 6px;
  scroll-padding: 6px;
}
.neon-header nav a:focus-visible {
  outline-offset: -4px;
}
.neon-site .neon-language {
  min-height: 44px;
}
.neon-dialog-close {
  width: 40px;
  height: 40px;
}
.neon-mode-dialog {
  opacity: 0;
  transform: translateY(8px) scale(0.985);
  transition: opacity var(--motion-panel) var(--motion-ease), transform var(--motion-panel) var(--motion-ease), overlay var(--motion-panel) allow-discrete, display var(--motion-panel) allow-discrete;
}
.neon-mode-dialog[open] {
  opacity: 1;
  transform: none;
}
.neon-mode-dialog::backdrop {
  background: #01051ac2;
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity var(--motion-panel), overlay var(--motion-panel) allow-discrete, display var(--motion-panel) allow-discrete;
}
.neon-mode-dialog[open]::backdrop {
  opacity: 1;
}
@starting-style {
  .neon-mode-dialog[open] {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
  }
  .neon-mode-dialog[open]::backdrop {
    opacity: 0;
  }
}
.neon-site[data-boot='on'][data-entry='home'] .neon-hero-copy {
  animation: arcade-arrive 440ms var(--motion-ease) both;
}
.neon-site[data-boot='on'][data-entry='home'] .neon-modes-stat {
  animation: arcade-arrive 440ms var(--motion-ease) 80ms both;
}
.neon-site[data-boot='on'][data-entry='home'] .neon-hero-trophy {
  animation: arcade-arrive 440ms var(--motion-ease) 150ms both;
}
.neon-site[data-boot='on'][data-entry='home'] .neon-hero .neon-panel::before {
  animation: arcade-power var(--motion-celebrate) var(--motion-ease) both;
}
.neon-site .neon-connect[data-revealed='true'], .neon-site .neon-page-heading[data-revealed='true'] {
  animation: arcade-arrive var(--motion-panel) var(--motion-ease) both;
}
.neon-modes > .neon-panel::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 4%;
  height: 2px;
  width: 23%;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, #b9fcff, transparent);
  box-shadow: 0 0 6px #3ee8ff66;
  opacity: 0;
  pointer-events: none;
}
.neon-modes[data-revealed='true'] > .neon-panel::after {
  animation: arcade-rail-energy var(--motion-celebrate) var(--motion-ease) both;
}
.neon-site[data-visible='false'] *, .neon-site[data-visible='false'] *::before, .neon-site[data-visible='false'] *::after, .neon-site [data-in-view='false'], .neon-site [data-in-view='false'] *, .neon-site [data-in-view='false'] *::before, .neon-site [data-in-view='false'] *::after, .neon-focus .neon-modes > .neon-panel::after {
  animation-play-state: paused !important;
}
@keyframes arcade-arrive {
  from {
    opacity: 0.65;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes arcade-power {
  from {
    opacity: 0.3;
  }
  to {
    opacity: 1;
  }
}
@keyframes arcade-rail-energy {
  0% {
    opacity: 0;
    transform: translateX(0);
  }
  15% {
    opacity: 0.9;
  }
  85% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
    transform: translateX(300%);
  }
}
.neon-services .current-player-row td {
  background: #14244a;
  border-top: 1px solid #42d5ed;
  border-bottom: 1px solid #42d5ed;
}
.neon-services .current-player-row td:first-child {
  border-left: 3px solid #42d5ed;
}
.neon-services .current-player-label {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  color: #81f0ff;
  margin-left: 8px;
}
.neon-services .official-ranking {
  font-variant-numeric: tabular-nums;
}
.neon-services .service-status {
  padding: 12px 14px;
  border: 1px solid #52628a;
  border-radius: 10px;
  background: #101c38;
  line-height: 1.6;
}
.neon-services .official-ranking-empty {
  min-height: 180px;
}
.neon-services :is( .account-panel, .board-section, .beta-notes, .beta-faq, .beta-how-grid > article, .legal, .beta-signup-card ) {
  border-width: 3px;
  box-shadow: 0 0 0 1px #528da8, 0 0 0 2px #193574, 0 0 12px #1464ee30;
}
.neon-services :is(.button, .beta-button) {
  transition: filter var(--motion-fast), transform var(--motion-fast);
}
.neon-services :is(.button, .beta-button):active:not(:disabled) {
  transform: translateY(1px);
}
.neon-services :is(input, select, textarea):focus-visible {
  outline: 2px solid #84e6ff;
  outline-offset: 3px;
}
.neon-services :is(.notice, .error-box, .service-status) {
  overflow-wrap: anywhere;
}
.neon-services .tournament-tabs {
  position: relative;
}
.neon-services .tournament-tabs button {
  transition: background-color var(--motion-fast), border-color var(--motion-fast);
}
.neon-footer {
  border-top-color: #275396;
  box-shadow: none;
}
@media (max-width: 980px) {
  .neon-hero {
    gap: 22px;
  }
  .neon-hero-copy > p {
    max-width: 590px;
  }
}
@media (max-width: 600px) {
  .neon-main {
    padding-top: 26px;
  }
  .neon-hero {
    gap: 18px 16px;
    margin-bottom: 28px;
  }
  .neon-hero-copy > p {
    font-size: 14px;
    line-height: 1.6;
  }
  .neon-hero h2 {
    font-size: 15px;
    line-height: 1.45;
  }
  .neon-hero .neon-eyebrow {
    font-size: 9px;
    letter-spacing: 0.6px;
  }
  .neon-title {
    max-height: none;
  }
  .neon-modes-stat .neon-kicker, .neon-hero-trophy .neon-kicker {
    font-size: 11px;
  }
  .neon-modes-stat strong {
    font-size: 13px;
  }
  .neon-modes-stat p, .neon-hero-trophy p {
    font-size: 11px;
  }
  .neon-inline-link {
    font-size: 11px;
    min-height: 32px;
  }
  .neon-modes-stat > .neon-inner, .neon-hero-trophy > .neon-inner {
    min-height: 220px;
    padding-left: 8px;
    padding-right: 8px;
  }
  .neon-panel {
    padding: 3px;
  }
  .neon-header nav {
    min-height: 46px;
  }
  .neon-header nav a {
    font-size: 10px;
    padding-inline: 8px;
  }
  .neon-section-title h2 {
    font-size: 15px;
  }
  .neon-section-title > div button {
    width: 36px;
    height: 36px;
  }
  .neon-demo > .neon-section-title h2 {
    font-size: 21px;
  }
  .neon-demo > .neon-section-title > span {
    font-size: 11px;
  }
  .neon-demo-intro {
    font-size: 12px;
    margin-bottom: 18px !important;
  }
  .neon-mode {
    min-width: 116px;
    flex-basis: 116px;
    padding: 12px 8px;
  }
  .neon-mode strong {
    font-size: 11px;
  }
  .neon-mode small {
    font-size: 10px;
  }
  .neon-atmosphere {
    display: none;
  }
  .neon-connect h2 {
    font-size: 25px;
  }
  .neon-connect p {
    font-size: 14px;
  }
  .neon-info p {
    font-size: 13px;
  }
  .neon-footer-links {
    font-size: 12px;
    gap: 6px 18px;
  }
  .neon-footer-links a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .neon-site {
    --motion-fast: 0ms;
    --motion-panel: 0ms;
    --motion-celebrate: 0ms;
  }
  .neon-site *, .neon-site *::before, .neon-site *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .neon-site :is(.neon-button, .neon-outline-button, .lo-cta):is(:hover, :active) {
    transform: none;
  }
}
.lo-challenge {
  --practice-fast: var(--motion-fast, 150ms);
  --practice-panel: var(--motion-panel, 260ms);
  --practice-celebrate: var(--motion-celebrate, 620ms);
  --practice-ease: var(--motion-ease, cubic-bezier(0.2, 0.75, 0.25, 1));
}
.lo-challenge .lo-play-layout {
  display: grid;
  grid-template-columns: minmax(460px, 1.45fr) minmax(310px, 1fr) minmax( 230px, 0.72fr );
  gap: clamp(18px, 1.8vw, 28px);
  align-items: stretch;
}
.lo-challenge .lo-play-layout > .lo-panel {
  min-width: 0;
  position: relative;
}
.lo-challenge :is(.lo-game-panel, .lo-scores-panel, .lo-progress-panel) {
  grid-column: auto;
  grid-row: auto;
}
.lo-challenge .lo-progress-panel > .lo-panel-inner {
  display: block;
}
.lo-challenge .lo-stat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lo-challenge .lo-live-dot.is-live {
  animation: none;
}
.lo-challenge .lo-play-layout .lo-panel-inner {
  padding: clamp(18px, 1.65vw, 28px);
}
.lo-challenge .lo-section-heading {
  gap: 12px;
  margin-bottom: 18px;
}
.lo-challenge .lo-section-heading h2 {
  font-size: clamp(17px, 1.4vw, 22px);
  line-height: 1.3;
  white-space: normal;
}
.lo-challenge .lo-game-content {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(138px, 0.85fr);
  align-items: start;
  gap: 20px;
  padding: 0;
}
.lo-challenge .lo-mobile-time {
  min-height: 32px;
  margin: 0 0 18px;
  justify-content: flex-start;
  font-variant-numeric: tabular-nums;
  color: #eef4ff;
  gap: 8px;
}
.lo-challenge .lo-mobile-time span {
  font: 700 25px/1.2 'Segoe UI', Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  min-width: 5ch;
}
.lo-challenge .lo-mobile-time small {
  color: #a5b7d4;
  font-size: 10px;
  letter-spacing: 0.08em;
}
.lo-challenge .lo-mobile-time svg {
  width: 17px;
  height: 17px;
}
.lo-challenge .lo-board, .lo-challenge .lo-game-panel.is-won .lo-board {
  grid-template-columns: repeat(var(--board-width), minmax(0, 1fr));
  grid-template-rows: repeat(var(--board-width), minmax(0, 1fr));
  gap: 7px;
  padding: 10px;
  aspect-ratio: 1;
  width: 100%;
  max-width: 400px;
  border: 1px solid #334460;
  border-radius: 10px;
  background: #071022;
  box-shadow: none;
  filter: none;
  transform: none;
  align-items: stretch;
}
.lo-challenge .lo-board::before, .lo-challenge .lo-board::after, .lo-challenge .lo-cell::before, .lo-challenge .lo-cell::after {
  content: none !important;
  display: none !important;
  transition: none !important;
  animation: none !important;
  transform: none !important;
  box-shadow: none !important;
}
.lo-challenge .lo-board .lo-cell, .lo-challenge .lo-board .lo-cell:hover, .lo-challenge .lo-board .lo-cell:active, .lo-challenge .lo-board .lo-cell:focus, .lo-challenge .lo-board .lo-cell:disabled {
  appearance: none;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  translate: none !important;
  scale: none !important;
  rotate: none !important;
  transition: none !important;
  animation: none !important;
  opacity: 1 !important;
  outline: none;
  touch-action: manipulation;
}
.lo-challenge .lo-board .lo-cell > img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-height: none;
  object-fit: contain;
  pointer-events: none;
  transition: none !important;
  animation: none !important;
  transform: none !important;
  filter: none;
}
.lo-challenge .lo-board .lo-cell .lo-bulb-off {
  opacity: 1;
}
.lo-challenge .lo-board .lo-cell .lo-bulb-on {
  opacity: 0;
}
.lo-challenge .lo-board .lo-cell.is-on .lo-bulb-off {
  opacity: 0;
}
.lo-challenge .lo-board .lo-cell.is-on .lo-bulb-on {
  opacity: 1;
}
.lo-challenge .lo-board .lo-cell.is-hint {
  outline: 3px solid #77e7ff;
  outline-offset: -5px;
}
.lo-challenge .lo-board .lo-cell:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}
.lo-challenge .lo-board .lo-cell:disabled {
  cursor: default;
}
.lo-challenge .lo-board-caption {
  min-height: 30px;
  margin-top: 12px;
  line-height: 1.5;
  font-size: 11px;
}
.lo-challenge .lo-board-paused {
  grid-area: 1 / 1 / -1 / -1;
  position: absolute;
  inset: 0;
  background: #071022ee;
  border-radius: 9px;
  backdrop-filter: none;
}
.lo-challenge .lo-game-controls {
  min-width: 0;
  padding: 0;
}
.lo-challenge .lo-move-counter {
  min-height: 84px;
  margin-top: 15px;
  font-variant-numeric: tabular-nums;
}
.lo-challenge .lo-move-counter strong {
  font-variant-numeric: tabular-nums;
}
.lo-challenge .lo-start {
  min-height: 46px;
  margin-top: 22px;
  white-space: normal;
}
.lo-challenge .lo-tools {
  gap: 10px;
  margin-top: 14px;
}
.lo-challenge .lo-tools button {
  min-width: 42px;
  min-height: 42px;
}
.lo-challenge .lo-assist-note {
  min-height: 34px;
  line-height: 1.5;
  font-size: 11px;
}
.lo-challenge .lo-levels {
  position: relative;
  gap: 10px;
  padding: 10px !important;
}
.lo-challenge .lo-level {
  position: relative;
  z-index: 1;
  min-height: 102px;
  padding: 12px 6px 16px;
  gap: 8px;
  border: 1px solid #344776 !important;
  border-radius: 12px;
  background: #08142c;
  box-shadow: none;
  transform: none !important;
  transition: background-color var(--practice-fast), border-color var(--practice-fast), color var(--practice-fast);
}
.lo-challenge .lo-level:disabled {
  color: #a0afc8 !important;
  background: #080f24;
  opacity: 1;
}
.lo-challenge .lo-level.is-available {
  border-color: #3c749b !important;
  color: #eaf3ff !important;
}
.lo-challenge .lo-level.is-selected {
  background: #112958;
  border: 1px solid #69cefa !important;
  color: #fff !important;
  box-shadow: none;
}
.lo-challenge .lo-level.is-complete {
  background: #0d2531;
  border-color: #41766d !important;
  color: #e4fff2 !important;
}
.lo-challenge .lo-level.is-complete.is-selected {
  background: #143943;
  border-color: #79ecbd !important;
}
.lo-challenge .lo-level:enabled:hover {
  background-color: #13284a;
}
.lo-challenge .lo-level strong {
  font-size: 12px;
  letter-spacing: 0.035em;
}
.lo-challenge .lo-level > span:last-child {
  font-size: 10px;
  line-height: 1.3;
  white-space: normal;
  justify-content: center;
  text-align: center;
}
.lo-challenge .lo-level-completed {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #9defbd;
  font-size: 10px;
}
.lo-challenge .lo-level-completed .lo-level-icon {
  width: 16px !important;
  height: 16px !important;
}
.lo-challenge .lo-level-stars {
  font-size: 12px !important;
  letter-spacing: 1px;
}
.lo-challenge .lo-level-indicator {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  height: 3px;
  border-radius: 3px;
  background: #70eaff;
  box-shadow: 0 0 9px #3bd9ff88;
  pointer-events: none;
  opacity: 0;
  transition: transform var(--practice-panel) var(--practice-ease), width var(--practice-panel) var(--practice-ease);
}
.lo-challenge .lo-level.is-celebrating {
  animation: lo-level-complete var(--practice-celebrate) ease-out both;
}
.lo-challenge .lo-completion-pulse {
  position: absolute;
  z-index: 3;
  inset: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  pointer-events: none;
  overflow: visible;
  opacity: 0;
  animation: lo-perimeter-complete var(--practice-celebrate) ease-out both;
}
.lo-challenge .lo-completion-pulse rect {
  fill: none;
  stroke: #acffe0;
  stroke-width: 2px;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 16 84;
  animation: lo-perimeter-travel var(--practice-celebrate) linear both;
}
.lo-challenge .lo-score-row {
  min-height: 44px;
  font-size: 12px;
  grid-template-columns: minmax(0, 1fr) 62px 42px;
}
.lo-challenge .lo-score-row b {
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 12px;
}
.lo-challenge .lo-score-row > span:nth-child(2), .lo-challenge .lo-score-row > strong {
  font-variant-numeric: tabular-nums;
}
.lo-challenge .lo-score-row.is-current {
  transition: background-color var(--practice-panel);
}
.lo-challenge .lo-local-note {
  line-height: 1.6;
}
.lo-challenge .lo-progress-native {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.lo-challenge .lo-progress-track {
  height: 9px;
  margin: 20px 0;
  border: 1px solid #3d5278;
  border-radius: 5px;
  background: #10203b;
  overflow: hidden;
}
.lo-challenge .lo-progress-fill {
  display: block;
  height: 100%;
  width: 100%;
  background: #5ad9ed;
  transform-origin: left center;
}
.lo-challenge .lo-progress-track[data-animate='true'] .lo-progress-fill {
  transition: transform var(--practice-celebrate) var(--practice-ease);
}
.lo-challenge .lo-stat-grid strong, .lo-challenge .lo-progress-total strong {
  font-variant-numeric: tabular-nums;
}
.lo-challenge .lo-dialog {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--practice-panel) var(--practice-ease), transform var(--practice-panel) var(--practice-ease), overlay var(--practice-panel) allow-discrete, display var(--practice-panel) allow-discrete;
  max-height: calc(100svh - 32px);
  overflow-y: auto;
}
.lo-challenge .lo-dialog[open] {
  opacity: 1;
  transform: translateY(0);
}
.lo-challenge .lo-dialog:not([open]), .lo-challenge .lo-dialog:not([open])::backdrop {
  pointer-events: none;
}
@starting-style {
  .lo-challenge .lo-dialog[open] {
    opacity: 0;
    transform: translateY(8px);
  }
}
.lo-challenge .lo-dialog::backdrop {
  transition: background-color var(--practice-panel);
}
.lo-challenge .lo-victory-stars {
  animation: lo-victory-settle var(--practice-celebrate) var(--practice-ease);
}
.lo-challenge .lo-save-status {
  display: block;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #366d64;
  background: #102f2e;
  color: #c8ffdf;
  font-size: 13px;
  line-height: 1.6;
}
.lo-challenge .lo-save-status.is-error {
  border-color: #ab7345;
  background: #302217;
  color: #ffe0b6;
}
.lo-challenge .lo-victory-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #b5f4d1;
  font-size: 13px;
}
.lo-challenge .lo-victory-progress svg {
  width: 18px;
  height: 18px;
}
.lo-challenge .lo-victory-local {
  font-size: 11px;
  color: #a9b8d3;
}
.lo-challenge .lo-storage-notice {
  display: block;
  margin-top: 18px;
  padding: 14px 18px;
  line-height: 1.6;
  border: 1px solid #ab7345;
  background: #302217;
  color: #ffe0b6;
  border-radius: 10px;
}
@keyframes lo-perimeter-travel {
  from {
    stroke-dashoffset: 14;
  }
  to {
    stroke-dashoffset: -86;
  }
}
@keyframes lo-perimeter-complete {
  0% {
    opacity: 0;
  }
  18%, 70% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes lo-level-complete {
  0%, 100% {
    box-shadow: none;
  }
  45% {
    box-shadow: 0 0 0 2px #92ebc488;
  }
}
@keyframes lo-victory-settle {
  from {
    opacity: 0.5;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1190px) and (min-width: 701px) {
  .lo-challenge .lo-play-layout {
    grid-template-columns: minmax(340px, 1.2fr) minmax(250px, 1fr);
  }
  .lo-challenge .lo-game-panel {
    grid-row: span 2;
  }
  .lo-challenge .lo-progress-panel {
    grid-column: 2;
  }
  .lo-challenge .lo-progress-panel .lo-panel-inner {
    display: block;
  }
  .lo-challenge .lo-game-content {
    grid-template-columns: 1fr;
  }
  .lo-challenge .lo-board {
    max-width: 460px;
  }
  .lo-challenge .lo-game-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .lo-challenge .lo-game-controls > .lo-kicker, .lo-challenge .lo-game-controls > p:not(.lo-optimal) {
    display: none;
  }
  .lo-challenge .lo-move-counter, .lo-challenge .lo-start {
    margin: 0;
  }
  .lo-challenge .lo-tools {
    margin: 0;
  }
  .lo-challenge .lo-stat-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 700px) {
  .lo-challenge .lo-play-layout {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .lo-challenge .lo-game-panel {
    order: 0;
  }
  .lo-challenge .lo-progress-panel {
    order: 1;
  }
  .lo-challenge .lo-scores-panel {
    order: 2;
  }
  .lo-challenge .lo-play-layout .lo-panel-inner {
    padding: 14px 14px 18px;
  }
  .lo-challenge .lo-game-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .lo-challenge .lo-board-wrap {
    width: 100%;
  }
  .lo-challenge .lo-board {
    max-width: none;
    gap: 6px;
    padding: 9px;
  }
  .lo-challenge .lo-levels {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 6px 8px !important;
    scroll-snap-type: x proximity;
  }
  .lo-challenge .lo-level {
    flex: 0 0 94px;
    min-width: 94px;
    min-height: 90px;
  }
  .lo-challenge .lo-level-strip {
    margin-bottom: 16px;
  }
  .lo-challenge .lo-section-heading {
    margin-bottom: 12px;
  }
  .lo-challenge .lo-board-caption {
    min-height: 24px;
  }
  .lo-challenge .lo-level strong {
    font-size: 12px;
  }
  .lo-challenge .lo-level > span:last-child {
    font-size: 10px;
  }
  .lo-challenge .lo-section-heading h2 {
    font-size: 18px;
  }
  .lo-challenge .lo-mobile-time {
    margin: 0 0 12px;
    justify-content: flex-start;
  }
  .lo-challenge .lo-game-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 8px 14px;
    align-items: center;
  }
  .lo-challenge .lo-game-controls > .lo-kicker, .lo-challenge .lo-game-controls > p:not(.lo-optimal) {
    display: none;
  }
  .lo-challenge .lo-move-counter {
    grid-column: 1;
    grid-row: 1 / 3;
    margin: 0;
    min-height: 82px;
  }
  .lo-challenge .lo-game-controls > .lo-optimal {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    font-size: 11px;
  }
  .lo-challenge .lo-start {
    grid-column: 2;
    grid-row: 2;
    min-height: 44px;
    margin: 0;
    font-size: 14px !important;
  }
  .lo-challenge .lo-tools {
    grid-column: 1;
    grid-row: 3;
    gap: 7px;
    margin: 8px 0 0;
  }
  .lo-challenge .lo-tools button {
    min-width: 38px;
    min-height: 42px;
  }
  .lo-challenge .lo-assist-note {
    grid-column: 2;
    grid-row: 3;
    margin: 8px 0 0;
    font-size: 10px;
  }
  .lo-challenge .lo-progress-panel .lo-panel-inner {
    display: grid;
    grid-template-columns: 1fr 85px;
    gap: 14px;
  }
  .lo-challenge .lo-progress-track {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
  }
  .lo-challenge .lo-stat-grid {
    grid-column: 1 / -1;
    grid-row: 3;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lo-challenge .lo-score-row {
    grid-template-columns: minmax(0, 1fr) 60px 35px;
  }
  .lo-challenge .lo-dialog-content {
    padding: 35px 20px 24px;
  }
}
@media (max-width: 380px) {
  .lo-challenge .lo-start {
    font-size: 12px !important;
    gap: 6px;
  }
  .lo-challenge .lo-start svg {
    width: 16px;
    height: 16px;
  }
}
@media (max-width: 359px) {
  .lo-challenge .lo-play-layout .lo-panel-inner {
    padding: 16px 11px;
  }
  .lo-challenge .lo-tools {
    gap: 3px;
  }
  .lo-challenge .lo-tools button {
    min-width: 34px;
  }
  .lo-challenge .lo-board {
    padding: 7px;
    gap: 5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lo-challenge .lo-level-indicator, .lo-challenge .lo-progress-fill, .lo-challenge .lo-dialog, .lo-challenge .lo-dialog::backdrop {
    transition: none !important;
  }
  .lo-challenge .lo-completion-pulse {
    display: none;
  }
  .lo-challenge .lo-level.is-celebrating, .lo-challenge .lo-victory-stars {
    animation: none !important;
  }
}
.lo-share-challenge {
  border: 1px solid #395bf1;
  border-radius: 20px;
  background: linear-gradient(125deg,#071333,#16052e);
  box-shadow: inset 0 0 24px #123b7550,0 0 14px #075cff20;
  color: #edf5ff;
}
.lo-share-challenge {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  margin: 0 0 24px;
}
.lo-share-challenge h3 {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0 0 7px;
}
.lo-share-challenge p {
  margin: 0;
  font-size: .9rem;
  color: #c5d1f3;
  max-width: 700px;
}
.lo-share-challenge>svg {
  color: #54e8ff;
  flex: none;
  width: 32px;
  height: 32px;
}
.lo-share-challenge>div {
  flex: 1;
}
.lo-share-challenge button {
  flex: none;
}
.lo-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 18px 0 8px;
}
.lo-share-actions .lo-outline-cta {
  font-size: .8rem;
  min-height: 44px;
  padding: 10px 14px;
  gap: 7px;
}
.lo-share-actions svg {
  width: 18px;
  height: 18px;
}
.lo-share-status {
  display: block;
  min-height: 22px;
  color: #92edff;
  font-size: .82rem;
  text-align: center;
  overflow-wrap: anywhere;
}
.lo-share-url {
  width: 100%;
  background: #080f2d;
  border: 1px solid #546bd0;
  border-radius: 10px;
  padding: 10px;
  color: #d1e9ff;
  font-size: .78rem;
}
.lo-received-challenge {
  padding: 14px 18px;
  margin: 0 0 18px;
  border: 1px solid #a756ee;
  background: #43157144;
  border-radius: 16px;
  color: #e6d7ff;
  font-size: .92rem;
}
.lo-received-challenge strong {
  color: #fff;
}
.lo-received-challenge small {
  display: block;
  color: #bcbbe0;
  font-size: .75rem;
  margin-top: 5px;
}
.lo-cookie-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(560px,calc(100% - 28px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  border: 2px solid transparent;
  border-radius: 26px;
  background: linear-gradient(135deg,#081735,#110b29) padding-box,linear-gradient(125deg,#74f5ff,#266bff 45%,#ee6eff) border-box;
  box-shadow: 0 0 0 4px #031329,0 0 24px #246eff66,0 28px 90px #0009;
  color: #edf5ff;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.lo-cookie-dialog::backdrop {
  background: #010414a6;
  backdrop-filter: blur(5px);
}
.lo-cookie-dialog[open] {
  animation: lo-cookie-enter .24s ease-out both;
}
.lo-cookie-content {
  position: relative;
  padding: 30px;
}
.lo-cookie-close {
  position: absolute;
  right: 14px;
  top: 14px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #c5dcff;
  background: #162446;
  border: 1px solid #526b9a;
  border-radius: 13px;
  cursor: pointer;
}
.lo-cookie-close:hover {
  color: #fff;
  border-color: #7befff;
}
.lo-cookie-close svg {
  width: 21px;
  height: 21px;
}
.lo-cookie-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #83eaff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: 17px;
  padding-right: 34px;
}
.lo-cookie-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: none;
  border: 1px solid #56d9ff;
  border-radius: 16px;
  background: linear-gradient(135deg,#174391,#371b77);
  box-shadow: inset 0 0 13px #63a4ff55,0 0 18px #296cff55;
}
.lo-cookie-icon svg {
  width: 27px;
  height: 27px;
}
.lo-cookie-dialog h2 {
  font-size: clamp(1.4rem,4vw,1.85rem);
  font-weight: 850;
  line-height: 1.16;
  margin: 0 0 17px;
  letter-spacing: -.025em;
  color: #fff;
}
.lo-cookie-dialog p {
  font-size: .94rem;
  line-height: 1.55;
  color: #d2dff4;
  margin: 0 0 12px;
}
.lo-cookie-dialog .lo-cookie-details {
  color: #acbddb;
  font-size: .84rem;
}
.lo-cookie-policy {
  display: inline-block;
  color: #8ceaff;
  font-size: .83rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lo-cookie-dialog .lo-growth-choice {
  font-size: .78rem;
  color: #bbccdf;
  margin: 12px 0;
}
.lo-growth-consent-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}
.lo-growth-consent-actions button {
  font-size: .86rem;
  min-height: 48px;
  padding: 10px 12px;
  width: 100%;
  white-space: normal;
  border: 1px solid #738eeb;
  background: linear-gradient(180deg,#16366c,#171f47);
  box-shadow: inset 0 1px 0 #a1cfff30;
  color: #fff;
  justify-content: center;
}
.lo-growth-consent-actions button:disabled {
  opacity: .5;
  cursor: default;
}
.lo-growth-age {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 10px;
  font-size: .85rem;
  min-height: 32px;
  cursor: pointer;
}
.lo-growth-age input {
  width: 20px;
  height: 20px;
  accent-color: #44dcff;
  flex: none;
}
.lo-cookie-dialog .lo-cookie-footnote {
  font-size: .73rem;
  color: #a6b7d2;
  line-height: 1.45;
  margin: 16px 0 0;
  text-align: center;
}
.lo-cookie-settings {
  font: inherit;
  color: inherit;
  cursor: pointer;
  padding: 0;
  border: 0;
  background: none;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}
.lo-cookie-settings:hover {
  color: #8ceaff;
}
.lo-cookie-dialog :focus-visible,.lo-cookie-settings:focus-visible {
  outline: 2px solid #92f5ff;
  outline-offset: 4px;
}
.lo-cookie-dialog h2:focus {
  outline: none;
}
@keyframes lo-cookie-enter {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.neon-community-goal {
  margin: 36px 0;
  scroll-margin-top: 100px;
}
.neon-community-goal>section+section {
  margin-top: 28px;
  scroll-margin-top: 100px;
}
.lo-victory-download {
  display: flex;
  justify-content: center;
  margin: 16px 0;
  font-size: .85rem;
  color: #86faff;
  gap: 8px;
  text-decoration: underline;
}
.lo-victory-download svg {
  width: 18px;
  height: 18px;
}
@media (max-width:700px) {
  .lo-share-challenge {
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px;
  }
  .lo-share-challenge>div {
    min-width: 200px;
  }
  .lo-share-challenge>button {
    width: 100%;
  }
  .lo-share-actions {
    flex-direction: column;
  }
  .lo-share-actions button {
    width: 100%;
  }
}
@media (max-width:420px) {
  .lo-cookie-content {
    padding: 23px 19px;
  }
  .lo-cookie-dialog {
    border-radius: 21px;
  }
  .lo-cookie-heading {
    font-size: .66rem;
    gap: 10px;
  }
  .lo-cookie-icon {
    width: 42px;
    height: 42px;
  }
  .lo-growth-consent-actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .lo-cookie-dialog p {
    font-size: .88rem;
  }
  .lo-cookie-dialog .lo-cookie-details {
    font-size: .8rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .lo-cookie-dialog[open] {
    animation: none;
  }
  .lo-cookie-dialog::backdrop {
    backdrop-filter: none;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity,1);
    transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
    filter: blur(var(--tw-enter-blur,0));
  }
}
@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity,1);
    transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
    filter: blur(var(--tw-exit-blur,0));
  }
}
@keyframes caret-blink {
  0%,70%,100% {
    opacity: 1;
  }
  20%,50% {
    opacity: 0;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    :root, :host {
      --shimmer-angle: 20deg;
    }
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-duration: initial;
      --tw-content: "";
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
      --scroll-fade-t: 0px;
      --scroll-fade-b: 0px;
      --scroll-fade-s: 0px;
      --scroll-fade-e: 0px;
      --scroll-fade-mask: initial;
      --shimmer-image: initial;
      --shimmer-text-fill: initial;
    }
  }
}

._2rzuIG_goal{isolation:isolate;color:#fff;background:linear-gradient(125deg,#05c7ff,#004dce 32%,#5f22ed 73%,#f064ff);border:1px solid #9dedff;border-radius:28px;padding:6px;font:15px/1.55 Segoe UI,Arial,sans-serif;position:relative;box-shadow:0 0 0 2px #1826a9,0 0 0 4px #155bcc8a,-4px 5px 20px #007bff55,5px -3px 20px #a12fff55}._2rzuIG_goal:before{content:"";pointer-events:none;opacity:.75;border:1px solid #d4f2ff;border-radius:24px;position:absolute;inset:3px}._2rzuIG_srOnly{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}._2rzuIG_inner{background:radial-gradient(at 100% 10%,#39157666,#0000 48%),radial-gradient(at 0 100%,#08327c55,#0000 58%),#02091f;border:1px solid #051855;border-radius:21px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:38px;padding:34px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 22px #12439b55}._2rzuIG_main{min-width:0;padding:5px 0}._2rzuIG_eyebrow{color:#91eaff;letter-spacing:.1em;align-items:center;gap:9px;margin:0 0 15px;font-size:11px;font-weight:850;display:flex}._2rzuIG_eyebrow svg{color:#45d9ff;width:20px;height:20px}._2rzuIG_title{letter-spacing:-.035em;text-shadow:0 2px #051748,0 0 24px #428bff33;margin:0;font-size:clamp(28px,3vw,44px);font-weight:900;line-height:1.12}._2rzuIG_title span{color:#ffda47;text-shadow:0 2px #703815,0 0 24px #efb92e33}._2rzuIG_intro{color:#c5d6f6;max-width:540px;margin:17px 0 0;font-size:14px}._2rzuIG_progressArea{margin:26px 0 22px}._2rzuIG_counterRow{justify-content:space-between;align-items:end;gap:14px;min-height:50px;margin-bottom:12px;display:flex}._2rzuIG_counter{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}._2rzuIG_counter strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#b7f7ff;text-shadow:0 0 14px #21b8ff66;font-size:44px;line-height:1}._2rzuIG_counter span{color:#b7cbee;font-size:12px}._2rzuIG_pending{color:#dce9ff;align-items:center;gap:8px;max-width:320px;margin:0;font-size:14px;font-weight:700;display:flex}._2rzuIG_pending svg{color:#78bfff;flex-shrink:0;width:19px;height:19px}._2rzuIG_target{color:#acbfe5;flex-shrink:0;padding-bottom:2px;font-size:12px;font-weight:800}._2rzuIG_track{background:#010517;border:1px solid #819cff;border-radius:10px;height:22px;padding:3px;position:relative;box-shadow:inset 0 0 8px #2441a388,0 0 0 3px #041645}._2rzuIG_fill{background:linear-gradient(#deffff,#33e4ff 30%,#0865ef 80%);border-radius:6px;max-width:100%;height:100%;transition:width .6s ease-out;display:block;position:relative;box-shadow:0 0 10px #07a5ff,inset 0 0 0 1px #7ce8ff}._2rzuIG_segments{pointer-events:none;background:repeating-linear-gradient(90deg,#0000,#0000 calc(10% - 1px),#071b5a 10%);border-radius:5px;position:absolute;inset:4px}._2rzuIG_finish{background:linear-gradient(140deg,#3311a0,#06103a 80%);border:1px solid #c1d3ff;border-radius:12px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:-9px;right:-4px;box-shadow:0 0 0 2px #512acc,0 0 10px #5e30cd}._2rzuIG_finish svg{color:#ffe765;fill:#be790a;width:22px;height:22px}._2rzuIG_milestone{color:#c5dafa;align-items:center;gap:7px;min-height:20px;margin:15px 0 0;font-size:12px;display:flex}._2rzuIG_milestone svg{color:#67dfff;flex-shrink:0;width:15px;height:15px}._2rzuIG_download,._2rzuIG_rewardButton{color:#fff;cursor:pointer;background:linear-gradient(#69d82d,#187805 38%,#075507 78%,#248e08);border:1px solid #caffab;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:47px;padding:12px 20px;font:800 14px/1.3 Segoe UI,Arial,sans-serif;text-decoration:none;transition:filter .2s,transform .2s;display:inline-flex;box-shadow:inset 0 1px 4px #daffc5,0 0 0 2px #297708,0 0 15px #4be21744}._2rzuIG_download svg,._2rzuIG_rewardButton svg{flex-shrink:0;width:19px;height:19px}._2rzuIG_download:hover,._2rzuIG_rewardButton:not(:disabled):hover{filter:brightness(1.17);transform:translateY(-1px)}._2rzuIG_download:focus-visible,._2rzuIG_rewardButton:focus-visible{outline-offset:5px;outline:3px solid #fff}._2rzuIG_evidence{color:#93aacc;margin-top:20px;font-size:10px;line-height:1.5}._2rzuIG_evidence p{margin:5px 0 0}._2rzuIG_evidence p:first-child span{color:#bed0f4;font-weight:750}._2rzuIG_evidence time{color:#c4d8f8}._2rzuIG_reward{text-align:center;background:radial-gradient(at 50% 30%,#123d9455,#0000 60%),linear-gradient(150deg,#090b35c9,#070624dd);border:1px solid #4e35a3;border-radius:19px;flex-direction:column;align-items:center;min-width:0;padding:20px 22px 24px;display:flex;position:relative;box-shadow:inset 0 0 0 3px #101143,inset 0 0 23px #46219544}._2rzuIG_free{letter-spacing:.08em;color:#bdefff;background:#0c1746;border:1px solid #274983;border-radius:7px;padding:5px 12px;font-size:10px;font-weight:850}._2rzuIG_art{place-items:center;width:208px;height:192px;margin:14px 0 13px;display:grid;position:relative}._2rzuIG_art img{z-index:1;object-fit:contain;filter:drop-shadow(0 0 15px #f3bf153a);width:158px;height:158px;animation:5s ease-in-out infinite _2rzuIG_bulbFloat;position:relative}._2rzuIG_orbit,._2rzuIG_orbitSecond{background:radial-gradient(circle,#44349922,#10255744);border:1px solid #8136ed;border-radius:50%;width:162px;height:162px;position:absolute;box-shadow:0 0 0 4px #30116066,inset 0 0 13px #6419ec66,0 0 22px #2a3cf355}._2rzuIG_orbitSecond{width:184px;height:184px;box-shadow:none;background:0 0;border-style:dashed;border-color:#284c85;transform:rotate(-18deg)}._2rzuIG_sparkOne,._2rzuIG_sparkTwo{color:#6beaff;text-shadow:0 0 11px #00b7ff;font-size:24px;position:absolute}._2rzuIG_sparkOne{top:25px;right:7px;transform:rotate(12deg)}._2rzuIG_sparkTwo{color:#df8cff;font-size:15px;bottom:25px;left:8px}._2rzuIG_lockMedallion{z-index:2;background:linear-gradient(150deg,#5513b7,#150937 70%);border:1px solid #d99eff;border-radius:15px;place-items:center;width:51px;height:51px;display:grid;position:absolute;bottom:0;right:21px;box-shadow:inset 0 2px 6px #a552f5,0 0 0 3px #381274,0 0 15px #982deb55}._2rzuIG_lockMedallion svg{color:#e6d3ff;width:27px;height:27px}._2rzuIG_rewardStatus{color:#b2a4e6;font-size:11px;font-weight:750}._2rzuIG_reward h3{letter-spacing:-.02em;margin:7px 0 9px;font-size:23px;font-weight:850;line-height:1.2}._2rzuIG_reward>p{color:#aebde3;max-width:265px;margin:0 0 23px;font-size:12px}._2rzuIG_rewardButton{width:100%;margin-top:auto}._2rzuIG_rewardButton:disabled{color:#b4b6d9;cursor:default;background:linear-gradient(#20234d,#0e1338);border-color:#51447c;box-shadow:inset 0 1px 4px #59619144}._2rzuIG_rewardUnlocked{border-color:#59cf8e;box-shadow:inset 0 0 0 3px #193c39,inset 0 0 23px #20854f33}._2rzuIG_rewardUnlocked ._2rzuIG_rewardStatus{color:#98f3c1}._2rzuIG_rewardUnlocked ._2rzuIG_lockMedallion{background:linear-gradient(150deg,#27a94e,#07341f 70%);border-color:#a5ffcc;box-shadow:inset 0 2px 6px #73dd8c,0 0 0 3px #175031,0 0 15px #4cea6855}._2rzuIG_rewardUnlocked ._2rzuIG_lockMedallion svg{color:#d5ffe6}@keyframes _2rzuIG_bulbFloat{0%,to{transform:translateY(2px)rotate(-2deg)}50%{transform:translateY(-5px)rotate(1deg)}}@media (width<=780px){._2rzuIG_inner{grid-template-columns:minmax(0,1fr);gap:24px;padding:27px 24px}._2rzuIG_reward{padding:20px}._2rzuIG_art{margin:8px 0}._2rzuIG_reward>p{max-width:350px}._2rzuIG_rewardButton{max-width:340px}._2rzuIG_title{font-size:clamp(28px,6vw,38px)}}@media (width<=430px){._2rzuIG_goal{border-radius:22px;padding:5px}._2rzuIG_goal:before{border-radius:18px}._2rzuIG_inner{border-radius:16px;gap:24px;padding:22px 17px}._2rzuIG_eyebrow{gap:7px;font-size:9px}._2rzuIG_intro{font-size:13px}._2rzuIG_counterRow{align-items:center;gap:8px}._2rzuIG_counter{gap:5px 8px}._2rzuIG_counter strong{font-size:38px}._2rzuIG_counter span,._2rzuIG_target{font-size:10px}._2rzuIG_pending{font-size:12px}._2rzuIG_download{width:100%;padding:12px 9px;font-size:12px}._2rzuIG_evidence{font-size:10px}._2rzuIG_reward{padding:18px 15px}._2rzuIG_reward h3{font-size:22px}}@media (prefers-reduced-motion:reduce){._2rzuIG_art img{animation:none}._2rzuIG_fill,._2rzuIG_download,._2rzuIG_rewardButton{transition:none}}
._3GXKPW_shell{color:#f3f6ff;background:radial-gradient(at 100% 0,#42118555,#0000 60%),#03091f;border:1px solid #82cfff;border-radius:24px;padding:28px;scroll-margin-top:25px;font:15px/1.5 Segoe UI,Arial,sans-serif;position:relative;box-shadow:0 0 0 3px #232bb0,0 0 0 5px #2447d66a,0 0 20px #078be844,inset 0 0 18px #15409044}._3GXKPW_shell:focus{outline:none}._3GXKPW_header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}._3GXKPW_header p{color:#9deaff;letter-spacing:.08em;align-items:center;gap:8px;margin:0 0 7px;font-size:10px;font-weight:800;display:flex}._3GXKPW_header p svg{width:17px;height:17px}._3GXKPW_header h2{margin:0;font-size:clamp(23px,3vw,32px);font-weight:900;line-height:1.18}._3GXKPW_close{color:#cde8ff;cursor:pointer;background:#10204b;border:1px solid #6086cf;border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}._3GXKPW_close svg{width:21px}._3GXKPW_stages{gap:10px;margin:0 0 25px;padding:0;list-style:none;display:flex}._3GXKPW_stages li{color:#8296c2;background:#080f2b;border:1px solid #273765;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:12px;font-weight:700;display:flex}._3GXKPW_stages li>span{color:#b2c5ff;background:#192253;border-radius:7px;place-items:center;width:23px;height:23px;font-size:11px;display:grid}._3GXKPW_stages svg{color:#85ffb9;width:16px;height:16px}._3GXKPW_stages li._3GXKPW_current{color:#e5faff;background:linear-gradient(140deg,#154681,#180d51);border-color:#557ed4;box-shadow:inset 0 0 11px #0579b233}._3GXKPW_current>span{color:#fff!important;background:#17549f!important}._3GXKPW_playArea{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);align-items:start;gap:30px;display:grid}._3GXKPW_boardFrame{background:linear-gradient(140deg,#062350,#090a35 65%);border:1px solid #8bf8ff;border-radius:25px;padding:15px;position:relative;overflow:hidden;box-shadow:0 0 0 3px #1745ac,inset 0 0 0 5px #0d1a49,4px -2px 13px #9429fc66}._3GXKPW_board{aspect-ratio:1;border:0;gap:3px;min-inline-size:0;margin:0;padding:0;display:grid}._3GXKPW_cell{aspect-ratio:1;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:18%;width:100%;padding:0;transition:transform .12s;display:block}._3GXKPW_cell img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}._3GXKPW_cell:active:not(:disabled){transform:scale(.94)}._3GXKPW_cell:disabled{cursor:default;opacity:1}._3GXKPW_cell:focus-visible,._3GXKPW_action:focus-visible,._3GXKPW_secondary:focus-visible,._3GXKPW_close:focus-visible{outline-offset:2px;outline:3px solid #fff}._3GXKPW_boardOverlay{text-align:center;backdrop-filter:blur(3px);background:#02071cdb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}._3GXKPW_boardOverlay>span{color:#ffe160;align-items:center;gap:8px;font-size:22px;font-weight:850;display:flex}._3GXKPW_boardOverlay p{color:#bed4f8;margin:0 0 10px;font-size:13px}._3GXKPW_tag{color:#8bddff;letter-spacing:.07em;font-size:9px;font-weight:800}._3GXKPW_details h3{margin:10px 0 15px;font-size:25px;font-weight:850;line-height:1.15}._3GXKPW_details>p{color:#b3c7ec;font-size:13px}._3GXKPW_stats{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}._3GXKPW_stats div{text-align:center;background:linear-gradient(130deg,#111b48,#090b29);border:1px solid #304788;border-radius:13px;padding:15px 10px}._3GXKPW_stats dt{color:#adc2ef;font-size:10px;font-weight:750}._3GXKPW_stats dd{color:#d6f7ff;font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:32px;font-weight:850;line-height:1}._3GXKPW_action,._3GXKPW_secondary{color:#fff;cursor:pointer;background:linear-gradient(#60ca28,#176604 38%,#084b05 80%);border:1px solid #daffbb;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 18px;font:800 13px/1.3 Segoe UI,Arial,sans-serif;display:inline-flex;box-shadow:inset 0 1px 5px #bf8,0 0 12px #48ba1944}._3GXKPW_action svg,._3GXKPW_secondary svg{width:17px;height:17px}._3GXKPW_secondary{color:#cce3ff;background:linear-gradient(#152b63,#0c173b);border-color:#536baf;width:100%;box-shadow:inset 0 1px 4px #4664c155}._3GXKPW_action:hover,._3GXKPW_secondary:hover{filter:brightness(1.15)}._3GXKPW_result ._3GXKPW_action{width:100%}._3GXKPW_result p{color:#bcf9dc;text-align:center;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}._3GXKPW_result p svg{flex-shrink:0;width:19px;height:19px}._3GXKPW_stars{color:#555a93;justify-content:center;gap:12px;margin:20px 0 15px;display:flex}._3GXKPW_stars svg{width:34px;height:34px}._3GXKPW_stars ._3GXKPW_litStar{color:#fff083;fill:#f3b800;filter:drop-shadow(0 0 7px #ecac2355)}._3GXKPW_details ._3GXKPW_scoring{color:#8da6d0;margin-top:20px;font-size:10px;line-height:1.6}._3GXKPW_locked{text-align:center;max-width:560px;margin:auto;padding:28px 20px}._3GXKPW_locked>svg{color:#d4aaff;width:48px;height:48px;margin:0 auto 20px}._3GXKPW_locked h3{font-size:20px;font-weight:800}._3GXKPW_locked p{color:#aec6ef;font-size:13px}._3GXKPW_srOnly{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width<=680px){._3GXKPW_shell{padding:23px 18px}._3GXKPW_header{gap:13px}._3GXKPW_header p{font-size:8px}._3GXKPW_header h2{font-size:23px}._3GXKPW_playArea{grid-template-columns:minmax(0,1fr);gap:25px}._3GXKPW_boardFrame{border-radius:20px;width:100%;max-width:430px;margin:auto;padding:11px}._3GXKPW_details{width:100%;max-width:430px;margin:auto}._3GXKPW_stages{gap:6px}._3GXKPW_stages li{gap:5px;padding:8px 5px;font-size:10px}._3GXKPW_stages li>span{width:20px;height:20px}._3GXKPW_boardOverlay{gap:10px;padding:15px}._3GXKPW_boardOverlay>span{font-size:20px}._3GXKPW_boardOverlay p{font-size:11px}._3GXKPW_boardOverlay ._3GXKPW_action{padding:10px 12px;font-size:12px}}@media (prefers-reduced-motion:reduce){._3GXKPW_cell{transition:none}}