home.social

#fedisnake — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #fedisnake, aggregated by home.social.

  1. Neofox Snake (Classic)
    @fediplayssnake • Joined: Nov 28, 2025

    original neofox snake bot, no fancy gameplay gimmicks or anything. posts every 30 minutes.

    vote on a direction to turn. left=counterclockwise, right=clockwise. hunt for snacks

    the snake wraps around on both horizontal and vertical edges

    the length increases after eating, not at the same time as eating

    coordinate moves publicly using #fedisnake

    other fediverse-driven...

    #bot #BotsOfMastodon

  2. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    Turns out, Sharkey has literally six different components to render a note and they're all very subtly slightly different. That is why this stylesheet is so long.

    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="SkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="MkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-of-type,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
    )>bdi:first-of-type {
      /* actual functionality */
      display: block;
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >* {
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
    
    /*
      Optional cosmetic feature:
      The remainder of this stylesheet is about adding an outline to fedisnake posts.
      The idea is to highlight that those posts are scrollable, when posts otherwise are not scrollable.
    */
    
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      transition: outline-offset 200ms;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }
    
    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div[class*="SkNote-contentCollapsed"]>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div[class*="MkNote-contentCollapsed"]>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    )>bdi:first-of-type {
      outline: none !important;
    }
    
    :is(
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    ) {
      overflow: visible !important;
    
      &[class*="MkNote-text"]>div:first-child>bdi:first-of-type,
      &[class*="NoteSub-content"]>div>div[class*="MkSubNoteContent-root"]>div:first-child>div:first-child>bdi:first-of-type {
        margin-top: var(--MI-margin);
      }
    }

  3. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    Turns out, Sharkey has literally six different components to render a note and they're all very subtly slightly different. That is why this stylesheet is so long.

    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="SkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="MkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-of-type,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
    )>bdi:first-of-type {
      /* actual functionality */
      display: block;
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >* {
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
    
    /*
      Optional cosmetic feature:
      The remainder of this stylesheet is about adding an outline to fedisnake posts.
      The idea is to highlight that those posts are scrollable, when posts otherwise are not scrollable.
    */
    
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      transition: outline-offset 200ms;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }
    
    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div[class*="SkNote-contentCollapsed"]>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div[class*="MkNote-contentCollapsed"]>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    )>bdi:first-of-type {
      outline: none !important;
    }
    
    :is(
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    ) {
      overflow: visible !important;
    
      &[class*="MkNote-text"]>div:first-child>bdi:first-of-type,
      &[class*="NoteSub-content"]>div>div[class*="MkSubNoteContent-root"]>div:first-child>div:first-child>bdi:first-of-type {
        margin-top: var(--MI-margin);
      }
    }

  4. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    Turns out, Sharkey has literally six different components to render a note and they're all very subtly slightly different. That is why this stylesheet is so long.

    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="SkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="MkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-of-type,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
    )>bdi:first-of-type {
      /* actual functionality */
      display: block;
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >* {
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
    
    /*
      Optional cosmetic feature:
      The remainder of this stylesheet is about adding an outline to fedisnake posts.
      The idea is to highlight that those posts are scrollable, when posts otherwise are not scrollable.
    */
    
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      transition: outline-offset 200ms;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }
    
    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div[class*="SkNote-contentCollapsed"]>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div[class*="MkNote-contentCollapsed"]>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    )>bdi:first-of-type {
      outline: none !important;
    }
    
    :is(
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    ) {
      overflow: visible !important;
    
      &[class*="MkNote-text"]>div:first-child>bdi:first-of-type,
      &[class*="NoteSub-content"]>div>div[class*="MkSubNoteContent-root"]>div:first-child>div:first-child>bdi:first-of-type {
        margin-top: var(--MI-margin);
      }
    }

  5. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    Turns out, Sharkey has literally six different components to render a note and they're all very subtly slightly different. That is why this stylesheet is so long.

    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="SkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="MkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-of-type,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
    )>bdi:first-of-type {
      /* actual functionality */
      display: block;
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >* {
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
    
    /*
      Optional cosmetic feature:
      The remainder of this stylesheet is about adding an outline to fedisnake posts.
      The idea is to highlight that those posts are scrollable, when posts otherwise are not scrollable.
    */
    
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      transition: outline-offset 200ms;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }
    
    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div[class*="SkNote-contentCollapsed"]>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div[class*="MkNote-contentCollapsed"]>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    )>bdi:first-of-type {
      outline: none !important;
    }
    
    :is(
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    ) {
      overflow: visible !important;
    
      &[class*="MkNote-text"]>div:first-child>bdi:first-of-type,
      &[class*="NoteSub-content"]>div>div[class*="MkSubNoteContent-root"]>div:first-child>div:first-child>bdi:first-of-type {
        margin-top: var(--MI-margin);
      }
    }

  6. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    Turns out, Sharkey has literally six different components to render a note and they're all very subtly slightly different. That is why this stylesheet is so long.

    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="SkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteDetailed-noteHeader"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div[class*="MkNoteDetailed-noteContent"]>div:first-of-type:has(
        >div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-of-type,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-root"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
    )>bdi:first-of-type {
      /* actual functionality */
      display: block;
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >* {
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
    
    /*
      Optional cosmetic feature:
      The remainder of this stylesheet is about adding an outline to fedisnake posts.
      The idea is to highlight that those posts are scrollable, when posts otherwise are not scrollable.
    */
    
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      transition: outline-offset 200ms;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }
    
    :is(
      [class*="SkNote-article"]>div:first-child:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+div>div>div[class*="SkNote-contentCollapsed"]>div[class*="SkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div[class*="MkNote-contentCollapsed"]>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child,
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]>div>div[class*="MkSubNoteContent-collapsed"]:has(
        >details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      )>div:first-child>div:first-child,
    )>bdi:first-of-type {
      outline: none !important;
    }
    
    :is(
      [class*="MkNote-article"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNote-main"]>div>bdi>div>div[class*="MkNote-text"]:has(
        ~div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="SkNoteSub-avatarContainer"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )+[class*="SkNoteSub-body"]>div[class*="SkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    
      [class*="MkNoteSub-main"]:has(
        >[class*="MkAvatar-root"][title="[email protected]"]
      )>[class*="MkNoteSub-body"]>div[class*="MkNoteSub-content"]:has(
        >div>div[class*="MkSubNoteContent-root"]>details>div>[class*="MkPoll-choices"]>[class*="MkPoll-choice"]:last-child:nth-child(3)
      ),
    ) {
      overflow: visible !important;
    
      &[class*="MkNote-text"]>div:first-child>bdi:first-of-type,
      &[class*="NoteSub-content"]>div>div[class*="MkSubNoteContent-root"]>div:first-child>div:first-child>bdi:first-of-type {
        margin-top: var(--MI-margin);
      }
    }

  7. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    [class*="noteHeader"]:has(
      > [title="[email protected]"]
    ) + [class*="noteContent"]>*>*:has(
      /* only apply this style if there is a poll with 3 choices (i.e. it's likely a snake gameplay post) */
      + [class*="poll"]>[class*="choices"]>[class*="choice"]:last-child:nth-child(3)
    ) {
      /* actual functionality */
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >*{
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
      
      /* optional cosmetic: highlight that this post is scrollable */
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }

  8. Hello, users of #fedisnake @[email protected]

    Here is some custom CSS to make the game posts scrollable, so that they are actually readable on mobile devices.

    [class*="noteHeader"]:has(
      > [title="[email protected]"]
    ) + [class*="noteContent"]>*>*:has(
      /* only apply this style if there is a poll with 3 choices (i.e. it's likely a snake gameplay post) */
      + [class*="poll"]>[class*="choices"]>[class*="choice"]:last-child:nth-child(3)
    ) {
      /* actual functionality */
      width: min-content;
      max-width: 100%;
      overflow: scroll;
      >*{
        display: block;
        width: max-content;
    
        /* a lot of fedisnake posts contain this: $[border.width=5,color=0000 🥚]
          presumably that's to make it line up slightly better, but emojis are already perfect with the above ruleset
          so, we hide the $[border] and only display the emoji                                                         */
        >:has([class*="MkEmoji"]) {
          display: contents !important;
        }
      }
      
      /* optional cosmetic: highlight that this post is scrollable */
      outline: var(--MI-thread-width) dashed var(--MI_THEME-accent);
      outline-offset: .2em;
      border-radius: var(--MI-radius);
      margin-bottom: var(--MI-margin);
    }

  9. Can't believe I got mentioned by THE Neofox Snake.

    I'm truly humbled that it would take the time out of its hunt for the 🍫 to respond to me.

    This will be framed on my wall and passed down for generations. All hail #fedisnake 🙏🙏🙏

  10. Can't believe I got mentioned by THE Neofox Snake.

    I'm truly humbled that it would take the time out of its hunt for the 🍫 to respond to me.

    This will be framed on my wall and passed down for generations. All hail #fedisnake 🙏🙏🙏

  11. Can't believe I got mentioned by THE Neofox Snake.

    I'm truly humbled that it would take the time out of its hunt for the 🍫 to respond to me.

    This will be framed on my wall and passed down for generations. All hail #fedisnake 🙏🙏🙏

  12. Can't believe I got mentioned by THE Neofox Snake.

    I'm truly humbled that it would take the time out of its hunt for the 🍫 to respond to me.

    This will be framed on my wall and passed down for generations. All hail #fedisnake 🙏🙏🙏

  13. I want to play FediSokoban, where the player must push fediblocks onto specific locations.

    Maybe as a follow-up to fedisnake?

    #Sokoban #FediSnake

  14. I want to play FediSokoban, where the player must push fediblocks onto specific locations.

    Maybe as a follow-up to fedisnake?

    #Sokoban #FediSnake

  15. I want to play FediSokoban, where the player must push fediblocks onto specific locations.

    Maybe as a follow-up to fedisnake?

    #Sokoban #FediSnake

  16. I want to play FediSokoban, where the player must push fediblocks onto specific locations.

    Maybe as a follow-up to fedisnake?

    #Sokoban #FediSnake

  17. I want to play FediSokoban, where the player must push fediblocks onto specific locations.

    Maybe as a follow-up to fedisnake?

    #Sokoban #FediSnake

  18. #fedisnake is the true successor to @fedigames in every metric. its beautiful

  19. #fedisnake is the true successor to @fedigames in every metric. its beautiful

  20. #fedisnake is the true successor to @fedigames in every metric. its beautiful

  21. #fedisnake is the true successor to @fedigames in every metric. its beautiful