#mgt-word-widget,
  #mgt-word-widget * {
    box-sizing: border-box;
  }

  #mgt-word-widget {
    --mgt-ink: #17252a;
    --mgt-muted: #5f7078;
    --mgt-panel: #ffffff;
    --mgt-line: #d6e1e3;
    --mgt-teal: #00746f;
    --mgt-teal-dark: #005752;
    --mgt-gold: #f3a72d;
    --mgt-green: #2f8f5b;
    --mgt-gray: #8b969a;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    padding: 0 8px;
    color: var(--mgt-ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  #mgt-word-widget .mgt-word-card {
    width: 100%;
    border: 1px solid var(--mgt-line);
    border-radius: 8px;
    background: var(--mgt-panel);
    box-shadow: 0 10px 26px rgba(15, 41, 45, 0.10);
    padding: 11px;
  }

  #mgt-word-widget .mgt-word-head {
    text-align: center;
    margin-bottom: 8px;
  }

  #mgt-word-widget .mgt-eyebrow {
    margin: 0 0 3px;
    color: var(--mgt-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  #mgt-word-widget h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.15;
    font-weight: 850;
    color: var(--mgt-ink);
  }

  #mgt-word-widget .mgt-word-head p:last-child {
    margin: 5px 0 0;
    color: var(--mgt-muted);
    font-size: 12px;
  }

  #mgt-word-widget .mgt-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    justify-content: center;
    margin: 7px auto 0;
    color: var(--mgt-muted);
    font-size: 11px;
    line-height: 1.25;
    text-align: left;
  }

  #mgt-word-widget .mgt-legend span {
    display: flex;
    align-items: center;
    gap: 5px;
  }

  #mgt-word-widget .mgt-legend-box {
    width: 12px;
    height: 12px;
    border-radius: 4px;
    flex: 0 0 auto;
  }

  #mgt-word-widget .mgt-legend-correct {
    background: var(--mgt-green);
  }

  #mgt-word-widget .mgt-legend-present {
    background: var(--mgt-gold);
  }

  #mgt-word-widget .mgt-legend-absent {
    background: var(--mgt-gray);
  }

  #mgt-word-widget .mgt-word-status {
    min-height: 18px;
    margin: 0 0 7px;
    text-align: center;
    color: var(--mgt-teal-dark);
    font-size: 13px;
    font-weight: 750;
  }

  #mgt-word-widget .mgt-word-status.mgt-played {
    min-height: auto;
    margin-bottom: 9px;
    padding: 9px 10px;
    border: 1px solid #badfcb;
    border-radius: 7px;
    background: #f0faf6;
    color: var(--mgt-teal-dark);
  }

  #mgt-word-widget.mgt-finished .mgt-word-grid,
  #mgt-word-widget.mgt-finished .mgt-check,
  #mgt-word-widget.mgt-finished .mgt-keyboard,
  #mgt-word-widget.mgt-finished .mgt-give-up {
    display: none;
  }

  #mgt-word-widget .mgt-word-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
    max-width: 220px;
    margin: 0 auto 10px;
  }

  #mgt-word-widget .mgt-tile {
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    border: 2px solid var(--mgt-line);
    border-radius: 5px;
    background: #f9fbfb;
    color: var(--mgt-ink);
    font-size: clamp(18px, 5vw, 24px);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
  }

  #mgt-word-widget .mgt-tile.mgt-correct {
    border-color: var(--mgt-green);
    background: var(--mgt-green);
    color: #ffffff;
  }

  #mgt-word-widget .mgt-tile.mgt-present {
    border-color: var(--mgt-gold);
    background: var(--mgt-gold);
    color: #241809;
  }

  #mgt-word-widget .mgt-tile.mgt-absent {
    border-color: var(--mgt-gray);
    background: var(--mgt-gray);
    color: #ffffff;
  }

  #mgt-word-widget button {
    appearance: none;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
    font: inherit;
    font-weight: 850;
  }

  #mgt-word-widget button:disabled {
    cursor: default;
    opacity: 0.55;
  }

  #mgt-word-widget .mgt-check {
    display: block;
    width: min(100%, 280px);
    min-height: 32px;
    margin: 0 auto 10px;
    background: var(--mgt-teal);
    color: #ffffff;
  }

  #mgt-word-widget .mgt-check:hover:not(:disabled) {
    background: var(--mgt-teal-dark);
  }

  #mgt-word-widget .mgt-keyboard {
    display: grid;
    gap: 5px;
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
  }

  #mgt-word-widget .mgt-key-row {
    display: flex;
    justify-content: center;
    gap: 4px;
  }

  #mgt-word-widget .mgt-key {
    min-width: 0;
    width: 9%;
    height: 29px;
    padding: 0;
    background: #edf3f4;
    color: var(--mgt-ink);
    font-size: 12px;
  }

  #mgt-word-widget .mgt-key.mgt-wide-key {
    width: 17%;
    font-size: 10px;
  }

  #mgt-word-widget .mgt-key.mgt-correct {
    background: var(--mgt-green);
    color: #ffffff;
  }

  #mgt-word-widget .mgt-key.mgt-present {
    background: var(--mgt-gold);
    color: #241809;
  }

  #mgt-word-widget .mgt-key.mgt-absent {
    background: var(--mgt-gray);
    color: #ffffff;
  }

  #mgt-word-widget .mgt-give-up {
    display: block;
    width: min(100%, 280px);
    min-height: 30px;
    margin: 10px auto 0;
    background: transparent;
    color: var(--mgt-teal-dark);
    border: 1px solid var(--mgt-line);
  }

  #mgt-word-widget .mgt-result {
    margin-top: 10px;
    padding: 10px;
    border-radius: 8px;
    background: #f0faf6;
    border: 1px solid #badfcb;
    text-align: center;
  }

  #mgt-word-widget .mgt-result strong {
    display: block;
    margin-bottom: 3px;
    font-size: 18px;
  }

  #mgt-word-widget .mgt-result-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
  }

  #mgt-word-widget .mgt-share,
  #mgt-word-widget .mgt-copy-result {
    min-height: 32px;
    padding: 0 16px;
    background: var(--mgt-teal);
    color: #ffffff;
  }

  #mgt-word-widget .mgt-copy-result {
    background: #edf3f4;
    color: var(--mgt-teal-dark);
    border: 1px solid var(--mgt-line);
  }

  #mgt-word-widget .mgt-share:hover,
  #mgt-word-widget .mgt-copy-result:hover {
    background: var(--mgt-teal-dark);
    color: #ffffff;
  }

  #mgt-word-widget .mgt-share-note {
    min-height: 15px;
    margin: 6px 0 0;
    color: var(--mgt-muted);
    font-size: 12px;
  }

  #mgt-word-widget .mgt-burst {
    display: block;
    margin-bottom: 3px;
    color: var(--mgt-gold);
    font-size: 21px;
    letter-spacing: 0;
  }

  @media (max-width: 420px) {
    #mgt-word-widget .mgt-word-card {
      padding: 11px;
    }

    #mgt-word-widget .mgt-word-grid {
      max-width: 218px;
    }

    #mgt-word-widget .mgt-key {
      height: 29px;
      font-size: 11px;
    }
  }
