/* Layout & typography */
body {
  max-width: 52em;
  margin: 0 auto;
  padding: 1.2em 0.8em;
  line-height: 1.6;
  word-wrap: break-word;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif;
  background-color: #f7f7f9;
  color: #222;
}

pre {
  overflow-x: auto;
  padding: 0.6em 0.8em;
  background: #f0f0f3;
  border-radius: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
               "Liberation Mono", "Courier New", monospace;
}

blockquote {
  margin: 0.8em 0;
  padding-left: 0.8em;
  border-left: 3px solid #ccc;
  font-style: italic;
  color: #555;
}

.snac-embedded-video,
img {
  max-width: 100%;
  height: auto;
}

/* Meta info */
.snac-origin,
.snac-score,
.snac-pubdate {
  font-size: 85%;
  color: #777;
}

.snac-score {
  float: right;
}

/* Top user / profile header */
.snac-top-user {
  text-align: center;
  padding: 1.5em 0 2em 0;
}

.snac-top-user-name {
  font-size: 220%;
  font-weight: 600;
}

.snac-top-user-id {
  font-size: 130%;
  color: #555;
}

/* Announcements */
.snac-announcement {
  border: 1px solid #d0d0dd;
  background: #fafbff;
  padding: 0.6em 0.8em;
  border-radius: 4px;
}

/* Avatar & author line */
.snac-avatar {
  float: left;
  height: 2.6em;
  width: 2.6em;
  margin-right: 0.6em;
  border-radius: 50%;
}

.snac-author {
  font-size: 90%;
  text-decoration: none;
  font-weight: 500;
}

.snac-author-tag {
  font-size: 80%;
  color: #666;
}

/* Posts & threads */
.snac-post {
  border-radius: 6px;
  border: 1px solid #e0e0ea;
  background: #fff;
  padding: 0.6em 0.8em;
  margin: 0.6em 0;
}

.snac-children {
  margin-left: 0.8em;
  padding-left: 0.8em;
  border-left: 1px solid #d0d0dd;
}

.snac-thread-cont {
  border-top: 1px dashed #d0d0dd;
  margin-top: 0.8em;
  padding-top: 0.4em;
}

/* Compose */
.snac-textarea {
  font-family: inherit;
  width: 100%;
  min-height: 5em;
  padding: 0.4em 0.6em;
  border-radius: 4px;
  border: 1px solid #ccc;
  resize: vertical;
}

/* History box */
.snac-history {
  border: 1px solid #d0d0dd;
  border-radius: 4px;
  margin: 2em 0;
  padding: 1em 1.5em;
  background: #fafafa;
}

/* Buttons (actions) */
.snac-btn-mute,
.snac-btn-unmute,
.snac-btn-follow,
.snac-btn-unfollow,
.snac-btn-hide,
.snac-btn-delete,
.snac-btn-limit,
.snac-btn-unlimit {
  float: right;
  margin-left: 0.5em;
}

/* Styled buttons */
button.snac-btn-mute,
button.snac-btn-unmute,
button.snac-btn-follow,
button.snac-btn-unfollow,
button.snac-btn-hide,
button.snac-btn-delete,
button.snac-btn-limit,
button.snac-btn-unlimit,
input[type="submit"].snac-btn-mute,
input[type="submit"].snac-btn-unmute,
input[type="submit"].snac-btn-follow,
input[type="submit"].snac-btn-unfollow,
input[type="submit"].snac-btn-hide,
input[type="submit"].snac-btn-delete,
input[type="submit"].snac-btn-limit,
input[type="submit"].snac-btn-unlimit {
  padding: 0.25em 0.6em;
  font-size: 85%;
  border-radius: 999px;
  border: 1px solid #ccc;
  background: #f5f5f7;
  color: #222;
  cursor: pointer;
}

button.snac-btn-delete,
input[type="submit"].snac-btn-delete {
  border-color: #d66;
  background: #ffecec;
  color: #a00;
}

/* Footer */
.snac-footer {
  margin-top: 2em;
  font-size: 75%;
  color: #777;
}

/* Polls & lists */
.snac-poll-result {
  margin-left: auto;
  margin-right: auto;
}

.snac-list-of-lists {
  padding-left: 0;
}

.snac-list-of-lists li {
  display: inline-block;
  border: 1px solid #a0a0a0;
  border-radius: 25px;
  margin-right: 0.5em;
  margin-bottom: 0.4em;
  padding: 0.1em 0.7em;
}

/* New posts separator */
.snac-no-more-unseen-posts {
  border-top: 1px solid #a0a0a0;
  border-bottom: 1px solid #a0a0a0;
  padding: 0.5em 0;
  margin: 1em 0;
  text-align: center;
  color: #666;
}

