    :root {
      color-scheme: dark;
      --purple: #a78bfa;
      --purple-bright: #c4b5fd;
      --panel: rgba(15, 12, 27, .88);
      --line: rgba(167, 139, 250, .42);
      --text: #f4efff;
      --muted: #b8adc9;
    }

    * { box-sizing: border-box; }

    body {
      min-height: 100vh;
      margin: 0;
      display: grid;
      place-items: center;
      padding: 36px 18px;
      color: var(--text);
      font-family: Georgia, "Times New Roman", serif;
      background:
        linear-gradient(rgba(8, 7, 15, .52), rgba(8, 7, 15, .88)),
        url("menu_fundo.png") center / cover fixed,
        #100d1c;
    }

    .screen {
      width: min(100%, 820px);
      text-align: center;
    }

    .logo {
      display: block;
      width: min(520px, 80vw);
      max-height: 230px;
      object-fit: contain;
      margin: 0 auto 18px;
      filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .75));
    }

    h1 {
      margin: 0 0 8px;
      font-size: clamp(1.35rem, 4vw, 2rem);
      letter-spacing: .16em;
      text-transform: uppercase;
      text-shadow: 0 2px 12px #000;
    }

    .subtitle {
      margin: 0 0 30px;
      color: var(--muted);
      font-family: Arial, sans-serif;
      font-size: .82rem;
      letter-spacing: .2em;
      text-transform: uppercase;
    }

    /* Server list */

    .servers {
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
      width: 100%;
    }

    .server {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 20px 25px;
      border: 1px solid var(--line);
      border-radius: 12px;
      text-align: left;
      background: var(--panel);
      box-shadow:
        0 14px 36px rgba(0, 0, 0, .38),
        inset 0 0 24px rgba(120, 80, 190, .08);
      backdrop-filter: blur(8px);
      transition: border-color .2s, transform .2s, box-shadow .2s;
    }

    .server.available:hover {
      transform: translateY(-3px);
      border-color: var(--purple-bright);
      box-shadow:
        0 18px 42px rgba(0, 0, 0, .48),
        0 0 22px rgba(167, 139, 250, .13);
    }

    .server-top,
    .server-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }

    .server-top h2 {
      margin: 0;
      color: var(--purple-bright);
      font-size: clamp(1.2rem, 3vw, 1.55rem);
      letter-spacing: .08em;
    }

    .world {
      display: block;
      margin-bottom: 5px;
      color: var(--muted);
      font: .72rem Arial, sans-serif;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .status {
      flex-shrink: 0;
      padding: 6px 11px;
      border: 1px solid rgba(74, 222, 128, .35);
      border-radius: 20px;
      color: #86efac;
      background: rgba(34, 197, 94, .09);
      font: bold .68rem Arial, sans-serif;
      letter-spacing: .08em;
    }

    .address {
      margin: 0;
      color: var(--muted);
      font: .78rem Arial, sans-serif;
      overflow-wrap: anywhere;
    }

    .enter {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 150px;
      padding: 12px 20px;
      border: 1px solid #c4b5fd;
      border-radius: 7px;
      color: #171022;
      background: linear-gradient(180deg, #d7c8ff, #9f82e8);
      font: bold .78rem Arial, sans-serif;
      letter-spacing: .1em;
      text-decoration: none;
      text-transform: uppercase;
      white-space: nowrap;
      box-shadow: 0 4px 16px rgba(139, 92, 246, .25);
      transition: filter .2s, transform .2s, box-shadow .2s;
    }

    .enter:hover {
      filter: brightness(1.12);
      transform: translateY(-2px);
      box-shadow: 0 7px 22px rgba(139, 92, 246, .4);
    }

    /* Unavailable servers */

    .server.unavailable {
      border-color: rgba(160, 150, 175, .2);
      background: rgba(15, 12, 27, .72);
      opacity: .65;
    }

    .server.unavailable .server-top h2 {
      color: #aaa2b8;
    }

    .status.offline {
      border-color: rgba(160, 150, 175, .25);
      color: #aaa2b8;
      background: rgba(160, 150, 175, .08);
    }

    .unavailable-label {
      min-width: 150px;
      padding: 12px 20px;
      border: 1px solid rgba(160, 150, 175, .2);
      border-radius: 7px;
      color: #aaa2b8;
      font: bold .75rem Arial, sans-serif;
      letter-spacing: .08em;
      text-align: center;
    }

    /* Community section */

    .community {
      margin-top: 32px;
      padding: 27px 24px;
      border: 1px solid rgba(167, 139, 250, .3);
      border-radius: 14px;
      background: rgba(15, 12, 27, .82);
      box-shadow:
        0 12px 35px rgba(0, 0, 0, .35),
        inset 0 0 30px rgba(120, 80, 190, .06);
      backdrop-filter: blur(12px);
    }

    .community h2 {
      margin: 0 0 10px;
      color: var(--purple-bright);
      font-size: 1.35rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .community p {
      max-width: 570px;
      margin: 0 auto 20px;
      color: var(--muted);
      font: .92rem/1.7 Arial, sans-serif;
    }

    .itch-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 11px;
      padding: 15px 27px;
      border: 1px solid rgba(255, 255, 255, .35);
      border-radius: 9px;
      color: #fff;
      background: linear-gradient(135deg, #fa5c5c, #e34b4b 55%, #bd3434);
      box-shadow:
        0 8px 25px rgba(250, 92, 92, .22),
        inset 0 1px 0 rgba(255, 255, 255, .25);
      font: bold .88rem Arial, sans-serif;
      letter-spacing: .07em;
      text-decoration: none;
      text-transform: uppercase;
      transition: transform .2s, filter .2s, box-shadow .2s;
    }

    .itch-button:hover {
      transform: translateY(-3px);
      filter: brightness(1.12);
      box-shadow: 0 12px 30px rgba(250, 92, 92, .35);
    }

    .itch-icon {
      font-size: 1.25rem;
      font-weight: 900;
    }

    /* Social links */

    .social-section {
      margin-top: 28px;
    }

    .social-title {
      margin: 0 0 16px;
      color: var(--muted);
      font: .75rem Arial, sans-serif;
      letter-spacing: .2em;
      text-transform: uppercase;
    }

    .social-links {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 12px;
    }

    .social-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-width: 145px;
      padding: 12px 19px;
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 9px;
      color: #eee8ff;
      background: rgba(255, 255, 255, .07);
      box-shadow:
        0 6px 20px rgba(0, 0, 0, .2),
        inset 0 1px 0 rgba(255, 255, 255, .12);
      backdrop-filter: blur(12px);
      font: 600 .85rem Arial, sans-serif;
      text-decoration: none;
      transition: transform .2s, background .2s, border-color .2s;
    }

    .social-button svg {
      width: 19px;
      height: 19px;
      flex-shrink: 0;
      fill: currentColor;
    }

    .social-button:hover {
      transform: translateY(-3px);
      background: rgba(255, 255, 255, .14);
      border-color: rgba(196, 181, 253, .65);
    }

    .facebook:hover { color: #78aaff; }
    .instagram:hover { color: #ff9bc2; }
    .youtube:hover { color: #ff7777; }

    .social-button:focus-visible,
    .itch-button:focus-visible,
    .enter:focus-visible,
    .email:focus-visible {
      outline: 2px solid #c4b5fd;
      outline-offset: 4px;
    }

    /* Footer */

    footer {
      margin-top: 32px;
      padding-top: 20px;
      border-top: 1px solid rgba(167, 139, 250, .18);
      color: rgba(220, 210, 239, .65);
      font: .75rem Arial, sans-serif;
      letter-spacing: .08em;
    }

    .contact {
      margin-top: 12px;
      color: var(--muted);
      font: .82rem Arial, sans-serif;
      letter-spacing: normal;
    }

    .email {
      display: inline-block;
      margin-top: 7px;
      color: var(--purple-bright);
      text-decoration: none;
      transition: color .2s;
    }

    .email:hover {
      color: #fff;
      text-decoration: underline;
    }

    @media (max-width: 560px) {
      body { background-attachment: scroll; }

      .server {
        padding: 17px;
      }

      .server-top,
      .server-bottom {
        align-items: flex-start;
      }

      .server-bottom {
        flex-direction: column;
      }

      .enter,
      .unavailable-label {
        width: 100%;
      }

      .community { padding: 24px 16px; }

      .social-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .social-button {
        min-width: 0;
        padding: 12px 10px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }
    }
