/*! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com*/
*,
:after,
:before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb;
}
:after,
:before {
    --tw-content: "";
}
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-feature-settings: normal;
}
body {
    margin: 0;
    line-height: inherit;
}
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;
    text-decoration: inherit;
}
b,
strong {
    font-weight: bolder;
}
code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-size: 1em;
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: initial;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}
summary {
    display: list-item;
}
blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0;
}
fieldset {
    margin: 0;
}
fieldset,
legend {
    padding: 0;
}
menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
textarea {
    resize: vertical;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af;
}
input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af;
}
[role="button"],
button {
    cursor: pointer;
}
:disabled {
    cursor: default;
}
audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    vertical-align: middle;
}
img,
video {
    max-width: 100%;
    height: auto;
}
[hidden] {
    display: none;
}
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .container {
        max-width: 1536px;
    }
}
.visible {
    visibility: visible;
}
.invisible {
    visibility: hidden;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.-bottom-8 {
    bottom: -2rem;
}
.bottom-0 {
    bottom: 0;
}
.bottom-1 {
    bottom: 0.25rem;
}
.left-0 {
    left: 0;
}
.left-1 {
    left: 0.25rem;
}
.left-1\.5 {
    left: 0.375rem;
}
.right-0 {
    right: 0;
}
.right-1 {
    right: 0.25rem;
}
.top-0 {
    top: 0;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.row-span-2 {
    grid-row: span 2 / span 2;
}
.row-span-4 {
    grid-row: span 4 / span 4;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.ml-auto {
    margin-left: auto;
}
.mr-8 {
    margin-right: 2rem;
}
.mt-24 {
    margin-top: 6rem;
}
.box-border {
    box-sizing: border-box;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.grid {
    display: grid;
}
.hidden {
    display: none;
}
.h-32 {
    height: 8rem;
}
.h-4 {
    height: 1rem;
}
.h-full {
    height: 100%;
}
.min-h-screen {
    min-height: 100vh;
}
.\!w-\[31\.25\%\] {
    width: 31.25% !important;
}
.w-1 {
    width: 0.25rem;
}
.w-32 {
    width: 8rem;
}
.w-4 {
    width: 1rem;
}
.w-\[16rem\] {
    width: 16rem;
}
.w-\[24rem\] {
    width: 24rem;
}
.w-full {
    width: 100%;
}
.max-w-screen-lg {
    max-width: 820px;
}
.grow {
    flex-grow: 1;
}
.cursor-pointer {
    cursor: pointer;
}
.resize {
    resize: both;
}
.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
}
.flex-col {
    flex-direction: column;
}
.items-center {
    align-items: center;
}
.items-stretch {
    align-items: stretch;
}
.justify-center {
    justify-content: center;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-8 {
    gap: 2rem;
}
.gap-\[2px\] {
    gap: 2px;
}
.overflow-hidden {
    overflow: hidden;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-\[2rem\] {
    border-radius: 2rem;
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: 0.5rem;
}
.rounded-md {
    border-radius: 0.375rem;
}
.border-\[3px\] {
    border-width: 3px;
}
.border-black {
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity));
}
.bg-\[\#f8f8f8\] {
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
}
.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}
.bg-stone-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(231 229 228 / var(--tw-bg-opacity));
}
.p-16 {
    padding: 4rem;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
}
.pb-4,
.py-4 {
    padding-bottom: 1rem;
}
.pl-8 {
    padding-left: 2rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-8 {
    padding-top: 2rem;
}
.text-center {
    text-align: center;
}
.text-2xl {
    font-size: .5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: .875rem;
    line-height: 2.25rem;
}
.text-8xl {
    font-size: 6rem;
    line-height: 1;
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.font-bold {
    font-weight: 700;
}
.capitalize {
    text-transform: capitalize;
}
.italic {
    font-style: italic;
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-6 {
    line-height: 1.5rem;
}
.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-neutral-400 {
    --tw-text-opacity: 1;
    color: rgb(163 163 163 / var(--tw-text-opacity));
}
.text-neutral-500 {
    --tw-text-opacity: 1;
    color: rgb(115 115 115 / var(--tw-text-opacity));
}
.text-rose-500 {
    --tw-text-opacity: 1;
    color: rgb(244 63 94 / var(--tw-text-opacity));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.underline {
    text-decoration-line: underline;
}
.line-through {
    text-decoration-line: line-through;
}
.decoration-rose-400 {
    text-decoration-color: #fb7185;
}
.shadow-\[0_0_0_2px_rgb\(248_248_248\)\] {
    --tw-shadow: 0 0 0 2px #f8f8f8;
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
:root {
    accent-color: #a855f7;
}
* {
    position: relative;
}
h1 {
    font-size: 3rem;
    line-height: 1;
    margin-top: 1rem;
}
h1,
h2 {
    font-weight: 700;
}
h2 {
    font-size: 2.25rem;
    line-height: 2.5rem;
    margin-top: 3rem;
}
h3 {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
}
hr {
    --tw-border-opacity: 1;
    border-color: rgb(229 229 229 / var(--tw-border-opacity));
}
div.hr {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='50' height='7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 5 3.429-3 3.428 3 3.429-3 3.428 3 3.429-3 3.428 3L25 2l3.429 3 3.428-3 3.429 3 3.428-3 3.429 3 3.428-3L49 5' stroke='%2302B159' stroke-width='2' fill='none'/%3E%3C/svg%3E");
    background-size: 50px 7px;
    border: 0;
    display: block;
    height: 7px;
    width: 50px;
}
p {
    max-width: 768px;
    font-size: 1.5rem;
    line-height: 2rem;
}
@media not all and (min-width: 640px) {
    p {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
}
li {
    font-size: 1.5rem;
    line-height: 2rem;
    max-width: 768px;
}
a {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity));
}
code {
    border-radius: 0.25rem;
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity));
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-size: 1.25rem;
    line-height: 1.75rem;
}
mark {
    background-color: inherit;
}
small {
    font-size: inherit;
}
kbd {
    font-family: inherit;
    text-transform: capitalize;
}
time {
    font-size: inherit;
}
ul.md {
    padding-left: 2rem;
    font-size: 1.5rem;
    line-height: 2rem;
}
ul.md li:before {
    position: absolute;
    margin-left: -2rem;
    --tw-content: "\2014";
    content: var(--tw-content);
}
ol.md {
    list-style: none;
    padding-left: 3rem;
    counter-reset: item;
}
ol.md > li:before {
    position: absolute;
    margin-left: -3rem;
    content: counter(item, decimal-leading-zero) " ";
    counter-increment: item;
    font-variant: tabular-nums;
}
nav {
    display: flex;
    gap: 1rem;
}
.--debug nav {
    outline-style: dashed;
    outline-color: #60a5fa;
}
.--debug nav.flex-col {
    outline-color: #c084fc;
}
nav a {
    --tw-text-opacity: 1;
    color: rgb(163 163 163 / var(--tw-text-opacity));
}
nav a.active {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity));
}
a.btn {
    border-radius: 2rem;
    border-width: 3px;
    --tw-border-opacity: 1;
    border-color: rgb(0 0 0 / var(--tw-border-opacity));
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity));
    padding: 0.5rem 1.25rem;
}
a.btn.--solid {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
span.completion {
    color: #888;
    border-left: 2px solid #000;
    padding-left: 2px;
    margin-left: 2px;
}
span.selection {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
    padding: 0 2px;
    border-right: 2px solid #000;
}
span.match {
    border-bottom-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(253 186 116 / var(--tw-border-opacity));
}
span.highlight {
    --color-canary: #fff5ca;
    --color-peach: #ffe4d8;
    background: linear-gradient(90deg, var(--color-peach) 0, var(--color-canary) 100%);
    -webkit-box-decoration-break: clone;
}
span.sec,
span.secondary {
    --tw-text-opacity: 1;
    color: rgb(236 72 153 / var(--tw-text-opacity));
}
span.ter,
span.tertiary {
    --tw-text-opacity: 1;
    color: rgb(37 99 235 / var(--tw-text-opacity));
}
.first\:pt-0:first-child {
    padding-top: 0;
}
.group:first-child .group-first\:top-3 {
    top: 0.75rem;
}
@media not all and (min-width: 640px) {
    .max-sm\:mr-4 {
        margin-right: 1rem;
    }
    .max-sm\:hidden {
        display: none;
    }
    .max-sm\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .max-sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .max-sm\:flex-col {
        flex-direction: column;
    }
    .max-sm\:p-4 {
        padding: 1rem;
    }
    .max-sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}


/* post */
.post {
    max-width: 700px;
    margin: 20px auto;
    background-color: #ffffff9c;
    border: 1px solid #e1e8ed;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
    
  .post-header {
    display: flex;
    align-items: flex-start;
  }
  
  .post-avatar {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    margin-top: 8px;
    margin-right: 15px;
    margin-left: 10px;
  }
  
  .post-media {
    width: 100%; 
    height: auto;
    border-radius: 10%;
    max-width: 380px;
    display: block;
    margin: auto;
  }
  
  .post-user {
    display: flex;
    flex-direction: column;
    margin-top: 6px;
  }
  
  .post-username, .post-display-name {
    font-size: 18px;
  }
  
  .post-username {
    color: #657786;
    margin-top: 10px;
  }
  
  .post-username a, .post-display-name a {
    text-decoration: none;
  }
  
  .post-username a {
    color: #657786;
  }
  
  .post-username a:hover {
    color: #434d55;
  }
  
  .post-display-name {
    font-weight: bold;
    color: #1F5847;
    margin-top: 3px;
    margin-bottom: -14px;
  }
  
  .post-display-name a {
    color: #1F5847;
    margin-bottom: -14px;
  }
  
  .post-display-name a:hover {
    color: #0b251d;
    margin-bottom: -10px;
  }
  
  .post-content p {
    margin-top: 20px;
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 28px;
    padding: 0 14px 0 14px;
  }
  
  .post-content img {
    max-width: 100%;
    max-height: 700px;
    height: auto;
    border-radius: 1%;
    display: block;
    margin: auto;
    margin-top: 15px;
  }
  
  .post-footer {
    display: flex;
    justify-content: flex-end;
    color: #657786;
    margin-top: 0px;
    margin-left: 10px;
    margin-right: 15px;
    font-size: 16px;
  }
  
  .post-footer a {
    display: flex;
    justify-content: flex-end;
    color: #657786;
    margin-top: 0px;
    margin-left: 10px;
    margin-right: 15px;
    font-size: 16px;
  }
  
  .post-footer a:hover {
    color: #008cff;
  }
  
  /* Mobile adjustments */
  @media only screen and (max-width: 768px) {
    .post {
      margin: 10px;
      padding: 8px;
    }
  
    .post-content p {
        font-size: 16px;
        line-height: 24px;
      }
  
    .post-footer, .post-footer a {
      font-size: 14px;
    }
  }
  