/* Reactions */
.snac-reaction {
  padding: 0 10px;
  display: inline-flex;
  margin-right: 5px;
  font-family: inherit;
  font-size: 90%;
  height: 2.2rem;
  vertical-align: middle;
  align-items: center;
  border-radius: 999px;
  border: 1px solid #ddd;
  background: #f9f9fb;
}

.snac-reaction-image {
  max-width: 100%;
  max-height: 100%;
}

.snac-reaction-div {
  border-left: 2px solid darkgray;
  margin-bottom: 0.3em;
  padding-left: 0.3em;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  body, input, textarea {
    background-color: #050509;
    color: #f5f5f5;
  }

  a { color: #9bb5ff; }
  a:visited { color: #c1a9ff; }

  pre {
    background: #151520;
    border-color: #333;
  }

  .snac-announcement {
    border-color: #333850;
    background: #101020;
  }

  .snac-post {
    border-color: #333850;
    background: #111119;
  }

  .snac-children {
    border-left-color: #333850;
  }

  .snac-history {
    border-color: #333850;
    background: #101018;
  }

  .snac-reaction {
    border-color: #333850;
    background: #151528;
  }

  .snac-footer,
  .snac-origin,
  .snac-score,
  .snac-pubdate {
    color: #aaa;
  }

  button.snac-btn-mute,
  button.snac-btn-unmute,
  button.snac-btn-follow,
  button.snac-btn-unfollow,
  button.snac-btn-hide,
  button.snac-btn-delete,
  button.snac-btn-limit,
  button.snac-btn-unlimit,
  input[type="submit"].snac-btn-mute,
  input[type="submit"].snac-btn-unmute,
  input[type="submit"].snac-btn-follow,
  input[type="submit"].snac-btn-unfollow,
  input[type="submit"].snac-btn-hide,
  input[type="submit"].snac-btn-delete,
  input[type="submit"].snac-btn-limit,
  input[type="submit"].snac-btn-unlimit {
    border-color: #555a80;
    background: #191a2a;
    color: #f5f5ff;
  }

  button.snac-btn-delete,
  input[type="submit"].snac-btn-delete {
    border-color: #aa4444;
    background: #2a1518;
    color: #ffb3b3;
  }
}

/* Sfondo globale scuro */
html, body {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* Post: riquadri scuri con bordo più chiaro */
.snac-post {
  background-color: #111111 !important;
  border-top: 1px solid #444444 !important;
}

/* Thread/children coerenti col tema scuro */
.snac-thread-cont,
.snac-children,
.snac-no-more-unseen-posts {
  background-color: #000000 !important;
  border-color: #444444 !important;
}

/* Link leggibili sul nero */
a {
  color: #7799dd !important;
}
a:visited {
  color: #aa99dd !important;
}


/* stile base comune a tutti i pulsanti snac */
.snac-controls input[type="submit"],
.snac-note input[type="submit"],
.button {
  background-color: #222222;
  color: #ffffff;
  border: 1px solid #555555;
  padding: 0.25em 0.6em;
  border-radius: 4px;
  font-size: 0.9em;
  cursor: pointer;
}

/* hover */
.snac-controls input[type="submit"]:hover,
.snac-note input[type="submit"]:hover,
.button:hover {
  background-color: #333333;
  border-color: #888888;
}

/* se vuoi differenziare il Delete/MUTE in rosso */
.snac-btn-delete,
.snac-btn-mute {
  background-color: #660000;
  border-color: #aa0000;
}
.snac-btn-delete:hover,
.snac-btn-mute:hover {
  background-color: #880000;
}

.snac-top-user .p-note.snac-top-user-bio {
  text-align: left !important;
}

/* blocco utente: nome/id centrati, bio e metadata a sinistra */

.snac-top-user {
  padding-bottom: 2em;        /* come default */
  text-align: center;         /* default: tutto centrato... */
}

.snac-top-user .p-name.snac-top-user-name,
.snac-top-user .snac-top-user-id {
  text-align: center;         /* ...ma ribadisci il centrato solo su nome e id */
}

/* bio e metadata allineati a sinistra */
.snac-top-user .p-note.snac-top-user-bio,
.snac-top-user .snac-metadata {
  text-align: left;
}

/* Bio + metadata a sinistra */
.snac-top-user .p-note.snac-top-user-bio,
.snac-top-user .snac-metadata {
  text-align: left !important;
}

/* Immagini nei contenuti: angoli arrotondati */
.snac-content img {
  border-radius: 10px;
}

/* E per sicurezza, tutte le immagini dentro i post */
.snac-post img {
  border-radius: 10px;
}

